Page 455 - 《软件学报》2025年第8期
P. 455

3878                                                       软件学报  2025  年第  36  卷第  8  期


                    实际上, 3  个方案的搜索时间主要受更新计数器值最小的关键词                    (如前所述的    w 1 ) 所更新的文件数量的影响.
                 图中  RFBC  的搜索时间显然优于       BDXT  和  ODXT, 其原因如前所述, 当更新计数器数值固定时, ODXT             方案需要
                 在客户端通过模幂运算计算出更新计数器值最小的关键词所更新的所有文件与每个查询关键词对应的                                    xtoken, 在
                 服务端也要执行类似的操作, 因此           ODXT  方案的搜索时间要明显高于          BDXT  方案和  RFBC  方案. 而  BDXT  方案
                 需要在   ClientRound2  阶段筛选出更新计数器值最小的关键词所更新的所有文件, 计算这些文件与每个查询关键词
                 对应的两个    xtag, 并在  ServerRound2  阶段对这些  xtag  进行判断操作, 最后将判断结果返回给客户端, 客户端在
                 FinalOutput 阶段根据服务器返回的判断结果判断在更新计数器值最小的关键词所更新的所有文件中保留哪些文
                 件. 此过程需要客户端与服务器的多轮通信及多次筛选操作, 所以时间开销大于                        RFBC. 而  RFBC  相较于  ODXT  不
                 需要复杂的模幂运算, 相较于         BDXT  无需多轮通信, 也无需多次筛选操作, 只需简单的计算出                token  并将其发送至
                 服务器端, 使用布隆过滤器的判断即可筛选出目标文件集合.
                    (5) 多关键词搜索时间开销
                    图  9  描述了不同关键词个数对搜索时间开销的影响. 从图               9  中我们可以看出, 在固定更新数据量的情况下, 随

                 着多关键词联合查询的个数逐渐增加, RFBC             和  BDXT  的搜索时间基本不变, 也就是说, 联合查询的关键词个数
                 对  RFBC  和  BDXT  没有影响. 同时, RFBC  的多关键词搜索时间不到          BDXT  的  1/2. ODXT  的搜索时间均高于
                 RFBC  和  BDXT, 且随着关键词个数的增加, ODXT        的查询时间逐渐增长. 其原因如上文所述, ODXT             需要对联合
                 查询中的关键词执行模幂运算, 因此造成了计算开销的上升.
                    图  10  则描述了不同关键词长度对搜索时间开销的影响. 我们以基准关键词的不同倍长度为测试变量 (×n                             表
                 示  n  倍, n  为  1–8), 从图中我们可以看出, 在同样固定更新数据量的情况下, 随着联合查询中关键词的长度逐渐增
                 加, 3  个方案的搜索时间均基本不变, 也就是说, 联合查询的关键词长度对三者均无影响. 本文的                          RFBC  在此种情
                 况下的搜索时间低于       BDXT  和  ODXT, 分别约为他们的     1/2  和  1/5.


                      70
                             RFBC
                                                                   12
                      60     BDXT
                             ODXT
                                                                   10
                      50                                           8
                     搜索时间 (s)  40                                搜索时间 (s)  6  RFBC
                                                                          BDXT
                                                                          ODXT
                      30
                      20                                           4
                      10                                           2
                      0                                            0
                        2   3   4   5   6  7   8   9   10           ×1   ×2   ×3  ×4   ×5  ×6   ×7  ×8
                                                                                             5
                               关键词个数 (数据量为6×10 ) 5                          关键词长度 (数据量为6×10 )
                       图 9    不同关键词个数的搜索时间开销                       图 10    不同关键词长度的搜索时间开销

                 4.3   通信开销比较
                    我们主要通过比较       RFBC、BDXT   和  ODXT  在联合搜索过程中的通信开销来评估它们的通信效率. 与计算开
                 销的评估方法相似, 我们同样设置不同比例的不合理更新来观察其对搜索过程通信开销的影响. 实验结果如图                                   11
                 所示, 其中横坐标代表更新数量, 纵坐标代表搜索过程的通信开销. 显然, 随着更新数量的上升, 相应的通信开销也
                 随之上升, 但是随着不合理更新比例的增加, RFBC             的通信开销仍显著低于        BDXT  和  ODXT.
                    由于  RFBC  和  ODXT  仅需一轮通信就可得到联合搜索结果, 且客户端与服务器之间传输的数据较少, 而                      BDXT
                 需要两轮通信才能完成联合搜索, 因此            RFBC  和  ODXT  的通信开销明显低于     BDXT. 具体来讲, RFBC   首先使用伪
                 随机函数计算出每个关键词对应的关键词令牌, 再计算出关键词对应的布隆过滤器的存储地址, 最后将关键词令
   450   451   452   453   454   455   456   457   458   459   460