CN101916215B - 一种基于操作截取的分布式关键任务系统悔改方法 - Google Patents

一种基于操作截取的分布式关键任务系统悔改方法 Download PDF

Info

Publication number
CN101916215B
CN101916215B CN2010102477943A CN201010247794A CN101916215B CN 101916215 B CN101916215 B CN 101916215B CN 2010102477943 A CN2010102477943 A CN 2010102477943A CN 201010247794 A CN201010247794 A CN 201010247794A CN 101916215 B CN101916215 B CN 101916215B
Authority
CN
China
Prior art keywords
repentance
stack
record
module
distributed
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.)
Expired - Fee Related
Application number
CN2010102477943A
Other languages
English (en)
Other versions
CN101916215A (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.)
Harbin Engineering University
Original Assignee
Harbin Engineering 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 Harbin Engineering University filed Critical Harbin Engineering University
Priority to CN2010102477943A priority Critical patent/CN101916215B/zh
Publication of CN101916215A publication Critical patent/CN101916215A/zh
Application granted granted Critical
Publication of CN101916215B publication Critical patent/CN101916215B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供的是一种基于操作截取的分布式关键任务系统悔改方法。首先,对系统重要文件进行冗余备份,保证数据信息的可恢复性。其次,操作截取器实时截取系统的操作信息,写入操作日志;操作分析器分析捕获到的操作记录,将不可恢复或无需恢复的操作交由操作存储器写入冗余文件,需要恢复的操作则交由悔改器处理。当系统失效发生时,悔改器通过操作回滚、操作修复、操作重放三个连续的步骤对系统实施悔改恢复,并通过一致性管理器依据分级补偿策略解决悔改过程可能产生的不一致性问题。

Description

