一种可保留更新数据的系统还原方法技术方案

技术编号:3748661 阅读:355 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种可保留更新数据的系统还原方法,包括在磁盘中指定用于重定向的预留空间;在磁盘或内存中指定用于记录对应关系的第一空间;生成用于更新数据的私有接口;截获上层软件对磁盘的读、写操作,对截获到的读、写操作是否是通过私有接口发起的而分别进行处理。本发明专利技术在现有技术中系统还原方法的基础上,再加一个安全可控的私有接口,提供给上层管理程序使用,当截获到是通过该私有接口,对磁盘进行读写操作时,就不经过重定向而直接对该区域进行读写操作,最后完成通过该私有接口的读写操作。这样在系统重启并进行还原时,通过非私有接口写的内容会被清除,但却保留了通过私有接口更新的内容。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及一种系统还原方法,在进行系统还原时可以保留更新的数据。
技术介绍
在学校机房或网吧等公共场所,一般一台电脑都是分时段的提供给多个用户使 用,这种方案优势明显,但在实际运作中也存在着不足,其中一个较明显的问题是,当上一 个用户有意或无意(误操作/中病毒等)修改了系统的文件或配置,则就可能直接影响了 后面用户的正常使用。为解决这一问题,比较典型的解决方案就是安装硬盘还原卡,这样只 要通过一次重启,软件系统就恢复到原来的状态。 —般还原方法的实现原理(如图l),主要是截获对磁盘的写操作,再将该写操作 区间重定向到空闲区间进行写入,同时记录该写操作区间与重定向区间的对应关系,最后 完成该写操作。当截获到读磁盘操作时,则结合已记录的重定向区间的对应关系,进行判断 处理,如该读操作区间与已记录的重定向对应关系中的区间无交集,则按正常读流程执行 读操作,最后完成该读操作;如有上述两区间有交集,则可先按正常读流程读取非交集区间 的内容,再结合重定向区间的对应关系,读取被重定向的该交集区间的内容,在合并两种读 操作的读取的内容后,最后完成该读操作。结合上述还原程序对读写的处理,还原程序只要 在系统重启后,清空上次重定向区间的对应关系及重定向区间所占用的空间,就可使软件 系统恢复到原来的状态,到达还原的目的。 但随着计算机的发展,当软件也变得需要时常更新时,这在安装了类似还原卡等 具有还原功能的计算机上进行维护就变得很麻烦,一般都需要管理员先使用管理员权限将 计算机切换到非还原状态,再重启系统,再安装或更新软件,再设置为还原状态,再取消管 理员权限,然后再重启系统。显然,以类似这种方式维护几十台甚至几百台计算机是非常低 效的。
技术实现思路
本专利技术的目的就在于提供一种在实现还原功能的基础上,可以对软件系统进行安 全可控更新的方法。 —种可保留更新数据的系统还原方法,包括如下步骤 步骤(一 ) a)在磁盘中指定用于重定向的预留空间; b)在磁盘或内存中指定用于记录对应关系的第一空间; c)生成用于更新数据的私有接口 ; 所述的在磁盘中指定预留空间可以是在启动操作系统之前就已经预先完成划分;也可以是启动操作系统后,再向操作系统申请预留空间。 指定预留空间之后,用户所有的读、写操作均直接针对非预留空间,而不能直接针对所述的预留空间。 步骤(二) 截获上层软件对磁盘的读、写操作,对截获到的读、写操作进行如下处理 关于写操作 a)如果该写操作不是通过私有接口发起的,则将该写操作所针对的原磁盘空间重 定向到步骤(一)所述的预留空间,即将该写操作所涉及的数据写入预留空间; 并将该写操作所针对的原磁盘空间与实际写入的预留空间的对应关系记录到所 述的第一空间中;也可以说该写操作所针对的原磁盘空间已被重定向。 b)如果该写操作是通过私有接口发起的,按正常的写操作流程,不经过重定向处理而直接进行写入操作。 关于读操作 a)如果该读操作是通过私有接口发起的,则按正常的读操作流程,不经过重定向 处理而直接进行读取操作; b)如果该读操作不是通过私有接口发起的,则结合第一区间中记录的对应关系, 进行如下判断 如该读操作所针对的区间与参照区间无交集,则按正常读流程执行读操作,最后 完成该读操作; 如该读操作所针对的区间与参照区间有交集,则对于非交集区间的内容按正常读 流程读取;对于交集区间的内容,根据该交集区间与预留空间的对应关系,从预留空间中读 取相对应的内容;最后将读取的非交集区间的内容和交集区间的内容合并,完成该读操作; 在读取非交集区间和交集区间的内容时并没有严格的先后顺序要求,可以如下三种情况 ①先将非交集区间的内容A和交集区间的内容B均按正常流程从非预留空间中读 取,再从预留空间中读取与交集区间相对应的内容B—,然后用从预留空间中读取的交集区 间的内容把从非预留空间中读取的交集区间的内容B覆盖,构成完整的内容AB—。 ②先将非交集区间的内容A按正常流程从非预留空间中读取,再从预留空间中读 取与交集区间相对应的内容B—,经合并后构成完整的内容AB—。 ③先从预留空间中读取与交集区间相对应的内容B—,再将非交集区间的内容A按 正常流程从非预留空间中读取,经合并后构成完整的内容AB—。 所述的参照区间是在写操作过程中经过重定向且记录第一区间中的所有区间。 步骤(三) 进行系统还原时,清空用于记录对应关系的第一空间中的内容; 若所述的预留空间是启动操作系统后,再向操作系统申请的,则释放该预留空间; 若所述的预留空间是在启动操作系统之前就已经预先完成划分,则无需进行操 作。 需要说明的是,本专利技术方法进行系统还原时,清空第一空间以及有选择的释放预 留空间的过程是在重启操作系统进入用户登录界面之前已经完成,这一点是与现有技术相 同的。例如关机时就会清空第一空间,而重启操作系统时完成有选择的释放预留空间。 由于需要更新的数据的读、写都是通过私有接口发起的,所以都会在磁盘中保留,4即使进行系统还原时,也不会被清除。 本专利技术在现有技术中系统还原方法的基础上,再加一个安全可控的私有接口 ,提 供给上层管理程序使用,当截获到是通过该私有接口 ,对磁盘进行读写操作时,就不经过重 定向而直接对该区域进行读写操作,最后完成通过该私有接口的读写操作。这样在系统重 启并进行还原时,通过非私有接口写的内容会被清除,但却保留了通过私有接口更新的内 容,通过这种方式极大的减少了对计算机维护的工作量,同时提供了很高的灵活性。附图说明 图1为现有技术中系统还原方法的实现原理的示意图。 图2为本专利技术的可保留更新数据的系统还原方法的实现原理的示意图。具体实施例方式在以下的详细说明中,描述了特定的细节以便提供对本专利技术全面的理解。然而本 专业的技术人员会认识到,本专利技术也可以用其它相类似的细节实施。 尽管本专利技术不限于此,但作为本专利技术的一个具体的实施例,一种在硬盘中有C/D 两个分区,并在C分区安装了 Windows XP系统,而将D分区作为预留空间使用的情况。 参见图2,通过本专利技术提供的方法,实施对C分区中A文件的第一个扇区内容(如 原内容全为0xAA)修改的还原,同时保留对C分区中B文件的第一个扇区内容(如原内容 全为0xBB)更新的步骤如下 本专利技术提供的方法可通过编写还原功能软件来实现,该软件包含一个底层驱动 程序如命名为Driver, sys及一个上层管理程序如命名为Manager, exe,其中的Driver 在初始时通过调用系统函数I oAt tachDe v i ce ,挂接到代表C分区的系统设备\De v i ce \ HarddiskVolumel上,这样该Driver, sys在运行后,就可以截获到系统中对C分区的所在磁 盘区域的读写操作,该Driver, sys对写操作截获的函数接口命名为ProtectWrite,对读操 作操作截获的函数接口命名为ProtectRead,同时再通过调用系统函数IoCreateDevice创 建另一个私有的设备名如命名为M)eviceXPassthruC,给Manager, exe使用,即生成了用于 更新数据的私有接口。 并在该Driver, sys初始运行时申请一部分本文档来自技高网
...

