[发明专利]一种动态调节多级Bloom滤波器结构的方法有效
申请号: | 201510303586.3 | 申请日: | 2015-06-05 |
公开(公告)号: | CN105022784B | 公开(公告)日: | 2019-05-14 |
发明(设计)人: | 周亚超;左晓栋;崔占华;杨晨;王石;李勇;陈曼琳 | 申请(专利权)人: | 中国信息安全研究院有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22 |
代理公司: | 北京安博达知识产权代理有限公司 11271 | 代理人: | 徐国文 |
地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 动态 调节 多级 bloom 滤波器 结构 方法 | ||
1.一种动态调节多级Bloom滤波器的方法,其特征在于,所述方法包括:
构建n级Bloom滤波器,n≥2;
采用n级Bloom滤波器对网络数据进行过滤,生成过滤数据;
利用匹配规则对所述过滤数据进行校验;
通过自适应控制法对校验结果进行动态调节;所述动态调节包括,定义所有哈希函数的状态,包括第一阶段、第r阶段和睡眠阶段;其中,1<r≤n;
将各子集的最低误报率的哈希函数量kopt作为各阶段哈希函数量ki的初始值,利用控制寄存器C调整各阶段的哈希函数量ki;
所述控制寄存器C包括计数器,用于分别记录匹配过程中成功和无效个数;
所述控制寄存器C的m比特对应Bloom滤波器的k个哈希函数,C[i]=1表示第i个哈希函数位于所述第一阶段,C[i]=0表示第i个哈希函数位于所述第r阶段;
在初始状态下,所有哈希函数k位于第一阶段;
如果第一阶段出现匹配成功MATCH_I=1,将控制寄存器C右移一位,最高位置位C[m]=1,使得一个哈希函数从第二阶段迁回第一阶段;
如果第一阶段出现不匹配MATCH_I=0,将控制寄存器C左移一位,最末位清零C[0]=0,使得一个哈希函数从第一阶段迁移至第二阶段;以此类推。
2.如权利要求1所述的方法,其特征在于,所述n级Bloom滤波器包括k个哈希函数,各级哈希函数量分别为{k1,k2,...,kn},k1+k2+...+kn=k;所述k个哈希函数构成哈希函数集hi(x),i=1…k。
3.如权利要求1所述的方法,其特征在于,所述生成过滤数据包括,通过哈希函数集hi(x)将网络数据S={x1,x2,...,xn}映射到m比特的哈希表{1,…,m}m>n中,作为哈希地址;并执行哈希查找。
4.如权利要求1所述的方法,其特征在于,所述校验方法包括;计算n级Bloom滤波器过滤数据的误报率,判断过滤数据是否与匹配规则匹配;
f≈(1-e-kn/m)k,kopt=(m/c)ln2 (1)
式(1)中,f为误报率,k为哈希函数个数,m为比特向量位数,c为输入的网络数据量;kopt为最低误报率的哈希函数量。
5.如权利要求4所述的方法,其特征在于,将包含k个哈希函数的哈希函数集hi(x)分成若干子集h1...hk;根据式(1)误报率f计算各子集的最低误报率的哈希函数量kopt,kopt≥4;
当第一子集所有哈希函数动态查表结果为1,则匹配成功MATCH_I=1,并启动下一子集的哈希函数enable=1。
6.如权利要求1所述的方法,其特征在于,当某一阶段出现连续匹配时,将该阶段下一阶段的部分哈希函数迁回该阶段;
当很长时间内没有出现匹配时,将部分哈希函数从当前阶段迁移至下一阶段。
7.如权利要求1所述的方法,其特征在于,所述睡眠阶段包括,当计数器显示匹配成功的哈希函数量达到预定值,控制寄存器C左移,将当前阶段的所有哈希函数迁出;当计数器显示匹配无效的哈希函数量达到预定值,控制寄存器C右移,将当前阶段的所有哈希函数直接迁回第一阶段。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国信息安全研究院有限公司,未经中国信息安全研究院有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510303586.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:基于因子分析的变电站分类方法和系统
- 下一篇:智能交通管理大数据分析系统