一種動態(tài)自適應多級Bloom濾波器裝置的制造方法
【技術領域】
[0001]本發(fā)明涉及計算機應用領域,具體涉及一種動態(tài)自適應多級Bloom濾波器裝置。
【背景技術】
[0002]網(wǎng)絡的迅速發(fā)展給通信、生活等方面帶來了巨大影響,網(wǎng)絡流量和速率在不斷增加。速率的增加需要硬件上的支持,持續(xù)不間斷高速運行的硬件平臺需要消耗越來越多的能量,并且所需的散熱設備同樣在消耗能量。能耗的增加使得低功耗成為衡量一個系統(tǒng)結構或算法的重要指標。
[0003]Bloom濾波器主要用于信息檢索,通過一組哈希函數(shù)將數(shù)據(jù)庫信息映射到二進制字符串進行存儲,可快速創(chuàng)建、檢索、更新,具有簡便快速、節(jié)省存儲空間、能耗低的優(yōu)點,便于硬件實現(xiàn),在高速網(wǎng)絡處理領域具有廣泛應用空間。
[0004]如圖2所示單級Bloom濾波器設計簡單、在硬件資源緊張的條件下可以節(jié)省存儲空間,以網(wǎng)絡入侵檢測系統(tǒng)為例,適合高速網(wǎng)絡處理設備。Bloom濾波器主要缺陷是存在正向誤報率(False Positive Rate),即可能會匹配不屬于數(shù)據(jù)庫內容的信息。以在網(wǎng)絡入侵檢測系統(tǒng)的應用為例,可采用Bloom濾波器對網(wǎng)絡流量進行快速過濾,通過精確匹配算法進一步驗證預處理結果。
[0005]然而,傳統(tǒng)固定結構Bloom濾波器所有函數(shù)即便在網(wǎng)絡空閑時仍都處于工作狀態(tài),造成功耗的嚴重浪費。
【發(fā)明內容】
[0006]為克服上述缺陷,本發(fā)明提出一種動態(tài)自適應多級Bloom濾波器裝置,解決了功耗與性能平衡的問題,從而減少了功耗的浪費。
[0007]本發(fā)明的目的是采用下述技術方案實現(xiàn)的:
[0008]一種動態(tài)自適應多級Bloom濾波器裝置,包括:
[0009]數(shù)據(jù)結構創(chuàng)建模塊,用于構建η級Bloom濾波器,η彡2 ;
[0010]處理模塊,用于采用η級Bloom濾波器對網(wǎng)絡數(shù)據(jù)進行過濾,生成過濾數(shù)據(jù);
[0011]校驗模塊,用于利用匹配規(guī)則對所述過濾數(shù)據(jù)進行校驗;
[0012]控制模塊,用于通過自適應控制法對校驗結果進行動態(tài)調節(jié)。
[0013]優(yōu)選的,所述數(shù)據(jù)結構創(chuàng)建模塊包括k個哈希單元、映射單元;所述k個哈希單元構成存儲單元;k彡η。
[0014]優(yōu)選的,所述處理模塊包括處理單元和執(zhí)行單元;其中,所述處理單元通過映射單元將網(wǎng)絡數(shù)據(jù)映射到m比特的哈希表中,作為哈希地址;
[0015]所述執(zhí)行單元用于執(zhí)行哈希查找。
[0016]優(yōu)選的,所述校驗模塊,包括校驗子模塊、劃分單元和計算單元;其中,所述校驗子模塊用于計算η級Bloom濾波器過濾數(shù)據(jù)的誤報率,判斷過濾數(shù)據(jù)是否與匹配規(guī)則匹配;
[0017]所述劃分單元用于將包含k個哈希單元的映射單元分成若干子集;
[0018]所述計算單元用于根據(jù)誤報率計算各子集的最低誤報率的哈希函數(shù)量。
[0019]優(yōu)選的,所述控制模塊包括,控制寄存器C、第一控制單元、和第二控制單元;
[0020]所述第一控制單元用于定義所有哈希單元的狀態(tài),包括第一階段、第r階段和睡眠階段;Kr Sn;
[0021]所述第二控制單元用于將各子集的最低誤報率的哈希函數(shù)量作為各階段哈希函數(shù)量的初始值,利用控制寄存器C調整各階段的哈希函數(shù)量。
[0022]進一步地,所述控制寄存器C包括計數(shù)器、第一移動單元、第二移動單元、第三移動單元和第四移動單元。
[0023]進一步地,所述計數(shù)器,用于分別記錄匹配過程中成功和無效個數(shù);
[0024]所述第一移動單元,用于當初始狀態(tài)下,使得所有哈希單元k位于第一階段;
[0025]所述第二移動單元,用于當?shù)谝浑A段出現(xiàn)匹配成功MATCH_I = 1,右移一位,最高位置位C[m] = 1,使得一個哈希單元從第二階段迀回第一階段;當?shù)谝浑A段出現(xiàn)不匹配MATCH_I = 0,左移一位,最末位清零C [O] = 0,使得一個哈希單元從第一階段迀移至第二階段;以此類推;
[0026]所述第三移動單元,用于當某一階段出現(xiàn)連續(xù)匹配時,將該階段下一階段的部分哈希單元迀回該階段;當很長時間內沒有出現(xiàn)匹配時,將部分哈希單元從當前階段迀移至下一階段;
[0027]所述第四移動單元,用于當所述計數(shù)器顯示匹配成功的哈希單元數(shù)量達到預定值,令控制寄存器C左移,將當前階段的所有哈希單元迀出;當計數(shù)器顯示匹配無效的哈希單元數(shù)量達到預定值,令控制寄存器C右移,將當前階段的所有哈希單元直接迀回第一階段。
[0028]與現(xiàn)有技術相比,本發(fā)明達到的有益效果是:
[0029]本裝置相較于普通單比特哈希表,查找更快速便捷。
[0030]基于網(wǎng)絡應用中病毒或攻擊在某段時間內集中出現(xiàn)的特征,要求哈希函數(shù)從當前所在階段快速返回第一階段,從而在最短的時間內獲得最終匹配結果,滿足了吞吐率要求。
[0031]由于Bloom濾波器不存在逆向誤判率且網(wǎng)絡中惡意流量通常在某一段時間內集中出現(xiàn);因此,當匹配量快速增加時,可將更多的哈希函數(shù)從第二階段迀移到第一階段,以降低誤判率,提高效率。
[0032]另一方面,當很長時間內沒有出現(xiàn)匹配項,說明是正常流量,可將部分哈希函數(shù)從第一階段迀移到下一階段,在不影響系統(tǒng)性能的前提下實現(xiàn)了最大程度降低功耗的目的。
【附圖說明】
[0033]圖1為利用控制寄存器C自適應調整哈希函數(shù)量的結構示意圖;
[0034]圖2為單級Bloom濾波器結構示意圖;
[0035]圖3為動態(tài)自適應二級Bloom濾波器結構示意圖;
[0036]圖4為動態(tài)自適應η級Bloom濾波器結構示意圖;
[0037]圖5為二階η級Bloom濾波器結構示意圖;
[0038]圖6為劃分哈希單元狀態(tài)的示意圖。
【具體實施方式】
[0039]下面結合附圖對本發(fā)明的【具體實施方式】做進一步的詳細說明。
[0040]如圖1所示,一種動態(tài)自適應多級Bloom濾波器裝置,包括:
[0041]數(shù)據(jù)結構創(chuàng)建模塊,用于構建η級Bloom濾波器,η彡2 ;如圖3所示,當η = 2時,為二級Bloom濾波器。如圖4所示,所述數(shù)據(jù)結構創(chuàng)建模塊包括k個哈希單元、映射單元;所述k個哈希單元構成存儲單元;k多η。
[0042]處理模塊,用于采用η級Bloom濾波器對網(wǎng)絡數(shù)據(jù)進行過濾,生成過濾數(shù)據(jù);所述處理模塊包括處理單元和執(zhí)行單元;其中,所述處理單元通過映射單元將網(wǎng)絡數(shù)