论文部分内容阅读
由于系统复杂性、异构性、动态性日益提高,以及外在攻击手段的不断革新,关键任务系统的管理与维护日益困难,操作失误频繁发生,致使系统时刻面临使命中断、软件故障,甚至是崩溃死机等失效问题的威胁,分布式关键任务系统失效恢复问题已成为一项严峻的挑战。而大量的统计表明,绝大多系统失效的发生与人的失误有关。面对随机突发的人为误操作所造成的系统失效问题,简单地通过提高系统的软硬件性能已经无助于问题的解决,还可能使系统朝着更不可靠的方向发展。针对该问题,人们在早期检查点技术的基础上,提出了“悔改”恢复的思想,以使系统具有对用户操作具有后悔和改正的能力。悔改技术因其对用户操作的灵活控制功能以及在恢复效率上的明显优点,得到研究者的广泛重视,并成为解决系统失效问题、保证系统和数据安全的有效手段。本文对系统失效的原因、类型、预防及恢复等方面进行了详细分析。针对操作失误在系统失效诱因中的比重日益增大的问题,本文通过借鉴传统的undo/redo机制,在现有的3R恢复思想的基础上,设计了基于操作截取的悔改恢复机制。在此基础上,本文提出并实现了一种基于操作增量的分层悔改恢复方法。首先,采用形式化描述语言对基于操作增量的悔改相关概念进行定义与规约;然后,建立分布式系统分层悔改模型,给出了操作增量的构建方法以及对错误操作的修复方法,并利用分级补偿策略解决悔改恢复过程可能产生的不一致性问题。实验结果表明,基于操作增量的悔改恢复方法与传统的卷回恢复方法相比,减小了恢复粒度、降低了恢复所需系统开销、提高了恢复速度,体现了更高的恢复效率。