【技术保护点】
一种可保留更新数据的系统还原方法,其特征在于,包括如下步骤:步骤(一)a)在磁盘中指定用于重定向的预留空间;b)在磁盘或内存中指定用于记录对应关系的第一空间;c)生成用于更新数据的私有接口;所述的预留空间是在启动操作系统之前就已经预先完成划分,或是启动操作系统后,再向操作系统申请;步骤(二)截获上层软件对磁盘的读、写操作,对截获到的读、写操作进行如下处理:关于写操作a)如果该写操作不是通过私有接口发起的,则将该写操作所针对的原磁盘空间重定向到步骤(一)所述的预留空间;b)如果该写操作是通过私有接口发起的,直接进行写入操作;关于读操作a)如果该读操作是通过私有接口发起的,直接进行读取操作;b)如果该读操作不是通过私有接口发起的,进行如下判断:如该读操作所针对的区间与参照区间无交集,则直接进行读操作;如该读操作所针对的区间与参照区间有交集,则对于非交集区间的内容直接进行读操作;对于交集区间的内容,根据该交集区间与预留空间的对应关系,从预留空间中读取相对应的内容;最后将读取的非交集区间的内容和交集区间的内容合并,完成该读操作;所述的参照区间是在写操作过程中经过重定向且记录第一区间中的所有区间;步骤(三)进行系统还原时,清空用于记录对应关系的第一空间中的内容;若所述的预留空间是启动操作系统后,再向操作系统申请的,则释放该预留空间。...

【技术特征摘要】

【专利技术属性】
技术研发人员:程琛蒋关平
申请(专利权)人:杭州顺网科技股份有限公司
类型:发明
国别省市:86[中国|杭州]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1