CN102298633B - 一种分布式海量数据排重方法及系统 - Google Patents

一种分布式海量数据排重方法及系统 Download PDF

Info

Publication number
CN102298633B
CN102298633B CN 201110264866 CN201110264866A CN102298633B CN 102298633 B CN102298633 B CN 102298633B CN 201110264866 CN201110264866 CN 201110264866 CN 201110264866 A CN201110264866 A CN 201110264866A CN 102298633 B CN102298633 B CN 102298633B
Authority
CN
China
Prior art keywords
hash value
data
value set
node
current data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN 201110264866
Other languages
English (en)
Other versions
CN102298633A (zh
Inventor
陈志飞
罗佳
栾江霞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiamen Meiya Pico Information Co Ltd
Original Assignee
Xiamen Meiya Pico Information Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xiamen Meiya Pico Information Co Ltd filed Critical Xiamen Meiya Pico Information Co Ltd
Priority to CN 201110264866 priority Critical patent/CN102298633B/zh
Publication of CN102298633A publication Critical patent/CN102298633A/zh
Application granted granted Critical
Publication of CN102298633B publication Critical patent/CN102298633B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供的分布式海量数据排重方法中,预先将数据库中所有数据的HASH值分为若干个HASH值集合并存储到至少两个节点服务器内存中,记录每个所述HASH值集合及其存放的节点服务器地址之间的映射关系;当接收到请求判断当前数据是否已存在的判断请求时,先计算当前数据的HASH值,确定当前数据的HASH值应该所处的HASH值集合所对应的节点服务器地址;随后比对判断当前数据的HASH值应该所处的HASH值集合所对应的节点服务器中是否有当前数据的HASH值,若是,则返回“当前数据已存在”的执行结果并结束流程;否则返回“当前数据不存在”的执行结果,并更新当前数据的HASH值应该所处的HASH值集合。

Description

一种分布式海量数据排重方法及系统
技术领域
 本发明涉及信息处理技术领域,尤其涉及一种分布式海量数据排重方法及系统。
背景技术
随着信息技术的不断发展,各领域的信息存储量也在不断增大,因此在好多领域中都需要对大量的数据进行排查重复数据的工作。例如,在搜索引擎中需要判断哪些网页在系统中已经有收录,或者在电信行业中,需要对上亿条电信话单进行排重工作,以免重复收费等等。
以网络信息技术为例,在网络爬虫里,判断一个网址是否被访问过,最常用的方法就是通过数据库来排重,现有的数据库排重方法是根据网址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值的起始16进制字符确定所述当前数据的HASH值应该所处的HASH值集合,并根据每个所述HASH值集合和存放该HASH值集合的节点服务器地址之间的映射关系,确定所述当前数据的HASH值应该所处的HASH值集合所对应的节点服务器地址;
步骤四:比对判断所述当前数据的HASH值应该所处的HASH值集合所对应的节点服务器中是否有当前数据的HASH值,若是,则滤去所述当前数据,同时返回“当前数据已存在”的数据判断请求执行结果,结束流程;否则,继续执行步骤五;
步骤五:返回“当前数据不存在”的数据判断请求执行结果,并请求更新所述当前数据的HASH值应该所处的HASH值集合;
步骤六:接受所述更新请求,将所述当前数据的HASH值插入至所述当前数据的HASH值应该所处的HASH值集合中,同时将所述当前数据的HASH值插入至所述数据库中,结束流程。
所述预先将数据库中所有数据的HASH值分为若干个HASH值集合并存储到至少两个节点服务器内存中,包括:以HASH值的起始16进制字符为划分依据,将所述数据库中所有数据的HASH值平分成2n个HASH值集合;将所述2n个HASH值集合随机分为M份后分别存入M个节点服务器的内存中;其中,所述n为自然数,所述M为已有节点服务器的数量,M取值为大于等于2的正整数。
当所述2n能被所述M整除时,将所述2n个HASH值集合随机平分为M等份后分别存入M个节点服务器的内存中。
当所述2n不能被所述M整除时,将所述2n个HASH值集合随机分为M份后分别存入M个节点服务器的内存中,其中,所述M个节点服务器中有N1个节点服务器的内存中分别存储了(N2+1)个HASH值集合,有(M-N1)个节点服务器的内存中分别存储了N2个HASH值集合,所述N1为2n除以M所得的余数,所述N2为2n除以M所得的商。
上述方法中,每增加一个节点服务器,从每个已经预先存储有HASH值集合的节点服务器的内存中转移规定数量的HASH值集合至所述增加的节点服务器的内存中存储,并更新每个所述HASH值集合和存放该HASH值集合的节点服务器地址之间的映射关系。
本发明还提供一种分布式海量数据排重系统,包括:初始化模块、系统排重接口模块、分布式服务器节点控制模块、分布式服务器节点应用接口模块、数据排重比对模块、排重集合更新模块、数据库和至少两个节点服务器;所述初始化模块根据所述分布式服务器节点应用接口模块发出的初始化数据请求,预先将所述数据库中所有数据的HASH值分为若干个HASH值集合并存储到所述至少两个节点服务器的内存中,并通知所述分布式服务器节点控制模块预先记录每个所述HASH值集合和存放该HASH值集合的节点服务器地址之间的映射关系;所述系统排重接口模块用于接收用户输入的当前数据并发出“判断当前数据是否已存在于数据库中”的数据判断请求,向用户返回该数据判断请求的执行结果;所述分布式服务器节点控制模块用于记录所述数据库中的每个HASH值集合和存放该HASH值集合的节点服务器地址之间的映射关系;当收到所述系统排重接口模块发出的所述数据判断请求时,所述分布式服务器节点控制模块计算所述当前数据的HASH值,根据所述当前数据的HASH值的起始16进制字符确定所述当前数据的HASH值应该所处的HASH值集合,并根据所述预先记录的每个HASH值集合和存放该HASH值集合的节点服务器的地址之间的映射关系确定所述当前数据的HASH值应该所处的HASH值集合所对应的节点服务器地址,将所述数据判断请求、当前数据的HASH值及其应该所处的HASH值集合所对应的节点服务器地址发送给所述分布式服务器节点应用接口模块;所述分布式服务器节点应用接口模块用于接受所述数据判断请求,向所述数据排重比对模块发送HASH值比对请求、所述当前数据的HASH值及其应该所处的HASH值集合所对应的节点服务器地址;所述数据排重比对模块接受所述HASH值比对请求,比对判断所述当前数据的HASH值是否已存在当前指明地址的节点服务器内存的相应HASH值集合中;若是,则顺序通过所述分布式服务器节点应用接口模块和所述分布式服务器节点控制模块向所述系统排重接口模块返回“当前数据已存在”的所述数据判断请求的执行结果;否则,顺序通过所述分布式服务器节点应用接口模块和所述分布式服务器节点控制模块向所述系统排重接口模块返回“当前数据不存在”的所述数据判断请求的执行结果,同时向所述排重集合更新模块发出HASH值集合更新请求;所述排重集合更新模块用于接受所述HASH值集合更新请求,将所述当前数据的HASH值插入至所述当前指明地址的节点服务器内存的相应HASH值集合中,同时将该HASH值插入至所述数据库中。
所述初始化模块根据所述分布式服务器节点应用接口模块发出的初始化数据请求,预先读取所述数据库中的所有HASH值,并以HASH值的起始16进制字符为划分依据,将所述数据库中的所有HASH值分成2n个HASH值集合,并将所述2n个HASH值集合随机分成M份后分别存入M个节点服务器的内存中;其中,n为自然数,所述M为已有节点服务器的数量,M取值为大于等于2的正整数。
每增加一个节点服务器,所述分布式服务器节点控制模块从每个已经预先存储有HASH值集合的节点服务器的内存中转移规定数量的HASH值集合至所述增加的节点服务器的内存中存储,并更新每个所述HASH值集合和存放该HASH值集合的节点服务器地址之间的映射关系。
本发明提供的分布式海量数据排重方法或系统中,对每台已有节点服务器采用内存排重的方式进行数据排重,保留了现有的内存排重方法排重效率高的优点,此外,本发明提供的方案采用多台服务器分布式部署,通过网络将多台服务器的内存集群,解决了现有技术中单台服务器的内存容量有限的问题,可以进行高效的海量存储,降低了单台服务器的硬件投入。此外,本发明还提供了增加服务器数量时的解决办法,在不改变现有存储规则的情况下服务器的数量可以灵活添加,操作简单,可实施性强。
附图说明
图1是本发明实施例提供的分布式海量数据排重的初始化设置方法流程图;
图2是增加节点服务器时已有的各节点服务器中的HASH值集合转移存储示意图;
图3是本发明实施例提供的一种分布式海量数据排重方法流程图;
图4是本发明实施例提供的一种分布式海量数据排重系统的结构示意图。
具体实施方式
为解决现有技术中存在的问题,本发明实施例提供的分布式海量数据排重方法采用分布式的方案,将海量数据的哈希表平均分配到若干台服务器的内存中进行存储,即通过网络组成一个大的服务器内存集群,以满足海量哈希表数据的内存缓存需求。
以下结合附图具体说明本发明实施例。
在进行海量数据排重之前,需要对数据库中的海量数据的HASH值和用于存储海量数据的节点服务器进行初始化设置,即:将数据库中所有数据的HASH值以哈希表的形式存储到至少两个节点服务器内存中。图1为本发明实施例提供的海量数据排重的初始化设置方法流程图,该初始化流程具体包括以下步骤:
S11:以HASH值的起始16进制字符为划分依据,将数据库中海量数据的HASH值平分成2n个HASH值集合(n为自然数)。其中,不同的HASH值集合由不同的起始16进制字符来区分。
S12:将2n个HASH值集合随机分成M份后分别存入M个节点服务器内存中。其中,M为已有的节点服务器的数量,M取值为大于等于2的整数。
S13:记录每个HASH值集合和存放该HASH值集合的节点服务器地址之间的映射关系。
上述步骤S12中,若将2n 表示为:                                               
Figure 201110264866X100002DEST_PATH_IMAGE002
时(
Figure 201110264866X100002DEST_PATH_IMAGE004
),即N1为2n除以M所得的余数,所述N2为2n除以M所得的商,则该步骤具体包括:将2n个HASH值集合随机分成M份,其中有N1份中分别存包含(N2+1)个HASH值集合,有(M-N1)份中分别包含N2个HASH值集合。即:当2n能被M整除时(N1=0时),将2n个HASH值集合随机平分为M等份后分别存入M个已有节点服务器的内存中;当2n不能被M整除, 将2n除以M后剩余的HASH值集合分到尽可能多的节点服务器内存中存储,以尽量减少任意两个节点服务器中存储的HASH值集合数的差值。
每增加一个节点服务器时,只需从现有的每个节点服务器转移一定比例的HASH值集合至新增加的服务器并更新各节点服务器和各HASH值集合之间的映射关系记录,这种方法有效的避免了原服务器中的HASH值集合的重整,操作更为简便。图2所示为增加节点服务器时已有的各节点服务器中的HASH值集合转移存储示意图,图2中,不同图案的小方块代表不同节点服务器中存储的HASH值集合。以图2中的2台节点服务器增加为3台节点服务器为例,原来的2台节点服务器分别存储了24个HASH值集合,当增加为3台节点服务器时,从原来的2台节点服务器中各取出8个HASH值集合存储到新加的第三台节点服务器中。
当数据库中的海量数据的HASH值和节点服务器之间进行了初始化设置后,即可采用该种系统进行海量数据排重。图3所示为本发明实施例提供的一种分布式海量数据排重方法流程图,该方法包括以下步骤:
S31: 接收用户输入的当前数据并发出“判断当前数据是否已存在于数据库中”的数据判断请求。
S32:接受数据判断请求并计算当前数据的HASH值。
S33:根据已记录的HASH值集合和节点服务器地址之间的映射关系,找出当前数据的HASH值及其应该所处的HASH值集合所对应的节点服务器地址。
S34:比对判断当前数据的HASH值应该所处的HASH值集合所对应的节点服务器中是否有当前数据的HASH值,若是,则滤去当前数据,同时返回“当前数据已存在”的数据判断请求执行结果,结束流程,否则,继续执行S35。具体判断时,根据当前数据的HASH值的起始16进制字符可以获知该HASH值应该位于哪个HASH值集合中,然后根据已记录的HASH值集合和节点服务器地址之间的映射关系去相应的节点服务器中比对判断是否存在该HASH值。
S35:返回“当前数据不存在”的数据判断请求执行结果,并请求更新当前节点服务器内存中的HASH值集合。
S36:接受HASH值集合更新请求:将当前数据的HASH值插入至当前节点服务器内存中的相应HASH值集合中,同时将此HASH值插入至数据库中,结束流程。
图4所示为本发明实施例提供的一种分布式海量数据排重系统的结构示意图,该系统包括:数据库1、初始化模块3、系统排重接口模块4、分布式服务器节点控制模块5、分布式服务器节点应用接口模块6、数据排重比对模块7、排重集合更新模块8和至少两个节点服务器2。
其中,初始化模块3根据分布式服务器节点应用接口模块6发出的初始化数据请求,根据相应的参数从数据库中读取相应的HASH列表存于节点服务器内存的HASH表中。具体实施情况为:初始化模块3根据分布式服务器节点应用接口模块6发出的初始化数据请求,读取数据库中的HASH值,并以HASH值的起始16进制字符为划分依据,将数据库中海量数据的HASH值分成2n个HASH值集合(n为自然数),随后将2n个HASH值集合随机分成M份后分别存入分布式服务器节点控制模块5所管理的M个节点服务器内存中,并通知分布式服务器节点控制模块5记录每个HASH值集合和存放该HASH值集合的节点服务器地址之间的映射关系。
系统排重接口模块4用于接收用户输入的当前数据并发出“判断当前数据是否已存在于数据库中”的数据判断请求,并向用户返回该数据判断请求的执行结果。
分布式服务器节点控制模块5用于记录数据库中的每个HASH值集合和存放该HASH值集合的节点服务器地址之间的映射关系。当收到系统排重接口模块4提出的“判断当前数据是否已存在于数据库中”的数据判断请求时,分布式服务器节点控制模块5计算当前数据的HASH值,并根据已记录的HASH值集合和节点服务器地址之间的映射关系,将数据判断请求、当前数据的HASH值及其应该所处的HASH值集合所对应的节点服务器地址发送给分布式服务器节点应用接口模块6。此外,分布式服务器节点控制模块5还用于配置各分布式服务器的连接信息,管理各分布式服务接口并监控各节点服务器状态。
分布式服务器节点应用接口模块6用于接受数据判断请求,向数据排重比对模块7发送当前数据的HASH值、当前数据的HASH值应该所处的HASH值集合所对应的节点服务器地址以及HASH值比对请求。
数据排重比对模块7根据分布式服务器节点应用接口模块6提出的HASH值比对请求,判断当前数据的HASH值是否已存在相应的节点服务器内存的相应HASH值集合中;若是,则滤去当前数据,同时顺序通过分布式服务器节点应用接口模块6和分布式服务器节点控制模块5向系统排重接口模块4返回“当前数据已存在”的数据判断请求执行结果;否则,顺序通过分布式服务器节点应用接口模块6和分布式服务器节点控制模块5向系统排重接口模块4返回“当前数据不存在”的数据判断请求执行结果,同时向排重集合更新模块8发出HASH值集合更新请求。
排重集合更新模块8用于接受HASH值集合更新请求:将当前数据的HASH值插入至当前节点服务器内存中的相应HASH值集合中,同时将此HASH值插入至HASH值数据库中。
当需要增加节点服务器时,分布式服务器节点控制模块5从已有的每个节点服务器中转移一定比例的HASH值集合至新的节点服务器中存储,并更新各节点服务器和各HASH值集合之间的映射关系记录,无需将原来的所有节点服务器的HASH值集合重整后再重分,操作简单。
本发明实施例所提供的分布式海量数据排重方法或系统中,每台服务器采用内存排重的方式进行数据排重,保留了现有的内存排重方法排重效率高地优点,此外,本发明提供的方案采用多台服务器分布式部署,通过网络将多台服务器的内存集群,解决了现有技术中单台服务器的内存容量有限的问题,可以进行高效的海量存储,降低了单台服务器的硬件投入。而且提供的增加服务器数量时的解决办法,在不改变现有存储规则的情况下服务器的数量可以灵活添加,操作简单,可实施性强。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (8)

1.一种分布式海量数据排重方法,其特征在于,预先将数据库中所有数据的HASH值分为若干个HASH值集合并存储到至少两个节点服务器内存中,记录每个所述HASH值集合和存放该HASH值集合的节点服务器地址之间的映射关系;
所述分布式海量数据排重方法包括以下步骤:
步骤一:接收用户输入的当前数据并发出“判断当前数据是否已存在于数据库中”的数据判断请求;
步骤二:接受所述数据判断请求并计算所述当前数据的HASH值;
步骤三:根据所述当前数据的HASH值的起始16进制字符确定所述当前数据的HASH值应该所处的HASH值集合,并根据每个所述HASH值集合和存放该HASH值集合的节点服务器地址之间的映射关系,确定所述当前数据的HASH值应该所处的HASH值集合所对应的节点服务器地址;
步骤四:比对判断所述当前数据的HASH值应该所处的HASH值集合所对应的节点服务器中是否有当前数据的HASH值,若是,则滤去所述当前数据,同时返回“当前数据已存在”的数据判断请求执行结果,结束流程;否则,继续执行步骤五;
步骤五:返回“当前数据不存在”的数据判断请求执行结果,并请求更新所述当前数据的HASH值应该所处的HASH值集合;
步骤六:接受所述更新请求,将所述当前数据的HASH值插入至所述当前数据的HASH值应该所处的HASH值集合中,同时将所述当前数据的HASH值插入至所述数据库中,结束流程。
2.如权利要求1所述的一种分布式海量数据排重方法,其特征在于,所述预先将数据库中所有数据的HASH值分为若干个HASH值集合并存储到至少两个节点服务器内存中,包括:
以HASH值的起始16进制字符为划分依据,将所述数据库中所有数据的HASH值平分成2n个HASH值集合;
将所述2n个HASH值集合随机分为M份后分别存入M个节点服务器的内存中;
其中,所述n为自然数,所述M为已有节点服务器的数量,M取值为大于等于2的正整数。
3. 如权利要求2所述的一种分布式海量数据排重方法,其特征在于,当所述2n能被所述M整除时,将所述2n个HASH值集合随机平分为M等份后分别存入M个节点服务器的内存中。
4. 如权利要求2所述的一种分布式海量数据排重方法,其特征在于,当所述2n不能被所述M整除时,将所述2n个HASH值集合随机分为M份后分别存入M个节点服务器的内存中,其中,所述M个节点服务器中有N1个节点服务器的内存中分别存储了(N2+1)个HASH值集合,有(M-N1)个节点服务器的内存中分别存储了N2个HASH值集合,所述N1为2n除以M所得的余数,所述N2为2n除以M所得的商。
5. 如权利要求1至4任一项所述的一种分布式海量数据排重方法,其特征在于,每增加一个节点服务器,从每个已经预先存储有HASH值集合的节点服务器的内存中转移规定数量的HASH值集合至所述增加的节点服务器的内存中存储,并更新每个所述HASH值集合和存放该HASH值集合的节点服务器地址之间的映射关系。
6. 一种分布式海量数据排重系统,其特征在于,该系统包括:初始化模块、系统排重接口模块、分布式服务器节点控制模块、分布式服务器节点应用接口模块、数据排重比对模块、排重集合更新模块、数据库和至少两个节点服务器;
所述初始化模块根据所述分布式服务器节点应用接口模块发出的初始化数据请求,预先将所述数据库中所有数据的HASH值分为若干个HASH值集合并存储到所述至少两个节点服务器的内存中,并通知所述分布式服务器节点控制模块预先记录每个所述HASH值集合和存放该HASH值集合的节点服务器地址之间的映射关系;
所述系统排重接口模块用于接收用户输入的当前数据并发出“判断当前数据是否已存在于数据库中”的数据判断请求,向用户返回该数据判断请求的执行结果;
所述分布式服务器节点控制模块用于记录所述数据库中的每个HASH值集合和存放该HASH值集合的节点服务器地址之间的映射关系;当收到所述系统排重接口模块发出的所述数据判断请求时,所述分布式服务器节点控制模块计算所述当前数据的HASH值,根据所述当前数据的HASH值的起始16进制字符确定所述当前数据的HASH值应该所处的HASH值集合,并根据所述预先记录的每个HASH值集合和存放该HASH值集合的节点服务器的地址之间的映射关系确定所述当前数据的HASH值应该所处的HASH值集合所对应的节点服务器地址,将所述数据判断请求、当前数据的HASH值及其应该所处的HASH值集合所对应的节点服务器地址发送给所述分布式服务器节点应用接口模块; 
所述分布式服务器节点应用接口模块用于接受所述数据判断请求,向所述数据排重比对模块发送HASH值比对请求、所述当前数据的HASH值及其应该所处的HASH值集合所对应的节点服务器地址;
所述数据排重比对模块接受所述HASH值比对请求,比对判断所述当前数据的HASH值是否已存在当前指明地址的节点服务器内存的相应HASH值集合中;若是,则顺序通过所述分布式服务器节点应用接口模块和所述分布式服务器节点控制模块向所述系统排重接口模块返回“当前数据已存在”的所述数据判断请求的执行结果;否则,顺序通过所述分布式服务器节点应用接口模块和所述分布式服务器节点控制模块向所述系统排重接口模块返回“当前数据不存在”的所述数据判断请求的执行结果,同时向所述排重集合更新模块发出HASH值集合更新请求;
所述排重集合更新模块用于接受所述HASH值集合更新请求,将所述当前数据的HASH值插入至所述当前指明地址的节点服务器内存的相应HASH值集合中,同时将该HASH值插入至所述数据库中。
7. 如权利要求6所述的一种分布式海量数据排重系统,其特征在于,所述初始化模块根据所述分布式服务器节点应用接口模块发出的初始化数据请求,预先读取所述数据库中的所有HASH值,并以HASH值的起始16进制字符为划分依据,将所述数据库中的所有HASH值分成2n个HASH值集合,并将所述2n个HASH值集合随机分成M份后分别存入M个节点服务器的内存中;其中,n为自然数,所述M为已有节点服务器的数量,M取值为大于等于2的正整数。
8. 如权利要求6或7所述的一种分布式海量数据排重系统,其特征在于,每增加一个节点服务器,所述分布式服务器节点控制模块从每个已经预先存储有HASH值集合的节点服务器的内存中转移规定数量的HASH值集合至所述增加的节点服务器的内存中存储,并更新每个所述HASH值集合和存放该HASH值集合的节点服务器地址之间的映射关系。
CN 201110264866 2011-09-08 2011-09-08 一种分布式海量数据排重方法及系统 Active CN102298633B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110264866 CN102298633B (zh) 2011-09-08 2011-09-08 一种分布式海量数据排重方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110264866 CN102298633B (zh) 2011-09-08 2011-09-08 一种分布式海量数据排重方法及系统

Publications (2)

Publication Number Publication Date
CN102298633A CN102298633A (zh) 2011-12-28
CN102298633B true CN102298633B (zh) 2013-05-29

Family

ID=45359047

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110264866 Active CN102298633B (zh) 2011-09-08 2011-09-08 一种分布式海量数据排重方法及系统

Country Status (1)

Country Link
CN (1) CN102298633B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102737127B (zh) * 2012-06-20 2015-04-08 厦门大学 一种海量数据存储方法
CN104978344B (zh) * 2014-04-09 2018-11-20 华为技术有限公司 一种数据运算方法及装置
CN104317947B (zh) * 2014-11-07 2017-12-12 南京烽火星空通信发展有限公司 一种基于海量数据的实时结构化数据比对系统
CN106528567B (zh) * 2015-09-11 2019-11-12 北京国双科技有限公司 网络爬虫集群信息的更新方法和装置
CN106598984A (zh) * 2015-10-16 2017-04-26 北京国双科技有限公司 网络爬虫的数据处理方法及装置
CN106649346B (zh) * 2015-10-30 2020-09-22 北京国双科技有限公司 数据重复性校验方法及装置
CN105959252A (zh) * 2015-11-12 2016-09-21 杭州迪普科技有限公司 处理会话日志的方法及装置
CN106951425A (zh) * 2016-01-07 2017-07-14 阿里巴巴集团控股有限公司 一种映射方法和设备
CN106326487B (zh) * 2016-09-05 2019-12-27 天脉聚源(北京)科技有限公司 一种数据存储方法及装置
CN106960052B (zh) * 2017-03-31 2020-09-15 深圳微众信用科技股份有限公司 一种征信数据采集方法与系统
WO2020237878A1 (zh) * 2019-05-30 2020-12-03 平安科技(深圳)有限公司 数据去重方法、装置、计算机设备以及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5809494A (en) * 1995-11-16 1998-09-15 Applied Language Technologies, Inc. Method for rapidly and efficiently hashing records of large databases
KR100852420B1 (ko) * 2006-12-15 2008-08-18 주식회사 케이티프리텔 이동통신망의 중복 과금 방지를 위한 중복호 검사 장치,과금 서버 및 그 방법
US7363329B1 (en) * 2007-11-13 2008-04-22 International Business Machines Corporation Method for duplicate detection on web-scale data in supercomputing environments
CN101442731B (zh) * 2008-12-12 2010-07-14 中国移动通信集团安徽有限公司 一种话单剔重方法和装置
CN101493835B (zh) * 2009-01-09 2011-09-21 南京联创科技集团股份有限公司 基于hash算法内存和文件系统混合排重方法
US8407193B2 (en) * 2010-01-27 2013-03-26 International Business Machines Corporation Data deduplication for streaming sequential data storage applications
CN201804331U (zh) * 2010-09-21 2011-04-20 北京同有飞骥科技股份有限公司 一种基于协处理器的重复数据删除系统

Also Published As

Publication number Publication date
CN102298633A (zh) 2011-12-28

Similar Documents

Publication Publication Date Title
CN102298633B (zh) 一种分布式海量数据排重方法及系统
CN106911780B (zh) 业务id生成方法、装置及系统
CN101876983B (zh) 数据库分区方法与系统
CN102331986B (zh) 一种数据库缓存管理方法及一种数据库服务器
CN101551826B (zh) 数据检索方法、装置及其系统
CN102799628A (zh) 在key-value数据库中进行数据分区的方法和装置
CN109977129A (zh) 多级数据缓存方法及设备
CN104115134A (zh) 复合非易失性存储设备的数据迁移
CN101923571B (zh) 管理终端数据记录的方法及装置
CN104750740A (zh) 数据更新的方法及装置
CN103473239A (zh) 一种非关系型数据库数据更新方法和装置
CN105335297A (zh) 基于分布式内存和数据库的数据处理方法、装置和系统
CN102739622A (zh) 一种可扩展的数据存储系统
CN106095589A (zh) 一种分配分区的方法、装置及系统
CN101763415B (zh) 一种数据库的b树索引的生成方法及装置
US9235613B2 (en) Flexible partitioning of data
CN105515872A (zh) 配置信息的更新方法、装置及系统
CN104111924A (zh) 一种数据库系统
CN105701219A (zh) 一种分布式缓存的实现方法
CN104933051B (zh) 文件存储空间回收方法和装置
CN102833331A (zh) 云存储系统及其元数据写入方法、元数据读取方法
CN101093482A (zh) 一种大量信息存储和检索的方法
CN105468541B (zh) 一种面向透明计算智能终端的缓存管理方法
CN104598652B (zh) 一种数据库查询方法及装置
CN105468623A (zh) 数据处理方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20111228

Assignee: Xiaoma Baoli (Xiamen) Network Technology Co.,Ltd.

Assignor: XIAMEN MEIYA PICO INFORMATION Co.,Ltd.

Contract record no.: X2023350000095

Denomination of invention: A Distributed Method and System for Eliminating Duplication of Massive Data

Granted publication date: 20130529

License type: Common License

Record date: 20230317