[发明专利]一种分布式海量数据排重方法及系统有效
申请号: | 201110264866.X | 申请日: | 2011-09-08 |
公开(公告)号: | CN102298633A | 公开(公告)日: | 2011-12-28 |
发明(设计)人: | 陈志飞;罗佳;栾江霞 | 申请(专利权)人: | 厦门市美亚柏科信息股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京恒都律师事务所 11395 | 代理人: | 何自刚 |
地址: | 361008 福建省厦门*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 海量 数据 方法 系统 | ||
技术领域
本发明涉及信息处理技术领域,尤其涉及一种分布式海量数据排重方法及系统。
背景技术
随着信息技术的不断发展,各领域的信息存储量也在不断增大,因此在好多领域中都需要对大量的数据进行排查重复数据的工作。例如,在搜索引擎中需要判断哪些网页在系统中已经有收录,或者在电信行业中,需要对上亿条电信话单进行排重工作,以免重复收费等等。
以网络信息技术为例,在网络爬虫里,判断一个网址是否被访问过,最常用的方法就是通过数据库来排重,现有的数据库排重方法是根据网址URL计算相应的HASH值,再将计算出的HASH值存于数据库中,存储的同时将此HASH值的字段设置索引或者主键,于是当网络爬虫每抓取一个URL地址前,搜索数据库中是否有此URL地址相应的HASH值即可判断此URL地址在该数据库中是否已经存储过。这种书库排重方法虽然方便,但是效率较低,并且会造成数据库服务器压力过大。
为解决上述数据库排重方法效率低的问题,现有的另一种方法就是用内存进行排重。内存排重方法是:预先将已访问过的URL地址的HASH值列表以哈希表的方式在服务器内存中存储,则当网络爬虫每抓取一个URL地址前,可根据此URL地址的HASH值判断此URL地址的HASH值在服务器内存中的哈希表中是否已经存在。此方法比数据库排重方法的数据排重效率高很多,但是当需要排重的数据量比较大时,就需要更大的内存存储空间,因为用哈希表每存储一亿个URL地址信息,大概需要2G的内存空间,存贮几十亿个URL地址可能需要上百GB的内存,这么大的内存需求量在一般的服务器上是无法实现的。
综上所述,需要一种不仅具有较高的数据排重效率,还能节省单台服务器内存使用量的数据排重方法及系统。
发明内容
本发明的目的在于提供一种分布式海量数据排重方法及系统以解决现有的数据排重技术效率低或对服务器内存需求量过大的问题。本发明提供的分布式海量数据排重方法及系统能够高效地进行海量数据的排重。
为了实现上述目的,本发明提供一种分布式海量数据排重方法,执行前预先将数据库中所有数据的哈希HASH值分为若干个HASH值集合并存储到至少两个节点服务器内存中,记录每个所述HASH值集合和存放该HASH值集合的节点服务器地址之间的映射关系;
所述分布式海量数据排重方法包括以下步骤:
步骤一:接收用户输入的当前数据并发出“判断当前数据是否已存在于数据库中”的数据判断请求;
步骤二:接受所述数据判断请求并计算所述当前数据的HASH值;
步骤三:根据所述预先记录的所述HASH值集合和节点服务器地址之间的映射关系,确定所述当前数据的HASH值及其应该所处的HASH值集合所对应的节点服务器地址;
步骤四:比对判断所述当前数据的FASH值应该所处的HASH值集合所对应的节点服务器中是否有当前数据的HASH值,若是,则滤去所述当前数据,同时返回“当前数据已存在”的数据判断请求执行结果,结束流程;否则,继续执行步骤五;
步骤五:返回“当前数据不存在”的数据判断请求执行结果,并请求更新所述当前数据的FASH值应该所处的HASH值集合;
步骤六:接受所述更新请求,将所述当前数据的HASH值插入至所述当前数据的FASH值应该所处的HASH值集合中,同时将所述当前数据的HASH值插入至所述数据库中,结束流程。
所述预先将数据库中所有数据的哈希HASH值分为若干个HASH值集合并存储到至少两个节点服务器内存中,包括:以HASH值的起始16进制字符为划分依据,将所述数据库中所有数据的HASH值平分成2n个HASH值集合;将所述2n个HASH值集合随机分为M份后分别存入M个节点服务器的内存中;其中,所述n为自然数,所述M为已有节点服务器的数量,M取值为大于等于2的正整数。
当所述2n能被所述M整除时,将所述2n个HASH值集合随机平分为M等份后分别存入M个节点服务器的内存中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门市美亚柏科信息股份有限公司,未经厦门市美亚柏科信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110264866.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种滑块多角度二次运动机构
- 下一篇:具有油缸的模具
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置