首页> 中国专利> 使用当前系统操作正在使用的分区的方法

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

摘要

本发明涉及操作被当前系统使用的分区的方法。本发明公开了一种使用当前操作系统,对正在使用的分区进行操作的方法。本发明的技术方案是,使用当前系统操作正在使用分区的方法,包括如下步骤:a、确定目标分区;b、把正在使用目标分区的执行代码数据锁定到内存中;c、在空闲的存储空间建立数据临时转存空间;d、对目标分区的写操作转到数据临时转存空间;e、对目标分区的读操作优先在临时转存空间查找,没找到才到目标分区的原位置读取;f、把即将使用目标分区的数据转存到临时转存空间;g、对目标分区进行操作;h、重新启动系统,目标分区的操作生效。本发明克服了现有技术硬件兼容性差等缺点,并大幅减少复制当前系统的数据量。

著录项

  • 公开/公告号CN102262576A

    专利类型发明专利

  • 公开/公告日2011-11-30

    原文格式PDF

  • 申请/专利权人 成都易我科技开发有限责任公司;

    申请/专利号CN201110215658.0

  • 发明设计人 陈克洪;

    申请日2011-07-29

  • 分类号

  • 代理机构成都虹桥专利事务所;

  • 代理人李顺德

  • 地址 610041 四川省成都市武侯区人民南路三段17号华西美庐2幢18F-K

  • 入库时间 2023-12-18 03:47:24

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-04-10

    授权

    授权

  • 2012-01-11

    实质审查的生效 IPC(主分类):G06F11/14 申请日:20110729

    实质审查的生效

  • 2011-11-30

    公开

    公开

说明书

技术领域

本发明涉及计算机操作系统,特别涉及操作被当前系统使用的分区的方法。

背景技术

由于病毒破坏,人为操作等原因导致当前系统的部分功能不正常,需要还原当前系统分 区,或者需要把另外一台计算机备份的镜像文件通过异机还原技术还原到当前系统分区中, 或者把另外一台计算机系统迁移到当前系统分区中。目前实现上述要求,通常会关闭当前系 统,通过修改引导程序或者通过光盘引导到另外一个系统中,我们称该系统为PreOS。该PreOS 是独立于当前系统的操作系统,当PreOS运行时不使用当前系统分区,在该PreOS中有预先 定制好的软件,该软件执行上述操作,完成用户的需求。目前常用的有基于DOS,Linux,WinPE 的PreOS。采用PreOS方式存在以下缺点:

1、硬件兼容性差。DOS,Linux存在很大兼容性问题,硬件支持比较少,很多新的硬件 不支持;WinPE也需要安装硬件驱动,因为在制作PreOS镜像时,不可能把所有硬件驱动都 定制到该PreOS镜像中,所以对某些硬件,还需要用户手动安装,用户使用很不方便。

2、需要额外的软件开发和测试。对于DOS,因为是16位程序,不但编写和调试程序不 方便,还有640K限制;对于Linux,虽然是开源代码,但跟用户当前的系统的应用接口有区 别,需要独立开发相应的应用程序;对WinPE,如果当前系统分区是WINDOWS情况稍微好点, 但也有一些差别,需要特别针对性的编写代码,也许流程和用户交互都有所不同。

3、需要重新启动系统两次。关闭当前操作系统后进入PreOS,在PreOS中操作完成后, 从新的还原系统启动,这需要很长时间。一般来说,关闭操作系统大概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启动镜像到该系统分区,重新引导从该PreOS启动镜像启动系 统,从该PreOS系统中还原当前系统分区。因为该发明需要PreOS系统,所以也存在上述问 题。另外该方法还需要复制两次系统数据,这两次系统数据复制分别是:一次是从当前系统 到空闲空间,另一次是复制PreOS系统到当前系统分区。复制是整个系统数据复制,数据量 大,需要花费较多时间。

发明内容

本发明所要解决的技术问题,就是针对现有技术的上述缺点,提供一种使用当前操作系 统,对正在使用的分区(当前系统分区,即目标分区)进行操作的方法。

本发明解决所述技术问题,采用的技术方案是,使用当前系统操作正在使用分区的方法, 包括如下步骤:

a、确定目标分区;

b、把正在使用目标分区的执行代码数据锁定到内存中;

c、在空闲的存储空间建立数据临时转存空间;

d、对目标分区的写操作转到数据临时转存空间;

e、对目标分区的读操作优先在临时转存空间查找,没找到才到目标分区的原位置读取;

f、把即将使用目标分区的数据转存到临时转存空间;

g、对目标分区进行操作;

h、重新启动系统,目标分区的操作生效。

本发明通过内存锁定,以及把当前操作系统使用的数据映射到临时转存空间,让当前操 作系统不再使用目标分区或卷,达到可以自由操作目标分区或卷的目的,并保证数据的一致 性。本发明克服了现有技术硬件兼容性差、需要额外开发和测试软件、需要重新启动系统两 次、软件分发不便以及NATIVE下软件功能限制大的缺点,并大幅减少复制当前系统的数据量。

进一步的,步骤a之前还包括步骤:

a0、关闭对目标分区操作无关的应用程序。

在执行本发明步骤前,提示用户或者强制关闭不必要的应用程序,只留下对目标分区操 作相关的程序,这样尽可能减少系统中执行程序的数量。因为这些程序会使用一定系统内存, 同样可能打开文件,间接的增加本发明的转存数据量的大小。该方案可以进一步优化本发明。

具体的,所述临时转存空间位于内存和/或非目标分区。

临时转存空间可以根据系统的具体环境,在内存或其他分区(非目标分区)中建立,也 可以一部分在内存,一部分在其他分区,如果条件容许本发明推荐在内存中建立临时转存空 间,以提高数据转存速度。

进一步的,步骤d中,通过启动过滤驱动实现写操作的转移。

采用过滤驱动实现写操作的转移具有技术成熟,容易实现的特点。

进一步的,步骤g为,通过所述过滤驱动提供的特别接口对目标分区进行操作。

该方案利用已经启动的过滤驱动提供的特别接口对目标分区进行操作,可以简化操作程 序,提高操作速度。

具体的,所述对目标分区进行操作,是对目标分区进行还原;

或者,所述对目标分区进行操作,是对目标分区进行分区调整。

这是普遍的常用操作,最适合应用本发明技术方案。

本发明的有益效果是:

1、硬件兼容性好。本发明使用当前操作系统,当前操作系统的硬件驱动都已经安装好, 不存在不能识别的硬件。而采用PreOS方式,由于是在软件发布时定制的,PreOS启动镜像 不可能附带所有硬件驱动,一般来说只带常用的硬件驱动,很多特别的硬件是不能识别的, 特别是硬件型号非常多,并且新的硬件不断出现,很难收集所有硬件驱动。

2、分区还原以及分区管理软件不需要针对PreOS开发。本发明中,分区还原以及分区管 理软件是在当前系统中运行,不需要额外开发,特别是分区管理软件。同时也不存在因为程 序环境不一样,用户的操作界面和流程也不一样的缺点。比如NATIVE环境,WinPE环境,LINUX 环境,跟当前的操作系统环境总有些差别或功能限制,比如三者的网络访问就不是很好。

3、减少软件安装包大小。因为本发明不需要定制PreOS启动镜像,所以安装小得多。例 如:对于当前技术使用LINUX的PreOS启动镜像,采用本发明的软件安装包通常会减小34~ 60MB;对于当前技术使用WinPE的PreOS启动镜像,则会减少100~200MB。

4、本发明比现有技术要求的内存低。PreOS系统是在内存中虚拟一个磁盘,需要占用较 多内存,经过测试WIN7的WinPE启动镜像,需要800MB~1G的内存才使用正常。本发明可以 使用磁盘作临时转存空间,对最小内存配置要求没有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被隔离成由操作程序来访 问。因为当前系统的硬件驱动都已经安装好,实现较好的硬件兼容。例如,在执行分区还原 时,因为使用当前操作系统,保留网络访问,系统硬件访问等必要的能力,可以从网络上、 本地存储、移动存储中选择之前的备份镜像文件来还原。如果是PreOS,可能因为没有安装 相应的硬件驱动,不能识别存储设备,特别是独立的磁盘阵列,很多不能识别。同理对分区 管理软件也是如此,如使用分区克隆和分区调整等功能。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号