一种数据处理方法及装置制造方法及图纸

技术编号:17733767 阅读:15 留言:0更新日期:2018-04-18 11:18
本发明专利技术实施例公开了一种数据处理方法及装置,其中,该数据处理方法包括:针对分布式系统中的新增机器生成多个虚拟节点的哈希值;根据多个虚拟节点的哈希值,分割该分布式系统中已有的数据;判断分割后的分布式系统中数据分布是否均匀;若不均匀,删除多个虚拟节点中引起分布式系统中数据分布不均的虚拟节点,并针对新增机器生成补充虚拟节点的哈希值;根据补充虚拟节点的哈希值,再分割分布式系统中已有的数据。实施本发明专利技术实施例可以使得各机器中数据分布均匀,提高系统的稳定性。

A method and device for data processing

【技术实现步骤摘要】
一种数据处理方法及装置
本专利技术涉及计算机
,尤其涉及一种数据处理方法及装置。
技术介绍
随着网络的快速发展和数据量的不断增大,分布式系统中数据的均匀分布是确保分布式系统正常运行的关键。例如,分布式系统中某个机器的数据量过大导致该机器崩溃时,该机器上的所有数据将不能被访问而需迁移到其他机器上,从而导致分布式系统的不稳定,因此,如何保证分布式系统中各机器上分布的数据量尽量平均是一个亟待解决的问题。
技术实现思路
本专利技术实施例公开了一种数据处理方法及装置,能够使得各机器中数据分布均匀。本专利技术实施例第一方面提供一种数据处理方法,包括:针对分布式系统中的新增机器生成多个虚拟节点的哈希值;根据所述多个虚拟节点的哈希值,分割所述分布式系统中已有的数据;判断分割后的所述分布式系统中数据分布是否均匀;若不均匀,删除所述多个虚拟节点中引起所述分布式系统中数据分布不均的虚拟节点,并针对所述新增机器生成补充虚拟节点的哈希值;根据所述补充虚拟节点的哈希值,分割所述分布式系统中已有的数据。本专利技术实施例第二方面提供一种数据处理装置,包括:生成单元,用于针对分布式系统中的新增机器生成多个虚拟节点的哈希值;分割单元,用于根据所述多个虚拟节点的哈希值,分割所述分布式系统中已有的数据;判断单元,用于判断分割后的所述分布式系统中数据分布是否均匀;删除单元,用于在所述判断单元判断出分割后的所述分布式系统中数据分布不均匀时,删除所述多个虚拟节点中引起所述分布式系统中数据分布不均的虚拟节点,触发所述生成单元针对所述新增机器生成补充虚拟节点的哈希值;以及触发所述分割单元,根据所述补充虚拟节点的哈希值,分割所述分布式系统中已有的数据。本专利技术实施例可以针对分布式系统中的新增机器生成多个虚拟节点的哈希值;根据多个虚拟节点的哈希值,分割该分布式系统中已有的数据;判断分割后的分布式系统中数据分布是否均匀;若不均匀,删除多个虚拟节点中引起分布式系统中数据分布不均的虚拟节点,并针对新增机器生成补充虚拟节点的哈希值;根据补充虚拟节点的哈希值,再分割分布式系统中已有的数据。实施本专利技术实施例可以使得各机器中数据分布均匀,提高了系统的稳定性。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例公开的一种数据处理方法的示意图;图2是本专利技术实施例公开的一种数据处理方法的流程示意图;图3是本专利技术实施例公开的另一种数据处理方法的示意图;图4是本专利技术实施例公开的又一种数据处理方法的示意图;图5是本专利技术实施例公开的另一数据处理方法的流程示意图;图6是本专利技术实施例公开的一种数据处理装置的结构示意图;图7是本专利技术实施例公开的一种数据处理设备的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例公开了一种数据处理方法及装置,能够使得分布式系统中数据均匀分布到各个机器上,提高系统的稳定性。为了更好的理解本专利技术实施例,下面先对本专利技术实施例的应用场景进行描述。请参阅图1,图1是本专利技术实施例公开的一种数据处理方法的示意图。如图1所示,该数据处理方法中,可以将所有数据视作一个环上的平均分布,通过设定每个机器管理的区段,来决定一个数据在分布式系统中存储到哪个机器上。其中,该环称为哈希环,该哈希环有0个至以2底的32次方减一个空间,这些数字空间头尾相连,可以想象为一个闭合的环形,如图1所示,因此,称为哈希环,也可以称为哈希空间。每个数据可以通过哈希算法中的哈希函数计算出对应的哈希值,可以根据该哈希值将数据映射到哈希环上。分布式系统有多个机器时,每个机器也可以计算相应的哈希值,将机器映射到哈希环中,然后以顺时针方向将每个机器管理的区段对应的数据存储到相应的机器上。如图1所示,数据1、数据2、数据3、数据4、机器1、机器2、机器3处于同一个哈希环上,这样按顺时针数据1存储到了机器1中,数据3存储到了机器2中,数据2和数据4存储到了机器3中。由于哈希环是不会变的,该数据处理方法可以根据数据的哈希值快速的定位相应的机器,提高了查找速率。为了提高系统的稳定性,如何使得分布式系统中每个机器上的数据分布尽量均匀是一个亟待解决的问题,为了解决该问题,本专利技术实施例公开了一种数据处理方法,可以使得分布式系统中每个机器上的数据分布均匀,即每个机器上数据量的偏差不超过预设阈值范围,详细阐述如下。请参见图2,图2是本专利技术实施例公开的一种数据处理方法的流程示意图;如图2所示,该数据处理方法包括以下步骤:S201、数据处理设备针对分布式系统中的新增机器生成多个虚拟节点的哈希值;S202、数据处理设备根据该多个虚拟节点的哈希值,分割分布式系统中已有的数据;S203、数据处理设备判断分割后的分布式系统中数据分布是否均匀;若不均匀,则执行步骤S204;若均匀,则结束本流程;S204、数据处理设备删除该多个虚拟节点中引起分布式系统中数据分布不均的虚拟节点,并针对新增机器生成补充虚拟节点的哈希值;S205、数据处理设备根据补充虚拟节点的哈希值,分割分布式系统中已有的数据,再次执行步骤S203;本专利技术实施例中,数据处理设备可以为分布式系统中进行数据管理的终端,也可以为分布式系统中负责数据平衡性的终端,本专利技术实施例不做限定。其中,本专利技术实施例可以在离线的方式进行,待分布式系统中已有的数据在各虚拟节点上分布均匀后再将该分布式系统部署到实际系统中,从而可以避免不断迁移数据引起的网络负载增大。本专利技术实施例中,利用哈希算法针对分布式系统中的新增机器生成多个虚拟节点的哈希值可以包括:利用哈希算法中同一的哈希函数将新增机器的IP地址加后缀的方式生成多个虚拟节点的哈希值。本专利技术实施例中,数据处理设备根据多个虚拟节点的哈希值,分割分布式系统中已有的数据可以包括:数据处理设备根据多个虚拟节点的哈希值确定各个虚拟节点在哈希环中的位置;根据预先设定的每个虚拟节点可管理的区段,将相应区段上各位置的数据分割到各虚拟节点上。如图3所示,机器1对应的虚拟节点分别为机器1-1、机器1-2、机器2-1、机器2-2、机器3-1、机器3-2,这些虚拟节点根据其哈希值分别分布到如图3所示的位置,相应的,数据1被分割到机器1-1中,数据2被分割到机器1-2中,数据3被分割到机器3-2中,数据4、数据5、数据6被分割到机器3-1中,数据7均被分割到机器2-1中,数据8被分割到数据2-2中。本专利技术实施例中,若分割后的分布式系统中数据分布不均匀,则可以删除引起数据分布不均的虚拟节点,并针对新增机器生成补充虚拟节点的哈希值。举例来说,如图3所示,虚拟节点机器3-1分割了过多的数据,引起数据分布不均匀,因此可以删除该机器3-1,可以针对机器3随机生成补充虚拟节点机器3-1’,根据该补充虚拟节点机器3-1’的哈希值确定如图4所示的位置,即将数本文档来自技高网...
一种数据处理方法及装置

