CN105138428B - 基于前驱依赖的故障恢复方法 - Google Patents

基于前驱依赖的故障恢复方法 Download PDF

Info

Publication number
CN105138428B
CN105138428B CN201510519664.3A CN201510519664A CN105138428B CN 105138428 B CN105138428 B CN 105138428B CN 201510519664 A CN201510519664 A CN 201510519664A CN 105138428 B CN105138428 B CN 105138428B
Authority
CN
China
Prior art keywords
function
atomic
node
backup
atomic function
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
CN201510519664.3A
Other languages
English (en)
Other versions
CN105138428A (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.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN201510519664.3A priority Critical patent/CN105138428B/zh
Publication of CN105138428A publication Critical patent/CN105138428A/zh
Application granted granted Critical
Publication of CN105138428B publication Critical patent/CN105138428B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Hardware Redundancy (AREA)

Abstract

本发明公开了一种基于前驱依赖的故障恢复方法,主要解决现有故障恢复技术中不能精确定位故障点、依赖单一检查点设置及多个系统重复备份原子功能的问题。其技术方案是:1.为需要进行故障数据恢复的应用实例构造功能依赖树;2.备份功能依赖树的原子功能;3.对功能依赖树的根节点发生故障时进行恢复处理:在外部存储中查找最近的一次全备份,根据全备份对故障原子功能进行恢复,再查找最近一次全备份之后的全部增量备份,根据先后顺序逐一对原子功能进行增量恢复,最终实现对根节点的恢复。本发明可对应用进行功能细化,当故障发生时能进行有针对性的恢复,且使用双层级备份模式,提升了备份效率,可用于应用实例故障数据恢复。

Description

基于前驱依赖的故障恢复方法
技术领域
本发明属于系统安全技术领域,特别涉及系统的故障恢复方法,可用于应用故障数据恢复。
背景技术
近年来,互联网技术得到快速发展,其中最典型的特点是数据呈现几何级式地爆炸增长,无论是个人电脑还是企业级服务器,其存储的数据内容都是之前的若干倍,大数据无疑为我们带来了很多便利,然而也带来了一个不可忽视的隐患,即系统故障恢复处理。目前,已经有了很多针对原来少量数据存储的解决方案,如本地磁盘备份异地保存,数据热备份站点保存以及活动备援技术等等,但是这些解决方案均存在以下几个缺点:
1.系统一旦发生故障,不能精确的定位故障点,而是对整个系统进行粗放式的全盘恢复,这种解决方案对于少量数据恢复是可行的,然而在大数据时代若对整个系统的数据进行全盘恢复,其需要花费大量时间;
2.系统故障恢复依赖单一的检查点设置,若要对系统进行精确度较高的恢复,则需要设置大量的检查点,这种做法对处理器的占用较高,若系统同时正在进行海量数据处理,则其将带来大量的效率损失;
3.若多个具有相同原子功能的系统需要进行故障恢复备份,则现有技术只能对其全部进行完全备份,这些相同的原子功能将会被重复备份,会造成大量的空间浪费。
发明内容
本发明的目的在于提出一种基于前驱依赖的故障恢复方法,以解决现有技术中不能精确定位到故障点,单一检查点设置以及多个具有相同原子功能的系统重复备份的问题。
实现本方法的主要思想是:为需要进行数据保护的应用构造一棵功能依赖树,树的根节点为应用本身,根节点的子节点为将应用按功能划分之后的功能集合,树的叶子节点为将功能集合中的元素按实现划分成的原子功能集合,并周期性的将功能依赖树的叶子节点备份至外部存储。当应用发生故障时,首先找到发生故障的功能集合,再通过故障功能集合找到故障原子功能集合,之后去外部存储中找到故障原子功能对应的备份,从而实现对故障原子功能的恢复,再通过故障原子功能的恢复实现对上层故障功能的恢复,最终实现对整个应用的恢复。
根据以上思路,本发明的具体实现主要包括以下三个步骤:
(1)构造功能依赖树T:
1a)令需要进行故障数据恢复的应用A作为功能依赖树T的根节点,将其按功能划分为独立的功能集合F={Fk|k=1,2,...,n},并将功能集合F中的元素作为根节点的子节点接入功能依赖树T,构成功能依赖树T的功能节点,其中,n表示需要进行故障数据恢复的应用A依赖的功能个数;
1b)对功能集合F中的每一项功能Fk按其实现划分为原子功能集合Pk={Pk,i|i=1,2,...,km},将原子功能集合Pk中的元素作为节点Fk的子节点接入功能依赖树T,构成功能依赖树T的原子功能节点,其中,km为功能Fk所依赖的原子功能个数,k为应用A依赖的第k个功能;
(2)备份功能依赖树T的原子功能:
2a)对功能依赖树T的所有n个原子功能节点集合Pk={Pk,i|i=1,2,...,km}求并集,得到去除重复原子功能后的原子功能总集合C={Ce|e=1,2,...,l},其中,k=1,2,...,n;l为应用A依赖的去除重复功能后的原子功能个数;
2b)设置全备份周期t1及增量备份周期t2,将原子功能总集合C中的每一个原子功能Ce周期性地备份至外部存储D;
(3)功能依赖树T的根节点发生故障时的恢复处理:
3a)遍历功能依赖树T,找到发生故障的功能节点集合G={Pb|b=1,2,...,x},Pb为发生故障的功能节点,对这些故障节点的子节点求并集,得到故障原子功能集合C'={Cj|j=1,2,...,y},Cj为发生故障的原子功能节点,其中,b为发生故障的功能节点下标,x为发生故障的功能节点个数,j为发生故障的原子功能下标,y为发生故障的原子功能节点个数;
3b)在外部存储D中查找最新的一次全备份,根据全备份的状态信息对故障原子功能集合C'中的每一个原子功能节点Cj进行恢复,其中j=1,2,...y,y为发生故障的原子功能节点个数;
3c)在外部存储D中查找最近的一次全备份之后的全部增量备份,根据先后顺序逐一对该C'中的每一个原子功能节点Cj进行增量恢复,完成对功能节点集合G中的故障功能节点恢复。
本发明与现有技术相比具有如下优点:
1.由于本发明使用前驱依赖的方法对应用进行功能细化,当应用发生故障时可针对故障功能进行恢复,因此可以避免现有方案无法精确定位故障点,从而导致全盘恢复的问题。
2.由于本发明使用全备份和增量备份双层级备份模式,因此可以避免现有方案检查点设置单一从而导致的备份效率低的问题。
3.由于本发明使用原子功能备份的方式对应用进行恢复,因此当多个具有重复原子功能的应用需要进行故障恢复备份时,其重复的原子功能将不会被多次备份,可解决现有技术中多个系统只能分别完全备份的问题。
附图说明
图1是本发明的实现总流程图;
图2是本发明中构造功能依赖树的子流程图;
图3是本发明中对功能依赖树原子功能进行备份的子流程图;
图4是本发明中对功能依赖树的根节点发生故障时的恢复处理子流程图。
具体实施方式
参照图1,本发明的实现步骤如下:
步骤1,为需要进行故障数据恢复的应用A构造功能依赖树T。
需要进行故障数据恢复的应用A包括多种对数据容灾能力需求较高的应用,如计算机集群应用、大型数据库应用以及需要提供高可用服务的云服务器应用等,本实例选取常见的计算机集群应用进行说明。
参照图2,本步骤的具体实现如下:
1a)令应用A作为功能依赖树T的根节点,将其按功能划分为独立的功能集合F={Fk|k=1,2,...,n},并将功能集合F中的元素作为根节点的子节点接入功能依赖树T,构成功能依赖树T的功能节点,其中,n表示需要进行故障数据恢复的应用A依赖的功能个数;
1b)对功能集合F中的每一项功能Fk按其实现划分为原子功能集合Pk={Pk,i|i=1,2,...,km},将原子功能集合Pk中的元素作为节点Fk的子节点接入功能依赖树T,构成功能依赖树T的原子功能节点,其中,km为功能Fk所依赖的原子功能个数,k为应用A依赖的第k个功能。
步骤2,选取两层增量检查点恢复算法对功能依赖树T的原子功能进行备份。
检查点恢复技术是一种行之有效,并被广泛应用于计算机集群应用以及数据库应用的容错恢复方法,其可以通过设置检查点和事务卷回的方式对数据进行保护,目前常见的检查点恢复备份算法有两层增量检查点恢复算法、完全检查点恢复算法以及日志驱动检查点恢复算法。本实例选取但不限于两层增量检查点恢复算法对功能依赖树T的原子功能进行备份,该算法的详细计算过程参见Two-Level Incremental Checkpoint RecoveryScheme for Reducing System Total Overheads,Plos ONE,2014。
参照图3,本步骤的具体实现如下:
2a)对功能依赖树T的所有n个原子功能节点集合Pk={Pk,i|i=1,2,...,km}求并集,得到去除重复原子功能后的原子功能总集合C={Ce|e=1,2,...,l},其中,k=1,2,...,n;l为应用A依赖的去除重复功能后的原子功能个数;
2b)设置全备份周期t1及增量备份周期t2,将去除重复原子功能后的原子功能总集合C中的每一个原子功能Ce周期性地备份至外部存储D:
2b1)每隔时间间隔t1,将去除重复原子功能后的原子功能总集合中的每个功能Ce进行全备份保存至外部存储D,备份文件存储为全备份序列S={Sk|k=1,2,...,t},其中,t为应用A运行的总时间;
2b2)每隔时间间隔t2,将去除重复原子功能后的原子功能总集合中的每个功能Ce相对于最近一次备份的状态变化进行增量备份保存至外部存储D,备份文件存储为增量备份序列{Zkv|v=1,2,...,t'},其中,k为本增量备份序列依赖的第k个全备份基,t'为应用A的全备份周期t1与增量备份周期t2的商,t'=t1/t2
步骤3,对功能依赖树T的根节点发生故障时进行恢复处理。
参照图4,本步骤的具体实现如下:
(3)功能依赖树T的根节点发生故障时的恢复处理:
3a)遍历功能依赖树T,找到发生故障的功能节点集合G={Pb|b=1,2,...,x},Pb为发生故障的功能节点,对这些故障节点的子节点求并集,得到故障原子功能集合C'={Cj|j=1,2,...,y},Cj为发生故障的原子功能节点,其中,b为发生故障的功能节点下标,x为发生故障的功能节点个数,j为发生故障的原子功能下标,y为发生故障的原子功能节点个数;
3b)在外部存储D中查找全备份序列S1,根据最新的一次全备份St的状态信息对故障原子功能集合C'中的每一个原子功能节点Cj进行恢复,其中j=1,2,...y,y为发生故障的原子功能节点个数;
3c)在外部存储D中查找最近的一次全备份St之后的全部增量备份序列,根据先后顺序逐一对故障原子功能集合C'中的每一个原子功能节点Cj进行增量恢复;
3d)通过对原子功能的恢复实现对发生故障的功能节点集合G中功能节点的恢复,最终实现对应用A的恢复。
以上描述仅是本发明的一个具体实例,显然对于本领域的专业人员来说,在了解本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修正和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。
名词解释
T:应用的功能依赖树
A:需要进行故障数据恢复的应用
F:应用A的功能集合,F={Fk|k=1,2,...,n},其中,n表示应用A依赖的功能个数
Pk:功能Fk依赖的原子功能集合,Pk={Pk,i|i=1,2,...,km},其中,km为功能Fk所依赖的原子功能个数,k为应用A依赖的第k个功能
C:去除重复原子功能后的原子功能总集合,C={Ce|e=1,2,...,l},其中,k=1,2,...,n;l为应用A依赖的去除重复功能后的原子功能个数;
t1:全备份周期t1
t2:增量备份周期t2
D:外部存储D
G:发生故障的功能节点集合,G={Pb|b=1,2,...,x},其中,Pb为发生故障的功能节点,x为发生故障的功能节点个数
C':故障原子功能集合,C'={Cj|j=1,2,...y},其中,Cj为发生故障的原子功能节点,y为发生故障的原子功能节点个数
S:全备份序列,S={Sk|k=1,2,...,t},其中,t为应用A运行的总时间
Zk:增量备份序列,{Zkv|v=1,2,...,t'},其中,k为本增量备份序列依赖的第k个全备份基,t'为应用A的全备份周期t1与增量备份周期t2的商,t'=t1/t2

Claims (2)

1.一种基于前驱依赖的故障恢复方法,包括:
(1)构造功能依赖树T:
1a)令需要进行故障数据恢复的应用A作为功能依赖树T的根节点,将其按功能划分为独立的功能集合F={Fk|k=1,2,...,n},并将功能集合F中的元素作为根节点的子节点接入功能依赖树T,构成功能依赖树T的功能节点,其中,n表示需要进行故障数据恢复的应用A依赖的功能个数;
1b)对功能集合F中的每一项功能Fk按其实现划分为原子功能集合Pk={Pk,i|i=1,2,...,km},将原子功能集合Pk中的元素作为节点Fk的子节点接入功能依赖树T,构成功能依赖树T的原子功能节点,其中,km为功能Fk所依赖的原子功能个数,k为应用A依赖的第k个功能;
(2)备份功能依赖树T的原子功能:
2a)对功能依赖树T的所有n个原子功能节点集合Pk={Pk,i|i=1,2,...,km}求并集,得到去除重复原子功能后的原子功能总集合C={Ce|e=1,2,...,l},其中,k=1,2,...,n;l为应用A依赖的去除重复功能后的原子功能个数;
2b)设置全备份周期t1及增量备份周期t2,将原子功能总集合C中的每一个原子功能Ce周期性地备份至外部存储D;
(3)功能依赖树T的根节点发生故障时的恢复处理:
3a)遍历功能依赖树T,找到发生故障的功能节点集合G={Pb|b=1,2,...,x},Pb为发生故障的功能节点,对这些故障节点的子节点求并集,得到故障原子功能集合C'={Cj|j=1,2,...,y},Cj为发生故障的原子功能节点,其中,b为发生故障的功能节点下标,x为发生故障的功能节点个数,j为发生故障的原子功能下标,y为发生故障的原子功能节点个数;
3b)在外部存储D中查找最新的一次全备份,根据全备份的状态信息对故障原子功能集合C'中的每一个原子功能节点Cj进行恢复,其中j=1,2,...y,y为发生故障的原子功能节点个数;
3c)在外部存储D中查找最近的一次全备份之后的全部增量备份,根据先后顺序逐一对该C'中的每一个原子功能节点Cj进行增量恢复,完成对功能节点集合G中的故障功能节点恢复。
2.根据权利要求1所述的基于前驱依赖的故障恢复方法,其中所述步骤2b)中将原子功能总集合C中的每一个原子功能Ce周期性地备份至外部存储D,是每隔时间间隔t1,将原子功能总集合中的每个功能Ce进行全备份保存至外部存储D;每隔时间间隔t2,将原子功能总集合中的每个功能Ce相对于最近一次备份的状态变化进行增量备份保存至外部存储D。
CN201510519664.3A 2015-08-22 2015-08-22 基于前驱依赖的故障恢复方法 Active CN105138428B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510519664.3A CN105138428B (zh) 2015-08-22 2015-08-22 基于前驱依赖的故障恢复方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510519664.3A CN105138428B (zh) 2015-08-22 2015-08-22 基于前驱依赖的故障恢复方法

