基于分布式集群的数据处理方法与系统技术方案

技术编号:17779534 阅读:33 留言:0更新日期:2018-04-22 07:57
本发明专利技术涉及基于分布式集群的数据处理方法与系统,同个数据分区下的所有数据块的各个备份数据中,以数据分区为单位,第一个备份数据存储在所在的数据节点内,其他各备份数据分别存储在其他数据节点中数据分区最少的两个数据节点内,分别称为第一和第二备份节点;当数据分区服务器发生宕机或不提供服务时,转移数据分区到数据分区较少的数据节点内。在发生节点故障导致分区转移后,为转移后的分区提供服务的分区服务器仍从本地获取数据,而不从通过网络从其他节点获取数据,实现数据分区不通过网络仍能访问数据,提高分区服务器节点故障后的分布式数据库的访问效率,解决了分布式数据库除了主压缩方法以外缺乏提高本地化率手段的问题。

【技术实现步骤摘要】
基于分布式集群的数据处理方法与系统
本专利技术涉及基于分布式集群的数据处理方法与系统。
技术介绍
随着大数据技术的飞速发展,分布式集群的规模被不断的扩展,集群中的数据节点也在不断的增多,集群中发生故障转移的概率也就越来越大。如何确保在发生故障转移后集群能够快速且高效的继续提供服务成为分布式集群工作者所关注的重要方面。同样在故障转移之后能够保证集群提供的服务性能也是亟待解决的问题。分布式数据库采用数据分区来管理智能电表中的数据,数据分区底层使用分布式文件系统来存储数据。通常情况下,一个节点包括有若干个数据分区,每个数据分区中包括有若干个数据块。分布式文件系统默认每个数据块有三个备份,由于分布式文件系统客户端本身的特性问题,数据分区所在的节点作为一个分布式文件系统客户端存放数据,所以第一份备份的所有文件都在本节点存储,这样也就能保证初始创建的数据分区的本地化率属性为1。但是第二和第三份备份的所有块是散乱的存放在不同的节点上,一旦数据分区发生了转移,数据分区访问本身数据的时候大部分的数据将会通过网络传输从其他节点获取。虽然数据分区所在的节点上发生故障之后,能够快速的转移,从而不影响集群服务的正常运行。这种目前比较完善的故障转移有赖于分布式数据文件的备份机制以及数据分区的迁移策略。但目前的故障转移策略发生之后,仍然存在以下问题:数据写入时,数据块存储策略优先写本地,保证本地化率为1,宕机后数据分区转移,由于数据块随机散乱的存储,本地化率下降。且在主压缩定时任务完成之前,无法恢复到最初为1的状态。这样也就导致分区服务器获取数据不再通过本地就能获取所有的分区数据,增加网络传输的负载,从而访问效率下降。
技术实现思路
本专利技术的目的是提供一种基于分布式集群的数据处理方法,用以解决分区服务器节点故障后,数据分区转移导致数据本地化率降低的问题。本专利技术同时提供一种基于分布式集群的数据处理系统。为实现上述目的,本专利技术的方案包括一种基于分布式集群的数据处理方法,同个数据分区下的所有数据块的各个备份数据中,以数据分区为单位,第一个备份数据存储在所在的数据节点内,其他各备份数据分别存储在其他数据节点中数据分区最少的两个数据节点内,分别称为第一备份节点和第二备份节点;当数据分区服务器发生宕机或不提供服务时,转移数据分区到第一备份节点和第二备份节点中数据分区较少的数据节点内。首先,除了第一个备份数据存储在所在的数据节点内,其他各备份数据分别存储在其他数据节点中数据分区最少的两个数据节点内,把数据分区中各备份数据完整不发散地对应存储在不同的数据节点上,能够在发生故障转移之后各节点的数据负载尽量均衡。并且,当数据分区服务器发生宕机或不提供服务时,转移数据分区到第一备份节点和第二备份节点中数据分区较少的数据节点内,即选择其中一个数据分区较少的节点作为迁移目标,保证迁移之后本地化率仍然为1,在发生节点故障导致分区转移后,为转移后的分区提供服务的分区服务器仍从本地获取数据,而不从通过网络从其他节点获取数据,实现数据分区不通过网络仍能访问数据,提高分区服务器节点故障后的分布式数据库的访问效率,解决了分布式数据库除了主压缩方法以外缺乏提高本地化率手段的问题。在数据分区转移之后,在没有当前数据分区备份数据的各数据节点中找到数据分区最少的数据节点,作为补全目标节点,以数据分区为单位将当前数据分区的所有数据块的备份数据存储到所述补全目标节点内。如果在其他数据节点中找不到数据分区最少的两个数据节点,那么,在其他数据节点中随机选择两个数据节点。本专利技术还提供一种基于分布式集群的数据处理系统,包括用于执行以下处理策略的处理模块:同个数据分区下的所有数据块的各个备份数据中,以数据分区为单位,第一个备份数据存储在所在的数据节点内,其他各备份数据分别存储在其他数据节点中数据分区最少的两个数据节点内,分别称为第一备份节点和第二备份节点;当数据分区服务器发生宕机或不提供服务时,转移数据分区到第一备份节点和第二备份节点中数据分区较少的数据节点内。在数据分区转移之后,在没有当前数据分区备份数据的各数据节点中找到数据分区最少的数据节点,作为补全目标节点,以数据分区为单位将当前数据分区的所有数据块的备份数据存储到所述补全目标节点内。如果在其他数据节点中找不到数据分区最少的两个数据节点,那么,在其他数据节点中随机选择两个数据节点。附图说明图1是分布式数据库数据块存储流程示意图;图2是分区服务器上各数据分区的三个备份数据在分布式文件系统中的块分布图;图3是分布式数据库的分区服务器宕机后数据分区的迁移流程图。具体实施方式基于分布式集群的数据处理方法实施例图1所示是分布式数据库数据块存储流程示意图,也就是基于分布式集群的数据处理方法流程示意图。通常情况下,各数据块具有三个备份数据,因此,本实施例以三个备份数据为例。其中,副本是指备份数据文件,首个副本指第一个备份数据,第二个副本指第二个备份数据,第三个副本指第三个备份数据。在底层分布式文件系统存储上,根据分布式数据库的实际需求,重新定义了一种新的块备份规则:同个数据分区下的所有数据块的三份备份数据以数据分区为单位完整不发散地存储到三个数据节点上。所以,同个数据分区下的所有数据块的各个备份数据中,以数据分区为单位,第一个备份数据存储在该数据分区所在的数据节点内。除了该数据分区所在的数据节点的其他数据节点中,找到数据分区最少的两个数据节点,将这两个数据节点称为第一备份节点和第二备份节点,那么,其他各备份数据,即第二个备份数据和第三个备份数据分别存储在第一备份节点和第二备份节点内。以数据分区为单位的含义为:同属于一个数据分区的所有的数据块的第一个备份数据作为一个整体,存储在该数据分区所在的数据节点内;同属于一个数据分区的所有的数据块的第二个备份数据和第三个备份数据也分别作为一个整体,分别存储在第一备份节点和第二备份节点内。另外,如果在其他数据节点中找不到数据分区最少的两个数据节点,那么,只有在这些其他数据节点中随机选择两个数据节点作为第一备份节点和第二备份节点。因此,分布式文件系统上的数据的三个备份数据存储到所有数据节点中数据分区较少的节点上,在发生故障转移之后各数据节点的数据负载能够尽量均衡。当数据分区服务器发生宕机或不提供服务时,在其他两个完整备份的节点中,即在第一备份节点和第二备份节点中选择一个数据分区较少的数据节点,作为迁移目标。转移数据分区到第一备份节点和第二备份节点中数据分区较少的数据节点内。由于第一备份节点和第二备份节点中数据分区较少的数据节点上保存有完整的数据分区文件,则本地化率保持为1,因此,这种处理方式能够保证迁移之后本地化率仍然为1,实现数据分区不通过网络仍能访问数据,提高数据访问效率,解决了分布式数据库除了主压缩方法以外缺乏提高本地化率手段的问题。进一步地,在数据分区转移之后,在没有当前数据分区备份数据的各数据节点中找到数据分区最少的数据节点,作为补全目标节点,以数据分区为单位将当前数据分区的所有数据块的备份数据存储到补全目标节点内。上述过程为损失数据块补全的过程,所补全的块的备份以数据分区为单位完整的存储在所选择的补全目标节点上。基于上述技术方案的实施过程,以下给出一种具体的应用实例。如图2所示,集群中有1、2、本文档来自技高网
...
基于分布式集群的数据处理方法与系统

【技术保护点】
一种基于分布式集群的数据处理方法,其特征在于,同个数据分区下的所有数据块的各个备份数据中,以数据分区为单位,第一个备份数据存储在所在的数据节点内,其他各备份数据分别存储在其他数据节点中数据分区最少的两个数据节点内,分别称为第一备份节点和第二备份节点;当数据分区服务器发生宕机或不提供服务时,转移数据分区到第一备份节点和第二备份节点中数据分区较少的数据节点内。

【技术特征摘要】
1.一种基于分布式集群的数据处理方法,其特征在于,同个数据分区下的所有数据块的各个备份数据中,以数据分区为单位,第一个备份数据存储在所在的数据节点内,其他各备份数据分别存储在其他数据节点中数据分区最少的两个数据节点内,分别称为第一备份节点和第二备份节点;当数据分区服务器发生宕机或不提供服务时,转移数据分区到第一备份节点和第二备份节点中数据分区较少的数据节点内。2.根据权利要求1所述的基于分布式集群的数据处理方法,其特征在于,在数据分区转移之后,在没有当前数据分区备份数据的各数据节点中找到数据分区最少的数据节点,作为补全目标节点,以数据分区为单位将当前数据分区的所有数据块的备份数据存储到所述补全目标节点内。3.根据权利要求1或2所述的基于分布式集群的数据处理方法,其特征在于,如果在其他数据节点中找不到数据分区最少的两个数据节点,那么,在其他数据节点中随机选择两个数据节点。4.一种基于分布式...

【专利技术属性】
技术研发人员:王少鹏张展国贺彪李洪普郭祥汝杨迎春丁博张晓波茹东武岳振亚徐大青
申请(专利权)人:许继集团有限公司国家电网公司许昌许继软件技术有限公司
类型:发明
国别省市:河南,41

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

1