【技术保护点】
一种数据处理方法,其特征在于,包括:针对分布式系统中的新增机器生成多个虚拟节点的哈希值;根据所述多个虚拟节点的哈希值,分割所述分布式系统中已有的数据;判断分割后的所述分布式系统中数据分布是否均匀;若不均匀,删除所述多个虚拟节点中引起所述分布式系统中数据分布不均的虚拟节点,并针对所述新增机器生成补充虚拟节点的哈希值;根据所述补充虚拟节点的哈希值,分割所述分布式系统中已有的数据。

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:针对分布式系统中的新增机器生成多个虚拟节点的哈希值;根据所述多个虚拟节点的哈希值,分割所述分布式系统中已有的数据;判断分割后的所述分布式系统中数据分布是否均匀;若不均匀,删除所述多个虚拟节点中引起所述分布式系统中数据分布不均的虚拟节点,并针对所述新增机器生成补充虚拟节点的哈希值;根据所述补充虚拟节点的哈希值,分割所述分布式系统中已有的数据。2.根据权利要求1所述的方法,其特征在于,所述根据所述补充虚拟节点的哈希值,分割所述分布式系统中已有的数据之后,所述方法还包括:判断分割后的所述分布式系统中数据分布是否均匀;若不均匀,则执行所述删除所述多个虚拟节点中引起所述分布式系统中数据分布不均的虚拟节点的步骤。3.根据权利要求1或2所述的方法,其特征在于,若分割后的所述分布式系统中数据分布均匀,所述方法还包括:判断所述分布式系统中机器数是否达到预设数量;若未达到,则增加机器到所述分布式系统中,并执行所述的针对新增机器生成多个虚拟节点的哈希值的步骤。4.根据权利要求3所述的方法,其特征在于,所述判断分割后的所述分布式系统中数据分布是否均匀,包括:判断分割后的所述分布式系统中各虚拟节点的数据量偏差是否不超过预设阈值;若不超过预设阈值,则确定分割后的所述分布式系统中数据分布均匀;若超过预设阈值,则确定分割后的所述分布式系统中数据分布不均匀。5.根据权利要求4所述的方法,其特征在于,若所述分布式系统中机器数达到预设数量,所述方法还包括:部署所述分布式系统以更新所述分布式系统已有的数据所存储到的机器,并根据所述分布式系统中新增机器的多个虚拟节点的哈希值确定所述多个虚拟节点在哈希环中的位置,以确定待存储的数据待存储到的机器。6.一种数据处理装置,其特征在于,包括:生成单元,用于针对分布式系统中的新增机器生成多个虚拟节点的哈希值;分割单元,...

【专利技术属性】
技术研发人员:肖涛
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

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

1