[发明专利]一种支持删除的布隆过滤的设计方法在审
申请号: | 202010840232.3 | 申请日: | 2020-08-19 |
公开(公告)号: | CN112818188A | 公开(公告)日: | 2021-05-18 |
发明(设计)人: | 赵星晨;张一帆;林芷竹 | 申请(专利权)人: | 北京辰信领创信息技术有限公司 |
主分类号: | G06F16/9035 | 分类号: | G06F16/9035 |
代理公司: | 上海氦闪专利代理事务所(普通合伙) 31354 | 代理人: | 李明;袁媛 |
地址: | 100191 北京市海淀区中关村*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 支持 删除 过滤 设计 方法 | ||
本发明涉及计算机信息处理领域,尤其是一种支持删除的布隆过滤的设计方法,包括m字节的字节数组,初始时每个字节都初始化为0,增加一个元素时,k个字节位置至少有一个为0时,每个位置的值都在原来基础上加1;删除时,k个字节位置每个都大于0时,每个位置的值都在原来基础上减1;查询时,k个字节位置只要有一个位置的值为0,说明元素不在集合中;本发明稍微修改传统的布隆过滤器的数据结构,可以实现布隆过滤器的删除,并且,不影响查询效率。
技术领域
本发明涉及计算机信息处理领域,尤其涉及一种支持删除的布隆过滤的设计方法。
背景技术
在海量的数据中,需要高效的将数据添加到数据集中;并可以方便高效的查询是否有数据在数据集,有时则需要删除数据集中的数据;布隆过滤器是一种数据结构,比较巧妙的概率型数据结构,特点是高效地插入和查询,可以用来告诉你“某样东西一定不存在或者可能存在。
目前市场上的布隆过滤器存在的缺陷:传统的布隆过滤器并不支持删除操作,为了能够消减数据集中无用的数据,就需要一种可以进行删除操作的布隆过滤器,同时不能降低了现有布隆过滤器添加和查询数据的效率。
发明内容
本发明的目的是为了解决现有技术中存在的缺点,而提出的一种支持删除的布隆过滤的设计方法。
为达到以上目的,本发明采用的技术方案为:一种支持删除的布隆过滤的设计方法,包括以下方法:
(i)将一个布隆过滤器中设有的m字节的字节数组初始化为0;
(ii)定义k个不同的哈希函数,并将k个哈希函数每一个都以均匀随机分布的方式映射到m字节的字节数组不同位置中的一个,取用外部元素时,用k个哈希函数将元素经由散列函数处理得到布隆过滤器中k个字节;
(iii)增加一个元素时,k个字节位置至少有一个为0时,每个位置的值都在原来基础上加1;如果k个位置均大于0,那么元素可能已经设置于集合中;
(iv)删除一个元素时,k个字节位置每个都大于0时,每个位置的值都在原来基础上减1;
(v)查询一个元素时,k个字节位置只要有一个位置的值为0,说明元素不在集合中。
进一步的,一种支持删除的布隆过滤器的设计方法,还包括以下方法:
(i)将一个布隆过滤器中设有的m个整型数据的int数组初始化为0;
(ii)定义k个不同的哈希函数,并将k个哈希函数每一个都以均匀随机分布的方式映射到m个整型数据的int数组不同位置中的一个,取用外部元素时,用k个哈希函数将元素经由散列函数处理得到布隆过滤器中k个位置;
(iii)增加一个元素时,k个字节位置至少有一个为0时,每个位置的值都在原来基础上加1;如果k个位置均大于0,那么元素可能已经设置于集合中;
(iv)删除一个元素时,k个字节位置每个都大于0时,每个位置的值都在原来基础上减1;
(v)查询一个元素时,k个字节位置只要有一个位置的值为0,说明元素不在集合中。
与现有技术相比,本发明具有以下有益效果:可以高效的支持布隆过滤器的删除操作,且并不影响添加和查询数据的效率。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京辰信领创信息技术有限公司,未经北京辰信领创信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010840232.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:可疑IP的检测方法
- 下一篇:一种数字化乡村综合服务系统