一种动态自适应多级Bloom滤波器装置的制造方法

文档序号:8528268阅读:397来源:国知局
一种动态自适应多级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]优选的,所述数据结构创建模块包括k个哈希单元、映射单元;所述k个哈希单元构成存储单元;k彡η。
[0014]优选的,所述处理模块包括处理单元和执行单元;其中,所述处理单元通过映射单元将网络数据映射到m比特的哈希表中,作为哈希地址;
[0015]所述执行单元用于执行哈希查找。
[0016]优选的,所述校验模块,包括校验子模块、划分单元和计算单元;其中,所述校验子模块用于计算η级Bloom滤波器过滤数据的误报率,判断过滤数据是否与匹配规则匹配;
[0017]所述划分单元用于将包含k个哈希单元的映射单元分成若干子集;
[0018]所述计算单元用于根据误报率计算各子集的最低误报率的哈希函数量。
[0019]优选的,所述控制模块包括,控制寄存器C、第一控制单元、和第二控制单元;
[0020]所述第一控制单元用于定义所有哈希单元的状态,包括第一阶段、第r阶段和睡眠阶段;Kr Sn;
[0021]所述第二控制单元用于将各子集的最低误报率的哈希函数量作为各阶段哈希函数量的初始值,利用控制寄存器C调整各阶段的哈希函数量。
[0022]进一步地,所述控制寄存器C包括计数器、第一移动单元、第二移动单元、第三移动单元和第四移动单元。
[0023]进一步地,所述计数器,用于分别记录匹配过程中成功和无效个数;
[0024]所述第一移动单元,用于当初始状态下,使得所有哈希单元k位于第一阶段;
[0025]所述第二移动单元,用于当第一阶段出现匹配成功MATCH_I = 1,右移一位,最高位置位C[m] = 1,使得一个哈希单元从第二阶段迀回第一阶段;当第一阶段出现不匹配MATCH_I = 0,左移一位,最末位清零C [O] = 0,使得一个哈希单元从第一阶段迀移至第二阶段;以此类推;
[0026]所述第三移动单元,用于当某一阶段出现连续匹配时,将该阶段下一阶段的部分哈希单元迀回该阶段;当很长时间内没有出现匹配时,将部分哈希单元从当前阶段迀移至下一阶段;
[0027]所述第四移动单元,用于当所述计数器显示匹配成功的哈希单元数量达到预定值,令控制寄存器C左移,将当前阶段的所有哈希单元迀出;当计数器显示匹配无效的哈希单元数量达到预定值,令控制寄存器C右移,将当前阶段的所有哈希单元直接迀回第一阶段。
[0028]与现有技术相比,本发明达到的有益效果是:
[0029]本装置相较于普通单比特哈希表,查找更快速便捷。
[0030]基于网络应用中病毒或攻击在某段时间内集中出现的特征,要求哈希函数从当前所在阶段快速返回第一阶段,从而在最短的时间内获得最终匹配结果,满足了吞吐率要求。
[0031]由于Bloom滤波器不存在逆向误判率且网络中恶意流量通常在某一段时间内集中出现;因此,当匹配量快速增加时,可将更多的哈希函数从第二阶段迀移到第一阶段,以降低误判率,提高效率。
[0032]另一方面,当很长时间内没有出现匹配项,说明是正常流量,可将部分哈希函数从第一阶段迀移到下一阶段,在不影响系统性能的前提下实现了最大程度降低功耗的目的。
【附图说明】
[0033]图1为利用控制寄存器C自适应调整哈希函数量的结构示意图;
[0034]图2为单级Bloom滤波器结构示意图;
[0035]图3为动态自适应二级Bloom滤波器结构示意图;
[0036]图4为动态自适应η级Bloom滤波器结构示意图;
[0037]图5为二阶η级Bloom滤波器结构示意图;
[0038]图6为划分哈希单元状态的示意图。
【具体实施方式】
[0039]下面结合附图对本发明的【具体实施方式】做进一步的详细说明。
[0040]如图1所示,一种动态自适应多级Bloom滤波器装置,包括:
[0041]数据结构创建模块,用于构建η级Bloom滤波器,η彡2 ;如图3所示,当η = 2时,为二级Bloom滤波器。如图4所示,所述数据结构创建模块包括k个哈希单元、映射单元;所述k个哈希单元构成存储单元;k多η。
[0042]处理模块,用于采用η级Bloom滤波器对网络数据进行过滤,生成过滤数据;所述处理模块包括处理单元和执行单元;其中,所述处理单元通过映射单元将网络数
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1