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

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



                 24.  Dic[td] ← (BF 1 , BF 2 )
                 25. IF op = add THEN
                 26.  IF BF 1 [A[t w ||c i+1 ]] ≠ 1 THEN
                 27.   set BF 1 [A[t w ||c i+1 ]] = 1
                 28.   set b = 1
                 29.   TSet[u] = e
                 30.  ELSE
                 31.   set b = 0
                 32.  END IF
                 33. ELSE
                 34.  IF BF 2 [A[t w ||c i+1 ]] ≠ 1 && BF 1 [A[t w ||c i+1 ]] = 1 THEN
                 35.   set BF 2 [A[t w ||c i+1 ]] = 1
                 36.   set b = 1
                 37.  ELSE
                 38.   set b = 0
                 39.  END IF
                 40. END IF
                 41. SEND b TO Client
                 Client:
                 42. IF op = add && b = 1 THEN
                 43.  UpdCnt[w] ←UpdCnt[w]+1
                 44.  XSet[w] ← (st i+1 , c i+1 )
                 45. IF op = del && b = 1 THEN
                 46.  UpdCnt[w] ←UpdCnt[w]−1
                 47. END IF
                 ServerSearch(k t , sk, q, XSet; TSet)
                 Client:
                 48. q = w 1  ˄ w 2  ˄…˄ w n , TokenList, TdList ← Empty list
                 49. 确定当前文件最少的关键词 (假设是          w 1 )
                 50. (st i , c i ) ← XSet[w 1 ]
                 51. j ← 1
                 52. REPEAT
                 53.    t w j  ← Tw(w j )
                 54.  j ← j+1
                 55.  TokenList ← TokenList˅t wj
                 56.    td w j  ← H 4 (t w j ,d)

                 57.   TdList ← TdList˅td wj
                 58. UNTIL (j = n)
                 59. SEND (TokenList, st i ) TO Server
                 Server:
                 60. FOR j = 1 to TdList.size
   444   445   446   447   448   449   450   451   452   453   454