CN101187948A - 一种持续数据保护系统及其实现方法 - Google Patents

一种持续数据保护系统及其实现方法 Download PDF

Info

Publication number
CN101187948A
CN101187948A CNA2007103036626A CN200710303662A CN101187948A CN 101187948 A CN101187948 A CN 101187948A CN A2007103036626 A CNA2007103036626 A CN A2007103036626A CN 200710303662 A CN200710303662 A CN 200710303662A CN 101187948 A CN101187948 A CN 101187948A
Authority
CN
China
Prior art keywords
data
metadata
equipment
write
mode
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
Application number
CNA2007103036626A
Other languages
English (en)
Other versions
CN100555289C (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.)
Institute of Computing Technology of CAS
Original Assignee
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CNB2007103036626A priority Critical patent/CN100555289C/zh
Publication of CN101187948A publication Critical patent/CN101187948A/zh
Application granted granted Critical
Publication of CN100555289C publication Critical patent/CN100555289C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提出了一种持续数据保护(Continuous Data Protection CDP)系统及其实现方法,所述系统包括管理工具模块、主体模块和物理设备,所述系统可以进行灵活的堆栈。使用管理工具模块建立带有时间点的主体模块,并对主体模块进行读、写和存储操作,按照数据访问频度和数据等级的不同,将最近访问和重要的数据采用细粒度的CDP技术,不经常访问和非重要的数据采用粗粒度的备份保护技术,使得可以支持不同保护粒度的持续数据保护,并且通过灵活的堆栈结构,在不降低对数据持续保护的可靠性的同时减少数据存储量的需求。

Description

一种持续数据保护系统及其实现方法
技术领域
本发明涉及数据保护技术领域,更具体地,本发明涉及一种持续数据保护(Continuous Data Protection,CDP)系统及其实现方法。
背景技术
CDP技术是一种数据连续时间点保护技术,用来解决传统快照-备份数据保护技术中费时的数据备份和低效的恢复能力的问题。目前,根据数据保护粒度,CDP技术分为准CDP(Near CDP)技术和真CDP(True CDP)技术。准CDP技术采用快照技术,在某一个时间点对源数据作一个只读快照,是当时数据的一个静态映像,仅反映做快照时间点的数据情况,在运行时,可以定时作快照,也可以手工做快照,当读取历史版本数据时,只能访问快照时间点的数据,属于离散数据保护技术,数据保护的粒度依赖于快照的频度。真CDP技术是采用每次写进行数据拷贝的技术,一般只提供单一粒度的保护支持,数据写入到持久空间(Permanent Storage,PS)时执行COW操作,将原始数据备份,再写入新的数据,然后在元数据空间(MetadataStorage,MS)中做数据变动记录,方便以后的查找,数据保护粒度为每次更新操作,可恢复时间点是连续的。
上述两种技术对数据保护没有进行分级,为了实现全数据的任意时间点的CDP,则需要巨大的存储空间。从数据生命周期的角度看CDP,可以发现,一方面,数据具有不同的重要性等级;另一方面,数据的存储行为是不均匀的,数据访问行为符合80/20原则,在大多数情况下,80%的访问集中在20%的数据上,现有技术中对数据采用同等存储代价进行保存,忽略这种差异性,导致数据持续保护可靠性的降低和巨大数据存储量的需求。
发明内容
为克服现有技术中持续数据保护可靠性差和数据存储量需求大的缺陷,本发明提出了一种持续数据保护系统及其实现方法。
根据本发明的一个方面,提供一种持续数据保护系统,包括:
管理工具模块,所述管理工具模块负责向内核空间中主体模块发出逻辑设备创建和删除命令,由主体模块完成具体任务;
物理设备,所述物理设备为存储设备,用于存放元数据和用户数据;
主体模块,所述主体模块由时间戳空间TS、元数据空间MS和持久空间PS子模块组成;当所述管理工具模块的创建命令发送给主体模块时,所述主体模块在内核空间中创建出一个逻辑块设备LD设备,所述TS,MS和PS与逻辑块设备建立关系,当外部应用通过LD设备进行读写操作时,主体模块负责数据在TS,PS上的转发和元数据的记录;
所述系统对最近时间段内的数据采用所述TS连续保护,超出TS的时间段数据,将TS段内的数据合并存储到PS,其中,所述最近时间段的长度由所述TS的大小确定,所述PS使用原位置写方式存储,逻辑空间与所述逻辑设备一一映射。
其中,所述TS提供时间戳,标记不同时间的历史数据,采用可恢复日志方式记录每次数据更新,所述TS使用回收策略,保证空间在被回收前将数据写到所述PS上。
其中,所述MS用于存储带有时间信息的逻辑地址到物理地址的映射表,所述MS采用日志方式记录和循环使用方式。
其中,所述PS提供持久数据的存储,通过数据合并迁移机制、连续远程复制机制提供不同时间粒度的数据保护支持。
其中,所述系统可以是一种可以堆叠使用的结构。
其中,在所述系统的一个逻辑设备中,可以使用另一个逻辑设备代替所述一个逻辑设备中的PS或者TS。
其中,多个逻辑设备可以采用设备间堆叠,所述多个LD设备进行横向层次堆叠,层次中每一个LD设备具有不同的保护粒度,各LD设备之间没有直接关系;或者多个LD设备可以采用设备内堆叠,所述多个LD设备进行纵向层次堆叠,每一个层次具有不同的保护粒度,下层LD的保护粒度为上层保护粒度的倍数;或者多个LD设备可以同时具有所述设备间堆叠和所述设备内堆叠;
其中,不同的堆叠方式可以提供不同等级的数据保护和不同长短的恢复时间。
根据本发明的另一方面,提供一种持续数据保护的方法,包括:
步骤10)、用户使用管理工具模块创建带有时间戳空间TS的逻辑设备LD,接收用户请求;
步骤20)、如果所述用户请求是读请求,根据元数据空间MS中的元数据判断数据位置;如果数据在时间戳空间TS上,将所述用户请求转发到所述TS,否则,转发到持久空间PS;
步骤30)、如果所述用户请求是写请求,首先根据设定的所述逻辑设备LD数据记录方式进行元数据记录,然后将数据写入到所述TS,根据设定的LD设备数据连续复制方式启动数据复制,写元数据到所述MS中,如果所述TS资源不足,启动所述TS到所述PS的数据合并过程。
其中,所述逻辑设备LD支持多种数据历史记录方式,包括周期记录、每写记录和应用驱动记录,所述数据历史记录方式在创建所述逻辑设备时指定。
其中,TS可以采用循环使用方式进行数据变动记录,当使用到所述TS尾部时,重新从所述TS头部开始记录。
其中,当创建所述LD时,根据用户对数据的可靠性要求,配置数据复制方式为同步复制方式或者异步复制方式,在所述LD内部建立远程设备名,不区分本地盘和网络盘,当TS产生元数据记录时,触发数据连续复制过程。
其中,所述方法进一步包括:如果数据复制方式是同步复制方式,数据同时采用镜像方式分别写入到本地盘和网络盘中,等两个写都返回后,返回给用户;如果数据复制方式是异步方式,数据先写入本地TS,同时将数据挂接到异步复制链表中,唤醒异步复制进程。
其中,在准备阶段,标识写元数据开始标志,然后将元数据映射表写入MS中;在提交阶段,确定元数据均已写入MS后,标识写元数据结束标志,提交该时刻的元数据,该时刻的元数据有效。
其中,所述TS进行数据合并时,同时使用正常读写时使用的读写空间和合并数据时使用的合并空间,进行细粒度到粗粒度的合并操作。
其中,步骤20)中,在LD设备创建时,只构建所述LD设备映射表的初始一部分,用于用户使用所述LD设备;当访问到LD设备未构建的映射表部分时,触发在线映射表构建过程。
其中,步骤20)中,当用户读取某一个时间版本的数据时,创建所述时间版本的块设备,构造所述时间版本的逻辑地址到物理地址的映射关系表,用户通过所述映射关系表读取数据。
其中,步骤20)中,当用户扫描元数据的重构时间版本数据映射表时,以离所述所读数据的时间戳最近的一个时间版本为起点向前遍历,如果在遍历的元数据映射表中找到所述数据的映射关系,到所述映射关系指定的设备读取所述数据;如果未发现映射关系,则到所述PS中读取数据。
使用本发明,按照数据访问频度和数据等级的不同,将最近访问和重要的数据采用细粒度的CDP技术,不经常访问和非重要的数据采用粗粒度的备份保护技术,使得可以支持不同保护粒度的持续数据保护,并且通过灵活的堆栈结构,在不降低对数据持续保护的可靠性的同时减少数据存储量的需求。
附图说明
图1是可层叠持续数据保护系统结构图;
图2是逻辑设备结构图;
图3是设备间堆叠组织图;
图4是设备内堆叠组织图;
图5是混合堆叠组织图;
图6是LD设备读写流程图;
图7是连续数据复制示意图;
图8是无检查点元数据格式图;
图9是有检查点元数据格式图;
图10是写元数据流程图;
图11是读版本数据流程图。
具体实施方式
下面结合附图和具体实施例,对本发明提供的一种持续数据保护系统及其实现方法作进一步说明。
在根据本发明的一个实施例中,持续数据保护(Continuous DataProtection,CDP)系统如图1所示,所述CDP系统包括管理工具模块、主体模块和物理设备。物理设备是指CDP系统的存储设备,用于存放元数据和用户数据,也是CDP系统最终的数据存放设备。管理工具模块由一组用户空间的命令组成,负责内核空间主体模块中的创建/删除等管理工作。主体模块由时间戳空间(Timestamp Storage,TS)、元数据空间(MetadataStorage,MS)和持久空间(Permanent Storage,PS)三个子模块组成,三个子模块功能相对独立,通过核心数据结构进行交互,如图2所示,逻辑设备提供指定时间点的数据访问。
用户工具发出创建命令,创建命令附带一些参数,包括:TS、MS、PS的物理设备名、模式。创建命令发送给主体模块,主体模块使用这些参数在内核中创建出一个块设备,并将TS,MS和PS与块设备建立关系,这个时候主体模块对外表现为一个设备,称为逻辑设备(LD设备)。
用户通过管理工具模块进行主体模块的管理,管理工具模块将用户的请求发往CDP系统的主体模块,主体模块按照要求,通过读、写操作进行访问,实现CDP系统的数据读、写和存储;在主体模块使用时,用户直接对主体模块进行读写操作,主体模块负责数据更新记录和保存等操作,最终将数据存放在物理设备上。
在LD设备中,每一个子模块可以表述为一个存储空间和一组对该空间进行操作的方法构成的对象。
TS用于存储细粒度的数据保护,提供时间戳,标记不同时间的历史数据。TS存储最新写入的数据,采用可恢复日志方式记录每次数据更新;TS的空间是重复利用的,使用回收策略,保证空间在被回收前将数据写到PS上;TS采用远程复制技术将每次更新保存到远程存储点。在本实施例的CDP设计中,考虑数据的保护性要求是随时间变化的,因此只对最近时间段内的数据采用连续保护(这个时间段的长短根据TS大小来决定),这个依赖于TS,在超出TS的时间段的数据,采用了非连续保护,将TS内的数据合并存储到PS上,节约存储空间。
MS用于存储带有时间信息的逻辑地址到物理地址的映射表;MS采用日志方式记录,每次新写记录在上次写之后;MS采用循环使用方式,当MS空间不足时,从开始使用。
PS用于粗粒度的数据保护,提供持久数据的存储,通过数据合并迁移机制、连续远程复制等技术提供不同时间粒度的数据保护支持;语义上PS与LD的逻辑空间一致;当读写时,语义上是对PS进行访问;PS使用原位置写方式存储,逻辑空间与LD一一映射;PS采用备份技术提供数据保护。
当发生数据读写操作时,三个子模块之间产生互动,用户请求先进入到TS,通过TS的逻辑确定数据是否要产生元数据记录,然后将数据转发给PS。
所述CDP系统为一种可堆叠持续数据保护(SCDP)系统,所述SCDP系统有两种构建方式,一种是LD单设备模式,另一种是LD设备堆叠模式。
单设备模式:首先创建一个逻辑设备LD,每个LD设备包括TS,MS和PS;对LD设备进行读写操作,在写操作过程中记录发生变化的数据和描述数据变化的元数据;当LD不再使用时,执行删除操作。
例如,系统在T0时刻创建了一个LD设备,然后对其进行读写操作,此时按照数据变动记录、数据连续复制、历史版本元数据的记录和持久数据记录运作,产生持续数据变更记录。
当运行到Tn时刻时,用户想获取Tx(0<x<n)时刻的数据,创建带有Tx时戳空间TS的LDx设备;读取LDx数据;当完成操作后,删除LDx设备。
在SCDP的LD单设备模式时,可以提供两种保护粒度支持:TS提供细粒度保护,PS提供粗粒度保护。
多设备堆叠模式:
为了提供更多保护粒度的支持,在根据本发明的另一实施例中,SCDP被设计为一种易于堆叠使用的结构,通过PS或者TS进行堆叠,形成层叠持续数据保护系统。其基本思路是在一个LD中,使用另一个LD设备代替前述一个LD的PS或者TS;多个LD设备可以按照下述三种堆叠方式进行组合,实现不同保护粒度的数据持续保护:
1)、设备间堆叠(Intra-Stack)
参见图3,多个LD设备进行横向层次(tier)堆叠,层次中每一个LD设备具有不同的保护粒度,各LD设备之间没有直接关系;
2)、设备内堆叠(Inter-Stack)
参见图4,多个LD设备进行纵向层次(layer)堆叠,每一个层次具有不同的保护粒度,下层LD的保护粒度为上层保护粒度的倍数;
3)、混合堆叠(Mixed-Stack)
参见图5,混合堆叠同时具有设备间堆叠和设备内堆叠。
不同的堆叠方式提供不同等级的数据保护和不同长短的恢复时间。例如,设备间堆叠方式可以采用三级存储构成,第一级采用高端设备,TS使用每次写CDP和同步远程镜像连续复制策略,用于保存最重要数据,第一级设备可提供任意时间点数据恢复和极短的恢复时间,并且可以容忍站点失效;第二级采用中端设备,TS使用定时CDP和异步连续复制策略,提供中等级的数据保护;第三级可以不使用CDP技术,采用备份对PS数据进行保护,用于存放非重要数据。
设备内堆叠方式提供层次间相关的一种多保护粒度的组织方式,当PS采用LD设备时,下层LD的保护粒度由上层LD的TS回收策略决定,例如上层TS为保护粒度1秒,TS向PS写的粒度为300秒,则下层LD的保护粒度为300秒。
通过多层叠加,SCDP几乎可以回滚到任意时间点的数据状态,使得仅有少量数据或没有数据丢失,从而具有较短的恢复时间。
SCDP系统依靠下列过程完成整体功能的实现,主要包括:数据变动记录、数据连续复制、历史版本元数据的记录、持久数据记录和历史版本数据获取。
SCDP系统运行的总体原则:
1)、SCDP采用Linux块设备驱动模块的方式实现,可以与普通的块设备层叠使用;
2)、PS、MS和TS的存储空间均为标准块设备,LD、TS和PS间采用转发的方式下传数据,访问方法在LD主框架中实现;
3)、当访问历史版本数据时,导出为一个块设备,通过标准的读操作访问该时间点数据;
4)、LD设备在创建时指定参数:数据记录方式和数据连续复制方式。
如图6所示,读写LD设备流程如下:
如果是读请求,根据MS中的元数据判断数据位置;如果数据在TS上,则将请求转发到TS;否则转发到PS上;
如果是写请求,根据设定的LD设备数据记录方式进行元数据记录(数据变更记录);将数据写入到TS中,根据设定的LD设备数据连续复制方式启动数据复制(数据连续复制);写元数据到MS中(元数据记录);如果TS资源不足,启动TS到PS的数据合并过程(持久数据记录)。
数据变动记录
按照数据保护粒度的不同,LD支持多种数据历史记录方式,包括周期记录(Period)、每写记录(Every write)和应用驱动记录(Event-based),通过创建设备时指定。周期记录(Period)指等时间粒度的自动记录,每个更新周期内暂存此周期内写入的数据,对重复写的数据进行合并,在下一周期开始时写入到TS中,该周期内的所有数据具有相同的版本;每写记录(Every write)指每次写操作都被记录,将每次写同步写入到TS中,每次写均产生一个数据版本;应用驱动记录(Event-based)指有应用驱动进行记录,下层提供应用程序接口,上层应用根据自己的一致性语义调用应用程序接口写入版本信息。
在LD的内部逻辑上,数据写入时,首先写到TS上,为了提高写性能,TS可以采用IRAM或SSD等高速设备,记录方式采用日志方式;根据数据版本产生方式,当需要记录版本时,将该版本的元数据写入到MS上;当TS耗尽或到达PS数据保护粒度时,将数据从TS迁移到PS上。为了不影响系统的性能,此时需要多版本缓存(Cache)技术或缓存(Cache)回调技术。TS采用循环使用方式,当使用到尾部时重新从设备头部开始记录。
数据写流程如下:
1)、LD监控磁盘IO请求,将写请求转发到TS;
2)、TS采用日志(Log)方式记录数据,每次更新均追加到新的存储空间上;
3)、如果是每写记录方式,则每次写都产生一个元数据记录,写入到MS上;
4)、如果是周期记录方式,在TS中则维护一个链表,在一个周期内的写将延迟到下一个周期到达时再写入到TS中,此时在本周期内的多次重复写只会产生一个元数据记录,在一个周期内的所有写操作都具有相同的时间戳;
5)、如果是应用驱动记录方式,则按照应用的显示语义触发元数据记录操作,否则不进行记录,应用驱动的方式为:开始,数据读写,结束;在一个开始一结束时间段内的所有写操作会产生一个相同时间版本的元数据记录。
数据连续复制
如图7所示,数据连续复制由TS触发,根据对数据可靠性要求不同,TS数据连续复制包括同步复制和异步复制两种方式,同步复制适用于同一地点的高速设备;异步复制适用于不同地点的存储设备,此时传输延迟会降低系统性能。
同步复制提供严格的数据一致性,适用于高数据可靠性要求的应用领域;异步复制数据一致性保证低于同步复制,但是对物理介质的要求相对降低,具有成本优势,适用于大多数应用领域。
同步复制流程
TS收到新写请求时,
1)将数据采用镜像的方式同步写入到TS和远端存储设备;
2)当两个写均正确返回时,TS向上层返回写正确信息;
3)若远端写失败,重复写N次,仍然失败,则向上层返回写错误信息。
异步复制流程
1)TS先写入到本地存储中;
2)写入本地正确返回时,启动异步写进程;
3)异步写进程将数据复制到远端存储中。
当TS根据数据变更记录方式产生元数据记录时,同时触发数据连续复制过程,根据复制策略选择;如果是同步复制方式,数据同时采用镜像方式分别写入到两个设备中,等两个写都返回后,此次写操作最后返回给用户;当采用异步方式时,数据先写入本地TS,同时将数据挂接到异步复制链表中,唤醒异步复制进程,异步复制进程执行完后通过回调函数通知主进程结果。
历史版本元数据的记录
MS保存历史版本数据信息,采用时间戳(timestamp)和地址作为记录项,当某个数据更新时,其版本信息记录到元数据设备上。MS记录数据更新信息,采用如下三元组作为记录项:元数据项信息:<时间戳,逻辑地址,物理地址>。
记录时机
1)、每写方式:在每个写操作到来时,为数据产生一个版本,同时在MS上记录其元数据;
2)、周期方式:在时刻Tx到达时,将Tx-1至Tx时间段之间的写操作合并然后写入TS,产生时刻Tx的版本,同时记录合并后所有写操作的元数据;
3)、用户驱动方式:由用户显示发出记录版本事件驱动。
记录过程
以定时更新为例,在时刻Tx到达时,将Tx-1至Tx时间段之间的写操作合并,再写入TS中;数据写入TS时,需要为这些版本数据建立映射关系;时刻Tx的所有版本数据的映射关系组成一个元数据映射表,每个时刻的元数据映射表以追加写的方式写入元数据磁盘的MS中。
元数据与数据的一致性
元数据记录过程如图10所示,采用先将所有版本数据写入TS,再将元数据映射表写入MS的策略,此外,在TS和MS中都采用日志的追加写方式。因此,如果在Tx时刻记录版本数据过程中系统失效,因为新的元数据映射表尚未写入MS,则可以通过以前的元数据映射表访问到以前的数据。
每个时刻的元数据映射表或者全写下去,或者全部不写,用来保证元数据与数据的一致性。
具体地,采用以下的两阶段提交技术来保证写元数据的一致性:
A、在准备阶段,标识写元数据开始标志,然后开始将元数据映射表写入MS中;
B、在提交阶段,在确定元数据均已写入MS之后,标识写元数据结束标志,提交该时刻的元数据,该时刻的元数据有效。
对元数据采用追加写的日志方式,在访问元数据时只访问有效的元数据(元数据的起始和结束标记一致的元数据),首先查找最新的元数据,如果无效,则反向查找,直到查到一个最近的有效元数据。
如图10所示,写元数据流程如下:
1、当LD写TS时,触发元数据写操作;
2、此时将映射表中所有具有Tx时间戳的映射关系项构成x时刻的元数据映射表(MMTx);
3、在元数据设备上为MMTx分配空间,置元数据写开始标志;
4、将MMTx写入到分配的空间。
写完元数据后,置元数据写结束标志,如果结束标志与开始标志匹配,则该MMTx是一个有效MMT。
持久数据记录
为了减少数据存储空间,提高存储利用率,定时将TS中的数据进行合并,写入到PS中去。
当PS是LD时,此时会产生一个较大粒度的历史数据版本记录。例如,TS的保护粒度为1秒钟,PS合并粒度为5分钟时,PS会将5分钟内的TS数据进行合并,形成5分钟保护粒度的历史数据版本。
当PS是物理设备时,采取原位置写方式,此时最新的数据将覆盖旧数据,只保存最新的数据。
将TS的数据合并到PS时,会产生大量的数据读写操作,为了减少该过程对正常读写的影响,在实现中采用异步合并的技术。
具体而言,为了减少合并数据对读写的影响,采用如下技术:
1)、TS使用两份空间:读写空间(RWSpace)和合并空间(MergeSpace),正常读写时使用的空间称为读写空间(RWSpace),合并数据时使用的空间称为合并空间(MergeSpace),两者在物理上没有区别,只是在逻辑语义上有所区别;
2)、当需要进行数据合并时,将RWSpace与MergeSpace切换,此时RWSpace含有需要合并的最新数据,作为MergeSpace使用,原MergeSpace作为RWSpace,此交换过程随着系统运行会不断进行;
3)、采用一个独立的合并线程,与读写操作可以并发执行;
4)、异步线程遍历MergeSpaee对应的元数据映射表,按照逻辑地址,将PS时间粒度内最新写的数据写入到PS中,在PS内重复写的多份数据最终只保留最新的数据,减少了数据存储空间使用;
5)、如果PS使用LD设备,则LD会按照PS的数据保护粒度加入新时间戳写入到PS中,每次写会产生一个PS粒度的数据版本;
6)、如果PS使用普通物理设备,则最后只保留最新数据。
历史版本数据获取
SCDP以块设备的方式向用户提供具体某一历史时间版本的数据,当用户需要读取某一个时间版本的数据时,SCDP根据给定的时间,通过MS构建其版本数据映射关系,对外表现为一个块设备,用户通过访问该块设备来读取指定时间版本的数据。
读取某一时间版本数据的基本过程:当用户需要读取某一个时间版本的数据时,首先需要创建一个指定时间版本的块设备,在创建的过程中,SCDP扫描MS中的元数据映射表,构造该时间版本的逻辑地址到物理地址的映射关系表(LPmap);用户对该设备的读操作通过LPmap读取数据。
扫描元数据的重构时间版本数据映射表的过程:根据所读的数据的时间戳,找到离该时间戳最近的一个时间版本,以此时间版本为起始点,向前遍历(历史最久),如果在遍历的元数据映射表中找到该数据的映射关系,则到映射关系所指定的设备读取数据;如果遍历完毕未发现映射关系,则到PS中读取数据,在MS扫描过程中,为了减少扫描长度,采用定时创建检查点的策略。
为了便于更详细描述,首先给出两个定义:
元数据映射表MMT:时刻Tx到达时,需要将Tx-1至Tx时间段间的写操作都写入TS,产生一个版本;将数据写入TS时,需要为这些版本数据建立映射关系,该时间段的所有映射关系元数据组成一个元数据映射表,称为MMTx。
完整元数据链表CMT:记录某一时刻Tx的所有逻辑块的映射关系的元数据映射表,称为CMTx。
元数据区由多个MMT组成,元数据采用的是日志结构的追加写方式,因此所有的MMT是按照时间排序的,在磁盘中的格式如图8所示。
扫描元数据重构某一时间版本的元数据链表,就是要重构该时间版本的完整元数据链表CMT,CMT重构成功后,需要读取该时间版本的数据时,先从CMT中取到逻辑块的映射关系,再到映射关系所指定的物理块中读取数据。
为减少被扫描的MMT的个数,加快重构过程,采用定期生成检查点技术。在每个检查点重构生成一个CMT,写入元数据磁盘中,添加了检查点后,元数据在磁盘中的格式修改如图9所示。
CMT的基本重构过程如下:
1)、要重构时刻Tx的CMTx,首先在元数据磁盘中扫描到与时刻Tx最接近的时刻Ty,Ty的元数据映射表MMTy,对每一个数据块P,所述数据块是指可分配物理资源的最小单位,也称为映射粒度;
2)、如果MMTy中存在该数据块的映射关系,取该映射关系填入CMT中;
3)、否则,逆序查找MMTy-1,MMTy-2,...,MMT1,如果在这些元数据映射表中存在该数据块的映射关系,取其映射关系填入CMT中;
4)、如果均没有查找到,说明该数据块在上一次写入PS后没有被写过,将其在PS中的映射地址填入重构的CMT中。
如图11所示,时间点Tx数据读取具体流程如下:
1)、应用读请求到达;
2)、如果时刻Tx的完整元数据链表已经构造,则转步骤9);
3)、在元数据磁盘中扫描与Tx时刻最接近的时刻Ty;
4)、对每一个逻辑块P,进行以下操作;
5)、逆序查找元数据映射表MMTy,MMTy-1,...,MMTk,直到查找到一个检查点CMTz;
6)、如果在某个MMTi中存在P的映射关系,则把该映射块信息填入CMTx中;
7)、如果上述所有的MMT中都不存在映射关系,则把P在CMTz中的映射关系填入到CMTx中;
8)、如果CMTx没有构造完毕,则转步骤4);
9)、在CMTx中读取所读逻辑块的映射关系;
10)、将该逻辑块请求重定向到映射关系所指的物理块中读取数据。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非对其限制,并且在应用上可以延伸到其他的修改、变化、应用和实施例,同时认为所有这样的修改、变化、应用、实施例都在本发明的精神和范围内。

