基于磁盘过滤的覆盖层空间切换方法及覆盖层的组建方法

文档序号:6516171阅读:138来源:国知局
基于磁盘过滤的覆盖层空间切换方法及覆盖层的组建方法
【专利摘要】本发明提供一种基于磁盘过滤的覆盖层空间切换方法,其基于磁盘过滤的磁盘保护系统实现了读写数据的重定向,写入操作都会被写入到覆盖层空间,所述覆盖层空间主要由内存覆盖层、被保护的分区覆盖层、磁盘自由空间覆盖层三种类型组成;将所述三种类型的覆盖层统一组织,同时标注覆盖层类型,然后在需要覆盖层空间时,按照所定义的段数据组织方式在三种类型的覆盖层中为需要写入的数据动态分配一个逻辑段,并将该逻辑段加入段列表中。这样既提高了系统的读写速度,又解决了内存过多消耗导致系统的性能下降问题,支持系统的长时间运行及复杂应用场景的需求。
【专利说明】基于磁盘过滤的覆盖层空间切换方法及覆盖层的组建方法
【技术领域】
[0001]本发明涉及一种基于磁盘过滤的覆盖层空间切换方法以及覆盖层空间统一组建方法。
【背景技术】
[0002]Windows系统程序的运行环境被分为用户态和内核态,设备的驱动程序是内核态程序的重要组成部分,为规范Windows驱动程序的开发,微软提出了 Windows驱动程序开发框架,磁盘过滤驱动就是其中的一种框架技术,本文谈论的技术以磁盘过滤驱动为基础,以此开发的系统称为磁盘保护系统。传统的磁盘保护系统(如EWF)有两种实现方式:
[0003]第一、内存保护,这种方式将数据存储在内存覆盖层中;
[0004]第二、硬盘保护,这种方式将数据存储在硬盘覆盖层中。
[0005]但这两种方式在使用过程中存在一定问题:
[0006]1、内存保护将修改的数据存储在内存中,由于内存空间大小有限,无法支持系统长时间使用或大数据量拷贝;
[0007]2、硬盘保护将修改的数据存储在磁盘中,此方式数据的读写速度较慢,并且影响存储设备的使用寿命。

【发明内容】

[0008]本发明要解决的技术问题之一,是针对传统磁盘保护系统存在的不足,提供了一种基于磁盘过滤的覆盖层空间切换方法,既提高了系统的读写速度,又解决了内存过多消耗导致系统的性能下降问题,支持系统的长时间运行及复杂应用场景的需求。
[0009]本发明是这样实现的:一种基于磁盘过滤的覆盖层空间切换方法,其基于磁盘过滤的磁盘保护系统实现了读写数据的重定向,对被保护分区的写入操作都会被写入到覆盖层空间,而不会写入到真正的磁盘中,其特征在于:所述覆盖层空间主要由内存覆盖层、被保护的分区覆盖层、磁盘自由空间覆盖层三种类型组成;将所述三种类型的覆盖层统一组织,同时标注覆盖层类型;所述统一组织是指;先将所述三种类型的覆盖层定义相同的段数据组织方式,并为该段数据设置一段列表,然后在需要覆盖层空间时,按照所定义的段数据组织方式在三种类型的覆盖层中为需要写入的数据动态分配一个逻辑段,并将该逻辑段加入段列表中;其中,一覆盖层由至少一个逻辑段构成,一逻辑段由至少一个扇区构成;
[0010]所述动态分配的过程包括:
[0011]步骤1、当有需要在覆盖层空间内写入的数据时,启动磁盘过滤驱动;
[0012]步骤2、解析需要写入的扇区数据,判断该扇区数据是否已经被重定向;
[0013]步骤3、若已经被重定向,说明满足直接写入的条件,则直接写入段数据空间即可,若没有被重定向,说明不满足直接写入的条件,则进入下一步;
[0014]步骤4、按顺序判断是否满足所述内存覆盖层、被保护的分区覆盖层、磁盘自由空间覆盖层其中之一的写入条件,若是,解析现有段数据或构建段数据,然后写入相应的覆盖层空间;若均不满足,则返回错误信息。
[0015]进一步的,所述步骤4中的判断过程为:
[0016]步骤41、首先判断是否满足内存覆盖层的写入条件,即判断内存覆盖层空间的大小是否大于预设的值,若是,则解析现有段数据或构建段数据,然后写入内存覆盖层;若均不满足,进入步骤42;
[0017]步骤42、再判断是否满足被保护的分区覆盖层的写入条件,即判断被保护分区的覆盖层是否还有空间,若是,则解析现有段数据或构建段数据,然后写入被保护的分区覆盖层;若均不满足,进入步骤43;
[0018]步骤43、最后判断是否满足磁盘自由空间覆盖层的写入条件,即判断磁盘中是否有空闲的自由覆盖层空间,若是,则解析现有段数据或构建段数据,然后写入磁盘自由空间覆盖层;若不满足,则返回错误信息。
[0019]进一步的,所述段数据组织方式是:分别针对所述覆盖层空间的三种类型的覆盖层构造覆盖层空间段;提取段空间信息插入段列表中。
[0020]本发明要解决的技术问题之二,在于提供一种覆盖层组建方法,将覆盖层空间统一组织利用,可大大提高使用效率。
[0021]本发明是这样实现的:一种覆盖层的组建方法,所述覆盖层空间主要由内存覆盖层、被保护的分区覆盖层、磁盘自由空间覆盖层三种类型组成;将所述三种类型的覆盖层统一组织,同时标注覆盖层类型;所述统一组织是指;先将所述三种类型的覆盖层定义相同的段数据组织方式,并为该段数据设置一段列表,然后在需要覆盖层空间时,按照所定义的段数据组织方式在三种类型的覆盖层中为需要写入的数据动态分配一个逻辑段,并将该逻辑段加入段列表中;其中,一覆盖层由至少一个逻辑段构成,一逻辑段由至少一个扇区构成。
[0022]其中,所述段数据组织方式是:分别针对所述覆盖层空间的三种类型的覆盖层构造覆盖层空间段;提取段空间信息插入段列表中。
[0023]本发明具有如下优点:基于磁盘过滤的覆盖层空间切换方法,支持覆盖层空间在内存、被保护的分区、磁盘自由空间动态切换,既提高了系统的读写速度,防止过多磁盘读写缩短存储设备的寿命,又解决了内存过多消耗导致系统的性能下降问题,支持系统的长时间运行及复杂应用场景的需求。另外,本发明的覆盖层的组建方法,将所述三种类型的覆盖层统一组织利用,可大大提高使用效率。
【专利附图】

