一种数据去重方法、系统、中心服务器及分布式服务器技术方案

技术编号:18138659 阅读:88 留言:0更新日期:2018-06-06 11:58
本发明专利技术实施例公开了一种数据去重方法、系统、中心服务器及分布式服务器;所述方法包括:中心服务器采用第一哈希算法将当前待处理数据进行哈希计算,获取第一哈希值,将当前待处理数据对应的第一哈希值分配到与其对应的分布式服务器中,然后分布式服务器采用第二哈希算法将对应的第一哈希值进行哈希计算,获取对应的第二哈希值,最后分布式服务器根据当前待处理数据对应的第二哈希值对当前待处理数据进行去重处理。在本发明专利技术的实施例中,中心服务器采用第一哈希算法计算待处理数据的第一哈希值并分配至对应的分布式服务器中,解决了数据去重时分布式服务器出现宕机现象造成数据丢失的问题,进而提高了数据去重的准确性。

【技术实现步骤摘要】
一种数据去重方法、系统、中心服务器及分布式服务器
本专利技术实施例涉及数据处理
,尤其涉及一种数据去重方法、系统、中心服务器及分布式服务器。
技术介绍
数据去重是大数据数据预处理领域的一个重要组成部分,数据去重的性能和数据去重的准确性会直接影响数据预处理以及后期的数据挖掘、清洗、分析、存储等众多模块的性能、资源和数据准确性。目前的数据去重是基于Redis内存的布隆过滤器(Bloomfilter)对数据进行去重。由于Bloomfilter和Redis内存均支持比特位的数据存储格式,因此可以将Redis内存与Bloomfilter的过滤功能结合。具体地,Redis内存可以为Bloomfilter提供存储空间,在Bloomfilter中利用哈希(Hash)函数计算各个待处理数据对应的比特位的位置,将计算得到的各个待处理数据对应的比特位的位置设置为1,并比较Redis内存的BitMap中对应位置的比特位的取值,从而实现分布式集群环境下的数据过滤去重。在现有技术中,基于Redis的Bloomfilter去重方法,主要应用于爬虫(Python)框架Scrapy,对网络统一资源定位符(URL)进行去重。在进行网络爬虫数据过滤去重时,爬取到的数据逐条进入Bloomfilter中进行过滤,在Bloomfilter中进行多种Hash函数计算,根据Hash计算结果确定对应的比特位的位置,将对应位置的比特位的值设为1,再与Redis内存中的BitMap中对应位置的比特位的取值进行比较,实现过滤去重。然而,目前网络爬虫中的Scrapy插件在进行过滤去重时,没有考虑分布式服务器发生宕机的情况,若分布式服务器出现宕机,则在该分布式服务器中正在过滤的数据会丢失,进而会影响数据库去重的准确性。
技术实现思路
本专利技术实施例提供一种数据去重方法、系统、中心服务器及分布式服务器,可以防止分布式服务器宕机时对数据去重的影响,进而可以提高数据去重的准确性。第一方面,本专利技术实施例提供了一种数据去重方法,包括:中心服务器采用第一哈希算法将当前待处理数据进行哈希计算,获取所述当前待处理数据对应的第一哈希值,将所述当前待处理数据对应的第一哈希值分配到与其对应的分布式服务器中;所述分布式服务器采用第二哈希算法将所述当前待处理数据对应的第一哈希值进行哈希计算,获取所述当前待处理数据对应的第二哈希值;所述分布式服务器根据所述当前待处理数据对应的第二哈希值对所述当前待处理数据进行去重处理。第二方面,本专利技术实施例还提供了一种中心服务器,所述中心服务器包括:第一计算模块和分配模块;其中,所述第一计算模块,用于采用第一哈希算法将当前待处理数据进行哈希计算,获取当前待处理数据对应的第一哈希值;所述分配模块,用于将当前待处理数据对应的第一哈希值分配到与其对应的分布式服务器中。第三方面,本专利技术实施例还提供了一种分布式服务器,所述分布式服务器包括:第二计算模块和去重模块;其中,所述第二计算模块,用于采用第二哈希算法将当前待处理数据对应的第一哈希值进行哈希计算,获取所述当前待处理数据对应的第二哈希值;所述去重模块,用于根据所述当前待处理数据对应的第二哈希值对所述当前待处理数据进行去重处理。第四方面,本专利技术实施例还提供了一种数据去重系统,所述系统包括:中心服务器和分布式服务器;其中,所述中心服务器,用于采用第一哈希算法将当前待处理数据进行哈希计算,获取当前待处理数据对应的第一哈希值,将当前待处理数据对应的第一哈希值分配到与其对应的分布式服务器中;所述分布式服务器,用于采用第二哈希算法将当前待处理数据对应的第一哈希值进行哈希计算,获取所述当前待处理数据对应的第二哈希值;根据所述当前待处理数据对应的第二哈希值对当前待处理数据进行去重处理。本专利技术实施例提供了一种数据去重方法、系统、中心服务器及分布式服务器,中心服务器采用第一哈希算法获取当前待处理数据对应的第一哈希值,并将第一哈希值分配到与其对应的分布式服务器中,分布式服务器采用第二哈希算法将第一哈希值进行哈希计算,获取第二哈希值,分布式服务器根据第二哈希值对当前待处理数据进行去重处理。而现有的去重方法直接对待处理数据采用第二哈希算法获取第二哈希值,分布式服务器再对待处理数据进行去重,因此与现有技术相比,本专利技术实施例中心服务器采用第一哈希算法计算待处理数据的第一哈希值并分配至对应的分布式服务器中,可以防止分布式服务器宕机时对数据去重的影响,进而可以提高数据去重的准确性;并且,本专利技术实施例的技术方案实现简单方便、便于普及,适用范围更广。附图说明图1A为本专利技术实施例一提供的数据去重方法的流程图;图1B为本专利技术实施例一提供的数据去重方法中第一哈希算法对应的分布式存储分配示意图;图1C为本专利技术实施例一提供的数据去重方法中分布式服务器内部实现过滤去重时的数据流图;图2为本专利技术实施例二提供的中心服务器的结构示意图;图3为本专利技术实施例三提供的分布式服务器的结构示意图;图4为本专利技术实施例四提供的数据去重系统的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。在进行详细说明之前,先对本专利技术中涉及到的相关内容作出解释,本专利技术中涉及的相关术语均为本领域技术人员知晓和理解的内容。哈希(Hash)算法即散列函数,它是一种单向密码体制,只有加密过程没有解密过程,Hash函数可以将任意长度的输入经过变化以后得到固定长度的输出,Hash函数的这种单向特征和输出数据长度固定的特征使得它可以生成消息或者数据。服务器集群是一种提升服务器整体计算能力的解决方案,它由互相连接在一起的服务器群所组成的一个并行式或分布式系统。在计算机领域,对于海量数据处理有两大方向:第一个方向是集中式计算,就是通过不断增加处理器的数量来增强单个计算机的计算能力,从而提高处理数据的速度。第二个方向是分布式计算,就是把一组计算机通过网络相互连接组成分散系统,然后将需要处理的大量数据分散成多个部分,交由分散系统内的计算机组同时计算,最后将这些计算结果合并得到最终的结果,这些进行分布式计算的服务器就称为分布式服务器。尽管分散系统内的单个计算机的计算能力不强,但是由于每个计算机只计算一部分数据,而且是多台计算机同时计算,所以就分布式系统而言,处理数据的速度会远高于单个计算机。虚拟机(VirtualMachine)在计算机科学中的体系结构中,是指一种特殊的软件。它可以在计算机平台和终端用户之间创建一种环境,终端用户基于这个软件所创建的环境来操作软件,虚拟机是可以像真实机器一样运行程序的计算机的软件实现。在计算机领域中,不同服务器之间进行数据的传输和交互是通过节点实现的。比特位(Bit),是计算机最小的存储单位,以0或1来表示比特位的值。位数也叫字长,是指处理器一次运算所能处理的二进制数的位数。计算机字长有8位、16位、32位、64位之分,我们一般称8位(Bit))为一个字节(Byte)),16位为一个字长(Word),32位为一个双字长,64位为两个双字长。位数组是具有一定长度的位数的集合,例如位数组的长度为10000,本文档来自技高网
...
一种数据去重方法、系统、中心服务器及分布式服务器

