CN103838647A - 一种基于快照重映射的数据状态转换的方法及系统 - Google Patents
一种基于快照重映射的数据状态转换的方法及系统 Download PDFInfo
- Publication number
- CN103838647A CN103838647A CN201410053469.1A CN201410053469A CN103838647A CN 103838647 A CN103838647 A CN 103838647A CN 201410053469 A CN201410053469 A CN 201410053469A CN 103838647 A CN103838647 A CN 103838647A
- Authority
- CN
- China
- Prior art keywords
- snapshot
- data
- mapping table
- state snapshot
- new
- 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
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000007704 transition Effects 0.000 title abstract 6
- 238000013507 mapping Methods 0.000 claims abstract description 87
- 238000006243 chemical reaction Methods 0.000 claims description 31
- 238000013500 data storage Methods 0.000 abstract description 2
- 230000005012 migration Effects 0.000 abstract description 2
- 238000013508 migration Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于快照重映射的数据状态转换的方法及系统,涉及数据存储领域,特别涉及一种基于映射方式的虚拟化存储方法。该方法包括根据数据状态获取该数据的起始状态快照,该状态快照包括映射表和指向新状态快照的指针,其中该新状态快照只用于读取数据;通过快照重映射动态的将该数据状态由该起始状态快照迁移到该新动态快照,同时将该起始状态快照的指针指向该新状态快照并生成状态快照链,同时修改状态快照各自的映射表,以实现数据状态转换。本发明的方法及系统能够在线实现无需数据迁移的持久存储数据的状态转换,减少更改持久存储的数据状态的开销。
Description
技术领域
本发明涉及数据存储领域,特别涉及一种基于映射方式的虚拟化存储方法。
背景技术
当前网络存储系统功能日益丰富,需要管理和维护存储的数据块的状态。网络存储系统中存在栈式的多层的块设备驱动,每层块设备需要维护一致的数据视图。
传统的存储快照是关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像。快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品。实现快照功能的文件系统基本上都是一些专用系统或者专为某个特定功能实现的文件系统,在这个层级上实现快照,缺乏灵活性和可扩展性,同时无法保证每个快照都处于数据一致性的状态。
发明专利“一种块级快照系统及基于该系统的用户读写方法”公开了一种块级快照系统,包括由源设备以及一个或多个快照设备形成的快照设备链,源设备和快照设备中包括缓存设备、一对块设备SDU和SDL,以及存储设备。其中块设备SDU用于接受并处理用户对所述系统的读写请求、缓存设备用于处理从所述块设备SDU转发来的用户的读写请求且用于缓存数据、块设备SDL用于处理从所述缓存设备转发来的读请求。当系统接收用户的读请求时,块设备SDU将对于不是本地数据的读请求转发到前一个时间点的块设备SDU;而对于本地数据的读请求则由块设备SDL从存储设备中读出并返回给缓存设备用以缓存。缓存设备只缓存本地存储的数据,从而解决了缓存资源冗余的问题。但是该发明涉及快照间共享缓存的方法,快照是数据对象在某个时间点的一致映像。本发明的快照是数据在一个状态下的映像,这些状态用于存储系统内部。
发明专利“一种基于连续快照的持续数据保护的方法”公开了一种基于连续快照的持续数据保护的方法及系统,通过快照获取磁盘或者逻辑存储单元的一个副本,通过连续快照可以获取磁盘连续多的副本,从而实现数据的连续保护,通过回滚快照将逻辑存储单元恢复到之前的一个状态,或者通过克隆快照产生一个新的逻辑磁盘,供用户挂载使用,本发明通过自动的快照技术连续保存存储池的状态,实现数据的持续保护,在意外发生时不仅能够快速回滚到正常的系统和数据状态,而且能够通过选择有效的历史状态点数据来避免“误操作、病毒侵袭”等软灾难导致的数据错误。但是该发明用快照实现数据连续保护。本发明涉及用快照表达并保护持久存储数据的状态。
发明内容
本发明的目的在于实现数据状态转换并提供数据的一个完全可用的副本或映像,提出了一种状态快照,及重映射实现数据状态转换的方法。
具体地来讲,本发明公开了一种基于快照重映射的数据状态转换的方法,包括如下步骤:
步骤1,根据数据状态获取该数据的起始状态快照,该状态快照包括映射表和指向新状态快照的指针,其中该新状态快照只用于读取数据;
步骤2,通过快照重映射,动态的将该数据状态由该起始状态快照迁移到该新动态快照,同时将该起始状态快照的指针指向该新状态快照并生成状态快照链,同时修改状态快照各自的映射表,以实现数据状态转换。
所述的基于快照重映射的数据状态转换的方法,该步骤2中修改状态快照各自的映射表的具体步骤为:将该起始状态快照的映射表中数据块对应的表项填入该新状态快照的映射表,同时删除该起始状态快照的该映射表中的该表项。
所述的基于快照重映射的数据状态转换的方法,还包括该起始状态快照通过写时转向技术将新数据写入到硬盘或存储系统,并修改该起始状态快照的映射表指向新数据。
所述的基于快照重映射的数据状态转换的方法,还包括:读取数据时,按顺序依次读取该状态快照链中各状态快照的映射表,当读取该起始状态快照的映射表时,如果命中,则根据该映射表查找与其相对应的数据块中的数据并读取该数据,否则读取该新状态快照的映射表,如果命中,则根据该新状态快照的映射表查找与其相对应的数据块中的数据并读取该数据,否则继续读取后续状态快照,如果没有后续状态,则返回空值。
所述的基于快照重映射的数据状态转换的方法,还包括映射表修改后,释放空闲数据块的资源,为后续数据提供写入空间。
本发明还公开了一种基于快照重映射的数据状态转换的系统,其特征在于,包括:
获取模块,用于根据数据状态获取该数据的起始状态快照,该状态快照包括映射表和指向新状态快照的指针,其中该新状态快照只用于读取数据;
迁移模块,用于通过快照重映射,动态的将该数据状态由该起始状态快照迁移到该新动态快照,同时将该起始状态快照的指针指向该新状态快照并生成状态快照链,同时修改状态快照各自的映射表,以实现数据状态转换。
所述的基于快照重映射的数据状态转换的系统,还包括修改映射表模块,该模块用于将该起始状态快照的映射表中数据块对应的表项填入该新状态快照的映射表,同时删除该起始状态快照的该映射表中的该表项。
所述的基于快照重映射的数据状态转换的系统,还包括写入数据模块,该模块用于通过写时转向技术将新数据写入到硬盘或存储系统,并修改该起始状态快照的映射表指向新数据。
所述的基于快照重映射的数据状态转换的系统,还包括读取数据模块,该模块用于读取数据时,按顺序依次读取该状态快照链中各状态快照的映射表,当读取该起始状态快照的映射表时,如果命中,则根据该映射表查找与其相对应的数据块中的数据并读取该数据,否则读取该新状态快照的映射表,如果命中,则根据该新状态快照的映射表查找与其相对应的数据块中的数据并读取该数据,否则继续读取后续状态快照,如果没有后续状态,则返回空值。
所述的基于快照重映射的数据状态转换的系统,还包括释放资源模块,该模块用于释放空闲数据块的资源,为后续数据提供写入空间。
由以上方案可知,本发明的优点在于:
状态快照提供了一个完全可用的映像,可产生数据对象在同一个状态下一致的数据副本;在线实现无需数据迁移的持久存储数据的状态转换,减少更改持久存储的数据状态的开销。
附图说明
图1为状态快照示意图;
图2为更改数据块状态示意图;
图3为源卷写入数据流程图;
图4为数据状态转换示意图;
图5为资源释放示意图;
其中附图标记为:
1为状态快照(源卷);
2为状态快照(只读);
3为数据块;
步骤100为源卷写入数据步骤,包括:
步骤101/102/103/104。
具体实施方式
本发明中的快照是数据达到某一个状态时的映像,对一个基于状态建立的快照,其中快照可见的所有数据都可统一在该状态下,如图1所示,从状态快照读1取数据时,首先读取状态快照1的映射表,如果未命中,则需要搜索状态快照1的后续一个状态快照2。状态快照主要结构包括映射表、指向下一个状态快照的指针,其中,状态快照1为源卷,源卷使用写时转向技术(Redirect-On-Write,ROW),将新数据写入到硬盘或存储系统中未被使用的位置,然后修改资源映射表指向新数据。后续状态快照2只读,不允许写入。
传统的快照用来表达某个时间点的数据,因此一个时间点的数据对象静态的不变地属于该时间点的快照。而本发明中一个数据对象可以根据状态不同,动态地由一个状态的快照迁移到另外一个状态的快照,该过程通过数据块的重映射实现数据状态转换,不需拷贝数据,如图2所示,状态快照1的指针指向状态快照2,解除状态快照1对数据块3的映射,同时建立状态快照2对数据块3的映射,重映射过程需要实现两个快照上的映射表原子地一起修改。
数据写入状态快照1的具体步骤为:数据写入状态快照1(源卷)的过程采用写时转向技术,将数据写入新分配的存储单元,然后更新映射表,如图3所示,执行步骤101写入数据,将数据写入状态快照1中S0号数据块,执行步骤102写重定向,对状态快照1中S0号数据块写操作转发到一个新分配的pa数据块,数据写入pa数据块,执行步骤103更新映射表,写入pa数据块完成后,修改状态快照1的映射表,建立映射S0->pa,执行步骤104返回,根据以上步骤继续将数据写入S1-S4号数据块。
修改映射表实现数据状态转换的具体步骤为:如图4所示,将状态快照1的映射表中S0、S1、S2号数据块对应的表项填入状态快照2的映射表,然后删除状态快照1的映射表中的表项,状态快照1的下一个状态记录在状态快照的元数据中,状态快照1的下一个状态是状态快照2。
读取数据的具体步骤为:按状态快照链的顺序依次搜索,直到搜索到要读取的数据,首先读取状态快照1,先搜索状态快照1的映射表,如果命中,则根据映射找到实际数据块并读取数据,如果没有命中状态快照1的映射表,那么搜索状态快照2的映射表,如果命中,则根据映射找到实际数据块并读取数据,如果没有命中状态快照2的映射表,那么继续搜索后续状态快照,如果没有后续状态快照,那么返回空值。
释放空闲数据块资源的具体步骤为:如图5所示,写入状态快照1中S0、S1、S2、S3、S4号块,数据写入新分配的数据块p0、p1、p2、p3、p4,并建立新的表项。由于数据块pd、pe不再被映射表项引用,因此释放这两个数据块的资源,为后续数据的写入提供空间,提高效率。
本发明包括的模块为:获取模块、迁移模块、修改映射表模块、写入数据模块、读取数据模块、释放资源模块。
获取模块,用于根据数据状态获取该数据的起始状态快照,该状态快照包括映射表和指向新状态快照的指针,其中该新状态快照只用于读取数据;
迁移模块,用于通过快照重映射,动态的将该数据状态由该起始状态快照迁移到该新动态快照,同时将该起始状态快照的指针指向该新状态快照并生成状态快照链,同时修改状态快照各自的映射表,以实现数据状态转换。
修改映射表模块,该模块用于将该起始状态快照的映射表中数据块对应的表项填入该新状态快照的映射表,同时删除该起始状态快照的该映射表中的该表项。
写入数据模块,该模块用于通过写时转向技术将新数据写入到硬盘或存储系统,并修改该起始状态快照的映射表指向新数据。
读取数据模块,该模块用于读取数据时,按顺序依次读取该状态快照链中各状态快照的映射表,当读取该起始状态快照的映射表时,如果命中,则根据该映射表查找与其相对应的数据块中的数据并读取该数据,否则读取该新状态快照的映射表,如果命中,则根据该新状态快照的映射表查找与其相对应的数据块中的数据并读取该数据,否则继续读取后续状态快照,如果没有后续状态,则返回空值。
释放资源模块,该模块用于释放空闲数据块的资源,为后续数据提供写入空间。
Claims (10)
1.一种基于快照重映射的数据状态转换的方法,其特征在于,包括如下步骤:
步骤1,根据数据状态获取该数据的起始状态快照,该状态快照包括映射表和指向新状态快照的指针,其中该新状态快照只用于读取数据;
步骤2,通过快照重映射,动态的将该数据状态由该起始状态快照迁移到该新动态快照,同时将该起始状态快照的指针指向该新状态快照并生成状态快照链,同时修改状态快照各自的映射表,以实现数据状态转换。
2.如权利要求1所述的基于快照重映射的数据状态转换的方法,其特征在于,该步骤2中修改状态快照各自的映射表的具体步骤为:将该起始状态快照的映射表中数据块对应的表项填入该新状态快照的映射表,同时删除该起始状态快照的该映射表中的该表项。
3.如权利要求1所述的基于快照重映射的数据状态转换的方法,其特征在于,还包括该起始状态快照通过写时转向技术将新数据写入到硬盘或存储系统,并修改该起始状态快照的映射表指向新数据。
4.如权利要求1所述的基于快照重映射的数据状态转换的方法,其特征在于,还包括:读取数据时,按顺序依次读取该状态快照链中各状态快照的映射表,当读取该起始状态快照的映射表时,如果命中,则根据该映射表查找与其相对应的数据块中的数据并读取该数据,否则读取该新状态快照的映射表,如果命中,则根据该新状态快照的映射表查找与其相对应的数据块中的数据并读取该数据,否则继续读取后续状态快照,如果没有后续状态,则返回空值。
5.如权利要求1所述的基于快照重映射的数据状态转换的方法,其特征在于,还包括映射表修改后,释放空闲数据块的资源,为后续数据提供写入空间。
6.一种基于快照重映射的数据状态转换的系统,其特征在于,包括:
获取模块,用于根据数据状态获取该数据的起始状态快照,该状态快照包括映射表和指向新状态快照的指针,其中该新状态快照只用于读取数据;
迁移模块,用于通过快照重映射,动态的将该数据状态由该起始状态快照迁移到该新动态快照,同时将该起始状态快照的指针指向该新状态快照并生成状态快照链,同时修改状态快照各自的映射表,以实现数据状态转换。
7.如权利要求6所述的基于快照重映射的数据状态转换的系统,其特征在于,还包括修改映射表模块,该模块用于将该起始状态快照的映射表中数据块对应的表项填入该新状态快照的映射表,同时删除该起始状态快照的该映射表中的该表项。
8.如权利要求6所述的基于快照重映射的数据状态转换的系统,其特征在于,还包括写入数据模块,该模块用于通过写时转向技术将新数据写入到硬盘或存储系统,并修改该起始状态快照的映射表指向新数据。
9.如权利要求6所述的基于快照重映射的数据状态转换的系统,其特征在于,还包括读取数据模块,该模块用于读取数据时,按顺序依次读取该状态快照链中各状态快照的映射表,当读取该起始状态快照的映射表时,如果命中,则根据该映射表查找与其相对应的数据块中的数据并读取该数据,否则读取该新状态快照的映射表,如果命中,则根据该新状态快照的映射表查找与其相对应的数据块中的数据并读取该数据,否则继续读取后续状态快照,如果没有后续状态,则返回空值。
10.如权利要求6所述的基于快照重映射的数据状态转换的系统,其特征在于,还包括释放资源模块,该模块用于释放空闲数据块的资源,为后续数据提供写入空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410053469.1A CN103838647B (zh) | 2014-02-17 | 2014-02-17 | 一种基于快照重映射的数据状态转换的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410053469.1A CN103838647B (zh) | 2014-02-17 | 2014-02-17 | 一种基于快照重映射的数据状态转换的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103838647A true CN103838647A (zh) | 2014-06-04 |
CN103838647B CN103838647B (zh) | 2018-02-06 |
Family
ID=50802176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410053469.1A Expired - Fee Related CN103838647B (zh) | 2014-02-17 | 2014-02-17 | 一种基于快照重映射的数据状态转换的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103838647B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107220006A (zh) * | 2017-06-01 | 2017-09-29 | 深圳市云舒网络技术有限公司 | 一种基于tcmu虚拟磁盘的多数据副本一致性保证方法 |
CN108874583A (zh) * | 2017-05-15 | 2018-11-23 | 中兴通讯股份有限公司 | 一种数据保护方法、装置及计算机可读存储介质 |
CN110795389A (zh) * | 2019-10-28 | 2020-02-14 | 深信服科技股份有限公司 | 基于存储快照的拷贝方法、用户设备、存储介质及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101140536A (zh) * | 2007-05-21 | 2008-03-12 | 中兴通讯股份有限公司 | 一种支持级联快照的快照系统及其快照处理方法 |
CN101183383A (zh) * | 2007-12-17 | 2008-05-21 | 中国科学院计算技术研究所 | 一种快照系统及其使用方法 |
CN101206595A (zh) * | 2006-12-19 | 2008-06-25 | 英业达股份有限公司 | 以快照指针进行磁盘快照的方法 |
US20130305002A1 (en) * | 2012-05-13 | 2013-11-14 | Xtremio Ltd. | Snapshot mechanism |
-
2014
- 2014-02-17 CN CN201410053469.1A patent/CN103838647B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101206595A (zh) * | 2006-12-19 | 2008-06-25 | 英业达股份有限公司 | 以快照指针进行磁盘快照的方法 |
CN101140536A (zh) * | 2007-05-21 | 2008-03-12 | 中兴通讯股份有限公司 | 一种支持级联快照的快照系统及其快照处理方法 |
CN101183383A (zh) * | 2007-12-17 | 2008-05-21 | 中国科学院计算技术研究所 | 一种快照系统及其使用方法 |
US20130305002A1 (en) * | 2012-05-13 | 2013-11-14 | Xtremio Ltd. | Snapshot mechanism |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108874583A (zh) * | 2017-05-15 | 2018-11-23 | 中兴通讯股份有限公司 | 一种数据保护方法、装置及计算机可读存储介质 |
CN107220006A (zh) * | 2017-06-01 | 2017-09-29 | 深圳市云舒网络技术有限公司 | 一种基于tcmu虚拟磁盘的多数据副本一致性保证方法 |
CN107220006B (zh) * | 2017-06-01 | 2019-10-01 | 深圳市云舒网络技术有限公司 | 一种基于tcmu虚拟磁盘的多数据副本一致性保证方法 |
CN110795389A (zh) * | 2019-10-28 | 2020-02-14 | 深信服科技股份有限公司 | 基于存储快照的拷贝方法、用户设备、存储介质及装置 |
CN110795389B (zh) * | 2019-10-28 | 2022-09-30 | 深信服科技股份有限公司 | 基于存储快照的拷贝方法、用户设备、存储介质及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103838647B (zh) | 2018-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11481121B2 (en) | Physical media aware spacially coupled journaling and replay | |
US10678768B2 (en) | Logical band-based key-value storage structure | |
US9454317B2 (en) | Tiered storage system, storage controller and method of substituting data transfer between tiers | |
US10175894B1 (en) | Method for populating a cache index on a deduplicated storage system | |
US11226747B2 (en) | System and method for copy on write on an SSD | |
US10061710B2 (en) | Storage device | |
KR101301840B1 (ko) | 비휘발성 메모리 장치의 데이터 처리 방법 | |
US9569122B2 (en) | System, method and a non-transitory computer readable medium for transaction aware snapshot | |
US20100070729A1 (en) | System and method of managing metadata | |
US20140052904A1 (en) | Systems and methods for recovering addressing data | |
US8694563B1 (en) | Space recovery for thin-provisioned storage volumes | |
CN102831072B (zh) | 闪存设备及其管理方法、数据读写方法及读写装置 | |
TW201329714A (zh) | 用於元資料持久性的方法 | |
JP2007226347A (ja) | 計算機システム、計算機システムの管理装置、及びデータのリカバリー管理方法 | |
CN107615255A (zh) | 利用持久存储器的计算装置和方法 | |
US9678871B2 (en) | Data flush of group table | |
CN109902034A (zh) | 快照创建方法、装置、电子设备及机器可读存储介质 | |
CN109074308A (zh) | 适应性的块转换表(btt) | |
JP2006039772A (ja) | メモリカード、不揮発性半導体メモリ、及び半導体メモリの制御方法 | |
CN103838647A (zh) | 一种基于快照重映射的数据状态转换的方法及系统 | |
EP2901267B1 (en) | Persistent log operations for non-volatile memory | |
US10289307B1 (en) | Method for handling block errors on a deduplicated storage system | |
US11221985B2 (en) | Metadata space efficient snapshot operation in page storage | |
TWI669610B (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
US11194760B1 (en) | Fast object snapshot via background processing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180206 |
|
CF01 | Termination of patent right due to non-payment of annual fee |