CN103678051A - 一种集群数据处理系统中的在线故障容错方法 - Google Patents
一种集群数据处理系统中的在线故障容错方法 Download PDFInfo
- Publication number
- CN103678051A CN103678051A CN201310577099.7A CN201310577099A CN103678051A CN 103678051 A CN103678051 A CN 103678051A CN 201310577099 A CN201310577099 A CN 201310577099A CN 103678051 A CN103678051 A CN 103678051A
- Authority
- CN
- China
- Prior art keywords
- computing node
- node
- fault
- file fragmentation
- cluster 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Hardware Redundancy (AREA)
Abstract
一种集群数据处理系统中的在线故障容错方法,包括以下步骤:步骤1:前一级处理节点将处理结果以文件碎片方式存储;步骤2:下一级处理节点读取文件碎片继续处理;步骤3:使用数据库记录每个节点上处理的文件碎片标记;步骤4:当检测到节点故障时,启动新节点代替故障节点工作;步骤5:新节点从数据库中读取故障节点上的文件碎片,恢复故障现场。本发明实现了数据处理过程中的故障容错。
Description
技术领域
本发明涉及一种集群数据处理系统中的在线故障容错方法,主要用于集群数据处理系统在任务执行过程中的自适应故障容错,提升了系统可靠性,属于地面遥感卫星数据处理领域。
背景技术
随着目前大规模集群计算机系统的广泛使用,在航天、军事以及科学计算等领域通常基于集群技术搭建数据处理平台,平台由大量计算节点组成,以高速网络连接,实现海量数据高速处理。
然而,航天、军事以及科学计算等领域对数据规模、计算复杂性和业务运行时间的要求一直维持在较高的水平,随着硬件节点数量的不断增加以及系统结构的日益复杂,处理节点故障不可避免,硬件可靠性和软件可用性都面临着严峻的威胁和挑战,大规模集群计算机系统的平均无故障时间(MTBF)大幅下降。例如,Google Cluster大约每隔36小时就会出现结点失效,而ASCI White系统的MTBF约为40个小时左右,有些系统的平均故障间隔时间远低于许多业务应用的运行时间。因此,系统高可靠性已成为研制大规模集群计算机系统必须解决的一项关键性技术。
为了确保业务计算软件能够在硬件平台上正确完成,提高系统的可靠性,大规模集群计算机系统必须对硬件故障具有容错能力,出现故障时仍能产生正确的结果,包括硬件和软件两种实现方式。其中,硬件方式容错通过硬件的重复使用来获得容错能力,对于大规模系统代价较高。
软件方式容错采用时间冗余的方法实现,在系统运行过程中检测到错误,软件回退到先前某个正确的状态继续运行,减少系统重新执行的开销,避免计算资源的浪费。检查点技术就是基于这一思想提出的,并且迄今为止仍然是一种普遍使用的故障容错技术。在这方面已经有很多研究工作,但还存在一些值得深入研究的问题:首先,是如何进一步减少检查点中保存的数据量,降低保存开销;其次是加快故障容错速度,如并行故障容错、自动化容错;另外,如何准确定位故障的来源,减少回滚计算开销。
发明内容
本发明的技术解决的问题是:克服现有技术的不足,提供了一种集群数据处理系统中的在线故障容错,采用文件碎片作为故障检测点,使用数据库和高速存储记录整个系统中数据、节点的唯一状态,实现了集群数据处理系统中的在线故障容错,本发明以降低容错额外开销、加快故障容错速度、准确定位故障的来源。
本发明的技术解决方案:
一种集群数据处理系统中的在线故障容错方法包括以下步骤:
(1)将集群数据处理系统按照数据处理流程划分为多级计算环节,每级计算环节通过其中的计算节点协同完成;
(2)将上一级计算环节的结果以文件碎片方式存储,用于实现各级计算节点之间的数据传递工作;
(3)下一级计算节点读取步骤(2)中文件碎片存储的结果进行计算并存储为下一级计算节点使用;
(4)集群数据处理系统记录每级计算节点的运行状态以及每级计算节点与文件碎片的对应关系;
(5)根据步骤(4)中集群数据处理系统记录的运行状态对计算节点进行检测,当检测到计算节点发生故障时,进行任务分配判断,若为故障计算节点正在执行的任务,则进入步骤(6);若为故障计算节点待执行的任务,则进入步骤(7);
(6)启动备份计算节点代替故障计算节点进行正在执行的任务的处理并进入步骤(8);
(7)将故障计算节点需要承担的待执行的任务分散到其他的计算节点上来完成进入步骤(9);
(8)备份计算节点从数据库恢复故障现场,读取正在执行的任务对应的文件碎片,用于代替故障节点继续工作,实现整个集群数据系统在运行过程中的在线故障恢复进入步骤(9);
(9)结束。
所述步骤(4)的集群数据处理系统记录每级计算节点与文件碎片的对应关系的方法具体步骤如下:
(1)创建文件碎片与每级计算节点的对应关系;
(2)初始化文件碎片的状态,将其在数据库中标记为状态i;
(3)在文件碎片经过某一级计算节点处理后,将其在数据库中标记状态更新为i+1。
所述步骤(8)的备份计算节点从数据库恢复故障现场的方法为:
(1)备份计算节点从数据库中查询计算节点发生故障时正在进行计算的文件碎片;
(2)备份计算节点对步骤(1)中查询到的文件碎片进行处理,同时更新文件碎片与备份计算节点的对应关系。
本发明与现有技术相比的优点在于:
(1)本发明使用了数据流程切割的方式代替传统的程序切割方式,系统中的文件传输本身就是以文件碎片的方式交换,不需要保存额外的数据,减少了存储空间,提高了利用率。
(2)本发明在发现故障后,故障点数据能够快速分散在其它节点处理,实现容错并行计算,提高恢复速度,提高了系统工作效率。
(3)本发明既适用于计算过程中故障恢复,又适用于通信过程中故障恢复,传统方法仅适用于计算过程中的故障恢复,本发明使用范围更广。
附图说明
图1本发明流程图;
图2本发明数据结构图;
图3为本发明基于文件碎片的交换方式;
图4为本发明故障恢复方法示意图。
具体实施方式
下面结合附图对本发明的具体实施方式进行进一步的详细描述。
如图1所示,本发明一种集群数据处理系统中的在线故障容错方法,使用计算节点作为故障位置的最小颗粒,采用文件碎片作为故障检查点的最小颗粒,使用数据库和高速存储设备记录整个系统中数据、节点的唯一状态,提供一种实现故障容错的方法。
本发明基于的集群数据处理系统结构框架,将集群中所有节点分为管理节点、计算节点两种,在整个集群中只有一个管理节点,负责调度、监控与管理,制定数据处理流程,然后将数据处理流程中每个计算环节分布于多个计算节点上并行处理,使得每个计算环节同时运行且各个环节之间串联形成一个任务流程。
如图2所示,管理节点通过数据库中的设备表对集群处理系统内部资源使用情况进行维护,包括设备的节点号、IP地址、计算节点的运行状态、在执行的任务号、节点功能、负载情况等,其中计算节点的运行状态按照空闲、忙碌、故障设置。对于每一个数据处理任务,管理节点根据数据库中的资源需求表对目前系统中的空闲计算节点进行资源分配,并对设备表中的节点状态进行更新。
如图1所示,本发明在线故障容错具体步骤如下:
(1)将集群数据处理系统按照数据处理流程划分为多级计算环节,每级计算环节通过其中的计算节点协同完成;
(2)如图3所示,将上一级计算环节的结果以文件碎片方式存储,用于实现各级计算节点之间的数据传递工作;
(3)下一级计算节点读取步骤(2)中文件碎片存储的结果进行计算并存储为下一级计算节点使用;
(4)集群数据处理系统记录每级计算节点的运行状态以及每级计算节点与文件碎片的对应关系;
集群数据处理系统记录每级计算节点与文件碎片的对应关系的方法具体步骤如下:
(a)创建文件碎片与每级计算节点的对应关系;
(b)初始化文件碎片的状态,将其在数据库中标记为状态i;
(c)在文件碎片经过某一级计算节点处理后,将其在数据库中标记状态更新为i+1。
(5)根据步骤(4)中集群数据处理系统记录的运行状态对计算节点进行检测,当检测到计算节点发生故障时,进行任务分配判断,若为故障计算节点正在执行的任务,则进入步骤(6);若为故障计算节点待执行的任务,则进入步骤(7);
(6)启动备份计算节点(例如本系统有100个计算节点,有80个计算节点正在参与系统的数据处理,另外20个计算节点即为备份计算节点)代替故障计算节点进行正在执行的任务的处理并进入步骤(8);
(7)将故障计算节点需要承担的待执行的任务分散到其他的计算节点(例如,本系统有100个计算节点,有80个计算节点正在参与系统的数据处理,另外20个计算节点即为备份计算节点,那么80个参与系统数据处理的节点即为其他的计算节点)上来完成进入步骤(9);
如图4所示,在检测到计算节点故障后,管理节点在数据库中对计算节点状态标记为故障,并报警提示;系统进行文件碎片分配判断,在数据库的设备表中查询一台空闲计算节点(备份计算节点或其他的的计算节点,其中其他的的计算节点中优先选择空闲的计算节点)加入该处理任务;在数据库的节点任务表中查询故障节点的节点配置信息,启动空闲计算节点上的相同处理组件,然后根据组件表中的配置文件、参数信息对组件进行配置,具备与故障计算节点相同处理能力。
(8)备份计算节点从数据库恢复故障现场,读取正在执行的任务对应的文件碎片,用于代替故障节点继续工作,实现整个集群数据系统在运行过程中的在线故障恢复进入步骤(9);
备份计算节点从数据库恢复故障现场的方法为:
(a)备份计算节点从数据库中查询计算节点发生故障时正在进行计算的文件碎片;
(b)备份计算节点对步骤(1)中查询到的文件碎片进行处理,同时更新文件碎片与备份计算节点的对应关系。
(9)结束。
下面以一个具体实施例来具体说明文件碎片交换方式和故障恢复方法的工作过程和原理:
如图3所示,整个集群数据处理任务由计算节点a、计算节点b、计算节点c、计算节点d组成的集群来完成,处理环节可以划分为处理1、处理2两个计算环节,其中计算节点a属于处理1计算环节,计算节点b、计算节点c、计算节点d属于处理2计算环节。
在如3图所示的时刻,计算节点a从第一级存储区读取文件碎片,完成文件碎片ccd1-1、ccd2-1、ccd3-1、ccd4-1......ccd2-9在计算环节处理1中的计算,并将结果放到了第二级存储区,计算节点b从第二级存储区读取文件碎片,完成文件碎片ccd1-1、ccd2-1在计算环节处理2中的计算,ccd3-1、ccd4-1、ccd1-2、ccd2-2等文件碎片正在执行任务队列中有正在处理。
在如图4所示时刻,计算节点d从第二级存储区读取文件碎片,完成ccd1-9、ccd3-8在计算环节处理2中的计算,其正在执行任务队列中有文件碎片ccd4-8正在处理,当计算节点d的工作状态被检测为故障,将一个空闲节点e代替节点d加入到处理工作中,从数据库中恢复故障现场,对文件碎片ccd4-8重新处理,并在后续的时刻从第一级存储区读取文件碎片。
本发明说明书中未作详细描述的内容属于本领域的公知技术。
Claims (3)
1.一种集群数据处理系统中的在线故障容错方法,其特征在于包括以下步骤:
(1)将集群数据处理系统按照数据处理流程划分为多级计算环节,每级计算环节通过其中的计算节点协同完成;
(2)将上一级计算环节的结果以文件碎片方式存储,用于实现各级计算节点之间的数据传递工作;
(3)下一级计算节点读取步骤(2)中文件碎片存储的结果进行计算并存储为下一级计算节点使用;
(4)集群数据处理系统记录每级计算节点的运行状态以及每级计算节点与文件碎片的对应关系;
(5)根据步骤(4)中集群数据处理系统记录的运行状态对计算节点进行检测,当检测到计算节点发生故障时,进行任务分配判断,若为故障计算节点正在执行的任务,则进入步骤(6);若为故障计算节点待执行的任务,则进入步骤(7);
(6)启动备份计算节点代替故障计算节点进行正在执行的任务的处理并进入步骤(8);
(7)将故障计算节点需要承担的待执行的任务分散到其他的计算节点上来完成进入步骤(9);
(8)备份计算节点从数据库恢复故障现场,读取正在执行的任务对应的文件碎片,用于代替故障节点继续工作,实现整个集群数据系统在运行过程中的在线故障恢复进入步骤(9);
(9)结束。
2.根据权利要求1所述的一种集群数据处理系统中的在线故障容错方法,其特征在于:所述步骤(4)的集群数据处理系统记录每级计算节点与文件碎片的对应关系的方法具体步骤如下:
(1)创建文件碎片与每级计算节点的对应关系;
(2)初始化文件碎片的状态,将其在数据库中标记为状态i;
(3)在文件碎片经过某一级计算节点处理后,将其在数据库中标记状态更新为i+1。
3.根据权利要求1所述的一种集群数据处理系统中的在线故障容错方法,其特征在于:所述步骤(8)的备份计算节点从数据库恢复故障现场的方法为:
(1)备份计算节点从数据库中查询计算节点发生故障时正在进行计算的文件碎片;
(2)备份计算节点对步骤(1)中查询到的文件碎片进行处理,同时更新文件碎片与备份计算节点的对应关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310577099.7A CN103678051B (zh) | 2013-11-18 | 2013-11-18 | 一种集群数据处理系统中的在线故障容错方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310577099.7A CN103678051B (zh) | 2013-11-18 | 2013-11-18 | 一种集群数据处理系统中的在线故障容错方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103678051A true CN103678051A (zh) | 2014-03-26 |
CN103678051B CN103678051B (zh) | 2016-08-24 |
Family
ID=50315696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310577099.7A Active CN103678051B (zh) | 2013-11-18 | 2013-11-18 | 一种集群数据处理系统中的在线故障容错方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103678051B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104298570A (zh) * | 2014-11-14 | 2015-01-21 | 北京国双科技有限公司 | 数据处理方法和装置 |
CN104468725A (zh) * | 2014-11-06 | 2015-03-25 | 浪潮(北京)电子信息产业有限公司 | 一种实现高可用集群软件维护的方法、装置及系统 |
CN105704746A (zh) * | 2014-11-25 | 2016-06-22 | 中兴通讯股份有限公司 | 一种宽带集群系统故障处理方法及装置 |
CN107608826A (zh) * | 2017-09-19 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种存储集群的节点的故障恢复方法、装置及介质 |
CN108241544A (zh) * | 2016-12-23 | 2018-07-03 | 航天星图科技(北京)有限公司 | 一种基于集群的故障处理方法 |
CN110535898A (zh) * | 2018-05-25 | 2019-12-03 | 许继集团有限公司 | 大数据存储中副本存放、补全、节点选择方法及管理系统 |
CN111092753A (zh) * | 2019-11-27 | 2020-05-01 | 中盈优创资讯科技有限公司 | 问题定位方法及装置 |
CN113806126A (zh) * | 2021-09-07 | 2021-12-17 | 西安交通大学 | 一种应对突发性故障的云应用续算方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5561759A (en) * | 1993-12-27 | 1996-10-01 | Sybase, Inc. | Fault tolerant computer parallel data processing ring architecture and work rebalancing method under node failure conditions |
CN101883039A (zh) * | 2010-05-13 | 2010-11-10 | 北京航空航天大学 | 大规模集群系统的数据传输网络及其构建方法 |
-
2013
- 2013-11-18 CN CN201310577099.7A patent/CN103678051B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5561759A (en) * | 1993-12-27 | 1996-10-01 | Sybase, Inc. | Fault tolerant computer parallel data processing ring architecture and work rebalancing method under node failure conditions |
CN101883039A (zh) * | 2010-05-13 | 2010-11-10 | 北京航空航天大学 | 大规模集群系统的数据传输网络及其构建方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468725A (zh) * | 2014-11-06 | 2015-03-25 | 浪潮(北京)电子信息产业有限公司 | 一种实现高可用集群软件维护的方法、装置及系统 |
CN104468725B (zh) * | 2014-11-06 | 2017-12-01 | 浪潮(北京)电子信息产业有限公司 | 一种实现高可用集群软件维护的方法、装置及系统 |
CN104298570A (zh) * | 2014-11-14 | 2015-01-21 | 北京国双科技有限公司 | 数据处理方法和装置 |
CN104298570B (zh) * | 2014-11-14 | 2018-04-06 | 北京国双科技有限公司 | 数据处理方法和装置 |
CN105704746A (zh) * | 2014-11-25 | 2016-06-22 | 中兴通讯股份有限公司 | 一种宽带集群系统故障处理方法及装置 |
CN108241544A (zh) * | 2016-12-23 | 2018-07-03 | 航天星图科技(北京)有限公司 | 一种基于集群的故障处理方法 |
CN108241544B (zh) * | 2016-12-23 | 2023-06-06 | 中科星图股份有限公司 | 一种基于集群的故障处理方法 |
CN107608826A (zh) * | 2017-09-19 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种存储集群的节点的故障恢复方法、装置及介质 |
CN110535898A (zh) * | 2018-05-25 | 2019-12-03 | 许继集团有限公司 | 大数据存储中副本存放、补全、节点选择方法及管理系统 |
CN111092753A (zh) * | 2019-11-27 | 2020-05-01 | 中盈优创资讯科技有限公司 | 问题定位方法及装置 |
CN113806126A (zh) * | 2021-09-07 | 2021-12-17 | 西安交通大学 | 一种应对突发性故障的云应用续算方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103678051B (zh) | 2016-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103678051A (zh) | 一种集群数据处理系统中的在线故障容错方法 | |
US11210185B2 (en) | Method and system for data recovery in a data system | |
US9047331B2 (en) | Scalable row-store with consensus-based replication | |
US8132043B2 (en) | Multistage system recovery framework | |
CN110795503A (zh) | 分布式存储系统的多集群数据同步方法及相关装置 | |
CN109063005B (zh) | 一种数据迁移方法及系统、存储介质、电子设备 | |
CN103220180A (zh) | 一种OpenStack云平台异常的处理方法 | |
CN111400104B (zh) | 数据同步方法及装置、电子设备、存储介质 | |
US20140250326A1 (en) | Method and system for load balancing a distributed database providing object-level management and recovery | |
CN105183591A (zh) | 一种高可用集群的实现方法及系统 | |
CN115017235B (zh) | 数据同步方法及电子设备、存储介质 | |
CN102737016B (zh) | 基于并行处理的信息文件生成系统及方法 | |
US20140108367A1 (en) | Client apparatus and database server for resumable transaction and method thereof | |
CN106201772A (zh) | 一种基于数据中心的操作系统备份、恢复方法及装置 | |
CN114816820A (zh) | chproxy集群故障修复方法、装置、设备及存储介质 | |
CN114398334A (zh) | 基于ZNBase集群的Prometheus远程存储方法及系统 | |
WO2024041363A1 (zh) | 无服务器架构分布式容错系统、方法、装置、设备及介质 | |
CN104750849A (zh) | 用于维护基于树形结构的目录关系的方法和系统 | |
EP3709173B1 (en) | Distributed information memory system, method, and program | |
CN102629260A (zh) | 数据库崩溃处理方法、装置和系统 | |
US10341434B2 (en) | Method and system for high availability topology for master-slave data systems with low write traffic | |
CN102779134A (zh) | 基于Lucene的分布式搜索方法 | |
US10365864B2 (en) | Information processing system and operation redundantizing method | |
CN103970854A (zh) | Sap ecc端与sap bw端之间增量凭证信息同步方法 | |
US12007964B2 (en) | Maintaining ongoing transaction information of a database system in an external data store for processing unsaved transactions in response to designated events |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |