欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于分檔BloomFilter結構的查詢方法

文檔序號:6526074閱讀:345來源:國知局
專利名稱:一種基于分檔BloomFilter結構的查詢方法
技術領域
本發(fā)明是一種支持集合查詢從代價出發(fā)的基于分檔Bloom Filter結構的查詢方法,屬于分布式計算技術領域,特別是涉及分布式系統(tǒng)產生大量數(shù)據(jù)、需要進行交互查詢的應用。
背景技術
近年來,隨著計算機的飛速發(fā)展,數(shù)據(jù)庫,網(wǎng)絡和其他應用中的數(shù)據(jù)集合規(guī)模呈幾何增長。集合元素查詢是數(shù)據(jù)集合中最常見的操作。當集合變得越來越大,訪問和表示越來越困難,如何表示大數(shù)據(jù)集合,完成大數(shù)據(jù)集合下的查詢成為國內外學術界的挑戰(zhàn)。設計精簡的數(shù)據(jù)結構表示并支持大集合的數(shù)據(jù)查詢就成了迫切需要。
Bloom Filter是一種能夠表示集合、支持集合查詢的簡潔數(shù)據(jù)結構,它能夠有效的過濾掉不屬于集合的元素。Bloom Filter結構的實質是將集合中的元素通過k個哈希函數(shù)映射到位向量中。Bloom Filter在達到其高效表示集合的同時,進行元素查詢時卻存在一定的假陽性錯誤,而不存在假陰性錯誤。這里假陽性錯誤是指,將不屬于集合中的元素誤判斷屬于集合中,假陰性錯誤是指,屬于集合中的元素而誤判斷不屬于集合中。以往的研究都已經證明Bloom Filter這種優(yōu)秀的結構不存在假陰性錯誤。雖然Bloom Filter結構在元素查詢時存在少量錯誤,但是由于它對存儲空間的高效性,使得該數(shù)據(jù)結構由B.Bloom自1970年提出以來得到了比較廣泛的應用。早期的應用主要集中在數(shù)據(jù)庫操作和字典查詢操作,最近,隨著網(wǎng)絡研究的發(fā)展以及新的覆蓋網(wǎng)和P2P網(wǎng)絡應用技術的涌現(xiàn),Bloom Filter已經越來越廣泛的應用于網(wǎng)絡中,主要體現(xiàn)在以下幾類1.覆蓋網(wǎng)和P2P網(wǎng)節(jié)點協(xié)作交互網(wǎng)絡節(jié)點利用Bloom Filter存儲節(jié)點的內容摘要,節(jié)點間通過互傳摘要信息獲得其他節(jié)點的存儲內容信息,無需廣播資源請求,節(jié)約節(jié)點間帶寬資源,優(yōu)化P2P網(wǎng)絡的資源查詢和資源互補;2.資源路由利用Bloom Filter記錄鄰接節(jié)點組的資源信息,通過一個多級的Bloom Filter結構,存儲資源的路由分級信息,快速定位最短路徑路由并確定到達目的節(jié)點的跳數(shù);3.數(shù)據(jù)幀路由標簽在IP字段中記錄所通過路由器的Bloom Filter值,來判斷數(shù)據(jù)幀是否重復經過路由器,從而確定是否出現(xiàn)環(huán)路。
4.網(wǎng)絡測量管理路由器中利用Bloom Filter為業(yè)務流計數(shù),當流量超過閾值時產生告警并進行擁塞控制。
目前對Bloom Filter查詢結構的研究主要有1.標準的Bloom Filter;2.計數(shù)器Bloom Filter;3.壓縮Bloom Filter;4.Spectral Bloom Filter。
然而,當前的Bloom Filter結構因沒有考慮集合的查詢代價,它們認為集合元素在查詢時所付出的I/O操作代價相同,而在實際中,集合中的元素由于查詢失效(假陽性發(fā)生),元素的查詢失效代價由于元素在集合中的作用和地位并不相同,查詢失效時額外付出的操作代價并不相同。以往的Bloom Filter結構因為沒有考慮到查詢代價,它們對集合中的元素都均一對待,為每個元素分配同樣多的哈希映射函數(shù),每個元素查詢失效率相同,導致集合的整體查詢代價比較高。缺乏查詢代價考慮并且缺乏元素的區(qū)分對待是當前Bloom Filter中通用弊端,這使得在當前實際應用中往往更耗資源。

