CN102375700A - 一种直接更新硬盘数据的方法 - Google Patents
一种直接更新硬盘数据的方法 Download PDFInfo
- Publication number
- CN102375700A CN102375700A CN2010102656820A CN201010265682A CN102375700A CN 102375700 A CN102375700 A CN 102375700A CN 2010102656820 A CN2010102656820 A CN 2010102656820A CN 201010265682 A CN201010265682 A CN 201010265682A CN 102375700 A CN102375700 A CN 102375700A
- Authority
- CN
- China
- Prior art keywords
- hard disc
- disc data
- data
- operating system
- hard disk
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明揭示了一种直接更新硬盘数据的方法,包括以下步骤:(1)获取操作系统读写硬盘数据的原始底层入口;(2)构建对应管理通道的硬盘数据临时备份空间;(3)生成用于直接更新硬盘数据的管理通道;(4)构建对应操作系统的硬盘数据临时缓存空间;(5)修改操作系统读写硬盘数据的底层入口;(6)处理来自管理通道的读写硬盘请求;(7)处理来自操作系统的读写硬盘请求。本发明能在保护状态下对硬盘数据进行直接更新,并且在更新后依然能保持硬盘数据相对于操作系统的视图完整性。对于维护大量电脑的机构或营业场所来说,应用本发明能明显提高系统的管理效率。
Description
技术领域
本发明属于数据更新方法,特别涉及一种直接更新硬盘数据的方法。
背景技术
目前,在众多的公共场所,电脑的系统安全性尤为受管理员和用户关注,人们一般会考虑通过安装还原软件或杀毒软件来增强系统的防护,但这些方案在实际运作中也存在着不足。
一方面,还原软件一般不支持在保护状态下直接对硬盘数据进行更新,即使支持更新,往往也会由于缺乏严格的硬盘数据视图完整性处理而导致系统运行不稳定。另一方面,杀毒软件虽然能在恶意程序落地的第一时间进行查杀,但需要不断更新特征库来有效甄别新的病毒。对于维护大量电脑的机构或营业场所来说,上述问题都会明显增加系统的管理成本。
有鉴于此,本领域技术人员针对上述问题,提供了一种直接更新硬盘数据的方法。
发明内容
本发明的目的在于提供一种直接更新硬盘数据的方法,克服了现有技术的困难,实现了在保护状态下对硬盘数据进行直接更新,并且在更新后依然能保持硬盘数据相对于操作系统的视图完整性的目的。
本发明的技术方案如下:
本发明提供一种直接更新硬盘数据的方法,包括以下步骤:
(1)获取操作系统读写硬盘数据的原始底层入口;
(2)构建对应管理通道的硬盘数据临时备份空间;
(3)生成用于直接更新硬盘数据的管理通道;
(4)构建对应操作系统的硬盘数据临时缓存空间;
(5)修改操作系统读写硬盘数据的底层入口;
(6)处理来自管理通道的读写硬盘请求;
(7)处理来自操作系统的读写硬盘请求。
优选地,所述步骤(1)中,所述的底层入口为文件系统层以下的较低层入口。
优选地,所述步骤(2)中,所述的临时备份空间,用于跟踪和备份管理通道写硬盘操作导致的硬盘数据变化。
优选地,所述步骤(4)中,所述的临时缓存空间,用于跟踪和缓存操作系统写硬盘操作导致的硬盘数据变化。
优选地,所述步骤(2)和步骤(4)中,所述的临时空间,联合为管理通道以及操作系统访问硬盘数据的视图完整性提供支持。
优选地,所述步骤(5)中,为操作系统读写硬盘数据设置新的底层入口,截获操作系统对硬盘数据的读写请求。
优选地,所述步骤(6)包括:
(61)当接收到来自管理通道的读硬盘请求,则直接调用原始的底层读硬盘操作入口执行;
(62)当接收到来自管理通道的写硬盘请求,则先判断当前写入位置的硬盘数据是否已经备份,当尚未备份,则调用原始的底层读硬盘操作入口读回对应位置的硬盘数据、并且保存到对应管理通道的临时备份空间;最后调用原始的底层写硬盘操作入口执行当前写入。
优选地,所述步骤(7)包括:
(71)当截获到来自操作系统的读硬盘请求,先尝试从对应操作系统的临时缓存空间读取;当未能完全满足,则继续尝试从对应管理通道的临时备份空间读取剩余数据;当依然未能完全满足,最后调用原始的底层读硬盘操作入口完成剩余数据的读取;
(72)当截获到操作系统的写硬盘请求,直接保存当前写数据到对应操作系统的临时缓存空间。
由于采用了上述技术,相比于一般的还原软件,本发明能在保护状态下对硬盘数据进行直接更新,并且在更新后依然能保持硬盘数据相对于操作系统的视图完整性。对于维护大量电脑的机构或营业场所来说,应用本发明能明显提高系统的管理效率。
以下结合附图及实施例进一步说明本申请。
附图说明
图1为本发明的直接更新硬盘数据的方法的流程图。
具体实施方式
下面通过图1来介绍本发明的具体实施例。
实施例1
如图1所示,本发明揭示的一种直接更新硬盘数据的方法,包括以下步骤:
(1)获取操作系统读写硬盘数据的原始底层入口;
(2)构建对应管理通道的硬盘数据临时备份空间;
(3)生成用于直接更新硬盘数据的管理通道;
(4)构建对应操作系统的硬盘数据临时缓存空间;
(5)修改操作系统读写硬盘数据的底层入口;
(6)处理来自管理通道的读写硬盘请求;
(7)处理来自操作系统的读写硬盘请求。
所述步骤(1)中,所述的底层入口为文件系统层以下的较低层入口。
所述步骤(2)中,所述的临时备份空间,用于跟踪和备份管理通道写硬盘操作导致的硬盘数据变化。
所述步骤(4)中,所述的临时缓存空间,用于跟踪和缓存操作系统写硬盘操作导致的硬盘数据变化。
所述步骤(2)和步骤(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和RawDispatchWrite,以此作为操作系统读写硬盘数据的原始底层入口。
接着,通过调用内核函数ExAllocatePool向系统申请一块内存区域,用以构建对应管理通道的硬盘数据临时备份空间,如标记为TempBackupSpace。该临时备份空间,用于跟踪和备份管理通道写硬盘操作导致的硬盘数据变化;其具体目的进一步在于,即使管理通道实际上修改了硬盘物理数据,但由于备份了对应修改前的原始数据到临时备份空间,从而保持了操作系统访问路径下硬盘数据的视图完整性。
接着,通过调用内核函数IoCreateDevice创建一个名为\Device\UpdateChannel的设备,用于桥接上层应用管理程序UpdateManager来直接更新硬盘数据,即生成管理通道。
接着,通过调用内核函数ExAllocatePool向系统申请一块内存区域,用以构建对应操作系统的硬盘数据临时缓存空间,如标记为TempCacheSpace。该临时缓存空间,用于跟踪和缓存操作系统写硬盘操作导致的硬盘数据变化;其具体目的进一步在于,即使操作系统逻辑上修改了硬盘数据,但由于对应的修改完全被缓存到临时缓存空间,实际上并不会影响到硬盘物理数据,从而保持了管理通道访问路径下硬盘数据的视图完整性。
接着,为Ftdisk驱动程序在系统中的读写派遣入口设置新的地址,如分别标记为NewDispatchRead和NewDispatchWrite,这样后面发生的来自操作系统的读写硬盘数据请求,将首先被派遣到新的入口地址。
当接收到UpdateManager通过管理通道发出的读硬盘请求,UpdateDriver直接调用原始的底层读硬盘操作入口RawDispatchRead执行。
当接收到UpdateManager通过管理通道发出的写硬盘请求,UpdateDriver先判断当前写入位置的硬盘数据是否已经备份,当尚未备份,则调用原始的底层读硬盘操作入口RawDispatchRead读回对应位置的硬盘数据、并且保存到对应管理通道的临时备份空间;最后调用原始的底层写硬盘操作入口RawDispatchWrite执行当前写入。
当截获到来自操作系统的读硬盘请求,也就是NewDispatchRead被调用执行,先尝试从对应操作系统的临时缓存空间读取;当未能完全满足,则继续尝试从对应管理通道的临时备份空间读取剩余数据;当依然未能完全满足,最后调用原始的底层读操作入口RawDispatchRead完成剩余数据的读取。
当截获到来自操作系统的写硬盘请求,也就是NewDispatchWrite被调用执行,直接保存当前写数据到对应操作系统的临时缓存空间。
综上可知,本发明能在保护状态下对硬盘数据进行直接更新,并且在更新后依然能保持硬盘数据相对于操作系统的视图完整性。对于维护大量电脑的机构或营业场所来说,应用本发明能明显提高系统的管理效率。
以上所述的实施例仅用于说明本发明的技术思想及特点,其目的在于使本领域内的技术人员能够了解本发明的内容并据以实施,不能仅以本实施例来限定本发明的专利范围,即凡依本发明所揭示的精神所作的同等变化或修饰,仍落在本发明的专利范围内。
Claims (8)
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)当截获到操作系统的写硬盘请求,直接保存当前写数据到对应操作系统的临时缓存空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010265682.0A CN102375700B (zh) | 2010-08-26 | 2010-08-26 | 一种直接更新硬盘数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010265682.0A CN102375700B (zh) | 2010-08-26 | 2010-08-26 | 一种直接更新硬盘数据的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102375700A true CN102375700A (zh) | 2012-03-14 |
CN102375700B CN102375700B (zh) | 2014-03-19 |
Family
ID=45794357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010265682.0A Active CN102375700B (zh) | 2010-08-26 | 2010-08-26 | 一种直接更新硬盘数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102375700B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103617009A (zh) * | 2013-12-10 | 2014-03-05 | 北京奇虎科技有限公司 | 一种开机启动中通过缓存向磁盘写数据的方法和装置 |
CN107656702A (zh) * | 2017-09-27 | 2018-02-02 | 联想(北京)有限公司 | 加速硬盘读写的方法及其系统、以及电子设备 |
CN110221867A (zh) * | 2019-05-31 | 2019-09-10 | 湖北三江航天万峰科技发展有限公司 | 一种xp系统下脉冲i/o功能卡通信驱动系统及方法 |
CN113934697A (zh) * | 2021-10-21 | 2022-01-14 | 中孚安全技术有限公司 | 一种基于内核文件过滤驱动提升io性能方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1506852A (zh) * | 2002-12-06 | 2004-06-23 | 联想(北京)有限公司 | 基于硬盘保护区的非保护区文件选择性安全保护方法 |
CN1752939A (zh) * | 2004-09-22 | 2006-03-29 | 微软公司 | 用于综合备份和恢复的方法和系统 |
US20060075288A1 (en) * | 2004-09-23 | 2006-04-06 | International Business Machines Corporation | Hard disk drive data scrub methodology |
CN101685412A (zh) * | 2008-09-22 | 2010-03-31 | 联想(北京)有限公司 | 一种硬盘数据的备份和恢复方法、系统及计算机 |
-
2010
- 2010-08-26 CN CN201010265682.0A patent/CN102375700B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1506852A (zh) * | 2002-12-06 | 2004-06-23 | 联想(北京)有限公司 | 基于硬盘保护区的非保护区文件选择性安全保护方法 |
CN1752939A (zh) * | 2004-09-22 | 2006-03-29 | 微软公司 | 用于综合备份和恢复的方法和系统 |
US20060075288A1 (en) * | 2004-09-23 | 2006-04-06 | International Business Machines Corporation | Hard disk drive data scrub methodology |
CN101685412A (zh) * | 2008-09-22 | 2010-03-31 | 联想(北京)有限公司 | 一种硬盘数据的备份和恢复方法、系统及计算机 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103617009A (zh) * | 2013-12-10 | 2014-03-05 | 北京奇虎科技有限公司 | 一种开机启动中通过缓存向磁盘写数据的方法和装置 |
CN107656702A (zh) * | 2017-09-27 | 2018-02-02 | 联想(北京)有限公司 | 加速硬盘读写的方法及其系统、以及电子设备 |
CN107656702B (zh) * | 2017-09-27 | 2020-11-20 | 联想(北京)有限公司 | 加速硬盘读写的方法及其系统、以及电子设备 |
CN110221867A (zh) * | 2019-05-31 | 2019-09-10 | 湖北三江航天万峰科技发展有限公司 | 一种xp系统下脉冲i/o功能卡通信驱动系统及方法 |
CN113934697A (zh) * | 2021-10-21 | 2022-01-14 | 中孚安全技术有限公司 | 一种基于内核文件过滤驱动提升io性能方法及系统 |
CN113934697B (zh) * | 2021-10-21 | 2022-04-08 | 中孚安全技术有限公司 | 一种基于内核文件过滤驱动提升io性能方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102375700B (zh) | 2014-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102708065B (zh) | 一种预留页面文件的方法及计算机系统 | |
CN101334825B (zh) | 应用程序管理和运行系统及方法 | |
US8839228B2 (en) | System and method for updating an offline virtual machine | |
US8806476B2 (en) | Implementing a software installation process | |
CN102216905B (zh) | 为运行在计算系统中的应用创建应用还原点的方法和系统 | |
CN103210395B (zh) | 与客户端虚拟机交互的技术 | |
US10067835B2 (en) | System reset | |
US8489552B1 (en) | Generic granular restore of application data from a volume image backup | |
CN108804189B (zh) | 一种云桌面管理方法及系统 | |
US10783041B2 (en) | Backup and recovery of data files using hard links | |
CN102707900A (zh) | 虚拟盘存储技术 | |
CN102207896A (zh) | 虚拟机崩溃文件生成技术 | |
CN104823160A (zh) | 虚拟机-保留主机更新 | |
JP2013520744A (ja) | 最小ブートイメージの生成方法及びその装置 | |
US8494964B1 (en) | Software as a service via virtualization | |
CN102591675A (zh) | 使用共享存储块管理多软件镜像的方法和系统 | |
US8762778B2 (en) | Firmware assisted error handling scheme | |
CN102375700B (zh) | 一种直接更新硬盘数据的方法 | |
CN101501653B (zh) | 磁盘的长期备份 | |
US10466924B1 (en) | Systems and methods for generating memory images of computing devices | |
US10860544B2 (en) | Systems and methods for write-once-read-many storage | |
CN100514305C (zh) | 实现操作系统安全控制的系统及方法 | |
CN101236499A (zh) | 一种借助USB设备启动在Windows操作系统中嵌入内核驱动程序的方法 | |
CN103309696B (zh) | 一种Java卡扩展库更新方法、装置和Java卡 | |
CN100403212C (zh) | 一种实现操作系统隔离的系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C53 | Correction of patent of invention or patent application | ||
CB02 | Change of applicant information |
Address after: 2, No. 1, 430074 international business center, hi tech Development Zone, Wuhan, Hubei, East Lake Applicant after: Hubei Shengtian Network Technology Co., Ltd. Address before: 2, No. 1, 430074 international business center, hi tech Development Zone, Wuhan, Hubei, East Lake Applicant before: Hubei ShengTian Network Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |