[发明专利]一种布隆过滤器中数据的处理方法以及布隆过滤器有效

专利信息
申请号: 201710444590.0 申请日: 2017-06-13
公开(公告)号: CN109145158B 公开(公告)日: 2021-07-20
发明(设计)人: 汪漪;卢建元;刘斌 申请(专利权)人: 华为技术有限公司;清华大学
主分类号: G06F16/90 分类号: G06F16/90;G06F16/901
代理公司: 北京中博世达专利商标代理有限公司 11274 代理人: 申健
地址: 518129 广东*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 过滤器 数据 处理 方法 以及
【说明书】:

发明实施例公开了一种布隆过滤器中数据的处理方法以及布隆过滤器,涉及存储技术领域,用以提高布隆过滤器的查找与存储效率。包括:获取关键值;利用K个不同的哈希函数对关键值分别作哈希运算,计算得到K个哈希值;根据K个哈希值,计算得到K个地址,K个地址中每个地址与目标数据块包括的K个Word中的一个Word一一关联,一个地址用于指示与该地址关联的Word中的一个比特位;根据K个地址,设置每个地址在各自关联的Word中所指示的比特位上的参数,或者,读取K个地址在各自关联的Word中所指示的比特位上的参数,以根据读取参数确定关键值是否属于布隆过滤器。本发明实施例用于确定关键值是否位于布隆过滤器的过程。

技术领域

本发明实施例涉及存储技术领域,尤其涉及一种布隆过滤器中数据的处理方法以及布隆过滤器。

背景技术

布隆过滤器(Bloom Filter)可以把一个大的数据集合编码压缩到非常小的存储空间上,属于空间高效的随机数据结构,由于布隆过滤器的查询只可以回答一个问题:所查元素是否属于一个集合。因此,通常可以在设计计算机软件时,可以用布隆过滤器判断一个元素是否在一个集合中。但是,在实际过程中不属于一个集合中的元素通常会和属于集合中的元素产生哈希冲突,因此会造成布隆过滤器的查询结果存在假阳性(FalsePositive)。假阳性表示:一个不属于编码集合的元素被判定为属于这个集合。在实际应用中,为不显著影响程序的性能,假阳性概率通常会被设置为一个特别小的值,比如10-6布隆过滤器是由Burton H.Bloom于1970年提出,称之为标准布隆过滤器(Standard BloomFilter,SBF)。

SBF把一个集合S编码存储在一个有m比特的位向量上。位向量的所有比特被初始化为0。假设SBF要将集合S={x1,x2,…,xn}中的n个元素编码在SBF中。每个元素使用k个独立随机哈希函数h1,h2,…,hk,因此,SBF需要在位向量中选择k个比特,通常会将m个比特中被选中的比特位置1。每个哈希函数生成哈希值的范围属于[0,m-1]。当所有的元素都执行完一次编码过程,布隆过滤器的插入过程就完成了。位向量中的比特由所有的哈希函数和所有的元素共享。因此SBF中的一个比特可能被多次置1,但只有第一次有影响。图1所示为SBF数据结构的一个示例。

插入过程结束后,SBF就可以执行它的查询功能了。给定一个元素e,SBF需要判定该元素是否属于集合S。如果所有位于hi(e),1≤i≤k的比特都是1,那么可以判定元素e∈S。如果位于hi(e),1≤i≤k的比特至少有一个0,那么可以判定一个假阳性结果在如下情况时发生:但是位于hi(e),1≤i≤k的比特恰好都被置1。

但是,布隆过滤器在执行一次元素插入过程中,由于SBF在位向量中所选择的k个比特有可能位于一个Word中,SBF使用k个哈希函数在这个Word内映射k个比特以完成元素的插入,这样有可能存在访问冲突,且k个元素是依次完成编码或者读取的,这样每次访存都会产生一次高速缓存缺失,较高的缓存缺失率会极大降低程序性能。

发明内容

本发明实施例提供一种布隆过滤器中数据的处理方法以及布隆过滤器,用以提高布隆过滤器的查找与存储效率。

为达到上述目的,本发明实施例采用如下技术方案:

本发明实施例的第一方面,提供一种布隆过滤器中数据的处理方法,包括:获取关键值;利用K个不同的哈希函数对关键值作哈希运算,得到K个哈希值;根据K个哈希值,计算得到K个地址,K个地址中每个地址与目标数据块包括的K个Word字中的一个Word一一关联;不同的地址与不同的Word关联,一个地址用于指示与该一个地址关联的Word中的一个比特位;根据K个地址,设置K个地址中每个地址在各自关联的Word中所指示的比特位上的参数,或者,读取K个地址中每个地址在各自关联的Word中所指示的比特位上的参数,并根据读取的参数确定关键值是否属于布隆过滤器。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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