Claims (17)

1.一种持续数据保护系统,包括:
管理工具模块,所述管理工具模块负责向内核空间中主体模块发出逻辑设备创建和删除命令,由主体模块完成具体任务;
物理设备,所述物理设备为存储设备,用于存放元数据和用户数据;
主体模块,所述主体模块由时间戳空间TS、元数据空间MS和持久空间PS子模块组成;当所述管理工具模块的创建命令发送给主体模块时,所述主体模块在内核空间中创建出一个逻辑块设备LD设备,所述TS,MS和PS与逻辑块设备建立关系,当外部应用通过LD设备进行读写操作时,主体模块负责数据在TS,PS上的转发和元数据的记录;
所述系统对最近时间段内的数据采用所述TS连续保护,超出TS的时间段数据,将TS段内的数据合并存储到PS,其中,所述最近时间段的长度由所述TS的大小确定,所述PS使用原位置写方式存储,逻辑空间与所述逻辑设备一一映射。
2.权利要求1的系统,其中,所述TS提供时间戳,标记不同时间的历史数据,采用可恢复日志方式记录每次数据更新,所述TS使用回收策略,保证空间在被回收前将数据写到所述PS上。
3.权利要求1的系统,其中,所述MS用于存储带有时间信息的逻辑地址到物理地址的映射表,所述MS采用日志方式记录和循环使用方式。
4.权利要求1的系统,其中,所述PS提供持久数据的存储,通过数据合并迁移机制、连续远程复制机制提供不同时间粒度的数据保护支持。
5.权利要求1的系统,其中,所述系统可以是一种可以堆叠使用的结构。
6.权利要求1的系统,其中,在所述系统的一个逻辑设备中,可以使用另一个逻辑设备代替所述一个逻辑设备中的PS或者TS。
7.权利要求6的系统,其中,多个逻辑设备可以采用设备间堆叠,所述多个LD设备进行横向层次堆叠,层次中每一个LD设备具有不同的保护粒度,各LD设备之间没有直接关系;或者多个LD设备可以采用设备内堆叠,所述多个LD设备进行纵向层次堆叠,每一个层次具有不同的保护粒度,下层LD的保护粒度为上层保护粒度的倍数;或者多个LD设备可以同时具有所述设备间堆叠和所述设备内堆叠;
其中,不同的堆叠方式可以提供不同等级的数据保护和不同长短的恢复时间。
8.一种持续数据保护的方法,包括:
步骤10)、用户使用管理工具模块创建带有时间戳空间TS的逻辑设备LD,接收用户请求;
步骤20)、如果所述用户请求是读请求,根据元数据空间MS中的元数据判断数据位置;如果数据在时间戳空间TS上,将所述用户请求转发到所述TS,否则,转发到持久空间PS;
步骤30)、如果所述用户请求是写请求,首先根据设定的所述逻辑设备LD数据记录方式进行元数据记录,然后将数据写入到所述TS,根据设定的LD设备数据连续复制方式启动数据复制,写元数据到所述MS中,如果所述TS资源不足,启动所述TS到所述PS的数据合并过程。
9.权利要求8的方法,其中,所述逻辑设备LD支持多种数据历史记录方式,包括周期记录、每写记录和应用驱动记录,所述数据历史记录方式在创建所述逻辑设备时指定。
10.权利要求8的方法,其中,TS可以采用循环使用方式进行数据变动记录,当使用到所述TS尾部时,重新从所述TS头部开始记录。
11.权利要求8的方法,其中,当创建所述LD时,根据用户对数据的可靠性要求,配置数据复制方式为同步复制方式或者异步复制方式,在所述LD内部建立远程设备名,不区分本地盘和网络盘,当TS产生元数据记录时,触发数据连续复制过程。
12.权利要求11的方法,其中,所述方法进一步包括:如果数据复制方式是同步复制方式,数据同时采用镜像方式分别写入到本地盘和网络盘中,等两个写都返回后,返回给用户;如果数据复制方式是异步方式,数据先写入本地TS,同时将数据挂接到异步复制链表中,唤醒异步复制进程。
13.权利要求8的方法,其中,在准备阶段,标识写元数据开始标志,然后将元数据映射表写入MS中;在提交阶段,确定元数据均已写入MS后,标识写元数据结束标志,提交该时刻的元数据,该时刻的元数据有效。
14.权利要求8的方法,其中,所述TS进行数据合并时,同时使用正常读写时使用的读写空间和合并数据时使用的合并空间,进行细粒度到粗粒度的合并操作。
15.权利要求8的方法,其中,步骤20)中,在LD设备创建时,只构建所述LD设备映射表的初始一部分,用于用户使用所述LD设备;当访问到LD设备未构建的映射表部分时,触发在线映射表构建过程。
16.权利要求8的方法,其中,步骤20)中,当用户读取某一个时间版本的数据时,创建所述时间版本的块设备,构造所述时间版本的逻辑地址到物理地址的映射关系表,用户通过所述映射关系表读取数据。
17.权利要求8的方法,其中,步骤20)中,当用户扫描元数据的重构时间版本数据映射表时,以离所述所读数据的时间戳最近的一个时间版本为起点向前遍历,如果在遍历的元数据映射表中找到所述数据的映射关系,到所述映射关系指定的设备读取所述数据;如果未发现映射关系,则到所述PS中读取数据。
CNB2007103036626A 2007-12-20 2007-12-20 一种持续数据保护系统及其实现方法 Active CN100555289C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2007103036626A CN100555289C (zh) 2007-12-20 2007-12-20 一种持续数据保护系统及其实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2007103036626A CN100555289C (zh) 2007-12-20 2007-12-20 一种持续数据保护系统及其实现方法

Publications (2)

Publication Number Publication Date
CN101187948A true CN101187948A (zh) 2008-05-28
CN100555289C CN100555289C (zh) 2009-10-28

Family

ID=39480338

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2007103036626A Active CN100555289C (zh) 2007-12-20 2007-12-20 一种持续数据保护系统及其实现方法

Country Status (1)

Country Link
CN (1) CN100555289C (zh)

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101408855B (zh) * 2008-11-07 2010-06-02 北京威视数据系统有限公司 连续数据保护系统在远程备份设备临时异常时的保护方法
WO2011107046A3 (zh) * 2011-04-19 2011-10-27 华为技术有限公司 内存访问监测方法和装置
CN101464820B (zh) * 2009-01-16 2012-02-01 中国科学院计算技术研究所 磁盘设备的持续数据保护方法和系统
WO2012016503A1 (zh) * 2010-08-02 2012-02-09 联想(北京)有限公司 一种文件同步方法、电子设备和同步系统
CN101777017B (zh) * 2010-02-08 2012-04-25 北京同有飞骥科技股份有限公司 一种连续数据保护系统的快速恢复方法
CN101576834B (zh) * 2009-05-08 2012-05-30 西安蓝海本立信息科技有限公司 基于时间戳建立数据视图的连续数据保护系统及方法
CN102508739A (zh) * 2011-10-20 2012-06-20 浪潮(北京)电子信息产业有限公司 获取灾难后系统持续数据保护的性能信息的方法及装置
CN102521269A (zh) * 2011-11-22 2012-06-27 清华大学 一种基于索引的计算机连续数据保护方法
CN102768684A (zh) * 2012-07-13 2012-11-07 深圳市邦健电子有限公司 生理参数数据的存储、读取和管理的方法和设备
CN102799931A (zh) * 2011-11-29 2012-11-28 深圳中科讯联科技有限公司 射频智能卡保护数据的方法
CN103744751A (zh) * 2014-02-08 2014-04-23 安徽瀚科信息科技有限公司 存储设备配置信息连续优化备份系统及其使用方法
CN103761190A (zh) * 2013-12-19 2014-04-30 华为技术有限公司 数据处理方法及装置
CN104050268A (zh) * 2014-06-23 2014-09-17 西北工业大学 一种日志空间在线可调整的连续数据保护和恢复方法
CN104794021A (zh) * 2014-03-19 2015-07-22 北京中科同向信息技术有限公司 任意时间点的回退技术
WO2015196686A1 (zh) * 2014-06-26 2015-12-30 杭州海康威视系统技术有限公司 一种数据存储方法以及一种数据存储管理服务器
CN105320576A (zh) * 2014-05-30 2016-02-10 中国电信股份有限公司 数据库备份装置与方法
CN105404562A (zh) * 2014-08-18 2016-03-16 北京云巢动脉科技有限公司 实现操作系统的镜像文件高效备份的方法和系统
CN105550062A (zh) * 2015-12-03 2016-05-04 上海爱数信息技术股份有限公司 基于持续数据保护与时间点浏览恢复的数据回流方法
CN106599005A (zh) * 2015-10-20 2017-04-26 阿里巴巴集团控股有限公司 一种数据归档方法及装置
CN106933501A (zh) * 2015-12-30 2017-07-07 伊姆西公司 在用户定义的时间点创建复制品
CN106933859A (zh) * 2015-12-30 2017-07-07 中国移动通信集团公司 一种医疗数据的迁移方法和装置
CN107220142A (zh) * 2016-03-22 2017-09-29 阿里巴巴集团控股有限公司 执行数据恢复操作的方法及装置
CN107480226A (zh) * 2017-08-03 2017-12-15 长沙曙通信息科技有限公司 一种实时数据保护系统写日志实现方法
CN107665219A (zh) * 2016-07-28 2018-02-06 华为技术有限公司 一种日志管理方法及装置
CN108762984A (zh) * 2018-05-23 2018-11-06 杭州宏杉科技股份有限公司 一种连续性数据备份的方法及装置
CN109032847A (zh) * 2018-08-24 2018-12-18 南京壹进制信息技术股份有限公司 一种通用免缓存备份和恢复方法
CN109478159A (zh) * 2016-07-14 2019-03-15 微软技术许可有限责任公司 损坏数据块的在线修复
CN109614272A (zh) * 2018-12-20 2019-04-12 广州鼎甲计算机科技有限公司 无本地缓存的连续数据保护方法和系统
CN109614054A (zh) * 2018-12-20 2019-04-12 广州鼎甲计算机科技有限公司 数据的读取方法和系统
CN109669818A (zh) * 2018-12-20 2019-04-23 广州鼎甲计算机科技有限公司 无本地缓存的连续数据保护方法和系统
CN110134551A (zh) * 2019-05-21 2019-08-16 上海英方软件股份有限公司 一种持续数据保护方法及装置
CN110532804A (zh) * 2019-09-05 2019-12-03 广州知弘科技有限公司 一种基于大数据的安全存储控制方法
CN111338845A (zh) * 2020-02-16 2020-06-26 西安奥卡云数据科技有限公司 一种细粒度的本地数据保护方法
CN116610536A (zh) * 2023-07-20 2023-08-18 金篆信科有限责任公司 业务系统模块处理耗时检测方法、装置、设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102012851B (zh) * 2010-12-20 2012-09-26 浪潮(北京)电子信息产业有限公司 一种持续数据保护方法及服务器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1873622A (zh) * 2006-04-20 2006-12-06 北京艾德斯科技有限公司 San环境下数据备份、复制和恢复的方法及其装置

Cited By (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101408855B (zh) * 2008-11-07 2010-06-02 北京威视数据系统有限公司 连续数据保护系统在远程备份设备临时异常时的保护方法
CN101464820B (zh) * 2009-01-16 2012-02-01 中国科学院计算技术研究所 磁盘设备的持续数据保护方法和系统
CN101576834B (zh) * 2009-05-08 2012-05-30 西安蓝海本立信息科技有限公司 基于时间戳建立数据视图的连续数据保护系统及方法
CN101777017B (zh) * 2010-02-08 2012-04-25 北京同有飞骥科技股份有限公司 一种连续数据保护系统的快速恢复方法
WO2012016503A1 (zh) * 2010-08-02 2012-02-09 联想(北京)有限公司 一种文件同步方法、电子设备和同步系统
US9361309B2 (en) 2010-08-02 2016-06-07 Beijing Lenovo Software Ltd. File synchronization method, electronic device and synchronization system
CN102362464B (zh) * 2011-04-19 2013-01-30 华为技术有限公司 内存访问监测方法和装置
WO2011107046A3 (zh) * 2011-04-19 2011-10-27 华为技术有限公司 内存访问监测方法和装置
CN102362464A (zh) * 2011-04-19 2012-02-22 华为技术有限公司 内存访问监测方法和装置
US8713275B2 (en) 2011-04-19 2014-04-29 Huawei Technologies Co., Ltd. Memory access monitoring method and device
CN102508739B (zh) * 2011-10-20 2013-11-13 浪潮(北京)电子信息产业有限公司 获取灾难后系统持续数据保护的性能信息的方法及装置
CN102508739A (zh) * 2011-10-20 2012-06-20 浪潮(北京)电子信息产业有限公司 获取灾难后系统持续数据保护的性能信息的方法及装置
CN102521269A (zh) * 2011-11-22 2012-06-27 清华大学 一种基于索引的计算机连续数据保护方法
CN102799931A (zh) * 2011-11-29 2012-11-28 深圳中科讯联科技有限公司 射频智能卡保护数据的方法
CN102799931B (zh) * 2011-11-29 2015-03-04 深圳中科讯联科技有限公司 射频智能卡保护数据的方法
CN102768684B (zh) * 2012-07-13 2016-03-30 深圳邦健生物医疗设备股份有限公司 生理参数数据的存储、读取和管理的方法和设备
CN102768684A (zh) * 2012-07-13 2012-11-07 深圳市邦健电子有限公司 生理参数数据的存储、读取和管理的方法和设备
CN103761190A (zh) * 2013-12-19 2014-04-30 华为技术有限公司 数据处理方法及装置
CN103744751B (zh) * 2014-02-08 2017-04-26 安徽瀚科信息科技有限公司 存储设备配置信息连续优化备份系统及其使用方法
CN103744751A (zh) * 2014-02-08 2014-04-23 安徽瀚科信息科技有限公司 存储设备配置信息连续优化备份系统及其使用方法
CN104794021A (zh) * 2014-03-19 2015-07-22 北京中科同向信息技术有限公司 任意时间点的回退技术
CN105320576A (zh) * 2014-05-30 2016-02-10 中国电信股份有限公司 数据库备份装置与方法
CN104050268A (zh) * 2014-06-23 2014-09-17 西北工业大学 一种日志空间在线可调整的连续数据保护和恢复方法
CN105242983B (zh) * 2014-06-26 2018-06-01 杭州海康威视系统技术有限公司 一种数据存储方法以及一种数据存储管理服务器
CN105242983A (zh) * 2014-06-26 2016-01-13 杭州海康威视系统技术有限公司 一种数据存储方法以及一种数据存储管理服务器
WO2015196686A1 (zh) * 2014-06-26 2015-12-30 杭州海康威视系统技术有限公司 一种数据存储方法以及一种数据存储管理服务器
US10001945B2 (en) 2014-06-26 2018-06-19 Hangzhou Hikvision System Technology Co., Ltd. Method of storing data and data storage managing server
CN105404562A (zh) * 2014-08-18 2016-03-16 北京云巢动脉科技有限公司 实现操作系统的镜像文件高效备份的方法和系统
CN106599005A (zh) * 2015-10-20 2017-04-26 阿里巴巴集团控股有限公司 一种数据归档方法及装置
CN105550062A (zh) * 2015-12-03 2016-05-04 上海爱数信息技术股份有限公司 基于持续数据保护与时间点浏览恢复的数据回流方法
CN105550062B (zh) * 2015-12-03 2018-10-12 上海爱数信息技术股份有限公司 基于持续数据保护与时间点浏览恢复的数据回流方法
CN106933501B (zh) * 2015-12-30 2020-04-28 伊姆西Ip控股有限责任公司 用于创建复制品的方法、系统和计算机程序产品
CN106933859A (zh) * 2015-12-30 2017-07-07 中国移动通信集团公司 一种医疗数据的迁移方法和装置
CN106933859B (zh) * 2015-12-30 2020-10-20 中国移动通信集团公司 一种医疗数据的迁移方法和装置
US10997209B2 (en) 2015-12-30 2021-05-04 EMC IP Holding Company LLC Creating replicas at user-defined points in time
CN106933501A (zh) * 2015-12-30 2017-07-07 伊姆西公司 在用户定义的时间点创建复制品
US10496672B2 (en) 2015-12-30 2019-12-03 EMC IP Holding Company LLC Creating replicas at user-defined points in time
CN107220142A (zh) * 2016-03-22 2017-09-29 阿里巴巴集团控股有限公司 执行数据恢复操作的方法及装置
CN107220142B (zh) * 2016-03-22 2020-10-09 阿里巴巴集团控股有限公司 执行数据恢复操作的方法及装置
CN109478159B (zh) * 2016-07-14 2021-12-03 微软技术许可有限责任公司 损坏数据块的在线修复
CN109478159A (zh) * 2016-07-14 2019-03-15 微软技术许可有限责任公司 损坏数据块的在线修复
CN107665219A (zh) * 2016-07-28 2018-02-06 华为技术有限公司 一种日志管理方法及装置
CN107480226A (zh) * 2017-08-03 2017-12-15 长沙曙通信息科技有限公司 一种实时数据保护系统写日志实现方法
CN108762984A (zh) * 2018-05-23 2018-11-06 杭州宏杉科技股份有限公司 一种连续性数据备份的方法及装置
CN108762984B (zh) * 2018-05-23 2021-05-25 杭州宏杉科技股份有限公司 一种连续性数据备份的方法及装置
CN109032847A (zh) * 2018-08-24 2018-12-18 南京壹进制信息技术股份有限公司 一种通用免缓存备份和恢复方法
CN109669818A (zh) * 2018-12-20 2019-04-23 广州鼎甲计算机科技有限公司 无本地缓存的连续数据保护方法和系统
CN109614054A (zh) * 2018-12-20 2019-04-12 广州鼎甲计算机科技有限公司 数据的读取方法和系统
CN109614272A (zh) * 2018-12-20 2019-04-12 广州鼎甲计算机科技有限公司 无本地缓存的连续数据保护方法和系统
CN110134551A (zh) * 2019-05-21 2019-08-16 上海英方软件股份有限公司 一种持续数据保护方法及装置
CN110134551B (zh) * 2019-05-21 2020-04-17 上海英方软件股份有限公司 一种持续数据保护方法及装置
CN110532804A (zh) * 2019-09-05 2019-12-03 广州知弘科技有限公司 一种基于大数据的安全存储控制方法
CN111338845A (zh) * 2020-02-16 2020-06-26 西安奥卡云数据科技有限公司 一种细粒度的本地数据保护方法
CN111338845B (zh) * 2020-02-16 2021-05-07 西安奥卡云数据科技有限公司 一种细粒度的本地数据保护方法
CN116610536A (zh) * 2023-07-20 2023-08-18 金篆信科有限责任公司 业务系统模块处理耗时检测方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN100555289C (zh) 2009-10-28

Similar Documents

Publication Publication Date Title
CN100555289C (zh) 一种持续数据保护系统及其实现方法
US7197615B2 (en) Remote copy system maintaining consistency
US7266669B2 (en) File system with file management function and file management method
JP4800031B2 (ja) ストレージシステム及びスナップショット管理方法
US8689047B2 (en) Virtual disk replication using log files
US7213116B2 (en) Method and apparatus for mirroring objects between storage systems
US7861047B2 (en) Storage device and information management system
CN101291347B (zh) 一种网络存储系统
CN100498796C (zh) 逻辑日志生成方法、数据库备份/恢复方法与系统
US20120254120A1 (en) Logging system using persistent memory
JP4282030B2 (ja) データ二重化制御方法および二重化した記憶サブシステム
US20060047926A1 (en) Managing multiple snapshot copies of data
US20080281879A1 (en) Storage controller, and control method of the same
CN101414277A (zh) 一种基于虚拟机的按需增量恢复容灾系统及方法
CN102073739A (zh) 带有快照功能的分布式文件系统中的数据读与数据写方法
CN103544110A (zh) 一种基于固态盘的块级连续数据保护方法
JP2004013367A (ja) データ記憶サブシステム
WO2008119292A1 (fr) Procédé, dispositif et système de secours informatique de données stockées
CN103207883A (zh) 用于元数据持久存储的方法
CN101968755B (zh) 一种自适应应用负载变化的快照生成方法
CN102402471A (zh) 基于存储阵列快照功能的数据实时备份方法及系统
WO2014067270A1 (zh) 基于光盘的数据库存储系统及利用该系统的方法
CN109598156A (zh) 一种写时重定向引擎快照流方法
US6629203B1 (en) Alternating shadow directories in pairs of storage spaces for data storage
JPH07191811A (ja) 磁気ディスク装置の移行方式

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant