CN109831342A - 一种基于分布式系统的故障恢复方法 - Google Patents
一种基于分布式系统的故障恢复方法 Download PDFInfo
- Publication number
- CN109831342A CN109831342A CN201910211401.4A CN201910211401A CN109831342A CN 109831342 A CN109831342 A CN 109831342A CN 201910211401 A CN201910211401 A CN 201910211401A CN 109831342 A CN109831342 A CN 109831342A
- Authority
- CN
- China
- Prior art keywords
- node
- message
- checkpoint
- fault recovery
- time
- 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.)
- Pending
Links
Landscapes
- Hardware Redundancy (AREA)
Abstract
本发明公开了基于分布式系统的故障恢复方法,通过在分布式存储系统中的各节点通过设置的预先建立的协同检查点,在监测到故障时,快速恢复至所有节点最近的检查点构成的恢复线,并且通过故障概率值和用户预先给定的期望阈值,快速判断目标节点是否失联宕机,对故障监测和恢复方法进行优化,从而解决了现有技术中不能及时反应故障问题以及不能及时恢复等技术问题。
Description
技术领域
本发明涉及故障恢复技术领域,特别涉及一种基于分布式系统的故障恢复方法。
背景技术
分布式系统可以理解为是将分布的计算资源进行有效的整合,将需要计算的任务分配到不同的处理机上并行执行,处理机之间相互独立,其中一台处理机出现故障,不会影响其他处理机执行。同时,随着计算规模不断可扩大,可以随时增加或减少分布式系统的规模。然而,这种计算资源的整合是将计算系统和各种终端通过高速网络进行连接,他们可能位于不同的地理位置,而且每个节点的硬件配置、系统软件都有所区别,这就导致了分布式系统天生就具有异构的特性。分布式系统的故障问题不能及时发现,并且在发现后如何快速修复还原,是目前亟待解决的技术问题,因此亟待提出一种基于分布式系统的故障恢复方法。
发明内容
本发明实施例提供了一种基于分布式系统的故障恢复方法,对故障恢复方法进行优化,从而解决了现有技术中不能及时反应故障问题以及不能及时恢复等技术问题。
为了解决上述问题,本发明公开了如下技术方案:
第一方面,提供一种基于分布式系统的故障恢复方法,所述方法包括:
当所述系统发生故障后,故障监测模块监测到系统故障,并向管理节点发送消息;
然后所述管理节点向各节点发送复位信号,触发故障恢复模块进行故障恢复;
故障恢复时,所述分布式系统中所述各节点利用建立的协同检查点,恢复至所有所述各节点最近的检查点构成的恢复线;
当所述各节点完成故障恢复后向所述管理节点发送恢复成功信号,所述管理节点收到所有所述各节点的所述恢复成功信号后,向所述各节点发送恢复结束信号;
最后,所述各节点恢复运行。
进一步的,其中建立协同检查点步骤为:
(1)协同器向所述各节点广播消息,请求建立一个临时检查点;
(2)所述各节点收到消息后,停止正在运行的进程,建立所述临时检查点;
(3)所述各节点发送一个确认消息给协同检查器;
(4)所述协同检查器收到所有所述各节点的确认消息后,再次向所述各节点广播消息,请求建立一个永久的检查点;
(5)各所述节点收到此消息后,首先删除旧的永久检查点,并将第(2)步中建立的临时检查点转化为永久检查点,然后恢复运行。
进一步的,其中故障监测包括:(1)用一个滑动窗口记录下接收到的管理节点的心跳信息的消息发送时间TS,以及目标节点的心跳信息的消息等待时间TW;
(2)根据记录的心跳到达时间构建一概率分布;
(3)通过该概率分布计算节点的故障概率值P;
(4)故障概率值P和用户预先给定的期望阈值E(TW)进行比较,当P>E(TW)时则可认为节点发生了故障;
其中消息等待时间TW的期望阈值为:
上式中,σ代表消息的平均到达速率,其中包括心跳消息速率σb和数据消息速率σd,则σ=σb+σd;TQ代表一条消息总服务时间,它包含消息等待时间TW和消息发送时间TS,即TQ=TW+TS;在一定的网络环境中即消息长度L一定,网络带宽C一定,那么消息发送时间是一定的,即TS=L/C。
本发明公开了基于分布式系统的故障恢复方法,通过在分布式存储系统中的各节点通过设置的预先建立的协同检查点,在监测到故障时,快速恢复至所有节点最近的检查点构成的恢复线,并且通过故障概率值和用户预先给定的期望阈值,快速判断目标节点是否失联宕机,对故障监测和恢复方法进行优化,从而解决了现有技术中不能及时反应故障问题以及不能及时恢复等技术问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例中基于分布式系统的故障恢复方法的流程示意图。
图2是本发明一个实施例中基于分布式系统的故障恢复方法中建立协同检查点的流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,本发明一个实施例提出了一种基于分布式系统的故障恢复方法的流程图。
当系统发生故障后,故障监测模块监测到系统故障,并向管理节点发送消息;
然后管理节点向各节点发送复位信号,触发故障恢复模块进行故障恢复;
故障恢复时,分布式存储系统中各节点利用建立的协同检查点,恢复至所有节点最近的检查点构成的恢复线;
当节点完成故障恢复后向管理节点发送恢复成功信号,管理节点收到所有节点的恢复成功信号后,向各节点发送恢复结束信号;
最后,各节点恢复运行;
参见图2,本发明一个实施例提出了一种基于分布式系统的故障恢复方法中建立协同检查点的流程图。
其中建立协同检查点步骤为:
(1)协同器向各节点广播消息,请求建立一个临时检查点;
(2)各节点收到消息后,停止正在运行的进程,建立临时检查点;
(3)各节点发送一个确认消息给协同检查器;
(4)协同检查器收到所有节点的确认消息后,再次向各节点广播消息,请求建立一个永久的检查点;
(5)各节点收到此消息后,首先删除旧的永久检查点,并将第(2)步中建立的临时检查点转化为永久检查点,然后恢复运行。
其中故障监测具体过程如下:
(1)用一个滑动窗口记录下接收到的计算节点的心跳信息的消息发送时间TS,以及目标节点的网络心跳信息的消息等待时间TW。
(2)根据记录的心跳到达时间构建一概率分布。
(3)通过该概率分布计算节点的故障概率值P。
(4)故障概率值P和用户预先给定的期望阈值E(TW)进行比较,当P>E(TW)时则可认为节点发生了故障。
考虑到网络负载情况,在分布式网络环境中,TQ代表一条消息总服务时间,它包含消息等待时间TW和消息发送时间TS,即TQ=TW+TS。在一定的网络环境中即消息长度L一定,网络带宽C一定,那么消息发送时间是一定的,即TS=L/C。对于TW的确定是根据前几次网络等待时间推算出的期望值。
那么,获得消息等待时间TW的期望阈值为:
上式中,σ代表消息的平均到达速率,其中包括网络心跳消息速率σb和数据消息速率σd,则σ=σb+σd。
不同应用可以根据自身提供的服务质量需求来定义适合自己的期望值。定义一个较低的期望值,可以尽快的探测出一个节点的宕机,但准确性不高,容易产生误判比如监测算法可能会将网络波动误认为是节点宕机。定义一个较高的期望值,可以比较准确的判断出一个节点的宕机,但探测的时间会比较长,这样可能在一端时间窗口内,请求依然会被定向到故障节点上,使得这些请求都以失败而告终。根据以往心跳间隔的经验值,对主机的心跳到达时间进行统计分析即可较好的快速估算出目标节点是否宕机。
上述基于分布式系统的故障恢复方法通过在分布式存储系统中的各节点通过设置的预先建立的协同检查点,在监测到故障时,快速恢复至所有节点最近的检查点构成的恢复线,并且通过故障概率值和用户预先给定的期望阈值,快速判断目标节点是否失联宕机,对故障监测和恢复方法进行优化,从而解决了现有技术中不能及时反应故障问题以及不能及时恢复等技术问题。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
Claims (3)
1.一种基于分布式系统的故障恢复方法,其特征在于,所述方法包括:
当所述系统发生故障后,故障监测模块监测到系统故障,并向管理节点发送消息;
所述管理节点向各节点发送复位信号,触发故障恢复模块进行故障恢复;
故障恢复时,所述分布式系统中所述各节点利用建立的协同检查点,恢复至所有所述各节点最近的检查点构成的恢复线;
当所述各节点完成故障恢复后向所述管理节点发送恢复成功信号,所述管理节点收到所有所述各节点的所述恢复成功信号后,向所述各节点发送恢复结束信号;
最后,所述各节点恢复运行。
2.根据权利要求1所述的方法,其特征在于,进一步的,其中建立协同检查点步骤为:
(1)协同器向所述各节点广播消息,请求建立一个临时检查点;
(2)所述各节点收到消息后,停止正在运行的进程,建立所述临时检查点;
(3)所述各节点发送一个确认消息给协同检查器;
(4)所述协同检查器收到所有所述各节点的确认消息后,再次向所述各节点广播消息,请求建立一个永久的检查点;
(5)各所述节点收到此消息后,首先删除旧的永久检查点,并将第(2)步中建立的临时检查点转化为永久检查点,然后恢复运行。
3.根据权利要求1所述的方法,其特征在于,进一步的,其中故障监测包括:(1)用一个滑动窗口记录下接收到的管理节点的心跳信息的消息发送时间TS,以及目标节点的心跳信息的消息等待时间TW;
(2)根据记录的心跳到达时间构建一概率分布;
(3)通过该概率分布计算节点的故障概率值P;
(4)故障概率值P和用户预先给定的期望阈值E(TW)进行比较,当P>E(TW)时则可认为节点发生了故障;
其中消息等待时间TW的期望阈值为:
上式中,σ代表消息的平均到达速率,其中包括心跳消息速率σb和数据消息速率σd,则σ=σb+σd;TQ代表一条消息总服务时间,它包含消息等待时间TW和消息发送时间TS,即TQ=TW+TS;在一定的网络环境中即消息长度L一定,网络带宽C一定,那么消息发送时间是一定的,即TS=L/C。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910211401.4A CN109831342A (zh) | 2019-03-19 | 2019-03-19 | 一种基于分布式系统的故障恢复方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910211401.4A CN109831342A (zh) | 2019-03-19 | 2019-03-19 | 一种基于分布式系统的故障恢复方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109831342A true CN109831342A (zh) | 2019-05-31 |
Family
ID=66870902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910211401.4A Pending CN109831342A (zh) | 2019-03-19 | 2019-03-19 | 一种基于分布式系统的故障恢复方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109831342A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021027481A1 (zh) * | 2019-08-12 | 2021-02-18 | 华为技术有限公司 | 故障处理方法、装置、计算机设备、存储介质及存储系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1164710A (zh) * | 1996-03-19 | 1997-11-12 | 株式会社东芝 | 分散存储型多处理机系统及故障恢复方法 |
CN101369241A (zh) * | 2007-09-21 | 2009-02-18 | 中国科学院计算技术研究所 | 一种机群容错系统、装置及方法 |
CN103631815A (zh) * | 2012-08-27 | 2014-03-12 | 深圳市腾讯计算机系统有限公司 | 块同步并行计算中实现检查点的方法、装置和系统 |
CN103778031A (zh) * | 2014-01-15 | 2014-05-07 | 华中科技大学 | 一种云环境下的分布式系统多级故障容错方法 |
CN105718355A (zh) * | 2016-01-21 | 2016-06-29 | 中国人民解放军国防科学技术大学 | 基于在线学习的超级计算机结点故障主动容错方法 |
-
2019
- 2019-03-19 CN CN201910211401.4A patent/CN109831342A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1164710A (zh) * | 1996-03-19 | 1997-11-12 | 株式会社东芝 | 分散存储型多处理机系统及故障恢复方法 |
CN101369241A (zh) * | 2007-09-21 | 2009-02-18 | 中国科学院计算技术研究所 | 一种机群容错系统、装置及方法 |
CN103631815A (zh) * | 2012-08-27 | 2014-03-12 | 深圳市腾讯计算机系统有限公司 | 块同步并行计算中实现检查点的方法、装置和系统 |
CN103778031A (zh) * | 2014-01-15 | 2014-05-07 | 华中科技大学 | 一种云环境下的分布式系统多级故障容错方法 |
CN105718355A (zh) * | 2016-01-21 | 2016-06-29 | 中国人民解放军国防科学技术大学 | 基于在线学习的超级计算机结点故障主动容错方法 |
Non-Patent Citations (1)
Title |
---|
王明 等: "《基于自适应心跳算法的分布式系统故障检测器》", 《北京航空航天大学学报》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021027481A1 (zh) * | 2019-08-12 | 2021-02-18 | 华为技术有限公司 | 故障处理方法、装置、计算机设备、存储介质及存储系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102418969B1 (ko) | 딥러닝 기반 통신망 장비의 장애 예측 시스템 및 방법 | |
US8560894B2 (en) | Apparatus and method for status decision | |
CN112988398B (zh) | 一种微服务动态伸缩及迁移方法和装置 | |
CN107769943B (zh) | 一种主备集群切换的方法和设备 | |
CN109728981A (zh) | 一种云平台故障监测方法及装置 | |
CN107872457B (zh) | 一种基于网络流量预测进行网络操作的方法及系统 | |
EP3239840B1 (en) | Fault information provision server and fault information provision method | |
JP2009217382A (ja) | 障害分析システム、障害分析方法、障害分析サーバおよび障害分析プログラム | |
CN109739527A (zh) | 一种客户端灰度发布的方法、装置、服务器和存储介质 | |
US11410049B2 (en) | Cognitive methods and systems for responding to computing system incidents | |
US20170206125A1 (en) | Monitoring system, monitoring device, and monitoring program | |
US7386613B2 (en) | System and method for measuring middleware response time | |
CN113032218B (zh) | 一种服务器故障检测方法、系统及计算机可读存储介质 | |
CN109831342A (zh) | 一种基于分布式系统的故障恢复方法 | |
CN107426012B (zh) | 一种基于超融合架构的故障恢复方法及其装置 | |
WO2020044898A1 (ja) | 機器状態監視装置及びプログラム | |
CN111104266A (zh) | 访问资源的分配方法、装置、存储介质和电子设备 | |
US9674060B2 (en) | Dynamic and selective management of integration points using performance metrics | |
US11714721B2 (en) | Machine learning systems for ETL data streams | |
CN109117294B (zh) | 适用于证券交易系统的故障检测方法及装置 | |
CN112199207A (zh) | 一种报警信息推送方法、装置、系统、设备及介质 | |
JP7303461B2 (ja) | 復旧判定装置、復旧判定方法、および、復旧判定プログラム | |
CN111694705A (zh) | 监控方法、装置、设备及计算机可读存储介质 | |
KR102639786B1 (ko) | 메시지큐를 이용한 무중단 로그 전송 시스템 및 방법 | |
US7908546B2 (en) | Methods and apparatus for detection of performance conditions in processing system |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190531 |
|
RJ01 | Rejection of invention patent application after publication |