Publications (2)

Publication Number Publication Date
CN105138428A CN105138428A (zh) 2015-12-09
CN105138428B true CN105138428B (zh) 2018-03-06

Family

ID=54723784

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510519664.3A Active CN105138428B (zh) 2015-08-22 2015-08-22 基于前驱依赖的故障恢复方法

Country Status (1)

Country Link
CN (1) CN105138428B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109101369A (zh) * 2018-08-21 2018-12-28 郑州云海信息技术有限公司 一种业务主机数据的持续保护方法、系统及装置
CN112463457A (zh) * 2020-12-10 2021-03-09 上海爱数信息技术股份有限公司 一种保障应用一致性的数据保护方法、装置、介质及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1164710A (zh) * 1996-03-19 1997-11-12 株式会社东芝 分散存储型多处理机系统及故障恢复方法
CN103309801A (zh) * 2012-03-15 2013-09-18 百度在线网络技术(北京)有限公司 一种确定回归测试范围的方法和装置
CN103473400A (zh) * 2013-08-27 2013-12-25 北京航空航天大学 基于层次依赖建模的软件fmea方法
CN104392072A (zh) * 2014-12-12 2015-03-04 北京交通大学 一种基于动态故障树的设备集成系统可靠性分析方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011148891A1 (ja) * 2010-05-24 2011-12-01 日本電気株式会社 システムモデルからの静的なフォルトツリー解析のシステムと方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1164710A (zh) * 1996-03-19 1997-11-12 株式会社东芝 分散存储型多处理机系统及故障恢复方法
CN103309801A (zh) * 2012-03-15 2013-09-18 百度在线网络技术(北京)有限公司 一种确定回归测试范围的方法和装置
CN103473400A (zh) * 2013-08-27 2013-12-25 北京航空航天大学 基于层次依赖建模的软件fmea方法
CN104392072A (zh) * 2014-12-12 2015-03-04 北京交通大学 一种基于动态故障树的设备集成系统可靠性分析方法

