CN107943615A - 基于分布式集群的数据处理方法与系统 - Google Patents
基于分布式集群的数据处理方法与系统 Download PDFInfo
- Publication number
- CN107943615A CN107943615A CN201711079128.1A CN201711079128A CN107943615A CN 107943615 A CN107943615 A CN 107943615A CN 201711079128 A CN201711079128 A CN 201711079128A CN 107943615 A CN107943615 A CN 107943615A
- Authority
- CN
- China
- Prior art keywords
- data
- back end
- backup
- node
- partition
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及基于分布式集群的数据处理方法与系统,同个数据分区下的所有数据块的各个备份数据中,以数据分区为单位,第一个备份数据存储在所在的数据节点内,其他各备份数据分别存储在其他数据节点中数据分区最少的两个数据节点内,分别称为第一和第二备份节点;当数据分区服务器发生宕机或不提供服务时,转移数据分区到数据分区较少的数据节点内。在发生节点故障导致分区转移后,为转移后的分区提供服务的分区服务器仍从本地获取数据,而不从通过网络从其他节点获取数据,实现数据分区不通过网络仍能访问数据,提高分区服务器节点故障后的分布式数据库的访问效率,解决了分布式数据库除了主压缩方法以外缺乏提高本地化率手段的问题。
Description
技术领域
本发明涉及基于分布式集群的数据处理方法与系统。
背景技术
随着大数据技术的飞速发展,分布式集群的规模被不断的扩展,集群中的数据节点也在不断的增多,集群中发生故障转移的概率也就越来越大。如何确保在发生故障转移后集群能够快速且高效的继续提供服务成为分布式集群工作者所关注的重要方面。同样在故障转移之后能够保证集群提供的服务性能也是亟待解决的问题。
分布式数据库采用数据分区来管理智能电表中的数据,数据分区底层使用分布式文件系统来存储数据。通常情况下,一个节点包括有若干个数据分区,每个数据分区中包括有若干个数据块。分布式文件系统默认每个数据块有三个备份,由于分布式文件系统客户端本身的特性问题,数据分区所在的节点作为一个分布式文件系统客户端存放数据,所以第一份备份的所有文件都在本节点存储,这样也就能保证初始创建的数据分区的本地化率属性为1。但是第二和第三份备份的所有块是散乱的存放在不同的节点上,一旦数据分区发生了转移,数据分区访问本身数据的时候大部分的数据将会通过网络传输从其他节点获取。虽然数据分区所在的节点上发生故障之后,能够快速的转移,从而不影响集群服务的正常运行。这种目前比较完善的故障转移有赖于分布式数据文件的备份机制以及数据分区的迁移策略。但目前的故障转移策略发生之后,仍然存在以下问题:数据写入时,数据块存储策略优先写本地,保证本地化率为1,宕机后数据分区转移,由于数据块随机散乱的存储,本地化率下降。且在主压缩定时任务完成之前,无法恢复到最初为1的状态。这样也就导致分区服务器获取数据不再通过本地就能获取所有的分区数据,增加网络传输的负载,从而访问效率下降。
发明内容
本发明的目的是提供一种基于分布式集群的数据处理方法,用以解决分区服务器节点故障后,数据分区转移导致数据本地化率降低的问题。本发明同时提供一种基于分布式集群的数据处理系统。
为实现上述目的,本发明的方案包括一种基于分布式集群的数据处理方法,同个数据分区下的所有数据块的各个备份数据中,以数据分区为单位,第一个备份数据存储在所在的数据节点内,其他各备份数据分别存储在其他数据节点中数据分区最少的两个数据节点内,分别称为第一备份节点和第二备份节点;当数据分区服务器发生宕机或不提供服务时,转移数据分区到第一备份节点和第二备份节点中数据分区较少的数据节点内。
首先,除了第一个备份数据存储在所在的数据节点内,其他各备份数据分别存储在其他数据节点中数据分区最少的两个数据节点内,把数据分区中各备份数据完整不发散地对应存储在不同的数据节点上,能够在发生故障转移之后各节点的数据负载尽量均衡。并且,当数据分区服务器发生宕机或不提供服务时,转移数据分区到第一备份节点和第二备份节点中数据分区较少的数据节点内,即选择其中一个数据分区较少的节点作为迁移目标,保证迁移之后本地化率仍然为1,在发生节点故障导致分区转移后,为转移后的分区提供服务的分区服务器仍从本地获取数据,而不从通过网络从其他节点获取数据,实现数据分区不通过网络仍能访问数据,提高分区服务器节点故障后的分布式数据库的访问效率,解决了分布式数据库除了主压缩方法以外缺乏提高本地化率手段的问题。
在数据分区转移之后,在没有当前数据分区备份数据的各数据节点中找到数据分区最少的数据节点,作为补全目标节点,以数据分区为单位将当前数据分区的所有数据块的备份数据存储到所述补全目标节点内。
如果在其他数据节点中找不到数据分区最少的两个数据节点,那么,在其他数据节点中随机选择两个数据节点。
本发明还提供一种基于分布式集群的数据处理系统,包括用于执行以下处理策略的处理模块:同个数据分区下的所有数据块的各个备份数据中,以数据分区为单位,第一个备份数据存储在所在的数据节点内,其他各备份数据分别存储在其他数据节点中数据分区最少的两个数据节点内,分别称为第一备份节点和第二备份节点;当数据分区服务器发生宕机或不提供服务时,转移数据分区到第一备份节点和第二备份节点中数据分区较少的数据节点内。
在数据分区转移之后,在没有当前数据分区备份数据的各数据节点中找到数据分区最少的数据节点,作为补全目标节点,以数据分区为单位将当前数据分区的所有数据块的备份数据存储到所述补全目标节点内。
如果在其他数据节点中找不到数据分区最少的两个数据节点,那么,在其他数据节点中随机选择两个数据节点。
附图说明
图1是分布式数据库数据块存储流程示意图;
图2是分区服务器上各数据分区的三个备份数据在分布式文件系统中的块分布图;
图3是分布式数据库的分区服务器宕机后数据分区的迁移流程图。
具体实施方式
基于分布式集群的数据处理方法实施例
图1所示是分布式数据库数据块存储流程示意图,也就是基于分布式集群的数据处理方法流程示意图。通常情况下,各数据块具有三个备份数据,因此,本实施例以三个备份数据为例。其中,副本是指备份数据文件,首个副本指第一个备份数据,第二个副本指第二个备份数据,第三个副本指第三个备份数据。
在底层分布式文件系统存储上,根据分布式数据库的实际需求,重新定义了一种新的块备份规则:同个数据分区下的所有数据块的三份备份数据以数据分区为单位完整不发散地存储到三个数据节点上。
所以,同个数据分区下的所有数据块的各个备份数据中,以数据分区为单位,第一个备份数据存储在该数据分区所在的数据节点内。除了该数据分区所在的数据节点的其他数据节点中,找到数据分区最少的两个数据节点,将这两个数据节点称为第一备份节点和第二备份节点,那么,其他各备份数据,即第二个备份数据和第三个备份数据分别存储在第一备份节点和第二备份节点内。以数据分区为单位的含义为:同属于一个数据分区的所有的数据块的第一个备份数据作为一个整体,存储在该数据分区所在的数据节点内;同属于一个数据分区的所有的数据块的第二个备份数据和第三个备份数据也分别作为一个整体,分别存储在第一备份节点和第二备份节点内。另外,如果在其他数据节点中找不到数据分区最少的两个数据节点,那么,只有在这些其他数据节点中随机选择两个数据节点作为第一备份节点和第二备份节点。
因此,分布式文件系统上的数据的三个备份数据存储到所有数据节点中数据分区较少的节点上,在发生故障转移之后各数据节点的数据负载能够尽量均衡。
当数据分区服务器发生宕机或不提供服务时,在其他两个完整备份的节点中,即在第一备份节点和第二备份节点中选择一个数据分区较少的数据节点,作为迁移目标。转移数据分区到第一备份节点和第二备份节点中数据分区较少的数据节点内。
由于第一备份节点和第二备份节点中数据分区较少的数据节点上保存有完整的数据分区文件,则本地化率保持为1,因此,这种处理方式能够保证迁移之后本地化率仍然为1,实现数据分区不通过网络仍能访问数据,提高数据访问效率,解决了分布式数据库除了主压缩方法以外缺乏提高本地化率手段的问题。
进一步地,在数据分区转移之后,在没有当前数据分区备份数据的各数据节点中找到数据分区最少的数据节点,作为补全目标节点,以数据分区为单位将当前数据分区的所有数据块的备份数据存储到补全目标节点内。上述过程为损失数据块补全的过程,所补全的块的备份以数据分区为单位完整的存储在所选择的补全目标节点上。
基于上述技术方案的实施过程,以下给出一种具体的应用实例。
如图2所示,集群中有1、2、3、4、5五个节点,每个节点都装有分布式文件系统数据节点和分布式数据库的分区服务器。节点1上有一个数据分区region 1,其中的缓存数据持久化成数据文件Hfile1后,在文件系统中将会有三个备份数据,分别为Block1-Hfile1、Block2-Hfile1和Block3-Hfile1。
Block1-Hfile1首选存放在本地,所以存储在节点1上。Block2-Hfile1和Block3-Hfile1默认存储在已经选好的备选节点上。查询备选节点是否已经定义,若发现备选节点没有定义,则查找当前集群中所有分区服务器中负载最少的两个节点,即数据分区最少的两个节点,若不能找到负载最少的节点,则在剩余节点中随机选择。如图2表示,节点2和节点4为备选节点,则Block2-Hfile1和Block3-Hfile1存放在了节点2和节点4上。
当分区服务器所在的节点1发生宕机后,数据分区迁移任务被触发,查找保存有被转移分区完整数据的两个节点,发现节点2和节点4符合条件,同时节点2和节点4中,节点2负载较低,那么,转移数据分区到节点2。由于节点2上保存有完整的数据分区文件,本地化率保持为1。
数据分区转移之后,在没有当前分区备份数据的节点3和节点5当中,查找负载较小的节点作为补全目标节点,补全当前分区的完整块到目标节点。分布式数据库的分区服务器宕机后数据分区的迁移流程如图3所示。
以上给出了具体的实施方式,但本发明不局限于所描述的实施方式。比如本发明所处理的数据范围并不局限于智能电表数据,上述实施例只是根据智能电表数据来说明真正需要保护的技术方案。因此,本发明的基本思路在于上述基本方案,对本领域普通技术人员而言,根据本发明的教导,设计出各种变形的模型、公式、参数并不需要花费创造性劳动。在不脱离本发明的原理和精神的情况下对实施方式进行的变化、修改、替换和变型仍落入本发明的保护范围内。
基于分布式集群的数据处理系统实施例
本实施例提供一种基于分布式集群的数据处理系统,发明点在于内部包括一个处理模块,该处理模块可以是软件模块,本质上是一种软件程序,也可以是一个硬件控制芯片,内部加载有相应的软件程序。不管是软件模块还是硬件控制芯片,其发明点均在于内部涉及到的软件程序,即下述的分布式数据库数据分区故障处理策略:同个数据分区下的所有数据块的各个备份数据中,以数据分区为单位,第一个备份数据存储在所在的数据节点内,其他各备份数据分别存储在其他数据节点中数据分区最少的两个数据节点内,分别称为第一备份节点和第二备份节点;当数据分区服务器发生宕机或不提供服务时,转移数据分区到第一备份节点和第二备份节点中数据分区较少的数据节点内。由于该处理策略在上述处理方法实施例中已给出了详细地说明,本实施例就不再具体介绍。
Claims (6)
1.一种基于分布式集群的数据处理方法,其特征在于,同个数据分区下的所有数据块的各个备份数据中,以数据分区为单位,第一个备份数据存储在所在的数据节点内,其他各备份数据分别存储在其他数据节点中数据分区最少的两个数据节点内,分别称为第一备份节点和第二备份节点;当数据分区服务器发生宕机或不提供服务时,转移数据分区到第一备份节点和第二备份节点中数据分区较少的数据节点内。
2.根据权利要求1所述的基于分布式集群的数据处理方法,其特征在于,在数据分区转移之后,在没有当前数据分区备份数据的各数据节点中找到数据分区最少的数据节点,作为补全目标节点,以数据分区为单位将当前数据分区的所有数据块的备份数据存储到所述补全目标节点内。
3.根据权利要求1或2所述的基于分布式集群的数据处理方法,其特征在于,如果在其他数据节点中找不到数据分区最少的两个数据节点,那么,在其他数据节点中随机选择两个数据节点。
4.一种基于分布式集群的数据处理系统,其特征在于,包括用于执行以下处理策略的处理模块:同个数据分区下的所有数据块的各个备份数据中,以数据分区为单位,第一个备份数据存储在所在的数据节点内,其他各备份数据分别存储在其他数据节点中数据分区最少的两个数据节点内,分别称为第一备份节点和第二备份节点;当数据分区服务器发生宕机或不提供服务时,转移数据分区到第一备份节点和第二备份节点中数据分区较少的数据节点内。
5.根据权利要求4所述的基于分布式集群的数据处理系统,其特征在于,在数据分区转移之后,在没有当前数据分区备份数据的各数据节点中找到数据分区最少的数据节点,作为补全目标节点,以数据分区为单位将当前数据分区的所有数据块的备份数据存储到所述补全目标节点内。
6.根据权利要求4或5所述的基于分布式集群的数据处理系统,其特征在于,如果在其他数据节点中找不到数据分区最少的两个数据节点,那么,在其他数据节点中随机选择两个数据节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711079128.1A CN107943615B (zh) | 2017-11-06 | 2017-11-06 | 基于分布式集群的数据处理方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711079128.1A CN107943615B (zh) | 2017-11-06 | 2017-11-06 | 基于分布式集群的数据处理方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107943615A true CN107943615A (zh) | 2018-04-20 |
CN107943615B CN107943615B (zh) | 2020-08-18 |
Family
ID=61934351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711079128.1A Active CN107943615B (zh) | 2017-11-06 | 2017-11-06 | 基于分布式集群的数据处理方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107943615B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110445822A (zh) * | 2018-05-03 | 2019-11-12 | 中移(苏州)软件技术有限公司 | 一种对象存储方法及装置 |
CN112527767A (zh) * | 2020-12-03 | 2021-03-19 | 许继集团有限公司 | 一种分布式数据库重启后多region表完整修复的方法及系统 |
CN116049320A (zh) * | 2023-03-09 | 2023-05-02 | 龙存科技(北京)股份有限公司 | 一种基于本地化访问的分布式数据库设计方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060129615A1 (en) * | 2004-12-09 | 2006-06-15 | Derk David G | Performing scheduled backups of a backup node associated with a plurality of agent nodes |
CN102158540A (zh) * | 2011-02-18 | 2011-08-17 | 广州从兴电子开发有限公司 | 分布式数据库实现系统及方法 |
CN102437925A (zh) * | 2011-12-01 | 2012-05-02 | 中兴通讯股份有限公司 | 分布式系统中的数据备份方法、装置及系统 |
CN104468674A (zh) * | 2013-09-25 | 2015-03-25 | 南京中兴新软件有限责任公司 | 数据迁移方法及装置 |
CN105159793A (zh) * | 2015-08-18 | 2015-12-16 | 上海新炬网络信息技术有限公司 | 基于GoldenGate的数据复制备份方法 |
CN106708826A (zh) * | 2015-07-30 | 2017-05-24 | 中兴通讯股份有限公司 | 数据处理及查询方法、装置 |
-
2017
- 2017-11-06 CN CN201711079128.1A patent/CN107943615B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060129615A1 (en) * | 2004-12-09 | 2006-06-15 | Derk David G | Performing scheduled backups of a backup node associated with a plurality of agent nodes |
CN102158540A (zh) * | 2011-02-18 | 2011-08-17 | 广州从兴电子开发有限公司 | 分布式数据库实现系统及方法 |
CN102437925A (zh) * | 2011-12-01 | 2012-05-02 | 中兴通讯股份有限公司 | 分布式系统中的数据备份方法、装置及系统 |
CN104468674A (zh) * | 2013-09-25 | 2015-03-25 | 南京中兴新软件有限责任公司 | 数据迁移方法及装置 |
CN106708826A (zh) * | 2015-07-30 | 2017-05-24 | 中兴通讯股份有限公司 | 数据处理及查询方法、装置 |
CN105159793A (zh) * | 2015-08-18 | 2015-12-16 | 上海新炬网络信息技术有限公司 | 基于GoldenGate的数据复制备份方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110445822A (zh) * | 2018-05-03 | 2019-11-12 | 中移(苏州)软件技术有限公司 | 一种对象存储方法及装置 |
CN110445822B (zh) * | 2018-05-03 | 2021-11-30 | 中移(苏州)软件技术有限公司 | 一种对象存储方法及装置 |
CN112527767A (zh) * | 2020-12-03 | 2021-03-19 | 许继集团有限公司 | 一种分布式数据库重启后多region表完整修复的方法及系统 |
CN112527767B (zh) * | 2020-12-03 | 2024-05-10 | 许继集团有限公司 | 一种分布式数据库重启后多region表完整修复的方法及系统 |
CN116049320A (zh) * | 2023-03-09 | 2023-05-02 | 龙存科技(北京)股份有限公司 | 一种基于本地化访问的分布式数据库设计方法及系统 |
CN116049320B (zh) * | 2023-03-09 | 2023-08-08 | 龙存科技(北京)股份有限公司 | 一种基于本地化访问的分布式数据库设计方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107943615B (zh) | 2020-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9628438B2 (en) | Consistent ring namespaces facilitating data storage and organization in network infrastructures | |
US20180041468A1 (en) | Managing dynamic ip address assignments | |
US9372726B2 (en) | Gang migration of virtual machines using cluster-wide deduplication | |
CN105138678B (zh) | 一种地图瓦片数据的读取、分发方法及读取、分发系统 | |
US8495013B2 (en) | Distributed storage system and method for storing objects based on locations | |
US9400767B2 (en) | Subgraph-based distributed graph processing | |
CN106095589B (zh) | 一种分配分区的方法、装置及系统 | |
CN102609446B (zh) | 一种分布式Bloom过滤系统及其使用方法 | |
CN105025053A (zh) | 基于云存储技术的分布式文件的上传方法及其系统 | |
EP3059670B1 (en) | Data storage method and storage server | |
CN103236989B (zh) | 一种内容分发网络中的缓存控制方法、设备及系统 | |
EP3862888A1 (en) | Hybrid data distribution in a massively parallel processing architecture | |
CN103595805A (zh) | 一种基于分布式集群的数据放置方法 | |
WO2017143957A1 (zh) | 一种数据重分布的方法及装置 | |
CN107943615A (zh) | 基于分布式集群的数据处理方法与系统 | |
CN106326239A (zh) | 分布式文件系统及其文件元信息管理方法 | |
US20220137876A1 (en) | Method and device for distributed data storage | |
CN112799841B (zh) | 一种数据对象存储管理的方法和装置 | |
CN104750757B (zh) | 一种基于HBase的数据存储方法和设备 | |
CN110427364A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
JP6233403B2 (ja) | ストレージシステム、ストレージ装置、ストレージ装置の制御方法及び制御プログラム、管理装置、管理装置の制御方法及び制御プログラム | |
US9705978B1 (en) | Dependency graph management | |
US20120303588A1 (en) | Data de-duplication processing method for point-to-point transmission and system thereof | |
CN108304555A (zh) | 分布式地图数据处理方法 | |
CN104219163A (zh) | 一种基于动态副本法和虚拟节点法的节点动态前移的负载均衡方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |