CN103593146B - 基于磁盘过滤的覆盖层空间切换方法及覆盖层的组建方法 - Google Patents
基于磁盘过滤的覆盖层空间切换方法及覆盖层的组建方法 Download PDFInfo
- Publication number
- CN103593146B CN103593146B CN201310497594.7A CN201310497594A CN103593146B CN 103593146 B CN103593146 B CN 103593146B CN 201310497594 A CN201310497594 A CN 201310497594A CN 103593146 B CN103593146 B CN 103593146B
- Authority
- CN
- China
- Prior art keywords
- overlayer
- space
- segment
- data
- write
- 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.)
- Active
Links
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于磁盘过滤的覆盖层空间切换方法,其基于磁盘过滤的磁盘保护系统实现了读写数据的重定向,写入操作都会被写入到覆盖层空间,所述覆盖层空间主要由内存覆盖层、被保护的分区覆盖层、磁盘自由空间覆盖层三种类型组成;将所述三种类型的覆盖层统一组织,同时标注覆盖层类型,然后在需要覆盖层空间时,按照所定义的段数据组织方式在三种类型的覆盖层中为需要写入的数据动态分配一个逻辑段,并将该逻辑段加入段列表中。这样既提高了系统的读写速度,又解决了内存过多消耗导致系统的性能下降问题,支持系统的长时间运行及复杂应用场景的需求。
Description
技术领域
本发明涉及一种基于磁盘过滤的覆盖层空间切换方法以及覆盖层空间统一组建方法。
背景技术
Windows系统程序的运行环境被分为用户态和内核态,设备的驱动程序是内核态程序的重要组成部分,为规范Windows驱动程序的开发,微软提出了Windows驱动程序开发框架,磁盘过滤驱动就是其中的一种框架技术,本文谈论的技术以磁盘过滤驱动为基础,以此开发的系统称为磁盘保护系统。传统的磁盘保护系统(如EWF)有两种实现方式:
第一、内存保护,这种方式将数据存储在内存覆盖层中;
第二、硬盘保护,这种方式将数据存储在硬盘覆盖层中。
但这两种方式在使用过程中存在一定问题:
1、内存保护将修改的数据存储在内存中,由于内存空间大小有限,无法支持系统长时间使用或大数据量拷贝;
2、硬盘保护将修改的数据存储在磁盘中,此方式数据的读写速度较慢,并且影响存储设备的使用寿命。
发明内容
本发明要解决的技术问题之一,是针对传统磁盘保护系统存在的不足,提供了一种基于磁盘过滤的覆盖层空间切换方法,既提高了系统的读写速度,又解决了内存过多消耗导致系统的性能下降问题,支持系统的长时间运行及复杂应用场景的需求。
本发明是这样实现的:一种基于磁盘过滤的覆盖层空间切换方法,其基于磁盘过滤的磁盘保护系统实现了读写数据的重定向,对被保护分区的写入操作都会被写入到覆盖层空间,而不会写入到真正的磁盘中,其特征在于:所述覆盖层空间主要由内存覆盖层、被保护的分区覆盖层、磁盘自由空间覆盖层三种类型组成;将所述三种类型的覆盖层统一组织,同时标注覆盖层类型;所述统一组织是指;先将所述三种类型的覆盖层定义相同的段数据组织方式,并为该段数据设置一段列表,然后在需要覆盖层空间时,按照所定义的段数据组织方式在三种类型的覆盖层中为需要写入的数据动态分配一个逻辑段,并将该逻辑段加入段列表中;其中,一覆盖层由至少一个逻辑段构成,一逻辑段由至少一个扇区构成;
所述动态分配的过程包括:
步骤1、当有需要在覆盖层空间内写入的数据时,启动磁盘过滤驱动;
步骤2、解析需要写入的扇区数据,判断该扇区数据是否已经被重定向;
步骤3、若已经被重定向,说明满足直接写入的条件,则直接写入段数据空间即可,若没有被重定向,说明不满足直接写入的条件,则进入下一步;
步骤4、按顺序判断是否满足所述内存覆盖层、被保护的分区覆盖层、磁盘自由空间覆盖层其中之一的写入条件,若是,解析现有段数据或构建段数据,然后写入相应的覆盖层空间;若均不满足,则返回错误信息。
进一步的,所述步骤4中的判断过程为:
步骤41、首先判断是否满足内存覆盖层的写入条件,即判断内存覆盖层空间的大小是否大于预设的值,若是,则解析现有段数据或构建段数据,然后写入内存覆盖层;若均不满足,进入步骤42;
步骤42、再判断是否满足被保护的分区覆盖层的写入条件,即判断被保护分区的覆盖层是否还有空间,若是,则解析现有段数据或构建段数据,然后写入被保护的分区覆盖层;若均不满足,进入步骤43;
步骤43、最后判断是否满足磁盘自由空间覆盖层的写入条件,即判断磁盘中是否有空闲的自由覆盖层空间,若是,则解析现有段数据或构建段数据,然后写入磁盘自由空间覆盖层;若不满足,则返回错误信息。
进一步的,所述段数据组织方式是:分别针对所述覆盖层空间的三种类型的覆盖层构造覆盖层空间段;提取段空间信息插入段列表中。
本发明要解决的技术问题之二,在于提供一种覆盖层组建方法,将覆盖层空间统一组织利用,可大大提高使用效率。
本发明是这样实现的:一种覆盖层的组建方法,所述覆盖层空间主要由内存覆盖层、被保护的分区覆盖层、磁盘自由空间覆盖层三种类型组成;将所述三种类型的覆盖层统一组织,同时标注覆盖层类型;所述统一组织是指;先将所述三种类型的覆盖层定义相同的段数据组织方式,并为该段数据设置一段列表,然后在需要覆盖层空间时,按照所定义的段数据组织方式在三种类型的覆盖层中为需要写入的数据动态分配一个逻辑段,并将该逻辑段加入段列表中;其中,一覆盖层由至少一个逻辑段构成,一逻辑段由至少一个扇区构成。
其中,所述段数据组织方式是:分别针对所述覆盖层空间的三种类型的覆盖层构造覆盖层空间段;提取段空间信息插入段列表中。
本发明具有如下优点:基于磁盘过滤的覆盖层空间切换方法,支持覆盖层空间在内存、被保护的分区、磁盘自由空间动态切换,既提高了系统的读写速度,防止过多磁盘读写缩短存储设备的寿命,又解决了内存过多消耗导致系统的性能下降问题,支持系统的长时间运行及复杂应用场景的需求。另外,本发明的覆盖层的组建方法,将所述三种类型的覆盖层统一组织利用,可大大提高使用效率。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明覆盖层空间段数据组织方式的流程图。
图2为本发明段列表的结构示意图。
图3为本发明覆盖层空间动态分配的流程图。
具体实施方式
本发明基于磁盘过滤的覆盖层空间切换方法,其基于磁盘过滤的磁盘保护系统实现了读写数据的重定向,对被保护分区的写入操作都会被写入到覆盖层空间,而不会写入到真正的磁盘中,所述覆盖层空间主要由内存覆盖层、被保护的分区覆盖层、磁盘自由空间覆盖层三种类型组成;将所述三种类型的覆盖层统一组织,同时标注覆盖层类型;所述统一组织是指;先将所述三种类型的覆盖层定义相同的段数据组织方式,并为该段数据设置一段列表,然后在需要覆盖层空间时,按照所定义的段数据组织方式在三种类型的覆盖层中为需要写入的数据动态分配一个逻辑段,并将该逻辑段加入段列表中;其中,一覆盖层由至少一个逻辑段构成,一逻辑段由至少一个扇区构成;写数据时,具体是写入扇区内。
如图1所示,所述段数据组织方式是:分别针对所述覆盖层空间的三种类型的覆盖层构造覆盖层空间段;提取段空间信息插入段列表中。段空间信息包括该段空间的扇区是否空闲、扇区是否被重定向、是否可以直接读写、数据被重定向的具体位置、每个逻辑段的起始位置、逻辑段的长度等信息。如图2所示,段列表是由多个逻辑段组成,段列表的组织形式是树形组织方式,即多个逻辑段进行树形组织形成段列表。
如图3所示,所述动态分配的过程包括:
步骤1、当有需要在覆盖层空间内写入的数据时,启动磁盘过滤驱动;
步骤2、解析需要写入的扇区数据,判断该扇区数据是否已经被重定向;
步骤3、若已经被重定向,说明满足直接写入的条件,则直接写入段数据空间即可,若没有被重定向,说明不满足直接写入的条件,则进入下一步;
步骤4、按顺序判断是否满足所述内存覆盖层、被保护的分区覆盖层、磁盘自由空间覆盖层其中之一的写入条件,若是,解析现有段数据或构建段数据,然后写入相应的覆盖层空间;若均不满足,则返回错误信息。
较优的,所述步骤4中的判断过程为:
步骤41、首先判断是否满足内存覆盖层的写入条件,即判断内存覆盖层空间的大小是否大于预设的值,若是,则解析现有段数据或构建段数据,然后写入内存覆盖层;若均不满足,进入步骤42;
步骤42、再判断是否满足被保护的分区覆盖层的写入条件,即判断被保护分区的覆盖层是否还有空间,若是,则解析现有段数据或构建段数据,然后写入被保护的分区覆盖层;若均不满足,进入步骤43;
步骤43、最后判断是否满足磁盘自由空间覆盖层的写入条件,即判断磁盘中是否有空闲的自由覆盖层空间,若是,则解析现有段数据或构建段数据,然后写入磁盘自由空间覆盖层;若不满足,则返回错误信息。
本发明还提供一种覆盖层组建方法,将覆盖层空间统一组织利用,可大大提高使用效率。所述覆盖层空间主要由内存覆盖层、被保护的分区覆盖层、磁盘自由空间覆盖层三种类型组成;将所述三种类型的覆盖层统一组织,同时标注覆盖层类型;所述统一组织是指;先将所述三种类型的覆盖层定义相同的段数据组织方式,并为该段数据设置一段列表,然后在需要覆盖层空间时,按照所定义的段数据组织方式在三种类型的覆盖层中为需要写入的数据动态分配一个逻辑段,并将该逻辑段加入段列表中;其中,一覆盖层由至少一个逻辑段构成,一逻辑段由至少一个扇区构成。
其中如图1所示,所述段数据组织方式是:分别针对所述覆盖层空间的三种类型的覆盖层构造覆盖层空间段;提取段空间信息插入段列表中。
综上所述,本发明基于磁盘过滤的覆盖层空间切换方法,支持覆盖层空间在内存、被保护的分区、磁盘自由空间动态切换,既提高了系统的读写速度,防止过多磁盘读写缩短存储设备的寿命,又解决了内存过多消耗导致系统的性能下降问题,支持系统的长时间运行及复杂应用场景的需求。另外,本发明的覆盖层的组建方法,将所述三种类型的覆盖层统一组织利用,可大大提高使用效率。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (3)
1.一种基于磁盘过滤的覆盖层空间切换方法,其基于磁盘过滤的磁盘保护系统实现了读写数据的重定向,对被保护分区的写入操作都会被写入到覆盖层空间,而不会写入到真正的磁盘中,其特征在于:所述覆盖层空间主要由内存覆盖层、被保护的分区覆盖层、磁盘自由空间覆盖层三种类型组成;将所述三种类型的覆盖层统一组织,同时标注覆盖层类型;所述统一组织是指:先将所述三种类型的覆盖层定义相同的段数据组织方式,并为该段数据设置一段列表,然后在需要覆盖层空间时,按照所定义的段数据组织方式在三种类型的覆盖层中为需要写入的数据动态分配一个逻辑段,并将该逻辑段加入段列表中;其中,一覆盖层由至少一个逻辑段构成,一逻辑段由至少一个扇区构成;所述段数据组织方式是:分别针对所述覆盖层空间的三种类型的覆盖层构造覆盖层空间段;提取段空间信息插入段列表中;
所述动态分配的过程包括:
步骤1、当有需要在覆盖层空间内写入的数据时,启动磁盘过滤驱动;
步骤2、解析需要写入的扇区数据,判断该扇区数据是否已经被重定向;
步骤3、若已经被重定向,说明满足直接写入的条件,则直接写入段数据空间即可,若没有被重定向,说明不满足直接写入的条件,则进入下一步;
步骤4、按顺序判断是否满足所述内存覆盖层、被保护的分区覆盖层、磁盘自由空间覆盖层其中之一的写入条件,若是,解析现有段数据或构建段数据,然后写入相应的覆盖层空间;若均不满足,则返回错误信息。
2.根据权利要求1所述的基于磁盘过滤的覆盖层空间切换方法,其特征在于:所述步骤4中的判断过程为:
步骤41、首先判断是否满足内存覆盖层的写入条件,即判断内存覆盖层空间的大小是否大于预设的值,若是,则解析现有段数据或构建段数据,然后写入内存覆盖层;若均不满足,进入步骤42;
步骤42、再判断是否满足被保护的分区覆盖层的写入条件,即判断被保护分区的覆盖层是否还有空间,若是,则解析现有段数据或构建段数据,然后写入被保护的分区覆盖层;若均不满足,进入步骤43;
步骤43、最后判断是否满足磁盘自由空间覆盖层的写入条件,即判断磁盘中是否有空闲的自由覆盖层空间,若是,则解析现有段数据或构建段数据,然后写入磁盘自由空间覆盖层;若不满足,则返回错误信息。
3.一种覆盖层的组建方法,其特征在于:所述覆盖层的空间主要由内存覆盖层、被保护的分区覆盖层、磁盘自由空间覆盖层三种类型组成;将所述三种类型的覆盖层统一组织,同时标注覆盖层类型;所述统一组织是指:先将所述三种类型的覆盖层定义相同的段数据组织方式,并为该段数据设置一段列表,然后在需要覆盖层空间时,按照所定义的段数据组织方式在三种类型的覆盖层中为需要写入的数据动态分配一个逻辑段,并将该逻辑段加入段列表中;其中,一覆盖层由至少一个逻辑段构成,一逻辑段由至少一个扇区构成;
分别针对所述覆盖层空间的三种类型的覆盖层构造覆盖层空间段;提取段空间信息插入段列表中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310497594.7A CN103593146B (zh) | 2013-10-21 | 2013-10-21 | 基于磁盘过滤的覆盖层空间切换方法及覆盖层的组建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310497594.7A CN103593146B (zh) | 2013-10-21 | 2013-10-21 | 基于磁盘过滤的覆盖层空间切换方法及覆盖层的组建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103593146A CN103593146A (zh) | 2014-02-19 |
CN103593146B true CN103593146B (zh) | 2016-04-20 |
Family
ID=50083317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310497594.7A Active CN103593146B (zh) | 2013-10-21 | 2013-10-21 | 基于磁盘过滤的覆盖层空间切换方法及覆盖层的组建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103593146B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101236533A (zh) * | 2007-07-31 | 2008-08-06 | 北京理工大学 | Windows环境下一种基于PCI卡的硬盘写保护锁 |
CN102289624A (zh) * | 2011-05-16 | 2011-12-21 | 福建升腾资讯有限公司 | 一种基于写过滤技术的磁盘保护系统 |
CN102799542A (zh) * | 2012-07-12 | 2012-11-28 | 福建升腾资讯有限公司 | 扇区增量的树形多层覆盖层的磁盘保护系统及其实现方法 |
GB2492352A (en) * | 2011-06-29 | 2013-01-02 | Leonid Dorrendorf | Optimising application performance on basis of priority |
-
2013
- 2013-10-21 CN CN201310497594.7A patent/CN103593146B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101236533A (zh) * | 2007-07-31 | 2008-08-06 | 北京理工大学 | Windows环境下一种基于PCI卡的硬盘写保护锁 |
CN102289624A (zh) * | 2011-05-16 | 2011-12-21 | 福建升腾资讯有限公司 | 一种基于写过滤技术的磁盘保护系统 |
GB2492352A (en) * | 2011-06-29 | 2013-01-02 | Leonid Dorrendorf | Optimising application performance on basis of priority |
CN102799542A (zh) * | 2012-07-12 | 2012-11-28 | 福建升腾资讯有限公司 | 扇区增量的树形多层覆盖层的磁盘保护系统及其实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103593146A (zh) | 2014-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8307159B2 (en) | System and method for providing performance-enhanced rebuild of a solid-state drive (SSD) in a solid-state drive hard disk drive (SSD HDD) redundant array of inexpensive disks 1 (RAID 1) pair | |
CN102968460B (zh) | 基于光盘的数据库存储系统及利用该系统的方法 | |
CN103077121B (zh) | 一种闪存存储设备中数据管理的方法及装置 | |
CN101241748B (zh) | 通过动态带边界定义保存硬盘驱动器数据 | |
CN103513942B (zh) | 独立冗余磁盘阵列的重构方法及装置 | |
CN103677654A (zh) | 一种存储数据的方法及电子设备 | |
US9875030B2 (en) | Media write operation | |
CN105893184A (zh) | 一种增量备份方法及装置 | |
CN102214143A (zh) | 一种多层单元闪存的管理方法、装置及存储设备 | |
CN102902566A (zh) | 一种应用软件的安装及启动方法和装置 | |
CN105224891A (zh) | 磁盘光盘融合数据安全存储方法、系统及装置 | |
CN109902034A (zh) | 快照创建方法、装置、电子设备及机器可读存储介质 | |
CN103713973A (zh) | 一种基于hdd和ssd的混合存储备份方法及系统 | |
CN103729149A (zh) | 一种存储数据的方法 | |
US7844776B2 (en) | RAID capacity expansion handling method and system with concurrent data access capability | |
CN104268097B (zh) | 一种元数据处理方法及系统 | |
JP6218668B2 (ja) | メディアへのファイル書き込みに伴うメタ情報の効率的な利用 | |
CN103617133A (zh) | 一种Windows系统中虚拟内存压缩方法和装置 | |
CN105260139A (zh) | 一种磁盘管理方法以及系统 | |
CN103927215A (zh) | 基于内存盘与SSD硬盘的kvm虚拟机调度的优化方法及系统 | |
WO2021184901A1 (zh) | 一种数据的写入方法、装置以及设备 | |
CN104142943A (zh) | 一种数据库扩容方法和一种数据库 | |
CN105205015A (zh) | 一种数据存储方法及存储设备 | |
CN103593146B (zh) | 基于磁盘过滤的覆盖层空间切换方法及覆盖层的组建方法 | |
CN102160038A (zh) | 管理非易失性磁盘高速缓存的方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |