CN101477488A - 一种面向关键服务系统的系统级悔改恢复方法及系统 - Google Patents
一种面向关键服务系统的系统级悔改恢复方法及系统 Download PDFInfo
- Publication number
- CN101477488A CN101477488A CNA2009100712857A CN200910071285A CN101477488A CN 101477488 A CN101477488 A CN 101477488A CN A2009100712857 A CNA2009100712857 A CN A2009100712857A CN 200910071285 A CN200910071285 A CN 200910071285A CN 101477488 A CN101477488 A CN 101477488A
- Authority
- CN
- China
- Prior art keywords
- undo
- manager
- predicate
- mutual
- checkpoint
- 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
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供的是一种面向关键服务系统的系统级悔改恢复方法及系统。系统包括:UNDO控制器,负责整个UNDO恢复过程的控制,以及UNDO系统中其他功能模块的管理;检查点管理器,负责目标系统检查点的设置以及回卷阶段的系统硬状态备份恢复;排序器,负责将用户交互进行恰当排序;日志管理器,负责将用户交互生成日志,并在重放阶段提取对应日志;不一致管理器,负责对重放过程中产生不一致的交互谓词进行检测和补偿。该方法通过采用回卷与重放相结合的方式,有效地对故障系统进行回溯修复,同时又保证了服务系统中用户数据不会因修复而丢失,从而大大降低系统恢复的难度和代价,简化操作者的维护工作,最终降低MTTR,提高服务系统的可靠性。
Description
(一)技术领域
本发明涉及计算机系统的灾难恢复方法,尤其是涉及一种面向关键服务系统的系统级悔改恢复方法及系统。
(二)背景技术
长期以来,人们一直将大量的研究工作集中在了提高计算机系统的软件和硬件的可靠性上,而忽视了系统可靠性中的另一个至关重要的因素——人类操作者。然而目前几乎所有的大型系统都离不开人类的管理与维护,如软、硬件的配置与升级,以及故障的诊断与修复等,但众所周知的是,人类也会犯错误,即使是经过高度训练的专业人员,也会由于种种原因而不可避免地犯错误,并且人为错误已经成为目前引起服务系统停机的最主要原因。因此,如何解决由人为错误带来的系统失效问题又摆在了人们的面前。有研究表明,操作者在犯错误后可以立即自检出其中70%到83%的错误,而UNDO机制为操作者在发现错误后能立即对错误进行重新修正提供了可能性。
UNDO技术在应用程序领域(如文字处理、电子表格以及图形设计软件等)和专用系统领域(如数据库系统管理和分布式系统容错设计等)的应用已相对成熟,但其实际应用都存在着不同程度的局限性——不是对有系统状态故障无能为力,就是只是一种有针对性的内部恢复工具,并不能对人为错误进行纠正。除此之外,现有的系统级UNDO技术多为桌面系统设计,如Roxio的GoBack,IBM/XPoint的Rapid Restore,Microsoft Windows XP的System Restore以及VMware的Snapshot Manager等,这些工具大多仅是简单地将系统状态恢复到先前的某个状态,因此用户在此期间所做的工作都将会丢失,这对于桌面系统的个人用户来说可能是可以接受的,而对于存在众多用户的服务系统来说,由于系统操作者的UNDO操作而使其他终端用户的工作状态丢失则是不可接受的。
(三)发明内容
本发明的目的在于提供一种更为通用的能实现系统级悔改恢复,适用范围更为广泛,能保证服务系统状态的完整性的一种面向关键服务系统的系统级悔改恢复方法及系统。
本发明的目的是这样实现的:
包括以下步骤:
1、系统正常运行阶段:
1.1 系统的终端用户与系统的正常交互在到达服务之前,先由UNDO系统外围的UNDO代理截获并将截获到的用户交互生成交互谓词交付给UNDO系统;
1.2 UNDO系统将收到的交互谓词交由排序器进行处理,排序器将接收到的交互谓词逐个执行相应测试进行排序,再将排序后的交互谓词交付给日志管理器;
1.3 日志管理器在收到排序后的交互谓词后,将其按序记录到交互日志数据库中,并生成每条记录对应的LSN序列号;
1.4 记录后的交互谓词再交由UNDO代理发送到服务执行;
1.5 在上述过程进行的同时,UNDO系统中的检查点管理器对当前服务系统创建系统状态的检查点并存储于检查点存储器上;
2、系统故障恢复阶段:
2.1 在系统发生故障之后,通过UNDO控制器的回卷接口向检查点管理器请求所需恢复的检查点;
2.2 检查点管理器在收到回卷请求后,在检查点存储器上查找对应的检查点,并将当前故障系统的状态恢复为此检查点所在的正常状态;
2.3 完成系统修复后,通过UNDO控制器的重放接口向日志管理器请求回卷点之后对应时间段的交互日志;
2.4 日志管理器按照重放请求从日志数据库中查找对应的交互日志,并向一致性管理器发送日志中交互谓词的历史记录序列;
2.5 一致性管理器接收到交互谓词的历史记录序列后,对交互谓词逐个进行不一致性判定检测,对于其中检测出产生不一致的交互谓词进行补偿处理;
2.6 经过一致性处理后的交互谓词再交由UNDO代理发送到服务重新执行。
为可实现上述步骤,本发明构建了如下系统:
系统包括:UNDO控制器,负责整个UNDO恢复过程的控制,以及UNDO系统中其他功能模块的管理;检查点管理器,负责目标系统检查点的设置以及回卷阶段的系统硬状态备份恢复;排序器,负责将用户交互进行恰当排序;日志管理器,负责将用户交互生成日志,并在重放阶段提取对应日志;不一致管理器,负责对重放过程中产生不一致的交互谓词进行检测和补偿。其具体实施主要涵盖两个阶段:系统正常运行阶段和系统故障恢复阶段。在系统正常运行阶段,由UNDO代理截获的用户交互生成交互谓词交付给UNDO模块,通过其中的排序器执行相应测试进行排序,再交给日志管理器生成正确的交互日志;与此同时,检查点管理器按照预先设置检查点生成与维护策略创建系统状态的检查点并对其进行维护。在系统故障恢复阶段,由UNDO控制器的回卷接口向系统发出回卷指令,并通过回卷接口向检查点管理器请求所需恢复的检查点,从而完成系统状态回卷;此后进入修复阶段,对系统进行必要的修复,并且可以通过UNDO控制器的修复接口对交互日志进行查询和编辑操作;最后从重放接口向日志管理器发出重放指令,日志管理器将按照重放请求向一致性管理器发送交互谓词的历史记录序列,由一致性管理器对产生不一致的交互谓词进行检测和补偿,再将处理后的交互交由代理重新执行,从而完成整个系统恢复过程。
本发明的系统级悔改恢复方法的恢复过程可主要描述为三个阶段:第一阶段为回卷过程,即在系统发生故障后,系统管理员将系统硬状态全部回滚到一个先前正确的状态,这个硬状态既包括系统级状态如操作系统、应用服务以及配置文件等,又包括应用级状态如系统终端用户的数据等;第二阶段为修复过程,即在回卷过程结束后,系统管理员可以就已发现问题对系统采取任何必要的修复措施,这一阶段给操作者提供了尽可能宽松的环境,以保证在调整系统时的灵活性:除了可以直接对先前的错误操作进行更正,如修正错误的配置,重试不成功的升级操作等,此外还可以对交互日志进行查询与编辑操作,进行必要的修改和调整来完成修复工作;第三阶段为重放过程,即在系统修复完成之后,管理员将先前已回卷时间段内的所有用户与系统的交互操作重新执行,从而使因同系统状态一并回卷而丢失的用户状态和数据得到恢复,从而完成整个恢复过程。
本发明的技术方案有如下优点:就适用性来讲,相对于传统系统恢复方式,本发明提出了一种更为通用的系统级悔改恢复方法,对于恢复的目标系统类型没有过多限制,适用范围更为广泛,基本上目前采用主流架构的服务系统都可成为本发明的目标系统,实现系统级悔改恢复;就恢复能力来讲,本发明针对传统恢复方式单一与不完整性,结合服务系统多重数据状态的特点,采用了基于状态的检查点记录和基于命令的交互日志记录两种恢复方式相结合的方法,前者方式可以将整个系统状态全部回卷到先前的某个正确状态,而后者方式可以通过重新执行将因回卷而丢失用户状态和数据再次恢复回来,从而保证服务系统状态的完整性。
(四)附图说明
图1为UNDO系统结构示意图;
图2为UNDO系统日志记录流程图;
图3为UNDO系统检查点生成流程图;
图4为UNDO系统恢复流程图。
(五)具体实施方式
下面结合附图举例对本发明做更详细地描述:
本发明主要目的是解决大型服务系统的操作者(如系统管理员)在进行日常管理维护期间由于人为操作失误而引起的系统服务状态故障恢复问题。如图1所示,为本发明UNDO系统结构示意图,该系统包括:UNDO控制器,负责整个UNDO恢复过程的控制,以及UNDO系统中其他功能模块的管理;检查点管理器,负责目标系统检查点的设置以及回卷阶段的系统硬状态备份恢复;排序器,负责将用户交互进行恰当排序;日志管理器,负责将用户交互生成日志,并在重放阶段提取对应日志;不一致管理器,负责对重放过程中产生不一致的交互谓词进行检测和补偿。其具体实施主要涵盖两个阶段:系统正常运行阶段和系统故障恢复阶段。
在系统正常运行阶段,终端用户与系统的正常交互在到达服务之前,先由UNDO系统外围的UNDO代理截获并将截获到的用户交互生成交互谓词交付给UNDO系统。UNDO系统首先将交互谓词交由排序器进行处理,排序器将接收到的交互谓词逐个执行相应测试进行排序,这包括三种测试,分别是:可交换性测试,独立性测试和首选排序测试。其中可交换性测试是用来检测两个交互谓词以不同的顺序执行是否能产生相同的外部可见结果,独立性测试是用来进一步检测两个交互谓词是否能安全地并行执行(在可交换性测试通过后),首选排序测试是用来在两个交互谓词独立性测试失败时返回一个较佳的首选执行顺序。经过排序后的交互谓词由排序器交付给日志管理器。日志管理器在收到排序后的交互谓词后,将其按序记录到交互日志数据库中,并生成每条记录对应的LSN序列号,记录后的交互谓词再交由UNDO代理发送到服务执行。此部分工作流程如图2所示。在上述过程进行的同时,UNDO系统中的检查点管理器按照检查点生成策略对当前服务系统创建系统状态检查点并存储于检查点存储器上,若检查点存储器空间已满,则淘汰当前检查点记录中最老的检查点,同时通知日志管理器丢弃交互日志中对应部分的记录,此部分工作流程如图3所示。
在系统故障恢复阶段,在系统发生故障之后,管理员由UNDO控制器的回卷接口向系统发出回卷指令,并通过回卷接口向检查点管理器请求所需恢复的检查点。检查点管理器在收到回卷请求后,在检查点存储器上查找对应的检查点,并将当前故障系统的状态恢复为此检查点所在的正常状态,这个状态既包括系统级状态如操作系统、应用服务以及配置文件等,又包括应用级状态如系统终端用户的数据等。此后系统管理员对系统进行必要的修复,且这种修复并无过多限制,以保证在调整系统时的灵活性:除了可以直接对先前的错误操作进行更正,如修正错误的配置,重试不成功的升级操作等,此外还可以通过UNDO控制器的修复接口对交互日志进行查询与编辑操作,进行必要的修改和调整来完成修复工作。完成系统修复之后,系统管理员通过重放接口向日志管理器发出重放指令,日志管理器按照重放请求从日志数据库中查找对应的交互日志,并向一致性管理器发送日志中交互谓词的历史记录序列,由一致性管理器对产生不一致的交互谓词进行处理,此处理由三个过程组成,分别是:判定过程,用于比较一个交互谓词的原始外部输出记录同重放产生的输出是否一致;补偿过程,用于在检测到不一致性后调用相应的补偿动作来对不一致进行补偿;压制过程,用于改变与产生不一致的交互谓词有依赖关系的交互谓词的执行。一致性管理器首先调用判定过程来比较交互谓词在重放过程的执行结果和原始执行结果,如果比较结果是一致的,则输出这个结果;如果是不一致的,则判断产生了不一致,立即调用补偿过程进行补偿。补偿过程将对检测到的不一致按照定义的补偿策略进行补偿,这种补偿策略包括忽略不一致,采取相关动作减轻不一致,和采用直接或间接的方法来解释不一致等。此外,如果发现一个交互谓词依赖于一个早先产生不一致的交互谓词,这时就需要调用压制过程来改变这个交互谓词的执行,这种改变包括取消交互谓词的原始执行,通知用户,重组交互谓词的原始意图等。经过一致性处理后的交互谓词再交由UNDO代理发送到服务重新执行,从而完成整个恢复过程。此部分工作流程如图4所示。
综上所述,本发明通过采用回卷与重放相结合的方式,有效地对故障系统进行回溯修复,同时又保证了服务系统中用户数据不会因修复而丢失,弥补了传统恢复方式的缺点,从而大大降低系统恢复的难度和代价,简化操作者的维护工作,最终降低MTTR,提高服务系统的可靠性。
Claims (2)
1、一种面向关键服务系统的系统级悔改恢复方法,其特征是包括如下步骤:
(1)系统正常运行阶段:
(1.1)系统的终端用户与系统的正常交互在到达服务之前,先由UNDO系统外围的UNDO代理截获并将截获到的用户交互生成交互谓词交付给UNDO系统;
(1.2)UNDO系统将收到的交互谓词交由排序器进行处理,排序器将接收到的交互谓词逐个执行相应测试进行排序,再将排序后的交互谓词交付给日志管理器;
(1.3)日志管理器在收到排序后的交互谓词后,将其按序记录到交互日志数据库中,并生成每条记录对应的LSN序列号;
(1.4)记录后的交互谓词再交由UNDO代理发送到服务执行;
(1.5)在上述过程进行的同时,UNDO系统中的检查点管理器对当前服务系统创建系统状态的检查点并存储于检查点存储器上;
(2)系统故障恢复阶段:
(2.1)在系统发生故障之后,通过UNDO控制器的回卷接口向检查点管理器请求所需恢复的检查点;
(2.2)检查点管理器在收到回卷请求后,在检查点存储器上查找对应的检查点,并将当前故障系统的状态恢复为此检查点所在的正常状态;
(2.3)完成系统修复后,通过UNDO控制器的重放接口向日志管理器请求回卷点之后对应时间段的交互日志;
(2.4)日志管理器按照重放请求从日志数据库中查找对应的交互日志,并向一致性管理器发送日志中交互谓词的历史记录序列;
(2.5)一致性管理器接收到交互谓词的历史记录序列后,对交互谓词逐个进行不一致性判定检测,对于其中检测出产生不一致的交互谓词进行补偿处理;
(2.6)经过一致性处理后的交互谓词再交由UNDO代理发送到服务重新执行。
2、一种实现权利要求1所述的面向关键服务系统的系统级悔改恢复方法的系统,其特征是包括:UNDO控制器,负责整个UNDO恢复过程的控制,以及UNDO系统中其他功能模块的管理;检查点管理器,负责目标系统检查点的设置以及回卷阶段的系统硬状态备份恢复;排序器,负责将用户交互进行恰当排序;日志管理器,负责将用户交互生成日志,并在重放阶段提取对应日志;不一致管理器,负责对重放过程中产生不一致的交互谓词进行检测和补偿;在系统正常运行阶段,由UNDO代理截获的用户交互生成交互谓词交付给UNDO模块,通过其中的排序器执行相应测试进行排序,再交给日志管理器生成正确的交互日志;与此同时,检查点管理器按照预先设置检查点生成与维护策略创建系统状态的检查点并对其进行维护;在系统故障恢复阶段,由UNDO控制器的回卷接口向系统发出回卷指令,并通过回卷接口向检查点管理器请求所需恢复的检查点,从而完成系统状态回卷;此后进入修复阶段,对系统进行必要的修复,并且通过UNDO控制器的修复接口对交互日志进行查询和编辑操作;最后从重放接口向日志管理器发出重放指令,日志管理器按照重放请求向一致性管理器发送交互谓词的历史记录序列,由一致性管理器对产生不一致的交互谓词进行检测和补偿,再将处理后的交互交由代理重新执行,从而完成整个系统恢复过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100712857A CN101477488B (zh) | 2009-01-16 | 2009-01-16 | 一种面向关键服务系统的系统级悔改恢复方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100712857A CN101477488B (zh) | 2009-01-16 | 2009-01-16 | 一种面向关键服务系统的系统级悔改恢复方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101477488A true CN101477488A (zh) | 2009-07-08 |
CN101477488B CN101477488B (zh) | 2011-03-16 |
Family
ID=40838209
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100712857A Expired - Fee Related CN101477488B (zh) | 2009-01-16 | 2009-01-16 | 一种面向关键服务系统的系统级悔改恢复方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101477488B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916215A (zh) * | 2010-08-09 | 2010-12-15 | 哈尔滨工程大学 | 一种基于操作截取的分布式关键任务系统悔改方法 |
CN102339305A (zh) * | 2011-09-07 | 2012-02-01 | 北京人大金仓信息技术股份有限公司 | 基于偏序关系日志的数据库集群故障恢复方法 |
CN106506243A (zh) * | 2016-12-19 | 2017-03-15 | 武汉虹信通信技术有限责任公司 | 一种基于日志数据的网管故障诊断方法 |
CN110296701A (zh) * | 2019-07-09 | 2019-10-01 | 哈尔滨工程大学 | 惯性与卫星组合导航系统渐变型故障回溯容错方法 |
US10545493B2 (en) | 2017-06-15 | 2020-01-28 | International Business Machines Corporation | Enhanced service procedures using force measurement |
CN114020191A (zh) * | 2021-11-09 | 2022-02-08 | 中国工商银行股份有限公司 | 业务页面的操作视频生成方法、装置、计算机设备和介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7036044B1 (en) * | 2002-11-15 | 2006-04-25 | Microsoft Corporation | Identifying appropriate undo during a forward pass through a log |
US7739244B2 (en) * | 2004-10-14 | 2010-06-15 | Oracle International Corporation | Operating logging for online recovery in shared memory information systems |
US7613749B2 (en) * | 2006-04-12 | 2009-11-03 | International Business Machines Corporation | System and method for application fault tolerance and recovery using topologically remotely located computing devices |
CN101022633B (zh) * | 2007-02-14 | 2011-02-09 | 华为技术有限公司 | 一种配置数据恢复方法、系统及装置 |
CN100583051C (zh) * | 2008-03-10 | 2010-01-20 | 清华大学 | 检查点容错技术中文件状态一致性维护的实现方法 |
-
2009
- 2009-01-16 CN CN2009100712857A patent/CN101477488B/zh not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916215A (zh) * | 2010-08-09 | 2010-12-15 | 哈尔滨工程大学 | 一种基于操作截取的分布式关键任务系统悔改方法 |
CN102339305A (zh) * | 2011-09-07 | 2012-02-01 | 北京人大金仓信息技术股份有限公司 | 基于偏序关系日志的数据库集群故障恢复方法 |
CN102339305B (zh) * | 2011-09-07 | 2014-10-08 | 北京人大金仓信息技术股份有限公司 | 基于偏序关系日志的数据库集群故障恢复方法 |
CN106506243A (zh) * | 2016-12-19 | 2017-03-15 | 武汉虹信通信技术有限责任公司 | 一种基于日志数据的网管故障诊断方法 |
US10545493B2 (en) | 2017-06-15 | 2020-01-28 | International Business Machines Corporation | Enhanced service procedures using force measurement |
US10698394B2 (en) | 2017-06-15 | 2020-06-30 | International Business Machines Corporation | Enhanced service procedures using force measurement |
CN110296701A (zh) * | 2019-07-09 | 2019-10-01 | 哈尔滨工程大学 | 惯性与卫星组合导航系统渐变型故障回溯容错方法 |
CN114020191A (zh) * | 2021-11-09 | 2022-02-08 | 中国工商银行股份有限公司 | 业务页面的操作视频生成方法、装置、计算机设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101477488B (zh) | 2011-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101477488B (zh) | 一种面向关键服务系统的系统级悔改恢复方法及系统 | |
US10534673B2 (en) | Failover systems and methods for performing backup operations | |
US8874508B1 (en) | Systems and methods for enabling database disaster recovery using replicated volumes | |
US8639966B2 (en) | Data transfer and recovery process | |
CN101604335B (zh) | 用于自动数据库或文件系统维护和修复的系统和方法 | |
US7925633B2 (en) | Disaster recovery system suitable for database system | |
US7685189B2 (en) | Optimizing backup and recovery utilizing change tracking | |
US10565071B2 (en) | Smart data replication recoverer | |
US20070038682A1 (en) | Online page restore from a database mirror | |
US20060179347A1 (en) | Reliable standby database failover | |
US7801867B2 (en) | Optimizing backup and recovery utilizing change tracking | |
US20120303761A1 (en) | Breakpoint continuous transmission method | |
US20090177709A1 (en) | Method and system for managing a distributed transaction process | |
KR20030034411A (ko) | 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법및 그 장치 | |
CN103077242A (zh) | 一种实现数据库服务器双机热备的方法 | |
CN100394394C (zh) | 容错双工计算机系统及其控制方法 | |
CN109189860A (zh) | 一种基于Kubernetes系统的MySQL主备增量同步方法 | |
CN104166605B (zh) | 基于增量数据文件的数据备份方法及系统 | |
US20060004839A1 (en) | Method and system for data processing with data replication for the same | |
WO2012059393A1 (en) | Remote recovery with checkpoints and intention logs | |
CN105320718A (zh) | 同步复制环境中的事务完成 | |
US9378101B2 (en) | Automatic failure recovery using snapshots and replicas | |
CN101916215A (zh) | 一种基于操作截取的分布式关键任务系统悔改方法 | |
US20120158652A1 (en) | System and method for ensuring consistency in raid storage array metadata | |
CN118069422A (zh) | 数据恢复方法、存储介质、设备及计算机程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110316 Termination date: 20180116 |