CN103678051B - 一种集群数据处理***中的在线故障容错方法 - Google Patents

一种集群数据处理***中的在线故障容错方法 Download PDF

Info

Publication number
CN103678051B
CN103678051B CN201310577099.7A CN201310577099A CN103678051B CN 103678051 B CN103678051 B CN 103678051B CN 201310577099 A CN201310577099 A CN 201310577099A CN 103678051 B CN103678051 B CN 103678051B
Authority
CN
China
Prior art keywords
node
calculating
file fragmentation
fault
data processing
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.)
Active
Application number
CN201310577099.7A
Other languages
English (en)
Other versions
CN103678051A (zh
Inventor
高越
陈彦斌
刘焱
吴唯然
孟祥国
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Space Star Technology Co Ltd
Original Assignee
Space Star Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Space Star Technology Co Ltd filed Critical Space Star Technology Co Ltd
Priority to CN201310577099.7A priority Critical patent/CN103678051B/zh
Publication of CN103678051A publication Critical patent/CN103678051A/zh
Application granted granted Critical
Publication of CN103678051B publication Critical patent/CN103678051B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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)的集群数据处理***记录每级计算节点与文件碎片的对应关系的方法具体步骤如下:
(4a)创建文件碎片与每级计算节点的对应关系;
(4b)初始化文件碎片的状态,将其在数据库中标记为状态i;
(4c)在文件碎片经过某一级计算节点处理后,将其在数据库中标记状态更新为i+1。
3.根据权利要求1所述的一种集群数据处理***中的在线故障容错方法,其特征在于:所述步骤(8)的备份计算节点从数据库恢复故障现场的方法为:
(8a)备份计算节点从数据库中查询计算节点发生故障时正在进行计算的文件碎片;
(8b)备份计算节点对步骤(8a)中查询到的文件碎片进行处理,同时更新文件碎片与备份计算节点的对应关系。
CN201310577099.7A 2013-11-18 2013-11-18 一种集群数据处理***中的在线故障容错方法 Active CN103678051B (zh)

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 CN103678051A (zh) 2014-03-26
CN103678051B true 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)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468725B (zh) * 2014-11-06 2017-12-01 浪潮(北京)电子信息产业有限公司 一种实现高可用集群软件维护的方法、装置及***
CN104298570B (zh) * 2014-11-14 2018-04-06 北京国双科技有限公司 数据处理方法和装置
CN105704746A (zh) * 2014-11-25 2016-06-22 中兴通讯股份有限公司 一种宽带集群***故障处理方法及装置
CN108241544B (zh) * 2016-12-23 2023-06-06 中科星图股份有限公司 一种基于集群的故障处理方法
CN107608826A (zh) * 2017-09-19 2018-01-19 郑州云海信息技术有限公司 一种存储集群的节点的故障恢复方法、装置及介质
CN110535898B (zh) * 2018-05-25 2022-10-04 许继集团有限公司 大数据存储中副本存放、补全、节点选择方法及管理***
CN111092753A (zh) * 2019-11-27 2020-05-01 中盈优创资讯科技有限公司 问题定位方法及装置
CN113806126A (zh) * 2021-09-07 2021-12-17 西安交通大学 一种应对突发性故障的云应用续算方法及***

Citations (2)

* Cited by examiner, † Cited by third party
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 北京航空航天大学 大规模集群***的数据传输网络及其构建方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
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 北京航空航天大学 大规模集群***的数据传输网络及其构建方法

Also Published As

Publication number Publication date
CN103678051A (zh) 2014-03-26

Similar Documents

Publication Publication Date Title
CN103678051B (zh) 一种集群数据处理***中的在线故障容错方法
US11210185B2 (en) Method and system for data recovery in a data system
US9047331B2 (en) Scalable row-store with consensus-based replication
EP3014446B1 (en) Asynchronous message passing for large graph clustering
US8132043B2 (en) Multistage system recovery framework
JP2020514902A (ja) データセット及び他の管理オブジェクトをクラウドベースのストレージシステムに同期複製すること
CN105871603B (zh) 一种基于内存数据网格的实时流式数据处理失效恢复***及方法
CN107665154A (zh) 基于rdma与消息传递的可靠数据分析方法
CN102411520B (zh) 一种基于数据单元的地震数据的灾难恢复方法
CN102364448A (zh) 一种计算机故障管理***的容错方法
CN104268061A (zh) 一种适用于虚拟机的存储状态监控机制
CN105243004A (zh) 一种故障资源检测方法及装置
CN109063005B (zh) 一种数据迁移方法及***、存储介质、电子设备
US20050283636A1 (en) System and method for failure recovery in a cluster network
CN105162632A (zh) 一种服务器集群故障自动处理***
US9531792B2 (en) System and method for generating information file based on parallel processing
CN103106126A (zh) 一种基于虚拟化的高可用计算机***
CN105183591A (zh) 一种高可用集群的实现方法及***
CN110727508A (zh) 一种任务调度***和调度方法
CN114816820A (zh) chproxy集群故障修复方法、装置、设备及存储介质
US9612921B2 (en) Method and system for load balancing a distributed database providing object-level management and recovery
CN111913824A (zh) 确定数据链路故障原因的方法及相关设备
CN104750849B (zh) 用于维护基于树形结构的目录关系的方法和***
CN110046064B (zh) 一种基于故障漂移的云服务器容灾实现方法
CN105892957B (zh) 一种基于动态分片的分布式事务执行方法

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