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