【技术保护点】
一种数据去重方法,其特征在于,所述方法包括:中心服务器采用第一哈希算法将当前待处理数据进行哈希计算,获取所述当前待处理数据对应的第一哈希值,将所述当前待处理数据对应的第一哈希值分配到与其对应的分布式服务器中;所述分布式服务器采用第二哈希算法将所述当前待处理数据对应的第一哈希值进行哈希计算,获取所述当前待处理数据对应的第二哈希值;所述分布式服务器根据所述当前待处理数据对应的第二哈希值对所述当前待处理数据进行去重处理。

【技术特征摘要】
1.一种数据去重方法,其特征在于,所述方法包括:中心服务器采用第一哈希算法将当前待处理数据进行哈希计算,获取所述当前待处理数据对应的第一哈希值,将所述当前待处理数据对应的第一哈希值分配到与其对应的分布式服务器中;所述分布式服务器采用第二哈希算法将所述当前待处理数据对应的第一哈希值进行哈希计算,获取所述当前待处理数据对应的第二哈希值;所述分布式服务器根据所述当前待处理数据对应的第二哈希值对所述当前待处理数据进行去重处理。2.根据权利要求1所述的方法,其特征在于,所述将所述当前待处理数据对应的第一哈希值分配到与其对应的分布式服务器中,包括:所述中心服务器根据所述当前待处理数据对应的第一哈希值和预先确定的各个分布式服务器对应的哈希值区间,确定所述当前待处理数据对应的第一哈希值所在的目标哈希值区间;所述中心服务器获取所述目标哈希值区间对应的分布式服务器的工作状态;其中,所述工作状态包括:正常工作状态和异常工作状态;当所述目标哈希值区间对应的分布式服务器的工作状态为正常工作状态时,所述中心服务器将所述当前待处理数据对应的第一哈希值分配到所述目标哈希值区间对应的分布式服务器中。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:当所述目标哈希值区间对应的分布式服务器的工作状态为异常工作状态时,所述中心服务器根据所述目标哈希值区间确定下一个目标哈希值区间;所述中心服务器将所述当前待处理数据对应的第一哈希值分配到所述下一个目标哈希值区间对应的分布式服务器中。4.根据权利要求1所述的方法,其特征在于,所述分布式服务器根据所述当前待处理数据对应的第二哈希值对所述当前待处理数据进行去重处理,包括:所述分布式服务器判断Redis内存的BitMap中是否存在所述当前待处理数据对应的第二哈希值;当Redis内存的BitMap中不存在所述当前待处理数据对应的第二哈希值时,所述分布式服务器将所述当前待处理数据对应的第二哈希值存储到所述Redis内存的BitMap中;当所述Redis内存的BitMap中存在所述当前待处理数据对应的第二哈希值,所述分布式服务器将所述当前待处理数据进行丢弃。5.一种中心服务器,其特征在于,所述中心服务器包括:第一计算模块和分配模块;其中,所述第一计算模块,用于采用第一哈希算法将当前待处理数据进行哈希计算,获取当前待处理数据对应的第一哈希值;所述分配模块,用于将当前待处理数据对应的第一哈希值分配到与其对应的...

【专利技术属性】
技术研发人员:谢永恒张海涛火一莽万月亮
申请(专利权)人:北京锐安科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1