国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種多層BloomFilter的優(yōu)化方法及查詢方法

      文檔序號:6615968閱讀:238來源:國知局
      專利名稱:一種多層Bloom Filter的優(yōu)化方法及查詢方法
      技術(shù)領(lǐng)域
      本發(fā)明屬于計算機(jī)存儲領(lǐng)域,更具體地,涉及一種多層Bloom Filter的優(yōu)化方法及查詢方法。
      背景技術(shù)
      Bloom filter是由Howard Bloom在1970年提出的二進(jìn)制向量數(shù)據(jù)結(jié)構(gòu),可用來快速判定一個元素是否存在于一個集合中。相較于散列、樹等方法,Bloom Filter可保證待查詢數(shù)據(jù)集在存放時的空間局部性。隨著待查詢數(shù)據(jù)集的增長,數(shù)據(jù)集可被分割為若干個相同小容量的數(shù)據(jù)集,分別對應(yīng)一個Bloom Filter。由于被查詢數(shù)據(jù)要依次查詢每個BloomFilter,直至找到該數(shù)據(jù)或者查詢結(jié)束,多個Bloom Filter的查詢時間大大增加。為了加速海量數(shù)據(jù)集的查詢過程,多層Bloom Filter被引進(jìn)。當(dāng)上層Bloom Filter的判定元素 不存在,其對應(yīng)下層的Bloom Filter即可不再查詢,減少了 BloomFilter查詢次數(shù)。圖2(a)為三層Bloom Filter的結(jié)構(gòu)組織,每層Bloom Filter包含的二進(jìn)制比特位總數(shù)相等。第i層(I < i<3, i為正整數(shù))每個Bloom Filter對應(yīng)于i+Ι層的2個BloomFilter。對一個哈希值進(jìn)行查詢時,先分別判定其在第一層的各Bloom Filter對應(yīng)的比特位是否為I,若為I,查詢命中,則該Bloom Filter對應(yīng)的下層BloomFilter要繼續(xù)查詢。如圖I所述,第一層2個Bloom Filter對應(yīng)比特位值均為I,則需要查詢第一層這2個BloomFilter在第二層中對應(yīng)的所有BloomFilter。對于沒有命中的Bloom Filter,該哈希值不存在于其對應(yīng)的數(shù)據(jù)集中,其對應(yīng)于下層的Bloom Filter不用繼續(xù)查詢。查詢第二層中相應(yīng)的Bloom Filter,若要查詢Bloom Filter的比特位值為I,查詢命中,則該Bloom Filter對應(yīng)的下層Bloom Filter要繼續(xù)查詢。如圖I,第二層中第2個Bloom Filter命中,貝U要繼續(xù)查詢該Bloom Filter對應(yīng)的第三層中的Bloom Filter。對于沒有命中的Bloom Filter,其對應(yīng)于下層的Bloom Filter不用繼續(xù)查詢。圖I中第I、第3和第4個Bloom Filter對應(yīng)于第三層的Bloom Filter即不用查詢。在底層Bloom Filter查詢中,當(dāng)要查詢Bloom Filter相應(yīng)的比特位值為I,命中,則表示該哈希值可能存在于該Bloom Filter對應(yīng)的數(shù)據(jù)集中,取該數(shù)據(jù)集進(jìn)行查詢。如圖I所示,第三層第3個Bloom Filter命中,即取其對應(yīng)的數(shù)據(jù)集查詢該哈希值是否存在。對于沒有命中的底層Bloom Filter,其對于數(shù)據(jù)集不用查詢。圖I中除了第三層第3個BloomFilter對應(yīng)的數(shù)據(jù)集外,其他數(shù)據(jù)集均不用被查詢。多層Bloom Filter將被查詢哈希值定位到不同的數(shù)據(jù)集,大大減少了數(shù)據(jù)的查詢的次數(shù),減少查詢開銷。然而,對于海量數(shù)據(jù)集,對多層Bloom Filter查詢次數(shù)會很大,BloomFilter的查詢變成一個瓶頸,甚至當(dāng)Bloom Filter規(guī)模超過內(nèi)存容量時,會產(chǎn)生大量的磁盤訪問(Input/Output,簡稱10),這直接造成元素查詢的時間超過我們可承受范圍。

      發(fā)明內(nèi)容
      針對現(xiàn)有技術(shù)的缺陷,本發(fā)明的目的在于提供一種多層Bloom Filter的優(yōu)化方法,其能夠加快元素的查詢過程。為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種多層Bloom Filter的優(yōu)化方法,包括以下步驟(I)根據(jù)總數(shù)據(jù)集的大小S確定Bloom Filter的層數(shù)N、第一層BloomFilter個數(shù)Q以及底層每個Bloom Filter對應(yīng)數(shù)據(jù)集的數(shù)據(jù)個數(shù)M,并設(shè)置計數(shù)器i=0 ;其中,多層Bloom Filter各層Bloom Filter個數(shù)是以第一層BloomFilter個數(shù)Q為首項(xiàng),公比同為Q的等比數(shù)列,且滿SQnXM≤S,Q是磁盤扇區(qū)容量的整數(shù)倍,各層Bloom Filter包含的比特位總數(shù)相等;(2)判斷多層Bloom Filter的構(gòu)造是否完畢,若完畢則過程結(jié)束,否則進(jìn)入步驟
      (3);(3)接收新數(shù)據(jù);(4)判斷底層第i個Bloom Filter對應(yīng)數(shù)據(jù)集的數(shù)據(jù)個數(shù)是否等于M,若等于,則進(jìn)入步驟(5),否則進(jìn)入步驟(6);(5)設(shè)置 i=i+l;(6)使用哈希函數(shù)組對新數(shù)據(jù)進(jìn)行哈希計算以得到哈希值,將底層Bloom Filter第i個Bloom Filter中與哈希值對應(yīng)的比特位置I,并對底層Bloom Filter上面的各N-I層進(jìn)行置位,然后返回步驟(2)。步驟(6)中對底層Bloom Filter上面的各N_1層進(jìn)行置位的操作包括(a)在第N層的第i個Bloom Filter對應(yīng)的所有連續(xù)空間中選取與哈希值對應(yīng)的連續(xù)空間,將該連續(xù)空間中屬于第i個Bloom Filter的比特位置I ;(b)第N層第i個Bloom Filter對應(yīng)于第N-1層的第
      權(quán)利要求
      1.一種多層Bloom Filter的優(yōu)化方法,其特征在于,包括以下步驟 (1)根據(jù)總數(shù)據(jù)集的大小S確定BloomFilter的層數(shù)N、第一層BloomFilter個數(shù)Q以及底層每個Bloom Filter對應(yīng)數(shù)據(jù)集的數(shù)據(jù)個數(shù)M,并設(shè)置計數(shù)器i=0 ;其中,多層BloomFilter各層Bloom Filter個數(shù)是以第一層BloomFilter個數(shù)Q為首項(xiàng),公比同為Q的等比數(shù)列,且滿足QnXM彡S,Q是磁盤扇區(qū)容量的整數(shù)倍,各層Bloom Filter包含的比特位總數(shù)相等; (2)判斷多層BloomFilter的構(gòu)造是否完畢,若完畢則過程結(jié)束,否則進(jìn)入步驟(3); (3)接收新數(shù)據(jù); (4)判斷底層第i個BloomFilter對應(yīng)數(shù)據(jù)集的數(shù)據(jù)個數(shù)是否等于M,若等于,則進(jìn)入步驟(5),否則進(jìn)入步驟(6); (5)設(shè)置i=i+l ; (6)使用哈希函數(shù)組對新數(shù)據(jù)進(jìn)行哈希計算以得到哈希值,將底層BloomFilter第i個Bloom Filter中與哈希值對應(yīng)的比特位置I,并對底層Bloom Filter上面的各N-I層進(jìn)行置位,然后返回步驟(2)。
      2.根據(jù)權(quán)利要求I所述的優(yōu)化方法,其特征在于,步驟(6)中對底層BloomFilter上面的各N-I層進(jìn)行置位的操作包括 (a)在第N層的第i個BloomFilter對應(yīng)的所有連續(xù)空間中選取與哈希值對應(yīng)的連續(xù)空間,將該連續(xù)空間中屬于第i個Bloom Filter的比特位置I ; (b)第N層第i個BloomFilter對應(yīng)于第N-1層的第
      3.—種多層Bloom Filter的查詢方法,其特征在于,包括以下步驟 (1)根據(jù)總數(shù)據(jù)集的大小S確定BloomFilter的層數(shù)N、第一層BloomFilter個數(shù)Q以及底層每個Bloom Filter對應(yīng)數(shù)據(jù)集的數(shù)據(jù)個數(shù)M,并設(shè)置計數(shù)器i=0 ; (2)判斷多層BloomFilter的構(gòu)造是否完畢,若完畢則進(jìn)入步驟(7),否則進(jìn)入步驟(3); (3)接收新數(shù)據(jù);(4)判斷底層第i個BloomFilter對應(yīng)數(shù)據(jù)集的數(shù)據(jù)個數(shù)是否等于Μ,若等于,則進(jìn)入步驟(5),否則進(jìn)入步驟(6);(5)設(shè)置i=i+l ; (6)使用哈希函數(shù)組對新數(shù)據(jù)進(jìn)行哈希計算以得到哈希值,將底層BloomFilter第i個Bloom Filter中與哈希值對應(yīng)的比特位置I,并對底層Bloom Filter上面的各N-I層進(jìn)行置位,然后返回步驟(2); (7)初始化計數(shù)器j= 1 ; (8)使用與步驟(6)中相同的哈希函數(shù)組對待查詢數(shù)據(jù)進(jìn)行哈希運(yùn)算以得到哈希值; (9)從第一層的Q個BloomFilter所對應(yīng)的所有連續(xù)地址空間中選取與步驟(8)所得的哈希值對應(yīng)的連續(xù)地址空間,對這些連續(xù)地址空間做按位相與運(yùn)算,進(jìn)入步驟(10); (10)判斷該與運(yùn)算結(jié)果中的比特位是否全為0,若是,說明待查詢數(shù)據(jù)不存在,過程結(jié)束,否則進(jìn)入步驟(11); (11)判斷j是否等于層數(shù)N,若等于,進(jìn)入步驟(14),否則進(jìn)入步驟(12); (12)對于每組與運(yùn)算結(jié)果中值為1的每一個比特位,選取其所屬的BloomFilter對應(yīng)的第 j+Ι 層的 Q 個 Bloom Filter 組成一組查詢 Bloom Filter,置 j = j+1 ; (13)對于第j層的每一組查詢BloomFilter,從該組查詢Bloom Filter對應(yīng)的所有連續(xù)地址空間中選取與步驟(8)所得的哈希值對應(yīng)的連續(xù)地址空間,對這些連續(xù)地址空間做按位相與運(yùn)算,然后返回步驟(11); (14)在各組與運(yùn)算結(jié)果中值為1的比特位所屬的BloomFilter對應(yīng)的數(shù)據(jù)集中查詢數(shù)據(jù),過程結(jié)束。
      4.根據(jù)權(quán)利要求3所述的查詢方法,其特征在于,步驟(6)中對底層Bloom Filter上面的各N-1層進(jìn)行置位的操作包括 (a)在第N層的第i個BloomFilter對應(yīng)的所有連續(xù)空間中選取與哈希值對應(yīng)的連續(xù)空間,將該連續(xù)空間中屬于第i個Bloom Filter的比特位置1 ; (b)第N層第i個BloomFilter對應(yīng)于第N-1層的第
      全文摘要
      本發(fā)明公開了一種多層Bloom Filter的優(yōu)化方法,包括以下步驟根據(jù)總數(shù)據(jù)集的大小S確定Bloom Filter的層數(shù)N、第一層Bloom Filter個數(shù)Q以及底層每個Bloom Filter對應(yīng)數(shù)據(jù)集的數(shù)據(jù)個數(shù)M,并設(shè)置計數(shù)器i=0,判斷多層Bloom Filter的構(gòu)造是否完畢,若未完畢,則接收新數(shù)據(jù),判斷底層第i個Bloom Filter對應(yīng)數(shù)據(jù)集的數(shù)據(jù)個數(shù)是否等于M,若不等于,則使用哈希函數(shù)組對新數(shù)據(jù)進(jìn)行哈希計算以得到哈希值,將底層Bloom Filter第i個Bloom Filter中與哈希值對應(yīng)的比特位置1,并對底層Bloom Filter上面的各N-1層進(jìn)行置位。本發(fā)明的方法使比特位查詢操作更為簡便,大大減少了磁盤訪問的次數(shù),有效減少了對多層Bloom Filter的查詢時間。
      文檔編號G06F17/30GK102968467SQ20121044716
      公開日2013年3月13日 申請日期2012年11月10日 優(yōu)先權(quán)日2012年11月10日
      發(fā)明者曹強(qiáng), 謝長生, 黃國強(qiáng), 慎涵 申請人:華中科技大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1