首页> 中国专利> 用于软件系统保护的软件系统保护点还原方法和装置

用于软件系统保护的软件系统保护点还原方法和装置

摘要

根据本发明,提出了一种用于软件系统保护的软件系统保护点还原方法,所述方法包括以下步骤:将原始分区有效数据备份存储并保持在HPA区域中;创建干净保护点,并将所述干净保护点按创建时间存储在HPA区域中;在软件系统加载故障的情况下,将软件系统自动还原到能够实现软件系统正常加载的最近一个干净保护点;以及在无法还原到HPA区域中所存储的任一干净保护点的情况下,利用HPA区域中所存储的原始分区有效数据备份,将软件系统还原到原始软件系统启动状态。

著录项

  • 公开/公告号CN1940877A

    专利类型发明专利

  • 公开/公告日2007-04-04

    原文格式PDF

  • 申请/专利权人 联想(北京)有限公司;

    申请/专利号CN200510113342.5

  • 发明设计人 王晚丁;郭雅言;梁小霞;

    申请日2005-09-28

  • 分类号G06F11/14(20060101);G06F9/445(20060101);

  • 代理机构11021 中科专利商标代理有限责任公司;

  • 代理人朱进桂

  • 地址 100085 北京市海淀区上地创业路6号

  • 入库时间 2023-12-17 18:29:26

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2008-11-26

    授权

    授权

  • 2007-05-30

    实质审查的生效

    实质审查的生效

  • 2007-04-04

    公开

    公开

说明书

技术领域

本发明涉及计算机软件系统备份保护和恢复技术,更具体地,涉及一种用于软件系统保护的软件系统保护点还原方法和装置,能够使软件系统恢复到先前的保护状态且至少恢复到可操作状态,特别适用于计算机。

背景技术

随着硬盘容量日益增大及计算机(包括PDA(个人数字助理)、3G(第三代移动通信)手机等智能计算设备)应用的日益普及和深入,用户对于计算机软件系统(例如,包括操作系统或其他应用程序系统)的维护工作越来越复杂,因此市场上陆续出现了一些对硬盘上某个分区数据进行保护复原(即,还原)的产品。从这些产品的技术架构来看,主要可分为以下三种解决方案。

第一种解决方案可参见题为“硬盘数据备份与恢复方法”的专利No.01134778中公开的方法,该方法的基本思路在于:在硬盘中划分出一个HPA区域(主机保护区域),然后,将系统分区的有效数据备份到HPA区域,从而实现了对计算机中系统分区的某个完好状态的保护。

这种方法的缺陷是由于备份而需要占用比较多的硬盘空间,不太适合于进行多点备份(如以下所描述的)。

第二种解决方案是在硬盘上划分出一块独立的缓存区,同时更改硬盘上的MBR(主引导记录)代码,使得安装在其他分区上的操作系统无法访问到该缓存区。然后,当计算机运行时,截获所有对硬盘数据的访问操作,重定向到缓存区。在下次重启计算机时,就抛弃上次运行期间对硬盘受保护分区数据所做的全部修改,或者一次性地使这些修改生效。

这种方法的最大优点是能实现“瞬间复原”,因此它被广泛使用在公共机房计算机的快速部署上。其缺点在于:不能提供多点备份还原的功能,并且木马程序可以直接通过ATAPI(AT计算机附加设备分组接口)指令修改硬盘数据,从而绕开了此数据保护机制;

第三种解决方案可参见题为“数据地图能够连续记录并保留数据变化的方法”的专利No.200410041903中所公开的方法,该方法的基本思路在于:不直接备份数据,而只是记录某个时刻所有有效数据的位置信息,由于操作系统和通常的直接访问硬盘数据的软件对于硬盘数据的删除都不是真正的清除,而是把这些数据的位置信息从位置信息表中删除,因此就可以做到当删除了某些数据后,又可以恢复到没有删除这些数据的状态,并且还不需要占用过多的额外硬盘空间,只需要保存不同时刻的位置信息表即可。这种方法很适合做几乎无限多点的硬盘数据保护。

这种方法的缺陷也是木马程序可以直接通过ATAPI指令修改硬盘数据,从而绕开了该数据保护机制。

如果简单地把第一种和第三种解决方案结合起来,则也能形成一个合适的产品方案。具体的结合后的方法在于:在系统分区上安装好操作系统和应用软件后,在操作系统上安装基于第三种解决方案的动态数据多点保护还原模块50。当用户在使用了一段时间,创建了多个保护点之后,就可以把系统分区的有效数据内容备份到硬盘HPA区域中。这样,即使在系统分区被木马程序彻底破坏了以后,用户也可以使用HPA中上次备份好的数据来覆盖该系统分区。由此,在此基础上,用户可以继续创建新的保护点、或还原到以前的保护点(如果需要的话)。但是这种直接结合后所得到的方法依赖于用户自身判断和手工操作,因此并非一个理想的技术方案。

综上所述,需要提出一种用于软件系统保护的改进的软件系统保护点还原方法和装置,其可以结合整个分区数据压缩备份与动态修改数据重定向保存的技术优势,从而使计算机几乎总是能很方便地(自动地)恢复到先前的完好状态,从而降低用户的使用难度。

发明内容

为了克服上述缺陷,提出了本发明,因此本发明的目的是提出一种用于软件系统保护的软件系统保护点还原方法和装置,能够使软件系统恢复到先前的保护状态且至少恢复到可操作状态。

为了实现上述目的,根据本发明,提出了一种用于软件系统保护的软件系统保护点还原方法,所述方法包括以下步骤:将原始分区有效数据备份存储并保持在HPA区域中;创建干净保护点,并将所述干净保护点按创建时间存储在HPA区域中;在软件系统加载故障的情况下,将软件系统自动还原到能够实现软件系统正常加载的最近一个干净保护点;以及在无法还原到HPA区域中所存储的任一干净保护点的情况下,利用HPA区域中所存储的原始分区有效数据备份,将软件系统还原到原始软件系统启动状态。

优选地,所述创建干净保护点的步骤包括:在首次安装软件系统时,创建与所述原始软件系统启动状态相对应的第一保护点;在检测到新的可信软件要安装或卸载时,将软件系统还原到前一干净保护点,并安装或卸载所述可信软件;以及在所述可信软件安装或卸载完成之后,创建一个新的保护点。

优选地,在软件系统加载故障的情况下自动还原到最近一个干净保护点的步骤包括:在启动软件系统时,检测前一次软件系统是否正常启动;以及在前一次软件系统并未正常启动的情况下,将软件系统还原到之前的最近一个保护点,并重新启动软件系统。

优选地,所述检测前一次软件系统是否正常启动的步骤是利用前一次软件系统启动过程中所设置的正常启动标志来实现的。

优选地,所述原始分区有效数据备份对应于首次安装软件系统之后的系统分区有效数据备份。

根据本发明,还提出了一种用于软件系统保护的软件系统保护点还原装置,包括:处于HPA区域中的分区有效数据备份还原装置,用于存储并保持原始分区有效数据备份,并在动态数据多点保护还原装置的控制下,将软件系统还原到原始软件系统启动状态;处于HPA区域中的动态数据多点保护还原装置,用于创建并保存干净保护点,并且在软件系统加载故障的情况下,将软件系统自动还原到能够实现软件系统正常加载的最近一个干净保护点,以及在无法还原到HPA区域中所存储的任一干净保护点的情况下,控制所述分区有效数据备份还原装置,将软件系统还原到原始软件系统启动状态;以及硬盘数据状态检测装置,检测软件系统是否正确加载,以确定是否调用动态数据多点保护还原装置。

根据本发明,能够确保计算机系统分区在受到破坏无法正常启动时,总是能还原到先前的完好的保护点状态。另外,根据本发明,能够自动判断何时需要创建新的保护点,并且根据该判断来创建干净保护点。

附图说明

通过参考以下结合附图对所采用的优选实施例的详细描述,本发明的上述目的、优点和特征将变得显而易见,其中:

图1是示出了根据本发明实施例的软件系统保护点还原装置的模块结构图;

图2是示出了根据本发明实施例的软件系统保护点还原方法的干净保护点自动创建过程的流程图;以及

图3是示出了根据本发明实施例的软件系统保护点还原方法的干净保护点自动还原过程的流程图。

具体实施方式

下面将参考附图对本发明进行描述。需要注意的是,下面将采用操作系统作为上述软件系统的示例来解释本发明,但是本发明并不局限于此。

可应用本发明的计算机在硬件配置上没有特别要求,只要硬盘支持ATA5(ATA:AT计算机附加设备)以上版本的规范或者SATA(串行ATA)规范。

图1是示出了根据本发明实施例的软件系统保护点还原装置的模块结构图。

如图1所示,在软件配置上,所述计算机配置有:BIOS模块10、硬盘数据状态检测模块20、分区有效数据备份还原模块30、软件安装模块40、动态数据多点保护还原模块50。

BIOS模块10相当于中央控制模块,控制根据本发明的软件系统保护点还原装置的整个操作。

分区有效数据备份还原模块30是根据背景技术中提到的第一种方案来实现的。在本发明中,其可以直接通过BIOS中的Int13来访问硬盘,将硬盘系统分区中的扇区有效数据备份到HPA区域(主机保护区域)中。

需要注意的是,在本发明中,分区有效数据备份还原模块30仅将原始备份存储在HPA区域。该原始备份是首次安装操作系统之后的扇区有效数据的备份,并且一旦在首次安装操作系统之后,该原始备份的内容不再改变,即,在HPA区域中始终存储紧接在首次安装操作系统之后的扇区有效数据。而在传统方法(例如第一种解决方案)中,HPA区域中的扇区有效数据会根据诸如应用软件的安装、卸载等因素而动态地改变。另外,如稍后将详细描述地那样,分区有效数据备份还原模块30能够利用该HPA区域中的扇区有效数据,在稍后所述的保护点自动还原过程中将软件系统还原到原始备份保护状态。

动态数据多点保护还原模块50是干净保护点自动还原过程的控制模块,用于控制干净保护点自动还原过程(稍后将结合图3来详细描述该干净保护点自动还原过程)。该保护点自动还原过程在背景技术中提到的第三种解决方案的基础上,重点改进了如何把系统还原到先前的完好保护点,以便正常启动进入一个“干净”且完好的操作系统。

该动态数据多点保护还原模块50也存储在HPA区域中,该动态数据多点保护还原模块50不仅包括各“干净”保护点的配置信息,而且还用于控制稍后将参考图3描述的干净保护点自动还原过程。在最低限定下,即,如稍后所述地那样,在所有保护点均受到损坏而无法正常启动操作系统的情况下,该动态数据多点保护还原模块50还将调用分区有效数据备份还原模块30,以利用该HPA区域中的扇区有效数据,恢复到原始备份保护状态(即,原始操作系统启动状态)。

硬盘数据状态检测模块20的主要功能是检测硬盘MBR中是否安装了完好的动态数据多点保护还原模块50,决定是否要从HPA中重新把动态数据多点保护还原模块50安装到MBR中、以及检测操作系统加载程序是否存在,进而决定是否要使用分区有效数据备份还原模块30来恢复系统盘的内容。

软件安装模块40的主要功能是在不需要启动操作系统的情况下,完成从HPA区域中将动态数据多点保护还原模块50安装到操作系统中。

需要注意的是,如本领域的技术人员所公知的,以上所提到的保护点是软件系统的在某个时刻的保护状态的配置信息,包括该时刻的各有效数据块的起始位置、长度等配置信息,用于在软件系统还原时,对各有效数据块的内容进行还原。如下所述,“干净”表明该保护点的配置信息所涉及的各有效数据块均为可信和安全的,也就是,各有效数据块所对应的软件内容均为可信和安全的。

下面将参考附图来描述根据本发明的软件系统保护点还原方法。

图2是示出了根据本发明实施例的软件系统保护点还原方法的干净保护点自动创建过程的流程图。

如图2所示,开始,在首次安装好操作系统、必备驱动程序和应用软件后(对应于原始备份保护状态),安装动态数据多点保护还原模块50。由此,在步骤201,创建第一个保护点,此时,该保护点处于一种非常干净的状态(另外,该保护点对应于原始软件系统启动状态)。在步骤203,动态数据多点保护还原模块50检测是否有软件要安装到操作系统所在分区上。一旦检测到需要安装软件,则在步骤205,判断该软件是否为可信的。如果要安装的软件是可信软件(步骤205,是),则动态数据多点保护还原模块50首先重新启动计算机,从而将系统分区还原到前一个保护点(干净保护点)(步骤207)。然后,在此保护点的基础上安装该可信的新软件(步骤209)。在安装完新软件之后,将当前状态保护起来,将立即重新一个新的保护点,此时该保护点成为一个最新的干净状态(步骤211)。

由于当每次用户安装所需的可信软件时,如上所述,动态数据多点保护还原模块50都会先重启计算机,丢弃所有内容,将系统分区还原到前一个保护点(干净保护点),再安装软件,这样就保证了从原始安装状态(即,原始软件系统启动状态)开始的每个保护点基本上均为干净的。

需要注意的是,尽管以上仅示出了在按照可信软件之后创建干净保护点的情况,但是明显地,还存在当有软件(当然,其也是可信软件)要卸载的情况下,也可创建干净保护点。

由于该技术方案从产品实现的方便性角度考虑,未对用户数据盘进行限制,因此在往系统盘安装可信软件的时候,驻留在数据盘的病毒也有可能利用操作系统本身潜在的漏洞去攻击系统盘,但是这种可能性是非常小的也并非本发明所要研究的内容。

为了不影响用户对系统所做的正常修改,例如,在“我的文档”中保存一些个人文件、网页浏览的历史记录等,动态数据多点保护还原模块50在安装的时候,会把这些目录重定向到数据分区上,这样的话这些个性化数据就不会受到系统分区还原的影响。

图3是示出了根据本发明实施例的软件系统保护点还原方法的干净保护点自动还原过程的流程图。该过程出现在当系统分区不能正常启动的情况下。

在步骤301,计算机在完成BIOS自检操作,准备启动操作系统。在步骤303,先检测上次是否正常启动操作系统的标志,即,判断操作系统上次是否能正常启动。如果上次未正常启动(步骤303,否),则进入步骤305,否则,进入步骤313。在步骤305,判断是否还有更早的保护点。如果有(步骤305,是),则进入步骤307,否则进入步骤311。在步骤307,还原到前一个保护点。然后,在步骤309,基于该保护点状态重新启动操作系统。

如上所述,如果在步骤305,断定没有更早的保护点时,则进入步骤311,在步骤311,调用分区有效数据备份还原模块30,利用HPA区域中的原始分区有效数据备份将软件系统还原到原始备份保护状态。

另外,如上所述,如果在步骤303,断定上次正常启动,则清除(复位)正常启动标志(表示假设这次启动可能会失败),并开始启动操作系统(步骤315)。在启动操作系统的过程中,在步骤317,判断操作系统是否正常启动。如果正常启动,则对该正常启动标志进行置位(步骤319)。否则,该正常启动标志仍处于复位状态,表示操作系统未正常启动。由此,在下一次启动时,能够在步骤303处进行操作系统是否正常启动的判断。

尽管以上已经结合本发明的优选实施例示出了本发明,但是本领域的技术人员将会理解,在不脱离本发明的精神和范围的情况下,可以对本发明进行各种修改、替换和改变。因此,本发明不应由上述实施例来限定,而应由所附权利要求及其等价物来限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号