Also Published As

Publication number Publication date
CN105138428A (zh) 2015-12-09

Similar Documents

Publication Publication Date Title
CN106874133B (zh) 流式计算系统中计算节点的故障处理
CN111656326B (zh) 用于执行用于无修复恢复的数据库备份的系统和方法
EP2976714B1 (en) Method and system for byzantine fault tolerant data replication
WO2018098972A1 (zh) 一种日志恢复方法、存储装置和存储节点
CN111771193A (zh) 用于在生产集群中备份最终一致的数据库的系统和方法
CN103678051B (zh) 一种集群数据处理系统中的在线故障容错方法
WO2014060882A1 (en) Consistency group management
Agullo et al. Numerical recovery strategies for parallel resilient Krylov linear solvers
CN113360322B (zh) 一种基于备份系统恢复数据的方法及设备
WO2018107792A1 (zh) 数据的增量恢复方法和装置
CN105988894A (zh) 一种双活模式的容灾技术
CN102722584A (zh) 数据存储系统及方法
CN105138428B (zh) 基于前驱依赖的故障恢复方法
CN110121694B (zh) 一种日志管理方法、服务器和数据库系统
Agullo et al. On the resilience of parallel sparse hybrid solvers
CN113076239A (zh) 一种高性能计算机用混合神经网络故障预测方法及系统
Lin et al. Edits: An easy-to-difficult training strategy for cloud failure prediction
US9483485B1 (en) Restore database from backup system where full and incremental backups are performed simultaneously
CN109117317A (zh) 一种集群故障恢复方法和相关装置
CN117349083A (zh) 大数据灾备管理方法、装置、设备及存储介质
Agullo et al. Hard faults and soft-errors: possible numerical remedies in linear algebra solvers
Ndiaye et al. Performance comparison of hierarchical checkpoint protocols grid computing
Hussain et al. Optimal placement of in-memory checkpoints under heterogeneous failure likelihoods
Mandal et al. Performance analysis of different checkpointing and recovery schemes using stochastic model
CN104281500A (zh) 数据任意时刻恢复点(rpo)构建技术

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant