[发明专利]布隆过滤器和数据处理方法在审
申请号: | 202010898812.8 | 申请日: | 2020-08-31 |
公开(公告)号: | CN112068958A | 公开(公告)日: | 2020-12-11 |
发明(设计)人: | 方贤斌;刘小苏;师文庆 | 申请(专利权)人: | 常州微亿智造科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/445 |
代理公司: | 常州佰业腾飞专利代理事务所(普通合伙) 32231 | 代理人: | 陈红桥 |
地址: | 213023 江苏省常州市钟*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 过滤器 数据处理 方法 | ||
1.一种布隆过滤器,其特征在于,所述布隆过滤器的位数组的每一bit位扩展为一个计数器,所述布隆过滤器包括:
初始化模块,所述初始化模块用于初始化配置参数,并在初始化时生成用于存储所述配置参数的hash对象;
判重验证模块,所述判重验证模块用于判定接收到的key是否已经存在;
存储模块,所述存储模块用于在所述判重验证模块判定接收到的key不存在时,存储该key,并将对应每个bit位的计数器值加一;
删除模块,所述删除模块用于在所述判重验证模块判定接收到的key存在时,删除该key,并将对应每个bit位的计数器值减一。
2.根据权利要求1所述的布隆过滤器,其特征在于,所述配置参数包括插入的元素个数n、误报率p、布隆过滤器名称name、每个bit位的最大值repeat。
3.根据权利要求2所述的布隆过滤器,其特征在于,用于存储所述配置参数的hash对象为以name及其value值构成的hash对象。
4.根据权利要求2或3所述的布隆过滤器,其特征在于,每个bit位的计数器值满足如下公式:
其中,Pr(max(c)≥i)为每个bit位的计数器值大于或等于i的概率,m为所述布隆过滤器的长度。
5.根据权利要求4所述的布隆过滤器,其特征在于,所述判重验证模块具体用于将接收到的key用hash128函数转化成long类型的值,并根据所述配置参数计算得到一个bit数组,将该bit数组用for循环的方式依次查找是否在redis中存储过,如果该bit数组在redis中全部被查找到,则判定该key存在,否则判定该key不存在。
6.一种数据处理方法,其特征在于,包括以下步骤:
构建布隆过滤器,所述布隆过滤器的位数组的每一bit位扩展为一个计数器;
初始化所述布隆过滤器的配置参数,并在初始化时生成用于存储所述配置参数的hash对象;
所述布隆过滤器判定接收到的key是否已经存在;
所述布隆过滤器在判定接收到的key不存在时,存储该key,并将对应每个bit位的计数器值加一;
所述布隆过滤器在判定接收到的key存在时,删除该key,并将对应每个bit位的计数器值减一。
7.根据权利要求6所述的数据处理方法,其特征在于,所述配置参数包括插入的元素个数n、误报率p、布隆过滤器名称name、每个bit位的最大值repeat。
8.根据权利要求7所述的数据处理方法,其特征在于,用于存储所述配置参数的hash对象为以name及其value值构成的hash对象。
9.根据权利要求7或8所述的数据处理方法,其特征在于,每个bit位的计数器值满足如下公式:
其中,Pr(max(c)≥i)为每个bit位的计数器值大于或等于i的概率,m为所述布隆过滤器的长度。
10.根据权利要求9所述的数据处理方法,其特征在于,所述布隆过滤器判定接收到的key是否已经存在,具体包括:
将接收到的key用hash128函数转化成long类型的值,并根据所述配置参数计算得到一个bit数组;
将该bit数组用for循环的方式依次查找是否在redis中存储过;
如果该bit数组在redis中全部被查找到,则判定该key存在,否则判定该key不存在。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于常州微亿智造科技有限公司,未经常州微亿智造科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010898812.8/1.html,转载请声明来源钻瓜专利网。