【附图说明】
[0024]下面参照附图结合实施例对本发明作进一步的说明。
[0025]图1为本发明覆盖层空间段数据组织方式的流程图。
[0026]图2为本发明段列表的结构示意图。
[0027]图3为本发明覆盖层空间动态分配的流程图。
【具体实施方式】
[0028]本发明基于磁盘过滤的覆盖层空间切换方法,其基于磁盘过滤的磁盘保护系统实现了读写数据的重定向,对被保护分区的写入操作都会被写入到覆盖层空间,而不会写入到真正的磁盘中,所述覆盖层空间主要由内存覆盖层、被保护的分区覆盖层、磁盘自由空间覆盖层三种类型组成;将所述三种类型的覆盖层统一组织,同时标注覆盖层类型;所述统一组织是指;先将所述三种类型的覆盖层定义相同的段数据组织方式,并为该段数据设置一段列表,然后在需要覆盖层空间时,按照所定义的段数据组织方式在三种类型的覆盖层中为需要写入的数据动态分配一个逻辑段,并将该逻辑段加入段列表中;其中,一覆盖层由至少一个逻辑段构成,一逻辑段由至少一个扇区构成;写数据时,具体是写入扇区内。
[0029]如图1所示,所述段数据组织方式是:分别针对所述覆盖层空间的三种类型的覆盖层构造覆盖层空间段;提取段空间信息插入段列表中。段空间信息包括该段空间的扇区是否空闲、扇区是否被重定向、是否可以直接读写、数据被重定向的具体位置、每个逻辑段的起始位置、逻辑段的长度等信息。如图2所示,段列表是由多个逻辑段组成,段列表的组织形式是树形组织方式,即多个逻辑段进行树形组织形成段列表。
[0030]如图3所示,所述动态分配的过程包括:
[0031]步骤1、当有需要在覆盖层空间内写入的数据时,启动磁盘过滤驱动;
[0032]步骤2、解析需要写入的扇区数据,判断该扇区数据是否已经被重定向;
[0033]步骤3、若已经被重定向,说明满足直接写入的条件,则直接写入段数据空间即可,若没有被重定向,说明不满足直接写入的条件,则进入下一步;
[0034]步骤4、按顺序判断是否满足所述内存覆盖层、被保护的分区覆盖层、磁盘自由空间覆盖层其中之一的写入条件,若是,解析现有段数据或构建段数据,然后写入相应的覆盖层空间;若均不满足,则返回错误信息。
[0035]较优的,所述步骤4中的判断过程为:
[0036]步骤41、首先判断是否满足内存覆盖层的写入条件,即判断内存覆盖层空间的大小是否大于预设的值,若是,则解析现有段数据或构建段数据,然后写入内存覆盖层;若均不满足,进入步骤42;
[0037]步骤42、再判断是否满足被保护的分区覆盖层的写入条件,即判断被保护分区的覆盖层是否还有空间,若是,则解析现有段数据或构建段数据,然后写入被保护的分区覆盖层;若均不满足,进入步骤43;
[0038]步骤43、最后判断是否满足磁盘自由空间覆盖层的写入条件,即判断磁盘中是否有空闲的自由覆盖层空间,若是,则解析现有段数据或构建段数据,然后写入磁盘自由空间覆盖层;若不满足,则返回错误信息。
[0039]本发明还提供一种覆盖层组建方法,将覆盖层空间统一组织利用,可大大提高使用效率。所述覆盖层空间主要由内存覆盖层、被保护的分区覆盖层、磁盘自由空间覆盖层三种类型组成;将所述三种类型的覆盖层统一组织,同时标注覆盖层类型;所述统一组织是指;先将所述三种类型的覆盖层定义相同的段数据组织方式,并为该段数据设置一段列表,然后在需要覆盖层空间时,按照所定义的段数据组织方式在三种类型的覆盖层中为需要写入的数据动态分配一个逻辑段,并将该逻辑段加入段列表中;其中,一覆盖层由至少一个逻辑段构成,一逻辑段由至少一个扇区构成。
[0040]其中如图1所示,所述段数据组织方式是:分别针对所述覆盖层空间的三种类型的覆盖层构造覆盖层空间段;提取段空间信息插入段列表中。
[0041]综上所述,本发明基于磁盘过滤的覆盖层空间切换方法,支持覆盖层空间在内存、被保护的分区、磁盘自由空间动态切换,既提高了系统的读写速度,防止过多磁盘读写缩短存储设备的寿命,又解决了内存过多消耗导致系统的性能下降问题,支持系统的长时间运行及复杂应用场景的需求。另外,本发明的覆盖层的组建方法,将所述三种类型的覆盖层统一组织利用,可大大提高使用效率。
[0042]虽然以上描述了本发明的【具体实施方式】,但是熟悉本【技术领域】的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
【权利要求】
1.一种基于磁盘过滤的覆盖层空间切换方法,其基于磁盘过滤的磁盘保护系统实现了读写数据的重定向,对被保护分区的写入操作都会被写入到覆盖层空间,而不会写入到真正的磁盘中,其特征在于:所述覆盖层空间主要由内存覆盖层、被保护的分区覆盖层、磁盘自由空间覆盖层三种类型组成;将所述三种类型的覆盖层统一组织,同时标注覆盖层类型;所述统一组织是指;先将所述三种类型的覆盖层定义相同的段数据组织方式,并为该段数据设置一段列表,然后在需要覆盖层空间时,按照所定义的段数据组织方式在三种类型的覆盖层中为需要写入的数据动态分配一个逻辑段,并将该逻辑段加入段列表中;其中,一覆盖层由至少一个逻辑段构成,一逻辑段由至少一个扇区构成; 所述动态分配的过程包括: 步骤1、当有需要在覆盖层空间内写入的数据时,启动磁盘过滤驱动; 步骤2、解析需要写入的扇区数据,判断该扇区数据是否已经被重定向; 步骤3、若已经被重定向,说明满足直接写入的条件,则直接写入段数据空间即可,若没有被重定向,说明不满足直接写入的条件,则进入下一步; 步骤4、按顺序判断是否满足所述内存覆盖层、被保护的分区覆盖层、磁盘自由空间覆盖层其中之一的写入条件,若是,解析现有段数据或构建段数据,然后写入相应的覆盖层空间;若均不满足,则返回错误信息。
2.根据权利要求1所述的基于磁盘过滤的覆盖层空间切换方法,其特征在于:所述步骤4中的判断过程为: 步骤41、首先判断是否满足内存覆盖层的写入条件,即判断内存覆盖层空间的大小是否大于预设的值,若是,则解析现有段数据或构建段数据,然后写入内存覆盖层;若均不满足,进入步骤42 ; 步骤42、再判断是否满足被保护的分区覆盖层的写入条件,即判断被保护分区的覆盖层是否还有空间,若是,则解析现有段数据或构建段数据,然后写入被保护的分区覆盖层;若均不满足,进入步骤43; 步骤43、最后判断是否满足磁盘自由空间覆盖层的写入条件,即判断磁盘中是否有空闲的自由覆盖层空间,若是,则解析现有段数据或构建段数据,然后写入磁盘自由空间覆盖层;若不满足,则返回错误信息。
3.根据权利要求2所述的基于磁盘过滤的覆盖层空间切换方法,其特征在于:所述段数据组织方式是:分别针对所述覆盖层空间的三种类型的覆盖层构造覆盖层空间段;提取段空间信息插入段列表中。
4.一种覆盖层的组建方法,其特征在于:所述覆盖层空间主要由内存覆盖层、被保护的分区覆盖层、磁盘自由空间覆盖层三种类型组成;将所述三种类型的覆盖层统一组织,同时标注覆盖层类型;所述统一组织是指;先将所述三种类型的覆盖层定义相同的段数据组织方式,并为该段数据设置一段列表,然后在需要覆盖层空间时,按照所定义的段数据组织方式在三种类型的覆盖层中为需要写入的数据动态分配一个逻辑段,并将该逻辑段加入段列表中;其中,一覆盖层由至少一个逻辑段构成,一逻辑段由至少一个扇区构成。
5.根据权利要求4所述的基于磁盘过滤的覆盖层空间切换方法,其特征在于:所述段数据组织方式是:分别针对所述覆盖层空间的三种类型的覆盖层构造覆盖层空间段;提取段空间信息插入段列表中。
【文档编号】G06F3/06GK103593146SQ201310497594
【公开日】2014年2月19日 申请日期:2013年10月21日 优先权日:2013年10月21日
【发明者】张辉 申请人:福建升腾资讯有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1