一种直接更新硬盘数据的方法

文档序号:6331050阅读:185来源:国知局
专利名称:一种直接更新硬盘数据的方法
技术领域
本发明属于数据更新方法,特别涉及一种直接更新硬盘数据的方法。
背景技术
目前,在众多的公共场所,电脑的系统安全性尤为受管理员和用户关注,人们一般会考虑通过安装还原软件或杀毒软件来增强系统的防护,但这些方案在实际运作中也存在着不足。一方面,还原软件一般不支持在保护状态下直接对硬盘数据进行更新,即使支持更新,往往也会由于缺乏严格的硬盘数据视图完整性处理而导致系统运行不稳定。另一方面,杀毒软件虽然能在恶意程序落地的第一时间进行查杀,但需要不断更新特征库来有效甄别新的病毒。对于维护大量电脑的机构或营业场所来说,上述问题都会明显增加系统的
管理成本。有鉴于此,本领域技术人员针对上述问题,提供了一种直接更新硬盘数据的方法。

发明内容
本发明的目的在于提供一种直接更新硬盘数据的方法,克服了现有技术的困难,实现了在保护状态下对硬盘数据进行直接更新,并且在更新后依然能保持硬盘数据相对于操作系统的视图完整性的目的。本发明的技术方案如下本发明提供一种直接更新硬盘数据的方法,包括以下步骤(1)获取操作系统读写硬盘数据的原始底层入口 ;(2)构建对应管理通道的硬盘数据临时备份空间;(3)生成用于直接更新硬盘数据的管理通道;(4)构建对应操作系统的硬盘数据临时缓存空间;(5)修改操作系统读写硬盘数据的底层入口 ;(6)处理来自管理通道的读写硬盘请求;(7)处理来自操作系统的读写硬盘请求。优选地,所述步骤(1)中,所述的底层入口为文件系统层以下的较低层入口。优选地,所述步骤O)中,所述的临时备份空间,用于跟踪和备份管理通道写硬盘操作导致的硬盘数据变化。优选地,所述步骤中,所述的临时缓存空间,用于跟踪和缓存操作系统写硬盘操作导致的硬盘数据变化。优选地,所述步骤⑵和步骤(4)中,所述的临时空间,联合为管理通道以及操作系统访问硬盘数据的视图完整性提供支持。优选地,所述步骤(5)中,为操作系统读写硬盘数据设置新的底层入口,截获操作系统对硬盘数据的读写请求。
优选地,所述步骤(6)包括(61)当接收到来自管理通道的读硬盘请求,则直接调用原始的底层读硬盘操作入口执行;(62)当接收到来自管理通道的写硬盘请求,则先判断当前写入位置的硬盘数据是否已经备份,当尚未备份,则调用原始的底层读硬盘操作入口读回对应位置的硬盘数据、并且保存到对应管理通道的临时备份空间;最后调用原始的底层写硬盘操作入口执行当前写入。优选地,所述步骤(7)包括(71)当截获到来自操作系统的读硬盘请求,先尝试从对应操作系统的临时缓存空间读取;当未能完全满足,则继续尝试从对应管理通道的临时备份空间读取剩余数据;当依然未能完全满足,最后调用原始的底层读硬盘操作入口完成剩余数据的读取;(72)当截获到操作系统的写硬盘请求,直接保存当前写数据到对应操作系统的临时缓存空间。由于采用了上述技术,相比于一般的还原软件,本发明能在保护状态下对硬盘数据进行直接更新,并且在更新后依然能保持硬盘数据相对于操作系统的视图完整性。对于维护大量电脑的机构或营业场所来说,应用本发明能明显提高系统的管理效率。以下结合附图及实施例进一步说明本申请。


图1为本发明的直接更新硬盘数据的方法的流程图。
具体实施例方式下面通过图1来介绍本发明的具体实施例。实施例1如图1所示,本发明揭示的一种直接更新硬盘数据的方法,包括以下步骤(1)获取操作系统读写硬盘数据的原始底层入口 ;(2)构建对应管理通道的硬盘数据临时备份空间;(3)生成用于直接更新硬盘数据的管理通道;(4)构建对应操作系统的硬盘数据临时缓存空间;(5)修改操作系统读写硬盘数据的底层入口 ;(6)处理来自管理通道的读写硬盘请求;(7)处理来自操作系统的读写硬盘请求。所述步骤(1)中,所述的底层入口为文件系统层以下的较低层入口。所述步骤O)中,所述的临时备份空间,用于跟踪和备份管理通道写硬盘操作导致的硬盘数据变化。所述步骤中,所述的临时缓存空间,用于跟踪和缓存操作系统写硬盘操作导致的硬盘数据变化。所述步骤⑵和步骤(4)中,所述的临时空间,联合为管理通道以及操作系统访问硬盘数据的视图完整性提供支持。
所述步骤(5)中,为操作系统读写硬盘数据设置新的底层入口,截获操作系统对硬盘数据的读写请求。所述步骤(6)包括(61)当接收到来自管理通道的读硬盘请求,则直接调用原始的底层读硬盘操作入口执行;(62)当接收到来自管理通道的写硬盘请求,则先判断当前写入位置的硬盘数据是否已经备份,当尚未备份,则调用原始的底层读硬盘操作入口读回对应位置的硬盘数据、并且保存到对应管理通道的临时备份空间;最后调用原始的底层写硬盘操作入口执行当前写入。所述步骤(7)包括(71)当截获到来自操作系统的读硬盘请求,先尝试从对应操作系统的临时缓存空间读取;当未能完全满足,则继续尝试从对应管理通道的临时备份空间读取剩余数据;当依然未能完全满足,最后调用原始的底层读硬盘操作入口完成剩余数据的读取;(72)当截获到操作系统的写硬盘请求,直接保存当前写数据到对应操作系统的临时缓存空间。为使本发明的目的、技术方案及优点更加清楚明白,以下举实施例对本发明进一步详细说明。尽管本发明不限于此,但作为本发明的一个具体的实施例,下面结合这样一种情况来描述特定细节工作站上有一块硬盘,硬盘上有且仅有一个分区C,并且安装了Windows XP操作系统。本实施例中直接更新硬盘数据的方法和装置可以由一个底层内核模式驱动程序以及一个上层应用管理程来执行,例如,该底层内核模式驱动程序可命名为UpdateDriver.sys,而上层应用管理程可命名为UpdateManager. exe。UpdateDriver在初始化时先获取Ftdisk. sys驱动程序在系统中的读写派遣入口(IRP_MJ_READ 和 IRP_MJ_WRITE)地址,如分别标记为 RawDispatchRead 和RawDispatchffrite,以此作为操作系统读写硬盘数据的原始底层入口。接着,通过调用内核函数ExAllocatePool向系统申请一块内存区域,用以构建对应管理通道的硬盘数据临时备份空间,如标记为TempBackupSpace。该临时备份空间,用于跟踪和备份管理通道写硬盘操作导致的硬盘数据变化;其具体目的进一步在于,即使管理通道实际上修改了硬盘物理数据,但由于备份了对应修改前的原始数据到临时备份空间,从而保持了操作系统访问路径下硬盘数据的视图完整性。接着,通过调用内核函数IoCreateDevice创建一个名为\Device\UpdateChannel的设备,用于桥接上层应用管理程序UpdateManager来直接更新硬盘数据,即生成管理通道。接着,通过调用内核函数ExAllocatePool向系统申请一块内存区域,用以构建对应操作系统的硬盘数据临时缓存空间,如标记为TempCacheSpace。该临时缓存空间,用于跟踪和缓存操作系统写硬盘操作导致的硬盘数据变化;其具体目的进一步在于,即使操作系统逻辑上修改了硬盘数据,但由于对应的修改完全被缓存到临时缓存空间,实际上并不会影响到硬盘物理数据,从而保持了管理通道访问路径下硬盘数据的视图完整性。
接着,为Ftdisk驱动程序在系统中的读写派遣入口设置新的地址,如分别标记为NewDispatchRead和NewDispatchWrite,这样后面发生的来自操作系统的读写硬盘数据请求,将首先被派遣到新的入口地址。当接收到UpdateManager通过管理通道发出的读硬盘请求,UpdateDriver直接调用原始的底层读硬盘操作入口 RawDispatchRead执行。当接收到UpdateManager通过管理通道发出的写硬盘请求,UpdateDriver先判断当前写入位置的硬盘数据是否已经备份,当尚未备份,则调用原始的底层读硬盘操作入口RawDispatchRead读回对应位置的硬盘数据、并且保存到对应管理通道的临时备份空间;最后调用原始的底层写硬盘操作入口 RawDispatchWrite执行当前写入。当截获到来自操作系统的读硬盘请求,也就是NewDispatchRead被调用执行,先尝试从对应操作系统的临时缓存空间读取;当未能完全满足,则继续尝试从对应管理通道的临时备份空间读取剩余数据;当依然未能完全满足,最后调用原始的底层读操作入口RawDispatchRead完成剩余数据的读取。当截获到来自操作系统的写硬盘请求,也就是NewDispatchWrite被调用执行,直接保存当前写数据到对应操作系统的临时缓存空间。综上可知,本发明能在保护状态下对硬盘数据进行直接更新,并且在更新后依然能保持硬盘数据相对于操作系统的视图完整性。对于维护大量电脑的机构或营业场所来说,应用本发明能明显提高系统的管理效率。以上所述的实施例仅用于说明本发明的技术思想及特点,其目的在于使本领域内的技术人员能够了解本发明的内容并据以实施,不能仅以本实施例来限定本发明的专利范围,即凡依本发明所揭示的精神所作的同等变化或修饰,仍落在本发明的专利范围内。
权利要求
1.一种直接更新硬盘数据的方法,其特征在于,包括以下步骤(1)获取操作系统读写硬盘数据的原始底层入口;(2)构建对应管理通道的硬盘数据临时备份空间;(3)生成用于直接更新硬盘数据的管理通道;(4)构建对应操作系统的硬盘数据临时缓存空间;(5)修改操作系统读写硬盘数据的底层入口;(6)处理来自管理通道的读写硬盘请求;(7)处理来自操作系统的读写硬盘请求。
2.如权利要求1所述的直接更新硬盘数据的方法,其特征在于所述步骤(1)中,所述的底层入口为文件系统层以下的较低层入口。
3.如权利要求1所述的直接更新硬盘数据的方法,其特征在于所述步骤(2)中,所述的临时备份空间,用于跟踪和备份管理通道写硬盘操作导致的硬盘数据变化。
4.如权利要求1所述的直接更新硬盘数据的方法,其特征在于所述步骤(4)中,所述的临时缓存空间,用于跟踪和缓存操作系统写硬盘操作导致的硬盘数据变化。
5.如权利要求3至4所述的直接更新硬盘数据的方法,其特征在于所述步骤(2)中,所述的临时空间,联合为管理通道以及操作系统访问硬盘数据的视图完整性提供支持。
6.如权利要求1所述的直接更新硬盘数据的方法,其特征在于所述步骤(5)中,为操作系统读写硬盘数据设置新的底层入口,截获操作系统对硬盘数据的读写请求。
7.如权利要求1所述的直接更新硬盘数据的方法,其特征在于所述步骤(6)包括(61)当接收到来自管理通道的读硬盘请求,则直接调用原始的底层读硬盘操作入口执行;(62)当接收到来自管理通道的写硬盘请求,则先判断当前写入位置的硬盘数据是否已经备份,当尚未备份,则调用原始的底层读硬盘操作入口读回对应位置的硬盘数据、并且保存到对应管理通道的临时备份空间;最后调用原始的底层写硬盘操作入口执行当前写入。
8.如权利要求1所述的直接更新硬盘数据的方法,其特征在于所述步骤(7)包括(71)当截获到来自操作系统的读硬盘请求,先尝试从对应操作系统的临时缓存空间读取;当未能完全满足,则继续尝试从对应管理通道的临时备份空间读取剩余数据;当依然未能完全满足,最后调用原始的底层读硬盘操作入口完成剩余数据的读取;(72)当截获到操作系统的写硬盘请求,直接保存当前写数据到对应操作系统的临时缓存空间。
全文摘要
本发明揭示了一种直接更新硬盘数据的方法,包括以下步骤(1)获取操作系统读写硬盘数据的原始底层入口;(2)构建对应管理通道的硬盘数据临时备份空间;(3)生成用于直接更新硬盘数据的管理通道;(4)构建对应操作系统的硬盘数据临时缓存空间;(5)修改操作系统读写硬盘数据的底层入口;(6)处理来自管理通道的读写硬盘请求;(7)处理来自操作系统的读写硬盘请求。本发明能在保护状态下对硬盘数据进行直接更新,并且在更新后依然能保持硬盘数据相对于操作系统的视图完整性。对于维护大量电脑的机构或营业场所来说,应用本发明能明显提高系统的管理效率。
文档编号G06F3/06GK102375700SQ20101026568
公开日2012年3月14日 申请日期2010年8月26日 优先权日2010年8月26日
发明者邝耀华 申请人:湖北盛天网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1