一种基于写过滤技术的磁盘保护系统的制作方法

文档序号:6424348阅读:174来源:国知局
专利名称:一种基于写过滤技术的磁盘保护系统的制作方法
一种基于写过滤技术的磁盘保护系统
技术领域
本发明涉及一种Windows操作系统的系统数据保护和磁盘数据保护技术。背景技术
在当前网络环境中,病毒和木马众多,稍不留心就会使系统瘫痪,或重要资料外泄。并且在某些应用场合,用户希望安装好系统和应用软件后,系统能一直处于一个稳定不变的系统环境,长期使用而不会随着时间的推移而产生很多垃圾文件,导致系统变得缓慢, 甚至让病毒木马有机可乘,导致系统瘫痪或重要机密外泄,由此产生的损失是无法估量的。 微软的EWF内存保护功能可以阻止用户对被保护分区的修改,防止数据被篡改,重启系统后所有在被保护分区的修改都将消失,但其在实际使用过程中有以下几个问题1、EWF(—种保护系统,用来保护卷以防止写入)内存保护会占用很多物理内存, 长时间复杂运用会导致内存耗尽而死机;2、因为EWF将所有对被保护分区的修改都缓存在物理内存中,受限于物理内存的大小,不能存储较大的文件,如视频文件、制图文件等;3、只有 Windows XP Embedded^ Windows Embedded Standard 7 操作系统上的版本,没有提供在Windows XP和Windows 7操作系统上运行的版本。

发明内容本发明要解决的技术问题,在于提供一种基于写过滤技术的磁盘保护系统,它能够在Windows XP和Windows 7操作系统上实现磁盘分区保护功能,同时解决受限于物理内存大小的问题。本发明是这样实现的一种基于写过滤技术的磁盘保护系统,它包括从上到下依次通信连接的应用程序层、支持库、驱动程序层、覆盖层,所述驱动程序层分别通信连接到磁盘的被保护分区和配置信息库,所述应用程序层是用户对本保护系统进行操作和管理的接口,所述支持库是对应用程序层的封装,所述驱动程序层用于将对磁盘的写过滤数据映射到覆盖层和用于对覆盖层的选择和维护,所述覆盖层用于存储写过滤数据,所述驱动程序层采用了 Windows磁盘过滤的驱动设备,在所述驱动程序层中使用 IoCreateDevice创建一个用于驱动程序层和应用程序层之间通信的设备“IpedDevice”, 所述应用程序层调用支持库相应的函数接口,然后使用DeciceloControl函数通过 “IpedDevice”调用驱动程序层的相应接口完成相应的功能。进一步的,所述覆盖层包括内存覆盖层、独立硬盘覆盖层、非独立硬盘覆盖层。进一步的,所述保护系统根据配置信息库选择启用的覆盖层,当启用内存覆盖层时,优先使用内存覆盖层,当内存覆盖层的内存使用量达到设置值的上限时,自动切换为使用硬盘覆盖层,保障读写操作正常,当内存覆盖层的内存被程序释放后又可以自动切换为内存覆盖层,以加快读写速度,在使用硬盘覆盖层时,若存在独立的硬盘覆盖层,则优先使用独立的硬盘覆盖层。本发明具有如下优点本发明不只是在WindowsXP Embedded,Windows Embedded Standard 7操作系统上,还可以在Windows XP和Windows 7操作系统实现磁盘分区保护功能,用户所有针对被保护分区的修改在系统重启后都将无效。本发明还解决了受限于物理内存大小的问题,使缓存数据可以在物理内存剩余较少时存储在磁盘中,即保留了内存缓存读写速度快的优点,又兼顾了磁盘缓存容量大的优
点ο本发明实现了一次休眠多次启动的功能,从而加快系统开机速度,以及通过私有接口穿透保存特定文件的功能,并且本发明还提供了将被保护分区上修改的内容保存到被保护分区的功能,即系统重启后被保护分区上修改的内容不会失效。

下面参照附图结合实施例对本发明作进一步的说明。图1为本发明保护系统的流程图。图2为本发明保护系统的结构框图。图3为本发明的通信流程图。图4为应用程序层各种操作执行的流程示意图。图5为本保护系统的覆盖层选择和切换示意图。图6为本发明保护系统提交算法的流程图。
具体实施方式请参阅图1至图6所示,对本发明的实施例进行详细的说明。写过滤是指将写入到被保护分区中被保护的扇区的写操作过滤出来,进行映射到其它位置,而不真实写入到要写入的被保护的扇区中。存储写过滤数据的区域我们成为覆盖层,覆盖层可以是内存、独立的硬盘分区或者利用被保护分区内的空扇区作为覆盖层 (称为非独立硬盘覆盖层)。程序的流程如图1所示,通过覆盖层映射算法,在过滤写数据时,由算法控制将写过滤数据重定向到覆盖层,即内存覆盖层、独立硬盘覆盖层或非独立硬盘覆盖层。这些所有的写过滤和数据映射对于用户层来说都是透明的。上述三种覆盖层每一种都有其优点, 内存覆盖层对写过滤数据的读写速度非常快,在固态磁盘上,比正常的磁盘读写速度快5-6 倍,效率非常好,但覆盖层空间有限;独立硬盘覆盖层重定向写过滤数据算法简单,并且当需要保存写过滤数据到真实扇区时,保存数据的效率比较高,但必须在开启保护前在磁盘上划分一个独立的分区作为覆盖层;非独立覆盖层直接利用被保护的剩余空间作为覆盖层进行写过滤数据的保存,算法相对复杂一点,并且保存数据到真实扇区时效率比较低,但其安装方便。可以根据使用的实际需求和用户的操作习惯来进行覆盖层的选择,比现有的保护软件提速和易用很多。如图2,本发明一种基于写过滤技术的磁盘保护系统,它包括从上到下依次通信连接的应用程序层、支持库、驱动程序层、覆盖层,所述驱动程序层分别通信连接到磁盘的被保护分区和配置信息库,所述应用程序层是用户对本保护系统进行操作和管理的接口,所述支持库是对应用程序层的封装,所述驱动程序层用于将对磁盘的写过滤数据映射到覆盖层和用于对覆盖层的选择和维护,所述覆盖层用于存储写过滤数据。所述驱动程序层采用Windows磁盘过滤的驱动设备,在所述驱动程序层中使用使用微软WDK(Windows驱动开发工具包)中的IoCreateDevice函数创建一个用于驱动程序层和应用程序层之间通信的名称为“IpedDevice”的设备。因为驱动程序层采用Windows磁盘过滤的驱动设备,所以用户态的应用程序与之自由通信比较困难,而所述“IpedDevice” 就是专门用来驱动程序层与应用程序层之间的通信。用户层通过微软提供的API接口函数 DeviceIoControl调用驱动程序层的功能,通信流程如图3所示。应用程序层的程序各种操作的流程如图4所示,所述应用程序层调用支持库相应的函数接口,然后使用DeciceloControl (调用接口)函数通过“ IpedDevice”调用驱动程序层的相应接口完成相应的功能。所述覆盖层包括内存覆盖层、独立硬盘覆盖层、非独立硬盘覆盖层。如图5所示, 本保护系统根据配置信息库选择启用的覆盖层,当启用内存覆盖层时,优先使用内存覆盖层,当内存覆盖层的内存使用量达到设置值的上限时,自动切换为使用硬盘覆盖层,保障读写操作正常,当内存覆盖层的内存被程序释放后又可以自动切换为内存覆盖层,以加快读写速度,在使用硬盘覆盖层时,若存在独立的硬盘覆盖层,则优先使用独立的硬盘覆盖层。数据提交是指将保存在覆盖层中的写过滤数据写入到被保护分区真实的目标扇区中,使本次开机后的所有操作能够被保存下来,不会因为磁盘保护系统的写过滤而使修改失效,在执行了提交数据功能后,在用户使用层面上,被保护分区就和没有被保护时是一样的。此功能在用户需要保存本次数据时是很有用的,不需要用户必须关闭保护然后再更新数据。如图6为提交算法的流程,数据提交算法分为内存覆盖层提交算法、独立硬盘覆盖层提交算法、非独立硬盘覆盖层提交算法,提交算法会自动根据覆盖层类型调用相应的算法进行数据提交。非独立覆盖层提交算法因为覆盖层数据就是保存在被保护分区的剩余空间中,所以在提交数据时,若目标扇区已经作为覆盖层使用,则必须进行扇区备份,然后再提交数据。本保护系统的操作过程1、安装升腾保护模式软件并重启系统。2、打开软件设置界面,选择要进行保护的分区,然后再重启系统。3、系统重启后被保护分区已在保护中,所有对该分区上数据的修改在系统重启后都无效。4、对于被保护分区,若希望重启后数据不丢失,可以在软件界面中对被保护分区执行提交数据功能。5、如缓存写过滤数据的覆盖层设置等高级功能也可以在软件界面中设置。以上所述,仅为本发明较佳实施例而已,故不能依此限定本发明实施的范围,即依本发明专利范围及说明书内容所作的等效变化与修饰,皆应仍属本发明涵盖的范围内。
权利要求
1.一种基于写过滤技术的磁盘保护系统,其特征在于它包括从上到下依次连接通信的应用程序层、支持库、驱动程序层、覆盖层,所述驱动程序层分别通信连接到磁盘的被保护分区和配置信息库,所述应用程序层是用户对本保护系统进行操作和管理的接口,所述支持库是对应用程序层的封装,所述驱动程序层用于将对磁盘的写过滤数据映射到覆盖层和用于对覆盖层的选择和维护,所述覆盖层用于存储写过滤数据;所述驱动程序层采用了 Windows磁盘过滤的驱动设备,在所述驱动程序层中使用 IoCreateDevice创建一个用于驱动程序层和应用程序层之间通信的设备“IpedDevice”, 所述应用程序层调用支持库相应的函数接口,然后使用DeciceloControl函数通过 “IpedDevice”调用驱动程序层的相应接口完成相应的功能。
2.根据权利要求1所述的一种基于写过滤技术的磁盘保护系统,其特征在于所述覆盖层包括内存覆盖层、独立硬盘覆盖层、非独立硬盘覆盖层。
3.根据权利要求2所述的一种基于写过滤技术的磁盘保护系统,其特征在于所述保护系统根据配置信息库选择启用的覆盖层,当启用内存覆盖层时,优先使用内存覆盖层,当内存覆盖层的内存使用量达到设置值的上限时,自动切换为使用硬盘覆盖层,保障读写操作正常,当内存覆盖层的内存被程序释放后又可以自动切换为内存覆盖层,以加快读写速度,在使用硬盘覆盖层时,若存在独立的硬盘覆盖层,则优先使用独立的硬盘覆盖层。
全文摘要
本发明提供一种基于写过滤技术的磁盘保护系统,它包括从上到下依次连接的应用程序层、支持库、驱动程序层、覆盖层,所述驱动程序层分别通信连接到磁盘的被保护分区和配置信息库,所述应用程序层是用户对本保护系统进行操作和管理的接口,所述支持库是对应用程序层的封装,所述驱动程序层用于将对磁盘的写过滤数据映射到覆盖层和用于对覆盖层的选择和维护,所述覆盖层用于存储写过滤数据,所述驱动程序层采用了Windows磁盘过滤的驱动设备,在所述驱动程序层中创建一个设备“IpedDevice”。本发明能够在Windows XP和Windows 7操作系统上实现磁盘分区保护功能,同时解决受限于物理内存大小的问题。
文档编号G06F3/06GK102289624SQ20111012819
公开日2011年12月21日 申请日期2011年5月16日 优先权日2011年5月16日
发明者张辉 申请人:福建升腾资讯有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1