使用当前系统操作正在使用的分区的方法

文档序号:6429699阅读:618来源:国知局
专利名称:使用当前系统操作正在使用的分区的方法
技术领域
本发明涉及计算机操作系统,特别涉及操作被当前系统使用的分区的方法。
背景技术
由于病毒破坏,人为操作等原因导致当前系统的部分功能不正常,需要还原当前系统分区,或者需要把另外一台计算机备份的镜像文件通过异机还原技术还原到当前系统分区中,或者把另外一台计算机系统迁移到当前系统分区中。目前实现上述要求,通常会关闭当前系统,通过修改引导程序或者通过光盘引导到另外一个系统中,我们称该系统为 PreOS0该PreOS是独立于当前系统的操作系统,当PreOS运行时不使用当前系统分区,在该ft~e0S中有预先定制好的软件,该软件执行上述操作,完成用户的需求。目前常用的有基于DOS, Linux, WinPE的PreOS0采用PreOS方式存在以下缺点1、硬件兼容性差。D0S,LinuX存在很大兼容性问题,硬件支持比较少,很多新的硬件不支持;WinPE也需要安装硬件驱动,因为在制作PreOS镜像时,不可能把所有硬件驱动都定制到该I^reOS镜像中,所以对某些硬件,还需要用户手动安装,用户使用很不方便。2、需要额外的软件开发和测试。对于DOS,因为是16位程序,不但编写和调试程序不方便,还有640K限制;对于Linux,虽然是开源代码,但跟用户当前的系统的应用接口有区别,需要独立开发相应的应用程序;对WinPE,如果当前系统分区是WINDOWS情况稍微好点,但也有一些差别,需要特别针对性的编写代码,也许流程和用户交互都有所不同。3、需要重新启动系统两次。关闭当前操作系统后进入ft~eOS,在ft~e0S中操作完成后,从新的还原系统启动,这需要很长时间。一般来说,关闭操作系统大概1 3分钟,启动时也同样花1 3分钟时间。4、软件分发不便。PreOS是一个已经做好的操作系统镜像,对于Linux的镜像文件大小通常在34 60MB,WinPE镜像文件大小通常在100 200MB,对应的软件安装包比较大,不利于软件分发和网上下载。另外一种情况是,系统分区过大,或者比较小,需要调整当前系统分区的大小。目前普遍采用启动到PreOS操作系统中来进行,或者在NATIVE环境中进行。采用PreOS方式来执行分区调整同样存在上述的缺点。而NATVIE环境是一个特殊的执行环境,是指在 WINDOWS启动的初始阶段,只有内核等必须的模块启动,而WIN32子系统还未启动,很多服务还未加载。该NATIVE环境只有少数API (预先定义的函数)可用,网络通信以及用户权限未建立,对程序的运行限制非常大。所以采用在NATIVE环境下来调整分区等操作存在如下缺点1)软件功能限制比较大,基本不能使用网络。2)需要针对该环境独立开发和测试软件。3)同样需要重新启动系统两次。美国专利US7509530所述方法是针对当前系统分区还原。其方法具体是在当前系统找到空闲空间,复制当前系统分区到该空闲空间,通过卷(或分区)过滤驱动把当前系统分区映射到该空闲分区。拷贝PreOS启动镜像到该系统分区,重新引导从该ft~e0S启动镜像启动系统,从该PreOS系统中还原当前系统分区。因为该发明需要PreOS系统,所以也存在上述问题。另外该方法还需要复制两次系统数据,这两次系统数据复制分别是一次是从当前系统到空闲空间,另一次是复制I^reOS系统到当前系统分区。复制是整个系统数据复制,数据量大,需要花费较多时间。

发明内容
本发明所要解决的技术问题,就是针对现有技术的上述缺点,提供一种使用当前操作系统,对正在使用的分区(当前系统分区,即目标分区)进行操作的方法。本发明解决所述技术问题,采用的技术方案是,使用当前系统操作正在使用分区的方法,包括如下步骤a、确定目标分区;b、把正在使用目标分区的执行代码数据锁定到内存中;C、在空闲的存储空间建立数据临时转存空间;d、对目标分区的写操作转到数据临时转存空间;e、对目标分区的读操作优先在临时转存空间查找,没找到才到目标分区的原位置读取;f、把即将使用目标分区的数据转存到临时转存空间;g、对目标分区进行操作;h、重新启动系统,目标分区的操作生效。本发明通过内存锁定,以及把当前操作系统使用的数据映射到临时转存空间,让当前操作系统不再使用目标分区或卷,达到可以自由操作目标分区或卷的目的,并保证数据的一致性。本发明克服了现有技术硬件兼容性差、需要额外开发和测试软件、需要重新启动系统两次、软件分发不便以及NATIVE下软件功能限制大的缺点,并大幅减少复制当前系统的数据量。进一步的,步骤a之前还包括步骤aO、关闭对目标分区操作无关的应用程序。在执行本发明步骤前,提示用户或者强制关闭不必要的应用程序,只留下对目标分区操作相关的程序,这样尽可能减少系统中执行程序的数量。因为这些程序会使用一定系统内存,同样可能打开文件,间接的增加本发明的转存数据量的大小。该方案可以进一步优化本发明。具体的,所述临时转存空间位于内存和/或非目标分区。临时转存空间可以根据系统的具体环境,在内存或其他分区(非目标分区)中建立,也可以一部分在内存,一部分在其他分区,如果条件容许本发明推荐在内存中建立临时转存空间,以提高数据转存速度。进一步的,步骤d中,通过启动过滤驱动实现写操作的转移。采用过滤驱动实现写操作的转移具有技术成熟,容易实现的特点。进一步的,步骤g为,通过所述过滤驱动提供的特别接口对目标分区进行操作。该方案利用已经启动的过滤驱动提供的特别接口对目标分区进行操作,可以简化操作程序,提高操作速度。具体的,所述对目标分区进行操作,是对目标分区进行还原;
或者,所述对目标分区进行操作,是对目标分区进行分区调整。这是普遍的常用操作,最适合应用本发明技术方案。本发明的有益效果是1、硬件兼容性好。本发明使用当前操作系统,当前操作系统的硬件驱动都已经安装好,不存在不能识别的硬件。而采用PreOS方式,由于是在软件发布时定制的,PreOS启动镜像不可能附带所有硬件驱动,一般来说只带常用的硬件驱动,很多特别的硬件是不能识别的,特别是硬件型号非常多,并且新的硬件不断出现,很难收集所有硬件驱动。2、分区还原以及分区管理软件不需要针对ft~e0S开发。本发明中,分区还原以及分区管理软件是在当前系统中运行,不需要额外开发,特别是分区管理软件。同时也不存在因为程序环境不一样,用户的操作界面和流程也不一样的缺点。比如NATIVE环境,WinPE环境,LINUX环境,跟当前的操作系统环境总有些差别或功能限制,比如三者的网络访问就不是很好。3、减少软件安装包大小。因为本发明不需要定制I^reOS启动镜像,所以安装小得多。例如对于当前技术使用LINUX的ft~e0S启动镜像,采用本发明的软件安装包通常会减小34 60MB ;对于当前技术使用WinPE的PreOS启动镜像,则会减少100 200MB。4、本发明比现有技术要求的内存低。PreOS系统是在内存中虚拟一个磁盘,需要占用较多内存,经过测试WIN7的WinPE启动镜像,需要800MB IG的内存才使用正常。本发明可以使用磁盘作临时转存空间,对最小内存配置要求没有PreOS高。5、减少启动次数,节约时间。使用PreOS方式和在NATIVE环境下都需要系统重新启动两次。虽然有数据转存时间,但通过内存锁定的措施,数据量大大减少,数据转存的时间比较短。如果临时转存空间是内存,那么数据转存的时间比重新启动一次的时间要少得
^^ ο6、减少复制操作系统数据量以及节约非常多的时间。美国专利US7509530需要复制两次系统数据;本发明采用锁定内存等措施,只需要复制当前系统很少的必要数据。专利 US7509530需要复制两次系统数据,以及需要重新引导系统,所花时间较长;本发明不需要重新引导系统就可以还原正在使用的分区,并且复制的数据量小,所以花费的时间较少。


图1是本发明的流程图;图2是过滤驱动处理流程;图3是数据转存流程;图4是数据转存后数据访问示意图。
具体实施例方式下面结合附图详细描述本发明的技术方案。本发明的流程示意图如图1所示。步骤610,用户选择目标分区。步骤620,扫描当前系统,把正在使用目标分区中的执行代码数据锁定到内存中。锁定应用程序和系统内核到内存中,使其在执行中不会交换到系统分区中,可以减少很大部分数据的复制量。例如,Windows或Linux系统,提供了扫描系统中的执行程序,以及程序使用的内存分布,根据系统提供的内存锁定接口,可以把指定的代码段锁定在内存中,而不是执行时再去磁盘中读取。步骤632,建立数据临时转存空间。目前随着制造技术发展,内存的价格越来越低, 计算机中配备的内存也比较大,优先在内存中建立临时转存空间。如果不够再从磁盘中划出空闲空间作为临时转存空间,磁盘中的空闲空间一定要在目标分区以外。步骤636,启动过滤驱动,所有目标分区的写操作转到数据临时转存空间,同时目标分区的读操作优先在临时转存空间查找,其次才到原位置读(详细处理流程如图2所示)。步骤638,把即将使用目标分区的数据转存到临时转存空间。也就是把当前系统需要使用并且不能锁定到内存中的数据拷贝到临时转存空间中(详细处理流程在图3中进行说明)。该步骤完成后,就达到了图4所示的状态,即使用过滤驱动程序把目标分区331映射到临时转存空间330中, 这样对目标分区331的所有读写操作都转到临时转存空间330中读写,不再使用目标分区 331。例如,目标分区330是系统分区,为了进一步减少内存的使用量以及转存数据量的大小,当在执行还原或者调整目标分区前,提示用户或者强制关闭不必要的应用程序,只留下还原程序或调整目标分区相关程序。这样操作后,真正需要转存的数据通常是页面文件, 注册表文件,以及少量其他文件。不会对整个系统分区的数据都进行转存,转存的数据量非常小。对于页面文件和注册表文件还可以进一步压缩,其临时转存空间的使用量可以是 100 200MB以内。步骤640,操作目标分区。操作目标分区是指对目标分区进行一系列的独占操作,可以是从网络上的之前备份镜像文件中还原目标数据,也可以是从其他机器上迁移数据到目标分区,还可以是对目标分区的大小进行调整等等。步骤650,重新启动系统。 重新启动后临时转存的数据就会丢弃,目标分区操作生效。图2所示是本发明过滤驱动处理IRP(操作请求数据包)的流程示意图。如果是读数据的IRP,首先检查位图w中的标记,如果有标记,则从映射表y中查找该数据在临时转存空间的位置,从临时转存空间中读取相应的数据;如果位图w中没有标记,则直接从原始位置读取数,也就是把该IRP转发到下层驱动处理。如果是写数据的IRP,检查位图w中的标记,如果在位图w中有标记,则从映射表y中查找该数据在临时转存空间的位置,并把数据写入临时转存空间;如果位图w中没有标记,则在映射表y中增加一个映射项,并把数据写到临时转存空间330,同时在位图w中标记。如果写的数据块比较大,可能有部分数据是在位图w中表记,那么需要把该数据块折分成相应的子数据块分别写。如果IRP既不是写操作也不是读操作,则把该IRP转到下层驱动处理。图3所示是本发明的数据转存流程示意图。扫描当前系统,把即将使用目标分区的数据转存到临时转存空间。例如通过搜索目前打开的文件来确定将来该文件可能需要读取磁盘。检查位图w中的标记,如果在位图w中有标记,则从映射表y中查找该数据在临时转存空间的位置,并把数据写入临时转存空间;如果位图w中没有标记,则在映射表y中增加一个映射项,并把数据写到临时转存空间330,同时在位图w中标记。如果写的数据块比较大,可能有部分数据是在位图w中表记,那么需要把该数据块折分成相应的子数据块分别写。该流程与图2中写数据的IRP—致,最好在驱动中集成,操作程序通过过滤驱动提供的特别接口来支持数据转存操作。如图4所示是把目标分区331的数据转存到临时转存空间330后,整个系统访问数据示意图。在这个时候无论是系统服务程序,系统内核,所有应用程序,访问的数据都转到了临时转存空间330中,目标分区331现在处于隔离状态,只能通过过滤驱动320的特定接口访问。过滤驱动320的特定接口只能由操作程序来访问,其它的应用程序,以及系统服务都不能访问。实现了操作程序单独操作目标分区331的目的。并且目前的操作系统有效,能正常的访问网络数据,以及正常的访问硬件设备,仅仅是目标分区331被隔离成由操作程序来访问。因为当前系统的硬件驱动都已经安装好,实现较好的硬件兼容。例如,在执行分区还原时,因为使用当前操作系统,保留网络访问,系统硬件访问等必要的能力,可以从网络上、本地存储、移动存储中选择之前的备份镜像文件来还原。如果是I^reOS,可能因为没有安装相应的硬件驱动,不能识别存储设备,特别是独立的磁盘阵列,很多不能识别。同理对分区管理软件也是如此,如使用分区克隆和分区调整等功能。
权利要求
1.使用当前系统操作正在使用的分区的方法,包括如下步骤a、确定目标分区;b、把正在使用目标分区中的执行代码数据锁定到内存中; C、在空闲的存储空间建立数据临时转存空间;d、对目标分区的写操作转到数据临时转存空间;e、对目标分区的读操作优先在临时转存空间查找,没找到才到目标分区的原位置读取;f、把即将使用目标分区的数据转存到临时转存空间;g、对目标分区进行操作;h、重新启动系统,目标分区的操作生效。
2.根据权利要求1所述的使用当前系统操作正在使用的分区的方法,其特征在于,步骤a之前还包括步骤a0、关闭对目标分区操作无关的应用程序。
3.根据权利要求1所述的使用当前系统操作正在使用的分区的方法,其特征在于,所述临时转存空间位于内存和/或非目标分区。
4.根据权利要求1所述的使用当前系统操作正在使用的分区的方法,其特征在于,步骤d中,通过启动过滤驱动实现写操作的转移。
5.根据权利要求4所述的使用当前系统操作正在使用的分区的方法,其特征在于,步骤g为,通过所述过滤驱动提供的特别接口对目标分区进行操作。
6.根据权利要求1所述的使用当前系统操作正在使用的分区的方法,其特征在于,所述对目标分区进行操作,是指对目标分区进行还原。
7.根据权利要求1所述的使用当前系统操作正在使用的分区的方法,其特征在于,所述对目标分区进行操作,是指对目标分区进行分区调整。
全文摘要
本发明涉及操作被当前系统使用的分区的方法。本发明公开了一种使用当前操作系统,对正在使用的分区进行操作的方法。本发明的技术方案是,使用当前系统操作正在使用分区的方法,包括如下步骤a、确定目标分区;b、把正在使用目标分区的执行代码数据锁定到内存中;c、在空闲的存储空间建立数据临时转存空间;d、对目标分区的写操作转到数据临时转存空间;e、对目标分区的读操作优先在临时转存空间查找,没找到才到目标分区的原位置读取;f、把即将使用目标分区的数据转存到临时转存空间;g、对目标分区进行操作;h、重新启动系统,目标分区的操作生效。本发明克服了现有技术硬件兼容性差等缺点,并大幅减少复制当前系统的数据量。
文档编号G06F11/14GK102262576SQ201110215658
公开日2011年11月30日 申请日期2011年7月29日 优先权日2011年7月29日
发明者陈克洪 申请人:成都易我科技开发有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1