一种基于操作截取的分布式关键任务系统悔改方法
技术领域
本发明涉及的是一种应用于具有高安全标准的分布式关键任务系统的信息安全保护方法。
背景技术
由于系统复杂性、异构性、动态性日益提高,以及外在攻击手段的不断革新,操作员对分布式关键任务系统的管理与维护日益困难,操作失误频繁发生,致使系统时刻面临软件中断、数据丢失、甚至系统崩溃等系统失效问题的威胁,如何保障分布式关键任务系统的连续可靠运行已成为一项严峻的挑战。针对该问题,早期的研究者从备份恢复的角度进行了一些有意义的探索。例如,公开号为CN1517918的专利中的技术方案,通过定期备份数据文件,使系统可以恢复到较早的健康状态;公开号为CN1784676的专利则给出了基于快照副本的系统恢复方法。备份恢复技术的缺点在于需要反复地对原始文件进行备份,增加了大量的额外恢复开销,也无法保证备份数据的实时性,在面对无法预测的随机误操作时,更是显得苍白无力,因此限制了其在分布式关键任务系统中的进一步应用。
由于操作员的操作失误在系统失效诱因中所占的比例日益增大,为了更好地解决分布式关键任务系统失效问题,研究者在传统的备份恢复技术的基础上,提出了“悔改”方法。所谓“悔改”方法是指系统对已经执行完毕的命令、操作等具有“后悔”和“改正”的能力,从而能使系统从失效状态恢复过来。悔改方法因其对用户操作灵活的undo/redo功能以及在恢复效率上的明显优势,得到了研究者的广泛重视。悔改方法最早应用于绘图和文字处理领域(公开号CN101539960),在分布式关键任务系统领域的应用尚处于起步阶段。数据库事务回滚技术是悔改思想的一种体现,但它只是实现了事务回滚,并未使系统从失效中恢复,因此并未实现真正的悔改。
发明内容
本发明的目的在于提供一种能够对系统实施悔改恢复,解决悔改过程可能产生的不一致性问题的基于操作截取的分布式关键任务系统悔改方法。
本发明的目的是这样实现的:
步骤一:对分布式关键任务系统重要程序文件和数据文件进行冗余备份;
步骤二:操作截取器实时截取系统操作,捕获操作参数及操作数据,写入操作日志;
步骤三:操作分析器实时分析新发生的操作;操作监视模块监视操作日志的变化,读取操作日志中新形成的操记录,交由过滤模块处理;过滤模块对接收到的操作记录依据“可恢复性判断算法”进行可恢复性检查,将不可恢复或无需恢复的操作交由操作存储器直接写入冗余文件,把需要恢复的操作压入回滚栈,供悔改器处理;
步骤四:当系统失效发生时,悔改器对系统实施悔改恢复;首先,悔改器调用回滚模块分析历史操作记录,发出操作记录退栈消息;回滚操作栈响应退栈消息,使误操作记录退栈;接着,悔改器调用修复模块工作,修复模块依据“修复算法”,对误操作记录实施修复,修复后的误操作记录压入重放操作栈中;最后,悔改器调用重放模块工作,重放模块取出重放操作栈中的操作记录,重新执行;
步骤五:当悔改恢复过程产生不一致性时,一致性管理器依据分级补偿机制,对不一致性进行处理。
本发明面向分布式关键任务系统,提出了一种基于操作截取的悔改方法,该方法通过操作截取器、操作日志、操作分析器、悔改器、一致性管理器及操作存储器实现对系统操作的悔改。首先,对系统重要文件进行冗余备份,保证数据信息的可恢复性。其次,操作截取器实时截取系统的操作信息,写入操作日志;操作分析器分析捕获到的操作记录,将不可恢复或无需恢复的操作交由操作存储器写入冗余文件,需要恢复的操作则交由悔改器处理。悔改器是本发明的核心部分,当系统失效发生时,悔改器通过操作回滚、操作修复、操作重放三个连续的步骤对系统实施悔改恢复,并通过一致性管理器依据分级补偿策略解决悔改过程可能产生的不一致性问题。
附图说明
图1本发明的实现原理图;
图2可恢复判断方法流程图;
图3修复方法流程图;
图4悔改恢复过程关键代码实现。
具体实施方式
下面结合附图举例对本发明做更详细地描述:
图1说明了本发明的实现原理,给出了一种基于操作截取的分布式关键任务系统悔改方法的详细工作过程:
步骤一:对分布式关键任务系统重要程序文件和数据文件进行冗余备份,以保证系统初始状态信息的完整性和可恢复性。这样,即使在悔改方法无法正常工作的“最坏”情况下,系统仍能被恢复到初始状态。
步骤二:操作截取器实时截取系统操作,捕获操作参数及操作数据,写入操作日志。
步骤三:操作分析器实时分析新发生的操作。操作监视模块监视操作日志的变化,读取操作日志中新形成的操记录,交由过滤模块处理。过滤模块对接收到的操作记录依据“可恢复性判断算法”进行可恢复性检查,将不可恢复或无需恢复的操作交由操作存储器直接写入冗余文件,把需要恢复的操作压入回滚栈,供悔改器处理。
步骤四:当系统失效发生时,悔改器对系统实施悔改恢复。首先,悔改器调用回滚模块分析历史操作记录,发出操作记录退栈消息;回滚操作栈响应退栈消息,使误操作记录退栈;接着,悔改器调用修复模块工作,修复模块依据“修复算法”,对误操作记录实施修复,修复后的误操作记录压入重放操作栈中;最后,悔改器调用重放模块工作,重放模块取出重放操作栈中的操作记录,重新执行。
步骤五:当恢复一致性管理器依据分级补偿机制,解决悔改恢复过程中可能产生的不一致性问题。
1、冗余文件
在系统处于初始状态时,通过为系统重要程序文件和数据文件进行冗余备份,保障了系统重要系统信息和数据信息的完整性和可恢复性。系统运行过程中,随着无需恢复和不可恢复等“安全”操作的写入,冗余文件保存了系统最近的健康状态,从而避免了对原始文件的反复备份。
2、操作截取器
操作截取器负责实时截取系统运行过程中产生的操作信息,如IO操作、进程通信操作及SQL操作等。应用现有HOOK技术及SQL截取技术,可以对系统操作进行无侵入式地拦截和捕获。以下给出了操作截取器实现中一次完整的HOOK操作截取过程:(1)注入操作截取dll模块;(2)保存系统函数入口地址;(3)替换进程中的系统函数,执行dll模块;(4)恢复系统函数入口地址,重新调用原来的系统函数。
3、操作日志
操作截取器捕获到操作信息后,按照一定格式写入操作日志,形成操作记录。操作记录保存了操作过程的完整信息,包括操作发生时间、操作发生位置、操作类型及操作所携带的数据等。以下给出了操作记录的一种实现方式:
op_id|op_time|op_location|op_type|op_data
其中,op_id标识本次操作;op_time记录本次操作发生的时间;op_location记录本次操作的位置信息;op_type给出了本次操作的类型;op_data记录了本次操作的操作数据。
4、操作分析器
操作分析器由监视模块和过滤模块构成,对截取器捕获到的操作进行分析。监视模块实时读取操作日志中形成的操作记录,交由过滤模块处理。过滤模块根据“可恢复性判断算法”,如图2,对监视模块交付的操作记录进行可恢复性判断。以下给出了“可恢复性判断算法”的一种实现方式:
算法:可恢复性判断算法
输入:操作记录
输出:可恢复;无需恢复;或者不可恢复
{
    opr=new Oprecord(op_record);    /*传入操作记录参数*/
    if(opr.isSaveable())              /*可存储判断*/
    {
         if(opr.isUndoable())         /*可回退判断*/
         {
              if(opr.isThreatenable())          /*可引起失效判断*/
                   opr.setRecoveryType(“可恢复”);
              else
                  opr.setRecoveryType(“无需恢复”);
         }
         else
              opr.setRecoveryType(“不可恢复”);
    }
    else
       opr.setRecoveryType(“不可恢复”);
}
过滤模块对操作记录进行可恢复性判断后,将不可恢复或无需恢复的操作交由操作存储器直接写入冗余文件,把需要恢复的操作压入回滚栈,供悔改器处理。
5、悔改器
当系统失效发生时,由悔改器负责对系统实施悔改恢复。首先,悔改器调用回滚模块分析历史操作记录,发出操作记录退栈消息;回滚操作栈响应退栈消息,使误操作记录退栈;接着,悔改器调用修复模块工作,修复模块依据修复算法,如图3,对误操作记录实施修复,修复后的误操作记录压入重放操作栈中;最后,悔改器调用重放模块工作,重放模块取出重放操作栈中的操作记录,重新执行。以下给出了修复算法的一种实现方式,悔改过程关键代码如图4所示。
算法:修复算法
输入:操作记录
输出:修复后的操作记录
{
    opr=stac k.getTopItem();        /*回滚栈栈顶出栈*/
    if(opr.isReversible())            /*可逆判断*/
    {
         reverseRecovery(opr);       /*逆向修复*/
    }
    else
         if(opr、isReplaceable())     /*可替换判断*/
         {
             replaceRecovery(opr);   /*替换修复*/
         }
    else
       Inconsistency(opr);           /*不一致性处理*/
}
6、一致性管理器
一致性管理器负责检查悔改恢复过程可能产生的“不一致性”问题。所谓的“不一致性”问题是指,由于操作信息在修复过程中发生了变化,使得系统重放后的状态与系统失效前的状态相比可能产生偏差、不一致、甚至引入新的错误。为了解决“不一致性”问题,一致性管理器通过建立分级补偿机制,使系统最大限度地恢复到失效前的状态。分级补偿机制下所示。
Figure BSA00000220553700061
本发明给出了一种基于操作截取的分布式关键任务系统悔改恢复方法,可以解决基于操作的分布式关键任务系统失效问题。该方法与传统的基于检查点的备份恢复方法相比,具有低恢复开销,高恢复速度的优点,应用于具有高安全标准的分布式关键任务系统。

