[发明专利]软件运行时执行恢复与重放方法无效

专利信息
申请号: 200710049856.8 申请日: 2007-08-27
公开(公告)号: CN101154185A 公开(公告)日: 2008-04-02
发明(设计)人: 梁晓;曹跃;李毅超;李晓冬;肖武 申请(专利权)人: 电子科技大学
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 暂无信息 代理人: 暂无信息
地址: 610054四川*** 国省代码: 四川;51
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 软件 运行 执行 恢复 重放 方法
【说明书】:

技术领域

发明涉及二进制程序运行时执行恢复与重放方法。本发明用于对二进制程序的执行分析与容错。

背景技术

软件容错系统一般采用冗余来满足系统高可靠性的要求,冗余可以划分为时间冗余和空间冗余两类。时间冗余是指出现故障时通过将控制回卷到一个无错的执行点,通过采用同种方法或不同方法再试的手段得到正确结果;空间冗余通常指由多个相同组件并行执行,通过将各自执行结果比较或者表决的方法来检测错误或者得到正确结果。空间冗余代价大,成本高,主要应用于特殊领域。时间冗余不仅开销小,而且行之有效。时间冗余方法中最常用的是进程检查点(Checkpointing)方法。

进程检查点机制是在进程正常运行时周期性的设置检查点,把进程在运行时的正确状态保存到稳定存储器中。如果在随后运行过程中发生故障,那么将进程进行卷回恢复,从稳定存储器中读出前一个检查点时的正确状态,从该点继续执行。这样就避免了由于故障而导致的程序从头重新执行,因而有效的减少了计算损失,设置检查点的时刻称之为检查点时刻;保存进程状态的文件称之为检查点文件。通过设置检查点能够保存和恢复程序的运行状态,因此它在许多领域都有重要的应用。

进程检查点可以分别在操作系统级、用户级或者应用程序级实现,但各自有其优缺点。操作系统级进程检查点对用户程序透明,容易得到进程的内核数据结构,但需要修改系统内核,因此对于基于封闭操作系统的进程检查点难以实现,并且其可配置性和移植性不高,检查点开销很大。用户级的进程检查点,将检查点功能编译为一个动态链接库链接到应用程序,可以实现对应用程序透明,易于配置且开销较小,但其实现机制与操作系统平台密切相关,无法实现在不同系统平台之间移植。应用程序级的进程检查点,优点是能够实现平台无关,可在不同的操作系统间移植;缺点是只限于几种有限的编程语言,目前仅有基于JAVA虚拟机的应用程序级检查点。由于用户级的进程检查点具有对应用程序透明,易于配置、开销较小且实用等特点,因此大部分检查点系统都选择在用户级实现。

随着PC机使用范围的不断扩大,Windows系统已经成为一个日益流行的桌面平台,尤其是在中低端市场。与此同时,基于Windows操作系统的机群系统也开始出现。由于Windows操作系统在集群系统中的运用,随故障负载和隶属关系的影响,彼时不再可用,即具有变化特性。

因此,迫切需要一种能有效运行于Windows操作系统环境上,并支持高效快速执行恢复与重放的方法。该方法应具有较小的运行开销,能支持各类系统内核资源的恢复,重现系统的运行状态,为软件容错提供可靠而全面的分析信息和执行平台。

发明内容

有鉴于此,本发明的目的是提供一种基于检测点设置的执行恢复方法,它将结合对用户地址空间、系统内核资源的保存和恢复来实现对二进制程序进程状态的任意恢复和重放。

为了达到上述目的,本发明提供了一种软件运行时执行恢复与重放方法,其特征在于:该系统包括了下述组成部件:

代码注入部件:检测点设置部件和执行恢复部件都是以动态链接库(DLL)的方式存在的,它们的功能独立于目标二进制程序。为了能将检测点设置与恢复的功能增加到目标二进制程序,必须通过代码注入方式将动态链接库的代码远程注入到目标二进制程序中,并按代码的指令执行相应的功能。代码注入部件利用CreateRemoteThread函数,能够容易的在另一个进程中创建线程。利用在目标进程中新创建的线程调用LoadLibrary函数来加载想要插入的DLL。该方法的基本操作步骤:使用VirtualAllocEx函数,在目标进程的地址空间中分配内存;使用WriteProcessMemory函数,将DLL的路径拷贝到第一步中分配的内存中;使用GetProcAddress函数,获取在Kernel32.dll中的LoadLibraryA或LoadLibraryW函数的实际地址;使用CreateRemoteThread函数,在目标进程中创建一个线程,它调用正确的LoadLibrary函数,为它传递第一步中分配的内存地址。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200710049856.8/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top