CN103838647B - 一种基于快照重映射的数据状态转换的方法及系统 - Google Patents

一种基于快照重映射的数据状态转换的方法及系统 Download PDF

Info

Publication number
CN103838647B
CN103838647B CN201410053469.1A CN201410053469A CN103838647B CN 103838647 B CN103838647 B CN 103838647B CN 201410053469 A CN201410053469 A CN 201410053469A CN 103838647 B CN103838647 B CN 103838647B
Authority
CN
China
Prior art keywords
snapshot
data
mapping table
state snapshot
state
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.)
Expired - Fee Related
Application number
CN201410053469.1A
Other languages
English (en)
Other versions
CN103838647A (zh
Inventor
孙振元
郭明阳
许鲁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin Zhongke Bluewhale Information Technology Co ltd
Institute of Computing Technology of CAS
Original Assignee
Tianjin Zhongke Bluewhale Information Technology Co ltd
Institute of Computing Technology of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tianjin Zhongke Bluewhale Information Technology Co ltd, Institute of Computing Technology of CAS filed Critical Tianjin Zhongke Bluewhale Information Technology Co ltd
Priority to CN201410053469.1A priority Critical patent/CN103838647B/zh
Publication of CN103838647A publication Critical patent/CN103838647A/zh
Application granted granted Critical
Publication of CN103838647B publication Critical patent/CN103838647B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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 (8)

1.一种基于快照重映射的数据状态转换的方法,其特征在于,包括如下步骤:
步骤1,根据数据状态获取该数据的起始状态快照,该起始状态快照包括映射表和指向新状态快照的指针,其中该新状态快照只用于读取数据;
步骤2,通过快照重映射,动态的将该数据状态由该起始状态快照迁移到该新状态快照,同时将该起始状态快照的指针指向该新状态快照并生成状态快照链,同时修改状态快照各自的映射表,以实现数据状态转换;
读取数据时,按顺序依次读取该状态快照链中各状态快照的映射表,当读取该起始状态快照的映射表时,如果命中,则根据该映射表查找与其相对应的数据块中的数据并读取该数据,否则读取该新状态快照的映射表,如果命中,则根据该新状态快照的映射表查找与其相对应的数据块中的数据并读取该数据,否则继续读取后续状态快照,如果没有后续状态,则返回空值。
2.如权利要求1所述的基于快照重映射的数据状态转换的方法,其特征在于,该步骤2中修改状态快照各自的映射表的具体步骤为:将该起始状态快照的映射表中数据块对应的表项填入该新状态快照的映射表,同时删除该起始状态快照的该映射表中的该表项。
3.如权利要求1所述的基于快照重映射的数据状态转换的方法,其特征在于,还包括该起始状态快照通过写时转向技术将新数据写入到存储系统,并修改该起始状态快照的映射表指向新数据。
4.如权利要求1所述的基于快照重映射的数据状态转换的方法,其特征在于,还包括映射表修改后,释放空闲数据块的资源,为后续数据提供写入空间。
5.一种基于快照重映射的数据状态转换的系统,其特征在于,包括:
获取模块,用于根据数据状态获取该数据的起始状态快照,该起始状态快照包括映射表和指向新状态快照的指针,其中该新状态快照只用于读取数据;
迁移模块,用于通过快照重映射,动态的将该数据状态由该起始状态快照迁移到该新状态快照,同时将该起始状态快照的指针指向该新状态快照并生成状态快照链,同时修改状态快照各自的映射表,以实现数据状态转换;
读取数据模块,该模块用于读取数据时,按顺序依次读取该状态快照链中各状态快照的映射表,当读取该起始状态快照的映射表时,如果命中,则根据该映射表查找与其相对应的数据块中的数据并读取该数据,否则读取该新状态快照的映射表,如果命中,则根据该新状态快照的映射表查找与其相对应的数据块中的数据并读取该数据,否则继续读取后续状态快照,如果没有后续状态,则返回空值。
6.如权利要求5所述的基于快照重映射的数据状态转换的系统,其特征在于,还包括修改映射表模块,该模块用于将该起始状态快照的映射表中数据块对应的表项填入该新状态快照的映射表,同时删除该起始状态快照的该映射表中的该表项。
7.如权利要求5所述的基于快照重映射的数据状态转换的系统,其特征在于,还包括写入数据模块,该模块用于通过写时转向技术将新数据写入到存储系统,并修改该起始状态快照的映射表指向新数据。
8.如权利要求5所述的基于快照重映射的数据状态转换的系统,其特征在于,还包括释放资源模块,该模块用于释放空闲数据块的资源,为后续数据提供写入空间。
CN201410053469.1A 2014-02-17 2014-02-17 一种基于快照重映射的数据状态转换的方法及系统 Expired - Fee Related CN103838647B (zh)

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 CN103838647A (zh) 2014-06-04
CN103838647B true 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)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108874583A (zh) * 2017-05-15 2018-11-23 中兴通讯股份有限公司 一种数据保护方法、装置及计算机可读存储介质
CN107220006B (zh) * 2017-06-01 2019-10-01 深圳市云舒网络技术有限公司 一种基于tcmu虚拟磁盘的多数据副本一致性保证方法
CN110795389B (zh) * 2019-10-28 2022-09-30 深信服科技股份有限公司 基于存储快照的拷贝方法、用户设备、存储介质及装置

Citations (3)

* Cited by examiner, † Cited by third party
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 英业达股份有限公司 以快照指针进行磁盘快照的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9141290B2 (en) * 2012-05-13 2015-09-22 Emc Corporation Snapshot mechanism

Patent Citations (3)

* Cited by examiner, † Cited by third party
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 中国科学院计算技术研究所 一种快照系统及其使用方法

Also Published As

Publication number Publication date
CN103838647A (zh) 2014-06-04

Similar Documents

Publication Publication Date Title
CN106407040B (zh) 一种远程数据复制方法及系统
JP5707540B1 (ja) 階層化ストレージシステム、ストレージコントローラ、及び階層間のデータ移動を代替する方法
CN104395904B (zh) 高效的数据对象存储和检索
KR101717644B1 (ko) 고체-상태 저장 디바이스 상에서 데이터를 캐싱하는 장치, 시스템, 및 방법
CN103473150B (zh) 一种用于数据去重系统中的碎片重写方法
CN104350477B (zh) 用于固态驱动装置(ssd)的优化的上下文移除
CN104272272B (zh) 混合储存集合去除重复
US10810123B1 (en) Flush strategy for using DRAM as cache media system and method
CN102541983B (zh) 一种分布式文件系统中多客户端缓存同步的方法
US9317375B1 (en) Managing cache backup and restore for continuous data replication and protection
US9569367B1 (en) Cache eviction based on types of data stored in storage systems
US9075754B1 (en) Managing cache backup and restore
CN107615252A (zh) 横向扩展存储系统中的元数据管理
CN107391774B (zh) 基于重复数据删除的日志文件系统的垃圾回收方法
US9021222B1 (en) Managing incremental cache backup and restore
WO2016086819A1 (zh) 将数据写入叠瓦状磁记录smr硬盘的方法及装置
CN105339910B (zh) 在混合驱动器中的虚拟nand容量扩展
TW201428758A (zh) 記憶體片段重新映射以解決碎片
TW201329714A (zh) 用於元資料持久性的方法
CN107615255A (zh) 利用持久存储器的计算装置和方法
US11003558B2 (en) Systems and methods for sequential resilvering
CN112000426B (zh) 一种数据处理方法及装置
CN110196818A (zh) 缓存数据的方法、缓存设备和存储系统
CN109739696B (zh) 一种双控存储阵列固态硬盘缓存加速方法
CN106547477B (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
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