發(fā)明內容
本發(fā)明要解決的技術問題是,針對現(xiàn)有技術存在的缺陷,提出一種基于分檔Bloom Filter結構的查詢方法,它用到分布式計算、計算機網(wǎng)絡資源定位、數(shù)據(jù)庫的交互查詢、P2P網(wǎng)絡資源交互、傳感器網(wǎng)絡信息交換、計算機網(wǎng)絡監(jiān)測、計算機緩存系統(tǒng)設計等產生大量數(shù)據(jù)、需要進行交互查詢的應用領域,可以大大減少集合查詢的失效代價,降低資源消耗。
本發(fā)明的技術解決方案是,所述基于分檔Bloom Filter結構的查詢方法的步驟為(1)按照集合中元素的查詢代價分為不同的檔(子集合);設集合S包含L檔,則S={{S1},{S2},L,{SL}}(2)建立由每檔子集合最低假陽性率表示的集合整體最小查詢代價目標函數(shù)Fbaskets(L)=Σi=1Lnicifi=Σi=1Lnici(12)ln2·(rimΣj=1Lnjrj)]]>上式中,每檔子集合的元素個數(shù)為ni=|Si|,子集合Si中元素發(fā)生查詢失效時,所需的額外I/O操作代價為ci(1≤i≤L),子集合Si所需要的哈希映射函數(shù)個數(shù)為ki(1≤i≤L),對應的假陽性概率為fi(1≤i≤L),映射到長度為m的位串向量V,ri=ln(fi)(1≤i≤L);(3)利用類目標函數(shù)梯度遺傳算法求解最小查詢代價目標函數(shù),獲得ri(1≤i≤L),步驟是步驟1隨機產生規(guī)模為n二進制編碼染色體,每個染色體代表一個
r1,r2,L,rL序列;步驟2利用類目標函數(shù)梯度適應值函數(shù)計算每個染色體的適應值;類目標函數(shù)梯度適應值函數(shù)為F(L)=λf(L)+(1-λ)f(L)/inverse_number其中inverse_number=τ(r1,r2,L,rL)為逆序數(shù)f(L)=Cmax-Fbasket(L),iff(L)<Cmax0iff(L)≥Cmax]]>步驟3檢查是否已經達到最優(yōu)結果,如果是轉到步驟6,返回最優(yōu)的染色體,否則繼續(xù);步驟4使用選擇、交叉、變異,產生新一代n個染色體;步驟5利用新一帶染色體代替老的染色體,轉到步驟2步驟6將染色體解碼,獲得r1,r2,L,rL;步驟7求解獲得每檔映射哈希函數(shù)個數(shù)ki(1≤i≤L)ki=ln2·(rimΣj=1Lnjrj)]]>(4)利用ki(1≤i≤L)完成集合到向量的映射與查找。
以下對本發(fā)明做出進一步說明。
本發(fā)明第一次區(qū)分對待集合中待查詢的元素,第一次考查Bloom Filter的查詢代價,即本發(fā)明在Bloom Filter領域研究集合查詢代價(重點為查詢失效代價),將集合中的元素按照查詢失效代價的不同而區(qū)分為不同的檔(子集合),然后通過考查每檔最低查詢失效率和Bloom Filter設計的關系,建立由每檔最低假陽性率表示的集合整體最低查詢代價目標函數(shù),將函數(shù)依賴轉換為r_pair(ri,rj)(1≤i,j≤L),求解過程使用類目標函數(shù)梯度遺傳算法獲得每檔的最優(yōu)哈希函數(shù)個數(shù)ki(1≤i≤L),通過這些哈希函數(shù)的個數(shù)ki完成集合的表示和元素的查詢。
關于本發(fā)明建立分檔Bloom Filter集合整體最低查詢失效代價目標函數(shù)的具體說明假設集合S包含L檔,則S={{S1},{S2},L,{SL}}每檔子集合的元素個數(shù)為ni=|Si|,子集合Si中元素發(fā)生查詢失效時,所需的額外I/O操作代價為ci(1≤i≤L),子集合Si所需要的哈希映射函數(shù)個數(shù)為ki(1≤i≤L),對應的假陽性概率為fi(1≤i≤L);映射到長度為m的位串向量V;那么定義整體查詢失效代價函數(shù)為F=n1f1c1+n2f2c2+L+nLfLcL(1)為了下面的文章中表述方便我們將分檔Bloom Filter方法(簡稱BBF)用{{n1,n2,L,nL},{c1,c2,L,cL},m,{k1,k2,L,kL}表示,將標準Bloom Filter(簡稱SBF)。
通過考查每檔最低假陽性率和Bloom Filter設計關系,我們得到分檔Bloom Filter集合整體最低查詢代價表達式為Fbaskets(L)=Σi=1Lnicifi=Σi=1Lnici(12)ln2·(rimΣj=1Lnjrj)---(2)]]>其中ri=ln(fi)(1≤i≤L),而且每檔元素需要映射的哈希函數(shù)個數(shù)為ki=ln2·(rimΣj=1Lnjrj)---(3)]]>下面是所述表達式的證明。2檔Bloom Filter(L=2)
BBF={n1,n2},{c1,c2},m,{k1,k2}},集合中所有元素插入向量V后,向量V中任一位置為0的概率為(1-1m)k1n1(1-1m)k2n2=(1-1m)k1n1+k2n2≈e-k1n1+k2n2m=p---(4)]]>第一檔元素的假陽性率為f1=exp(k1ln(1-p))(5)第二檔元素的假陽性率為f2=exp(k2ln(1-p))(6)令g1=k1ln(1-p),g2=k2ln(1-p)。發(fā)現(xiàn)g1∶g2=r1∶r2=k1∶k2(7)對g2求k2倒數(shù),當g2取最小值時k2min=ln2(r2mr1n1+r2n2)---(8)]]>得到f2的最小值為f2min=(12)k2min=(12)ln2(r2mr1n1+r2n2)---(9)]]>由k1,k2的比率關系(7)得k1=k2r2/r1,所以k1=ln2(r1mr1n1+r2n2)---(10)]]>同理,我們取g1為最小值時,和前面的過程相似,可以得到k1min=ln2(r1mr1n1+r2n2)---(11)]]>那么f1的最小值為f1min=(1-p)k1min=(12)ln2·(r1mr1n1+r2n2)---(12)]]>
由式(10)和式(11)我們發(fā)現(xiàn)k1=k1min。得出結論,兩檔子集可以同時獲得每檔最小假陽性率,那么用最小假陽性率表示的最低代價為Fbaskets(L)=n1c1f1min+n2c2f2min=Σi=1Lnici(12)ln2·(rimΣj=1Lnjrj)---(13)]]>滿足式(2)得證,函數(shù)值依賴于r_pair(r1,r2),下面就更一般的情況進行證明。多檔Bloom Filter(L>2)BBF={{n1,n2,L,nL},{c1,c2,L,cL},m,{k1,k2,L,kL}}。
當L檔元素都映射到V向量后,向量V中任一位為0的概率為(1-1m)k1n1L(1-1m)kLnL=(1-1m)Σi=1Lkini≈e-Σi=1Lkinim=p---(14)]]>每一檔子集中的元素出現(xiàn)假陽性率為f1=(1-p)k1=exp(k1ln(1-p))]]>f2=(1-p)k2=exp(k2ln(1-p))---(15)]]>LfL=(1-p)kL=exp(kLln(1-p))]]>令g1=k1ln(1-p),...,gL=kLln(1-p),得gi∶gj=ki∶kj=ri∶rj(1≤i,j≤L)(16)g1是k1的函數(shù),p也是k1的函數(shù),當g1求倒數(shù)取最小值時k1min=ln2(mΣi=1Lniri/r1)---(17)]]>將k1min代入式(15)得f1最小值f1min=(12)k1min=(12)ln2(rjmΣi=1Lniri)---(18)]]>
從式(17)得出ki=k1r1/riki=ln2·(rimΣj=1Lnirj)---(19)]]>類似上面推導,這些k1,k2,L,kL使得每檔的f1,f2,L,fL都達最小值,其他每檔的最小假陽性率為fimin=(12)kimin=(12)ln2(rimΣi=1Lnjrj)---(20)]]>此時用最小假陽性概率表示的集合查詢代價函數(shù)為Fbaskets(L)=Σi=1Lnicifi=Σi=1Lnici(12)ln2·(rimΣi=1Lnjri)---(21)]]>式(2)得證。該函數(shù)的值取決于r_pair(ri,rj)(1≤i,j≤L)。用類目標函數(shù)梯度遺傳算法獲得ki(1≤i≤L)值我們得到由最低假陽性率表示的集合整體最低查詢失效代價函數(shù)表達式,由于ni,ci都是常數(shù),求該表達式的最小值就是確定r_pair(ri,rj)(1≤i,j≤L)。然后根據(jù)式(3)獲得查詢應用時的哈希函數(shù)個數(shù)ki。
利用類目標函數(shù)梯度遺傳算法求解每檔ki步驟1隨機產生規(guī)模為n二進制編碼染色體,每個染色體代表一個r1,r2,L,rL序列;步驟2利用類目標函數(shù)梯度適應值函數(shù)計算每個染色體的適應值;類目標函數(shù)梯度適應值函數(shù)為F(L)=λf(L)+(1-λ)f(L)/inverse_number其中inverse_number=τ(r1,r2,L,rL)為逆序數(shù)
f(L)=Cmax-Fbasket(L),iff(L)<Cmax0iff(L)≥Cmax]]>步驟3檢查是否已經達到最優(yōu)結果,如果是轉到步驟6,返回最優(yōu)的染色體,否則繼續(xù);步驟4使用選擇、交叉、變異,產生新一代n個染色體;步驟5利用新一帶染色體代替老的染色體,轉到步驟2步驟6將染色體解碼,獲得最優(yōu)r1,r2,L,rL。
步驟7通過式(3)計算每檔的映射函數(shù)個數(shù)ki(1≤i≤L),此時借助ki可以完成集合到向量的映射和集合元素查詢過程,并且可以使集合整體查詢代價最小。
考慮到式(2)每個子項nicifi,ni和ci是獨立于fi的常數(shù),所以乘積nici越大,fi越小,這樣整體查詢失效代價減小,fi越小,就要求該子集合的映射函數(shù)越多,ki就越大,對應得ri就越大,所以本發(fā)明設計類目標函數(shù)梯度適應度值函數(shù),首先將元組(nici,ri)根據(jù)nici從小到大排列,取此時ri的逆序數(shù)帶入適應值函數(shù)。
這里的適應值函數(shù)采用類目標函數(shù)梯度適應值函數(shù)F(L)=λf(L)+(1-λ)f(L)/inverse_number(22)其中f(L)=Cmax-Fbasket(L),iff(L)<Cmax0iff(L)≥Cmax---(23)]]>inverse_number=τ(r1,r2,L,rL)取的是逆序數(shù),如τ(1,2,3,4,5)=0+0+0+0+0=0,τ(1,4,2,3,5)=0+2+0+0+0=2。
1.計算代價比較對于BBF而言完成集合到向量映射需要進行哈希計算的總次數(shù)記為
Cbasket=n1k1+n2k2+L+nLkL(24)對于SBF而言哈希計算總次數(shù)為Cstandard=(n1+n2+L+nL)·k (25)將ki=ln2·(rimΣj=1Lnjri)]]>帶入式(24),得Cbasket=(n1k1+n2k2+L+nLkL)=ln2(n1r1mΣj=1Lnjrj+n2r2mΣj=1Lnjrj+L+nLrLmΣj=1Lnjrj)---(26)]]>=ln2(n1r1+n2r2+L+nLrLΣj=1Lnjrj)m=ln(2)·m]]>k=ln(2)(mΣi=1Lni)]]>代入式(25)中, 得Cstandard=ln(2)m (27)這說明分檔Bloom Filter和標準Bloom Filter兩者計算時間相同。
2.查詢代價比較參見圖1、圖2,圖中橫坐標表示遺傳算法代數(shù),縱坐標表示查詢代價數(shù)。圖1是以三檔數(shù)據(jù)為例圖1(a)、圖1(b)和圖1(c)的向量長度分別為900bit、1050bit和1200bit,圖1(a)BBF通過7代遺傳得到整體代價為48.98438,比SBF的代價減少77.1%,此時三檔BBF用于集合映射的實現(xiàn)參數(shù)是{k1,k2,k3,}={6,6,2}。圖1(b)通過1代遺傳達到最小查詢代價36.36719,比SBF減少代價66%。圖1(c)通過14代遺傳達到24.49219,通過染色體解碼,此時的每檔映射需要的哈希函數(shù)個數(shù)為{k1,k2,k3,}={7,7,3}。
圖2以六檔數(shù)據(jù)為例,對查詢代價進行比較。
表1

表1是2~10檔數(shù)據(jù)使用標準Bloom Filter和分檔Bloom Filter產生的整體查詢失效代價比較表。每檔元素個數(shù)和代價都是隨機產生。第一列為檔數(shù);每檔子集的元素個數(shù)和元素查詢失效代價為第2、3列;第4、5列分別表示標準Bloom Filter和分檔Bloom Filter的集合整體查詢失效代價;最后一列表示分檔整體失效代價占標準代價的比率。從表中我們發(fā)現(xiàn)這些比率都小于60%,分檔Bloom Filter的代價和標準Bloom Filter相比,失效代價至少降低40%,使用分檔Bloom Filter可以使集合整體失效代價顯著減少,大大提高Bloom Filter性能。
由以上可知,本發(fā)明為一種基于分檔Bloom Filter結構的查詢方法,該方法將查詢代價引入Bloom Filter研究領域,研究當集合進行查詢時,查詢失效時的額外I/O操作代價,進而將元素根據(jù)不同的查詢代價分為不同的檔(子集),通過考查每檔查詢失效率的關系,建立由每檔子集合最低假陽性率表示的集合整體最小查詢失效代價目標函數(shù),使用類目標函數(shù)梯度遺傳算法獲得每檔的最優(yōu)哈希函數(shù)個數(shù)ki(1≤i≤L);本發(fā)明與Bloom Filter研究領域的其他算法結構相比,所需計算時間相同,集合總體查詢失效代價降低至少40%,實現(xiàn)了集合的總體查詢代價最小。


圖1是以三檔數(shù)據(jù)為例的查詢代價比較曲線,其中BBF={{55,30,95},{19,19,1},m,{k1,k2,k3}};圖2是以六檔數(shù)據(jù)為例的查詢代價比較曲線,其中BBF={{80,28,25,84,27,38},{9,10,16,1,2,1},m,{k1,k2,k3,k4,k5,k6}};圖3是基于代理的文件系統(tǒng)結構;圖4是請求消息傳輸路徑示意圖。
具體實施例方式
本實施例是BBF在一個使用文件代理的系統(tǒng)中的應用。
圖3是利用代理的文件系統(tǒng)。其底層是工作站主機,中間是層層文件代理,最后是終極網(wǎng)絡文件服務器。同級代理采用合作方式,定期的將自己存儲的文件目錄用BBF表示成摘要后傳給其他的代理,以維護網(wǎng)絡上文件列表的一致。在這個系統(tǒng)中,由于安全原因,工作站主機會不定期的更新操作系統(tǒng)補丁或更新防病毒軟件的病毒庫,同時,工作站之間可能有一些普通文件的交換。因此,我們將文件從安全的角度出發(fā),按照其對機器的影響后果分為四類關鍵系統(tǒng)補丁文件、病毒庫更新文件、系統(tǒng)運行文件、普通用戶文件。當網(wǎng)絡中系統(tǒng)出現(xiàn)嚴重安全漏洞時如不及時打上系統(tǒng)補丁,就可能導致系統(tǒng)出現(xiàn)崩潰,甚至央及整個網(wǎng)絡無法正常運行(如worm病毒針對系統(tǒng)漏洞的攻擊會導致網(wǎng)絡阻塞)。因此關鍵系統(tǒng)補丁文件在BBF中定義成等級最高,處理中會得到最小的查找失效率。
在系統(tǒng)結構中用了代理,其目的是為了減少工作站主機到服務器的直接流量和減少服務器的負載。因為工作站主機從比較近的代理上獲取文件遠比從遠端服務器上獲取文件速度快,而且當多個工作站主機從代理上獲取文件時,可以有效的減少服務器到代理之間的鏈路擁擠程度,從而節(jié)約網(wǎng)絡帶寬,降低網(wǎng)絡服務器的負荷。
同級代理之間的文件查找和交互過程中,在傳統(tǒng)的采用ICP協(xié)議進行文件查找的過程中,文件請求報文以廣播的形式在代理之間發(fā)出。假設有n個代理,如果時間t每個代理平均需要查找m個文件,則需要發(fā)送的報文請求量為m·n·(n-1),這將占用大量的網(wǎng)絡帶寬,導致網(wǎng)絡擁塞。為了減少廣播請求,我們在每個代理中存儲其它同級代理的文件目錄,當工作站主機的文件查找請求到達某個代理時,代理不再將請求以廣播的形式發(fā)送出去,而是直接在Cache中查找其他同級代理的文件目錄,并將結果返回給工作站主機。
同時,在代理的設計中,為了加速查找過程,將代理中的文件目錄存儲到代理的高速緩存DRAM中。由于DRAM價格昂貴且容量有限,不適合存放大的存儲結構,需要采用一種簡潔的結構來表示其文件目錄,BBF正是這么一種簡潔的結構,它對每條文件目錄的存儲只需要幾位比特,因此利用BBF在Cache系統(tǒng)中存儲文件目錄摘要很合適;更重要的是,代理和代理之間的傳輸信息也用BBF表示,可以減少傳輸?shù)膸挕A硗?,我們提到在該系統(tǒng)中根據(jù)文件安全等級分為四類,使用BBF可以調整不同類別文件的查詢失效概率,降低重要類別文件查詢失效概率,從而使得整體失效代價降低,提高系統(tǒng)的安全性。
使用BBF的文件下載過程如下1.客戶將文件下載請求傳輸?shù)狡湄撠煹拇矸掌鳌?br> 2.代理首先在Cache中表示自身文件目錄的BBF中查找文件,如果找到,就到自身的硬盤獲取數(shù)據(jù),如果沒有,就查找在本代理保存的其他代理的文件目錄BBF。
3.如果在某個其他的BBF上找到文件,那么就到該代理服務器去下載文件。
4.如果同級的代理服務器沒有對應文件,將文件查找請求傳送給上級?,F(xiàn)在我們就舉一個該環(huán)境下的實際的例子,對于不同的文件類型,按照其對系統(tǒng)安全的影響,分為以下四個等級,并簡單估計后果為1、關鍵系統(tǒng)補丁文件如果沒有及時打上該補丁,可能會照成系統(tǒng)崩潰或者影響網(wǎng)絡中其他的主機運行(后果損失100)。
2、病毒庫更新文件感染病毒,機器運行速度變慢,或者刪除文件,照成數(shù)據(jù)丟失(后果損失60)。
3、系統(tǒng)運行文件直接影響操作系統(tǒng)運行的文件(后果損失40)。
4、普通用戶文件普通的用戶文件(后果損失20)。
在某段時間內,出現(xiàn)的關鍵系統(tǒng)補丁文件有20個,病毒庫更新文件25個,系統(tǒng)運行文件30個,普通用戶文件40個。代理之間用于交互的文件目錄BBF表示為1000Bit。
第一步根據(jù)文件的屬性,將文件分為系統(tǒng)補丁文件、病毒庫更新文件、系統(tǒng)運行文件和普通用戶文件四類,完成BBF數(shù)據(jù)結構參數(shù),就上面的例子,其表示為BBF={{20,25,30,40},{100,60,40,20},1000,{k1,k2,k3,k4}}第二步建立查詢失效引起的安全代價最小目標函數(shù)
Fbaskets(L)=Σi=1Lnici(12)lm2·(ri*1000/(Σi=14niri))]]>第三步利用類目標函數(shù)梯度遺傳算法求解{r1,r2,r3,r4},并獲得最小安全失效代價。
第四步利用{r1,r2,r3,r4}計算出{k1,k2,k3,k4}={8,8,6,6}。
那么對于第一類文件(關鍵系統(tǒng)補丁文件),在進行元素查找時利用8個哈希函數(shù)映射,第二類的文件(病毒庫更新文件)利用8個哈希函數(shù),第三類的文件(系統(tǒng)運行文件)用6個哈希函數(shù)映射,第四類的文件(用戶文件)用6個哈希函數(shù)映射。
如用SBF,系統(tǒng)一共需要付出的安全代價為78.1250。用BBF需要付出的安全代價為42.9688。使用BBF使得這段時間的系統(tǒng)安全損失減少了45%,顯著減少了系統(tǒng)的損失,提高了計算機系統(tǒng)的安全性。
權利要求
1.一種基于分檔Bloom Filter結構的查詢方法,其特征是將集合中的元素按照查詢失效代價分為不同的子集合,并區(qū)分對待各子集合,為不同子集合分配不同的哈希映射函數(shù)個數(shù),使得集合整體查詢失效代價最小,該方法的步驟為(1)按照集合中元素的查詢代價分為不同的子集合;設集合S包含L檔,則S={{S1},{S2},L,{SL}}(2)建立由每檔子集合最低假陽性率表示的集合整體最小查詢代價目標函數(shù)Fbaskets(L)=Σi=1Lnicifi=Σi=1Lnici(12)ln2·(rimΣi=1Lnjrj)]]>上式中,每檔子集合的元素個數(shù)為ni=|Si|,子集合Si中元素發(fā)生查詢失效時,所需的額外I/O操作代價為ci(1≤i≤L),子集合Si所需要的哈希映射函數(shù)個數(shù)為ki(1≤i≤L),對應的假陽性概率為fi(1≤i≤L),映射到長度為m的位串向量V。其中ri=ln(fi)(1≤i≤L);(3)利用類目標函數(shù)梯度遺傳算法求解最小查詢代價目標函數(shù),獲得ri(1≤i≤L),步驟是步驟1隨機產生規(guī)模為n二進制編碼染色體,每個染色體代表一個r1,r2,L,rL序列;步驟2利用類目標函數(shù)梯度適應值函數(shù)計算每個染色體的適應值;類目標函數(shù)梯度適應值函數(shù)為F(L)=λf(L)+(1-λ)f(L)/inverse_number其中inverse_number=τ(r1,r2,L,rL)為逆序數(shù)f(L)=Cmax-Fbasket(L),if f(L)<Cmax0if f(L)≥Cmax]]>步驟3檢查是否已經達到最優(yōu)結果,如果是轉到步驟6,返回最優(yōu)的染色體,否則繼續(xù);步驟4使用選擇、交叉、變異,產生新一代n個染色體;步驟5利用新一帶染色體代替老的染色體,轉到步驟2步驟6將染色體解碼,獲得r1,r2,L,rL;步驟7求解獲得每檔映射哈希函數(shù)個數(shù)ki(1≤i≤L)ki=ln2·(rimΣj=1Lnjrj)]]>(4)利用ki(1≤i≤L)完成集合到向量的映射與集合元素查找。
全文摘要
一種基于分檔Bloom Filter結構的查詢方法,它將元素根據(jù)不同的查詢代價分為不同的子集,通過考查每檔子集最低查詢失效率的關系,建立每檔子集合最低假陽性率表示集合整體最低查詢失效代價目標函數(shù),使用類目標函數(shù)梯度遺傳算法獲得每檔的最優(yōu)哈希函數(shù)個數(shù)k
文檔編號G06F17/30GK1737799SQ20051003214
公開日2006年2月22日 申請日期2005年9月9日 優(yōu)先權日2005年9月9日
發(fā)明者謝鯤, 張大方, 閔應驊, 謝高崗, 文吉剛 申請人:湖南大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
峨眉山市| 兴宁市| 穆棱市| 桂东县| 信丰县| 靖远县| 宜章县| 三明市| 兰西县| 东乡| 佳木斯市| 海晏县| 申扎县| 灌南县| 双江| 秀山| 滨海县| 兴和县| 手机| 洪泽县| 鄂伦春自治旗| 阿尔山市| 罗城| 泰安市| 越西县| 汝城县| 马边| 台安县| 曲阜市| 玉门市| 田东县| 探索| 库尔勒市| 海盐县| 界首市| 射阳县| 南郑县| 齐河县| 灌南县| 鱼台县| 紫金县|