一种动态调节多级Bloom滤波器结构的方法

文档序号:9304590阅读:584来源:国知局
一种动态调节多级Bloom滤波器结构的方法
【技术领域】
[0001]本发明涉及计算机应用领域,具体涉及一种动态调节多级Bloom滤波器的方法。
【背景技术】
[0002]网络的迅速发展给通信、生活等方面带来了巨大影响,网络流量和速率在不断增加。速率的增加需要硬件上的支持,持续不间断高速运行的硬件平台需要消耗越来越多的能量,并且所需的散热设备同样在消耗能量。能耗的增加使得低功耗成为衡量一个系统结构或算法的重要指标。
[0003]Bloom滤波器主要用于信息检索,通过一组哈希函数将数据库信息映射到二进制字符串进行存储,可快速创建、检索、更新,具有简便快速、节省存储空间、能耗低的优点,便于硬件实现,在高速网络处理领域具有广泛应用空间。
[0004]如图2所示,单级Bloom滤波器设计简单、在硬件资源紧张的条件下可以节省存储空间,以网络入侵检测系统为例,适合高速网络处理设备。Bloom滤波器主要缺陷是存在正向误报率(False Positive Rate),即可能会匹配不属于数据库内容的信息。以在网络入侵检测系统的应用为例,可采用Bloom滤波器对网络流量进行快速过滤,通过精确匹配算法进一步验证预处理结果。
[0005]通过参数设置可将正向误报率降低至可以接受的程度,如增加函数数量、或使用多阶滤波器结构,但会相应延长匹配时间、扩大存储量、增加处理功耗。根据网络流量繁忙程度,动态调整多级Bloom滤波器,达到性能与功耗最优效果。

【发明内容】

[0006]为实现上述目的,本发明提出一种动态调节多级Bloom滤波器的方法,解决了功耗与性能平衡的问题。
[0007]本发明的目的是采用下述技术方案实现的:
[0008]—种动态调节多级Bloom滤波器的方法,所述方法包括:
[0009]构建η级Bloom滤波器,η彡2 ;
[0010]采用η级Bloom滤波器对网络数据进行过滤,生成过滤数据;
[0011 ] 利用匹配规则对所述过滤数据进行校验;
[0012]通过自适应控制法对校验结果进行动态调节。
[0013]优选的,所述η级Bloom滤波器包括k个哈希函数,各级哈希函数量分别为{kl, k2,..., kn},kl+k2+...kn = k ;所述k个哈希函数构成哈希函数集Iii (x),i = I…k。
[0014]优选的,所述生成过滤数据包括,通过哈希函数集hjx)将网络数据S =(X1, X2...xj映射到m比特的哈希表{1,…,m} (m>n)中,作为哈希地址;并执行哈希查找。
[0015]优选的,所述校验方法包括;计算η级Bloom滤波器过滤数据的误报率,判断过滤数据是否与匹配规则匹配;
[0016]f ^ (l_e kn/m)k, kopt= (m/c) 1η2(I)
[0017]式⑴中,f为误报率,k为哈希函数个数,m为比特向量位数,c为输入的网络数据量Acipt为最低误报率的哈希函数量。
[0018]进一步地,将包含k个哈希函数的哈希函数集Iii (X)分成若干子集Ii1...hk;根据式
(I)误报率f计算各子集的最低误报率的哈希函数量k-,kopt^ 4 ;
[0019]当第一子集所有哈希函数动态查表结果为1,则匹配成功MATCH_I = 1,并启动下一子集的哈希函数enable = I。
[0020]优选的,所述动态调节包括,定义所有哈希函数,包括第一阶段、第r阶段和睡眠阶段;其中,Kr彡η;
[0021]将各子集的最低误报率的哈希函数量k-作为各阶段哈希函数量k ^勺初始值,利用控制寄存器C调整各阶段的哈希函数量k1;
[0022]所述控制寄存器C包括计数器,用于分别记录匹配过程中成功和无效个数。
[0023]进一步地,所述控制寄存器C的m比特对应Bloom滤波器的k个哈希函数,C[i]=I表示第i个哈希函数位于所述第一阶段,C[i] = O表示第i个哈希函数位于所述第r阶段;
[0024]在初始状态下,所有哈希函数k位于第一阶段;
[0025]如果第一阶段出现匹配成功MATCH_I = 1,将控制寄存器C右移一位,最高位置位C[m] = 1,使得一个哈希函数从第二阶段迀回第一阶段;
[0026]如果第一阶段出现不匹配MATCH_I = 0,将控制寄存器C左移一位,最末位清零C[O] = 0,使得一个哈希函数从第一阶段迀移至第二阶段;以此类推。
[0027]优选的,当某一阶段出现连续匹配时,将该阶段下一阶段的部分哈希函数迀回该阶段;
[0028]当很长时间内没有出现匹配时,将部分哈希函数从当前阶段迀移至下一阶段。
[0029]进一步地,所述睡眠阶段包括,当计数器显示匹配成功的哈希函数量达到预定值,控制寄存器C左移,将当前阶段的所有哈希函数迀出;当计数器显示匹配无效的哈希函数量达到预定值,控制寄存器C右移,将当前阶段的所有哈希函数直接迀回第一阶段。
[0030]与现有技术相比,本发明达到的有益效果是:
[0031]本发明使用多比特哈希表进行建表和更新,相较于普通单比特哈希表,查找更快速便捷。
[0032]基于网络应用中病毒或攻击在某段时间内集中出现的特征,要求哈希函数从当前所在阶段快速返回第一阶段,从而在最短的时间内获得最终匹配结果,满足了吞吐率要求。
[0033]由于Bloom滤波器不存在逆向误判率且网络中恶意流量通常在某一段时间内集中出现;因此,当匹配量快速增加时,可将更多的哈希函数从第二阶段迀移到第一阶段,以降低误判率,提高效率。
[0034]另一方面,当很长时间内没有出现匹配项,说明是正常流量,可将部分哈希函数从第一阶段迀移到第二阶段,在不影响系统性能的前提下实现了最大程度降低功耗的目的。
【附图说明】
[0035]图1为动态调节多级Bloom滤波器的方法流程图;
[0036]图2为单级Bloom滤波器结构示意图;
[0037]图3为二级Bloom滤波器结构示意图;
[0038]图4为η级Bloom滤波器结构示意图;
[0039]图5为二阶η级Bloom滤波器结构示意图;
[0040]图6为哈希函数状态的示意图;
[0041]图7为利用控制寄存器C自适应调整哈希函数量的结构示意图。
【具体实施方式】
[0042]下面结合附图对本发明的【具体实施方式】做进一步的详细说明。
[0043]如图1所示,一种动态调节多级Bloom滤波器的方法,所述方法包括:
[0044]构建η级Bloom滤波器;如图4所示,所述η级Bloom滤波器包括k个哈希函数,η彡2 ;各级哈希函数量分别为{kl, k2,..., kn},kl+k2+...kn = k ;所述k个哈希函数构成哈希函数集Iii (X),i = I…k。如图3所示,当η = 2时,为二级Bloom滤波器。
[0045]采用η级Bloom滤波器对网络数据进行过滤,生成过滤数据;所述生
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1