[发明专利]一种分布式Bloom过滤系统及其使用方法有效
申请号: | 201210001685.2 | 申请日: | 2012-01-05 |
公开(公告)号: | CN102609446A | 公开(公告)日: | 2012-07-25 |
发明(设计)人: | 汤伟宾;罗佳;张永光 | 申请(专利权)人: | 厦门市美亚柏科信息股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京恒都律师事务所 11395 | 代理人: | 何自刚 |
地址: | 361008 福建省厦门*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 bloom 过滤 系统 及其 使用方法 | ||
技术领域
本发明涉及信息检索及过滤、云计算、分布式计算等计算机技术领域,尤其涉及一种分布式Bloom过滤系统及其使用方法。
背景技术
随着互联网技术的发展,时时刻刻需要实现资源的共享及数据的交互,分布式技术、云计算技术是当今互联网技术的发展潮流及其研究热点。在资源共享时,我们经常需要判断某个表项是否包含在一个数据集中,例如:在网络爬虫里,一个网址是否已被访问过;对于一个网址的访问统计,当前的连接IP是否已来访问过等等,这就需要进行资源查询或信息检索。
在进行资源查询的信息处理过程中,采用何种查找方式依赖于信息的表示策略。在云计算时代的应用环境中,处理的对象都是海量数据,要在海量的数据里面实现资源的快速查询是有一定的技术难度的。此外,传统的哈希表检索方式,虽然可以实现快速查询,但是会造成极大的存储空间浪费,而且当数据集大到一定程度时,哈希表的空间利用率会更低。作为哈希表的一个变种,现有技术中的Bloom过滤器能够以极小的空间完成哈希判功能。在能够容忍的小范围误判的前提下,Bloom过滤器能很好地实现低存储要求和高响应速度的要求。然而,现有技术中的Bloom过滤器都是以单子节点形式存在,显然,在信息大爆炸的时代,单子节点的Bloom过滤器已经无法满足现今的海量数据检索需求,因此需要一种不仅具有很好的时间和空间检索效 率、且能够对海量数据进行检索的方案。
发明内容
有鉴于此,本发明提供一种分布式Bloom过滤系统及其使用方法,用以解决现有技术中单子节点Bloom过滤器无法实现对海量数据的快速检索查询的缺点,本发明提供的方案能够实现数据的快速查询以及故障处理,耗费的存储空间少,同时具有高效检索、易扩展等优点,此外还能实现分布式Bloom过滤系统内子节点的随意插拔,实用性强。
本发明提供的一种分布式Bloom过滤系统,包括分布式Bloom过滤系统主控模块和若干个子节点;其中,所述子节点是Bloom过滤器;所述若干个子节点形成一个闭合环,所述分布式Bloom过滤系统主控模块独立于所述子节点形成的闭合环外外,所述分布式Bloom过滤系统主控模块用于完成当前输入数据的第一重哈希的计算及所述当前输入数据到子节点的映射,所述子节点用于完成所述当前输入数据的第二重哈希计算,并根据当前输入数据的第二重哈希计算结果对所述当前输入数据进行数据查询。
所述分布式Bloom过滤系统主控模块包括:分布式Bloom过滤系统初始化模块、数据接收模块、一重哈希计算模块、子节点选择映射模块、分布式Bloom过滤系统管理模块、故障处理模块和结果反馈模块;所述分布式Bloom过滤系统初始化模块用于在所述分布式Bloom过滤系统首次启动时,将每个子节点的Bloom位向量集合表上的所有数据都初始化为0,为每个子节点指定不同的标记值,并将每个子节点的标记值提供给所述分布式Bloom过滤系统管理模块;还用于完成子节点的日志加载和数据备份;所述数据接收模块 用于接收用户当前输入数据并提供给所述一重哈希计算模块;所述一重哈希计算模块用于对所述当前输入数据进行一重哈希计算,并将计算结果提供给所述子节点选择映射模块;所述子节点选择映射模块用于根据所述当前输入数据的一重哈希计算值,为当前输入数据选择子节点,并将所述当前输入数据的一重哈希计算值通过所述分布式Bloom过滤系统管理模块发送给被选择的子节点;所述分布式Bloom过滤系统管理模块用于将所述当前输入数据的一重哈希计算值提供给所述子节点选择映射模块为当前输入数据选择的子节点,还用于对各子节点对所述当前输入数据的数据查询结果进行管理,并将所述数据查询结果通过所述结果反馈模块反馈给用户;还用于控制子节点的插入、拔除和更换;所述故障处理模块用于实时监测子节点的状态,并在子节点出现故障时通知所述分布式Bloom过滤系统管理模块将当前故障子节点更换为一个新的子节点;
所述子节点包括二重哈希计算模块、数据操作模块和日志备份模块;所述二重哈希计算模块用于对收到的所述当前输入数据的一重哈希计算值进行二重哈希计算,并将所述当前输入数据的二重哈希计算值提供给所述数据操作模块;所述数据操作模块根据收到的所述当前输入数据的二重哈希计算值进行数据的Bloom位地址映射,并在所映射的地址所指内存中进行所述当前输入数据的数据查询;所述日志备份模块用于备份本子节点在运行过程中的操作日志以及数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门市美亚柏科信息股份有限公司,未经厦门市美亚柏科信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210001685.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:消息处理方法和设备
- 下一篇:一种新型的手分操动机构