Claims (1)

1.一种基于操作截取的分布式关键任务系统悔改方法,其特征是:
步骤一:对分布式关键任务系统重要程序文件和数据文件进行冗余备份;
步骤二:操作截取器实时截取系统操作,捕获操作参数及操作数据,写入操作日志;
步骤三:操作分析器实时分析新发生的操作;操作监视模块监视操作日志的变化,读取操作日志中新形成的操作记录,交由过滤模块处理;过滤模块对接收到的操作记录进行可恢复性检查,将不可恢复或无需恢复的操作交由操作存储器直接写入冗余文件,把需要恢复的操作压入回滚栈,供悔改器处理;
步骤四:当系统失效发生时,悔改器对系统实施悔改恢复;首先,悔改器调用回滚模块分析历史操作记录,发出操作记录退栈消息;回滚操作栈响应退栈消息,使误操作记录退栈;接着,悔改器调用修复模块工作,对误操作记录实施修复,修复后的误操作记录压入重放操作栈中;最后,悔改器调用重放模块工作,重放模块取出重放操作栈中的操作记录,重新执行;
步骤五:当悔改恢复过程产生不一致性时,一致性管理器依据分级补偿机制,对不一致性进行处理;所述的不一致性是指,由于操作信息在修复过程中发生了变化,使得系统重放后的状态与系统失效前的状态相比产生的偏差、不一致及引入的新的错误。
CN2010102477943A 2010-08-09 2010-08-09 一种基于操作截取的分布式关键任务系统悔改方法 Expired - Fee Related CN101916215B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010102477943A CN101916215B (zh) 2010-08-09 2010-08-09 一种基于操作截取的分布式关键任务系统悔改方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010102477943A CN101916215B (zh) 2010-08-09 2010-08-09 一种基于操作截取的分布式关键任务系统悔改方法

Publications (2)

Publication Number Publication Date
CN101916215A CN101916215A (zh) 2010-12-15
CN101916215B true CN101916215B (zh) 2012-02-01

Family

ID=43323732

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102477943A Expired - Fee Related CN101916215B (zh) 2010-08-09 2010-08-09 一种基于操作截取的分布式关键任务系统悔改方法

Country Status (1)

Country Link
CN (1) CN101916215B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104380251A (zh) * 2014-05-05 2015-02-25 华为技术有限公司 一种拟真桌面建立方法及相关装置

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103995691B (zh) * 2014-05-21 2015-04-15 中国人民解放军国防科学技术大学 基于事务的服务状态一致性维护方法
CN104217174A (zh) * 2014-09-05 2014-12-17 四川长虹电器股份有限公司 分布式文件安全存储系统及其存储方法
CN105589887B (zh) * 2014-10-24 2020-04-03 中兴通讯股份有限公司 分布式文件系统的数据处理方法及分布式文件系统
CN109117314B (zh) * 2015-12-18 2021-04-16 福建随行软件有限公司 一种防误操作的数据快速恢复方法及系统
CN108170846B (zh) * 2018-01-17 2018-12-11 清华大学 基于弹性表模型的大规模多源异构数据持久化方法
CN109271443A (zh) * 2018-08-02 2019-01-25 中国建设银行股份有限公司 分布式数据一致性处理方法、系统、装置和存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008150849A1 (en) * 2007-05-30 2008-12-11 The Board Of Governors For Higher Education Method and apparatus for maximizing data recoverability using coupling updates by parities
CN101477488B (zh) * 2009-01-16 2011-03-16 哈尔滨工程大学 一种面向关键服务系统的系统级悔改恢复方法及系统
CN101539960A (zh) * 2009-04-27 2009-09-23 武汉大学 复制式协同CAD系统中保持用户意愿的Undo/Redo方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104380251A (zh) * 2014-05-05 2015-02-25 华为技术有限公司 一种拟真桌面建立方法及相关装置
CN104380251B (zh) * 2014-05-05 2018-11-16 华为技术有限公司 一种拟真桌面建立方法及相关装置

Also Published As

Publication number Publication date
CN101916215A (zh) 2010-12-15

Similar Documents

Publication Publication Date Title
CN101916215B (zh) 一种基于操作截取的分布式关键任务系统悔改方法
GB2567761B (en) Automated and self-adjusting data backup operations
EP2366151B1 (en) Method and system for managing replicated database data
US8572046B2 (en) System and method for backing up a computer system
KR101429575B1 (ko) 데이터베이스의 실시간 백업 시스템, 데이터 복구 시스템 및 데이터 복구 방법
US8103911B2 (en) Method and system for disaster recovery based on journal events pruning in a computing environment
CN109582443A (zh) 基于分布式存储技术的虚拟机备份系统
US7685189B2 (en) Optimizing backup and recovery utilizing change tracking
US20070208918A1 (en) Method and apparatus for providing virtual machine backup
CN110704242B (zh) 一种连续数据保护系统及方法
EP2425344B1 (en) Method and system for system recovery using change tracking
CN102169453A (zh) 一种文件在线备份方法
CN102609337A (zh) 一种内存数据库快速数据恢复方法
CN103885855A (zh) 数据备份和恢复的方法及装置
US20080162600A1 (en) Optimizing backup and recovery utilizing change tracking
CN102880522A (zh) 面向硬件故障的系统关键文件故障纠正方法及装置
CN102541940A (zh) 一种工业数据库数据完整性管控方法
US20060004839A1 (en) Method and system for data processing with data replication for the same
CN101923573A (zh) 一种针对数据丢失的数据库数据快速恢复方法
SG181959A1 (en) System event logging system
CN101501653B (zh) 磁盘的长期备份
CN102571845A (zh) 一种分布式存储系统的数据存储方法及装置
CN104133742A (zh) 一种数据保护的方法及装置
US20220413971A1 (en) System and Method for Blockchain Based Backup and Recovery
US10691552B2 (en) Data protection and recovery system

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

Granted publication date: 20120201

Termination date: 20170809

CF01 Termination of patent right due to non-payment of annual fee