[发明专利]一种布隆过滤器的生成方法在审

专利信息
申请号: 201811018910.7 申请日: 2018-09-03
公开(公告)号: CN109408505A 公开(公告)日: 2019-03-01
发明(设计)人: 周先东;齐高华;卢志炜;孟彦;朱静轩 申请(专利权)人: 中新网络信息安全股份有限公司
主分类号: G06F16/22 分类号: G06F16/22
代理公司: 上海精晟知识产权代理有限公司 31253 代理人: 冯子玲
地址: 230088 安徽省合肥*** 国省代码: 安徽;34
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 布隆过滤器 散列函数 位向量 集合 子集合 分组 重建 删除 数据元素集合 算法技术 元素查询 传统的 匹配
【说明书】:

发明涉及元素查询匹配的算法技术领域,具体涉及一种布隆过滤器的生成方法,包括确定一个散列函数作为分组散列函数、根据所述分组散列函数,将所述布隆过滤器表示的数据元素集合分为M个子集合、确定每一个子集合对应的位向量长度Li和散列函数个数Ni。本发明生成的布隆过滤器,当布隆过滤器表示的集合中需要增加或删除一个元素时,只需要根据分组散列函数确定该元素的对应的子集合,重建该子集合的位向量,能够避免传统的布隆过滤器在增加或删除元素时,需要重建整个布隆过滤器的位向量,节省重建开销。

技术领域

本发明涉及元素查询匹配的算法技术领域,具体涉及一种布隆过滤器的生成方法。

背景技术

在日常生活中,包括在设计计算机软件时,我们经常要判断一个元素是否在一个集合中。比如在字处理软件中,需要检查一个英语单词是否拼写正确(也就是要判断它是否在已知的字典中);在FBI,一个嫌疑人的名字是否已经在嫌疑名单上;在网络爬虫里,一个网址是否被访问过等等。最直接的方法就是将集合中全部的元素存在计算机中,遇到一个新元素时,将它和集合中的元素直接比较即可。一般来讲,计算机中的集合是用哈希表(hash table)来存储的。它的好处是快速准确,缺点是费存储空间。当集合比较小时,这个问题不显著,但是当集合巨大时,哈希表存储效率低的问题就显现出来了,我们需要寻求更好的解决方法。

布隆过滤器(BloomFilter)是1970年由布隆提出的一种空间空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并判断一个元素是否属于这个集合。使用布隆过滤器,存在第一类出错(Falsepositive),但是不会存在第二类错误(Falsenegative),因此,布隆过滤器拥有100%的召回率。也就是说,布隆过滤器能够准确判断一个元素不在集合内,但只能判断一个元素可能在集合内。因此,BloomFilter不适合“零错误”的应用场合。在能够容忍低错误的应用场合下,BloomFilter通过极少的错误换取了存储空间的极大节省。我们可以向布隆过滤器里添加元素,但是不能从中移除元素(普通布隆过滤器,增强的布隆过滤器是可以移除元素的)。随着布隆过滤器中元素的增加,犯第一类错误的可能性也随之增大。

一个空的布隆过滤器有长度为M比特的bit数组构成,且所有位都初始化0。一个元素通过K个不同的hash函数随机散列到bit数组的K个位置上,K必须远小于M。K和M的大小由错误率(falsepositiverate)决定。Bloom Filter 的一个例子集合S{x,y,z}。带有颜色的箭头表示元素经过k(k=3)hash 函数的到在M(bit数组)中的位置。元素W不在S集合中,因为元素W经过k 个hash函数得到在M(bit数组)的k个位置中存在值为0的位置。

向集合S中添加元素x:x经过k个散列函数后,在M中得到k个位置,然后,将这k个位置的值设置为1。

判断x元素是否在集合S中:x经过k个散列函数后,的到k个位置的值,如果这k个值中间存在为0的,说明元素x不在集合中——元素x曾经插入到过集合S,则M中的k个位置会全部置为1;如果M中的k个位置全为1,则有两种情形。情形一:这个元素在这个集合中;情形二:曾经有元素插入的时候将这k个位置的值置为1了。

在假通过率可接受的前提下,布隆过滤器很好的解决了存储的空间问题,但传统的布隆过滤器还存在一些不足之处,当布隆过滤器表示的数据元素集合中元素动态增加和删除时,传统的布隆过滤器可能无法较好的适应,如当需要删除集合中某个元素时,即布隆过滤器表示的集合中的某个元素需要动态删除时,必须要重建整个布隆过滤器的位向量;当集合中增加元素时,布隆过滤器的假通过率会不断攀升,并最终导致假通过率超出可接受的范围,如果要使假通过率在可接受的范围内,则当集合中元素增加时,也需要重建整个布隆过滤器的位向量。当集合中的元素较少时,重建整个布隆过滤器的问题可能并不显著,但当集合元素很庞大的时候,重建布隆过滤器所带来的时间开销是不容忽视的。

发明内容

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中新网络信息安全股份有限公司,未经中新网络信息安全股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201811018910.7/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top