当前位置: 首页 > 专利查询>四川大学专利>正文

基于二叉树日志的CDP备份恢复方法、系统及存储介质技术方案

技术编号:34833257 阅读:28 留言:0更新日期:2022-09-08 07:27
本发明专利技术涉及一种基于二叉树日志的CDP备份恢复方法、系统及存储介质,属于数据保护领域。所述方法包括:备份初始数据并初始化;监控并截获所有写操作;判断写操作类型;异或计算生成校验值;生成元数据记录;构造和更新二叉树结构日志;索引和计算恢复数据。所述系统包括:初始化模块、监控截获模块、第一判断模块、数据备份准备模块、异或计算模块、元数据记录生成模块、第二判断模块、第三判断模块、二叉树更新模块、索引计算模块、第四判断模块。本发明专利技术提出了一种基于二叉树和校验值构造日志的CDP备份恢复方法,且基于此实现CDP系统,以最小的代价实现了数据的机密性、完整性、可用性保护,节省大量存储空间,提高数据恢复速率和整体运行效率。率。率。

【技术实现步骤摘要】
基于二叉树日志的CDP备份恢复方法、系统及存储介质


[0001]本专利技术属于数据保护领域,属于一种基于二叉树日志的CDP备份恢复方法、系统及存储介质。

技术介绍

[0002]连续数据保护(CDP)是一种捕获并存储所有数据变化,可以恢复任何时间点数据副本的数据保护技术,提供了数据的安全性和可靠性保障。恢复点目标(RPO)和恢复时间目标(RTO)是衡量数据保护能力的关键指标,相较于例如备份、快照等传统的数据保护技术,CDP备份发生的每一次数据变化且恢复时只需要恢复系统启动以来的数据变化而不是所有数据集,因此CDP可以提供无限的RPO和几乎为零的RTO。
[0003]目前,越来越多的企业将CDP技术使用到他们的数据保护方案中,有效保障数据的安全性,为业务连续稳定开展提供可靠的支撑。被广泛使用的CDP技术按时间顺序记录所有数据变化,对每一次写操作生成日志。在备份时,将每条数据块变化的日志顺序保存;在进行恢复时,通过遍历大量的CDP日志获取恢复时间点的数据。采用这种方法备份简单,但需要记录大量的数据且在进行数据恢复时遍历日志消耗了大量时间,存储资源消耗较大且恢复速度较为缓慢。另一个被使用的技术,随时恢复到任意时间点TRAP(Timely Recovery to Any Point

in

time),不记录数据块的每一次变化,而是在备份时存储被改变过的块的异或校验值并按时间戳的顺序构成日志链,恢复时读取异或校验值再进行计算。这种方式减少了备份所需空间,但日志链过长时,数据恢复计算时间加长且容易因为单点故障造成整条链崩溃,从而无法实现数据恢复。
[0004]因此,如何在优化存储空间的同时提高数据恢复速率,提升系统运行效率,高效地保障数据安全已成为大数据时代面临的最大的挑战。

技术实现思路

[0005]本专利技术为了解决上述
技术介绍
中的技术问题,本专利技术实施实例提供一种基于连续写入的CDP备份方法、系统存储介质及恢复方法。所述技术方案如下:第一个方面,提供了一种基于二叉树日志的CDP备份恢复方法,包括步骤:初始化步骤,备份初始数据并初始化;监控截获步骤,监控并截获所有的写操作;第一判断步骤,判断所述写操作是否是恢复写操作,若否,则执行数据备份准备步骤;若是,则执行索引计算步骤;数据备份准备步骤,获取当前时间点T(n),读出数据块B上的原始数据BT(n

1),再将变化数据BT(n)写入所述数据块B,其中,所述数据块B为所述写操作覆盖数据块;异或计算步骤,将所述原始数据BT(n

1)和所述变化数据BT(n)进行异或计算,再将计算结果加上时间戳生成校验值PT(n);元数据记录生成步骤,根据二叉树结构日志和所述校验值PT(n),生成元数据记录
MT(n);第二判断步骤,判断所述校验值PT(n)是否为首个校验值PT(1),若否,则执行第三判断步骤;若是,则重复执行所述监控截获步骤至所述元数据记录生成步骤;第三判断步骤,根据所述元数据记录MT(n),获取校验值P(n

1),并判断n是否为奇数,若否,则将所述校验值PT(n)和所述校验值PT(n

1)进行异或计算,再根据计算结果依次重复执行所述元数据记录生成步骤和所述第二判断步骤;若是,则执行二叉树更新步骤;二叉树更新步骤,根据所述元数据记录MT(n),更新所述二叉树结构日志,再执行第四判断步骤;索引计算步骤,根据恢复时间点和更新后的二叉树结构日志,计算并索引恢复校验值,将所述恢复校验值和所述初始数据进行异或计算,计算结果为恢复数据,执行第四判断步骤;第四判断步骤,判断是否存在写操作,若否,则结束;若是,则重复执行监控截获步骤。
[0006]第二个方面,还提供一种基于二叉树日志的CDP备份恢复系统,所述系统包括:初始化模块,用于备份初始数据并初始化;监控截获模块,用于监控并截获所有的写操作;第一判断模块,用于判断所述写操作是否是恢复写操作,若否,则执行数据备份准备模块;若是,则执行计算索引模块;数据备份准备模块,用于获取当前时间点T(n),读出数据块B上的原始数据BT(n

1),再将变化数据BT(n)写入所述数据块B,其中,所述数据块B为所述写操作覆盖数据块;异或计算模块,用于将所述原始数据BT(n

1)和所述变化数据BT(n)进行异或计算,再将计算结果加上时间戳生成校验值PT(n);元数据记录生成模块,用于根据二叉树结构日志和所述校验值PT(n),生成元数据记录MT(n);第二判断模块,用于判断所述校验值PT(n)是否为首个校验值PT(1),若否,则执行第三判断模块;若是,则重复执行所述监控截获模块至所述元数据记录生成模块;第三判断模块,用于根据所述元数据记录MT(n),获取校验值P(n

1),并判断n是否为奇数,若否,则将所述校验值PT(n)和所述校验值PT(n

1)进行异或计算,再根据计算结果依次重复执行所述元数据记录生成模块和所述第二判断模块;若是,则执行二叉树更新模块;二叉树更新模块,用于根据所述元数据记录MT(n),更新所述二叉树结构日志,再执行第四判断模块;索引计算模块,用于根据恢复时间点和更新后的二叉树结构日志,计算并索引恢复校验值,将所述恢复校验值和所述初始数据进行异或计算,计算结果为恢复数据,执行第四判断模块;第四判断模块,用于判断是否存在写操作,若否,则结束;若是,则重复执行所述监控截获模块。
[0007]第三个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述基于连续写入的CDP备份方法。
[0008]本专利技术的有益效果是:(1)本专利技术不使用快照,使用校验值以校验日志方式保存数据差异,节省了存储空间;(2)本专利技术通过使用异或计算实现数据备份,方法简单且易于实现;(3)本专利技术不直接存储数据变化,而是存储计算过后的数据差异,保证了数据的机密性;(4)本专利技术使用异或计算实现,大大提高了数据的压缩比,为降低存储空间开销提供基础;(5)本专利技术不使用校验日志链,而是将校验值进行多次的异或计算并使用二叉树结构存储,提供容错能力,避免潜在的校验日志链崩溃的问题,提高了校验日志的可靠性,保证了数据的可用性;(6)本专利技术将校验值进行多次可逆的逻辑计算,并以二叉树的结构存储不增加额外的存储空间,进行数据恢复时只需要解析极少量的校验值,数据恢复速率明显提升,优化了恢复过程;(7)本专利技术基于二叉树结构的校验日志,支持校验日志动态的插入、删除和查找,实现了校验日志的快速索引,提高了数据恢复速率;(8)本专利技术对存入二叉树日志文件的数据生成元数据记录,用于校验日志的索引和二叉树结构的构造,大大节省空间,且为数据恢复奠定了基础。
附图说明
[0009]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于二叉树日志的CDP备份恢复方法,其特征在于,包括步骤:初始化步骤,备份初始数据并初始化;监控截获步骤,监控并截获所有的写操作;第一判断步骤,判断所述写操作是否是恢复写操作,若否,则执行数据备份准备步骤;若是,则执行索引计算步骤;数据备份准备步骤,获取当前时间点T(n),读出数据块B上的原始数据BT(n

1),再将变化数据BT(n)写入所述数据块B,其中,所述数据块B为所述写操作覆盖数据块;异或计算步骤,将所述原始数据BT(n

1)和所述变化数据BT(n)进行异或计算,再将计算结果加上时间戳生成校验值PT(n);元数据记录生成步骤,根据二叉树结构日志和所述校验值PT(n),生成元数据记录MT(n);第二判断步骤,判断所述校验值PT(n)是否为首个校验值PT(1),若否,则执行第三判断步骤;若是,则重复执行所述监控截获步骤至所述元数据记录生成步骤;第三判断步骤,根据所述元数据记录MT(n),获取校验值P(n

1),并判断n是否为奇数,若否,则将所述校验值PT(n)和所述校验值PT(n

1)进行异或计算,再根据计算结果依次重复执行所述元数据记录生成步骤和所述第二判断步骤;若是,则执行二叉树更新步骤;二叉树更新步骤,根据所述元数据记录MT(n),更新所述二叉树结构日志,再执行第四判断步骤;索引计算步骤,根据恢复时间点和更新后的二叉树结构日志,计算并索引恢复校验值,将所述恢复校验值和所述初始数据进行异或计算,计算结果为恢复数据,执行第四判断步骤;第四判断步骤,判断是否存在写操作,若否,则结束;若是,则重复执行所述监控截获步骤。2.根据权利要求1所述的基于二叉树日志的CDP备份恢复方法,其特征在于,所述初始化步骤,包括:获取初始数据并进行备份;创建二叉树日志文件、元数据记录文件;根据所述初始数据、所述二叉树日志文件和所述元数据记录文件,构建二叉树结构日志;另外,所述元数据记录生成步骤,还包括:根据所述二叉树结构日志,获取所述校验值PT(n)位于所述二叉树结构日志的高度,其中,二叉树的高度从叶子结点开始自底向上逐层累加,所述原始数据和所述变化数据进行异或计算的计算结果为所述二叉树结构日志的叶子结点,所述叶子结点的高度为0;根据所述校验值PT(n),获取所述校验值PT(n)的编号n,其中,所述二叉树结构日志为位于同一高度的所有节点从1开始依次进行编号,所述编号n表示,在和所述校验值PT(n)同一高度所有节点中,所述校验值PT(n)为第n个节点;根据所述二叉树结构日志和所述校验值PT(n),获取基本信息,其中,所述基本信息包括:当前时间点T(n)、写操作覆盖数据块块号、校验值PT(n)的编号、校验值PT(n)的高度、校验值PT(n)位于所述二叉树日志文件上的位置偏移、校验值PT(n)的父节点元数据记录在所
述元数据记录文件上的位置偏移;根据所述基本信息,生成元数据记录MT(n)。3.根据权利要求1所述的基于二叉树日志的CDP备份恢复方法,其特征在于,所述第三判断步骤,包括:根据所述元数据记录MT(n),获取所述校验值PT(n)的编号n;将所述编号n进行减一操作,获取编号为(n

1)的元数据记录MT(n

1);根据所述元数据记录MT(n

1),获取校验值PT(n

1),其中,所述校验值PT(n

1)为所述校验值PT(n)的前一个校验值;根据所述编号n,判断在和所述校验值PT(n)同一高度所有节点中,所述校验值PT(n)是否是第奇数个节点;若否,将所述校验值PT(n

1)和所述校验值PT(n)进行异或计算,再根据计算结果依次重复执行所述元数据记录生成步骤和所述第二判断步骤;若是,则执行二叉树更新步骤。4.根据权利要求1所述的基于二叉树日志的CDP备份恢复方法,其特征在于,所述二叉树更新步骤,包括:根据所述元数据记录MT(n),获取所述校验值PT(n)的编号n;将所述编号n进行加一操作,判断(n+1)是否是4的倍数;若否,则删除所述校验值P(n

1)和所述校验值P(n

1)的元数据记录MT(n

1),并执行第四判断步骤;若是,则将所述编号(n

1)进行减一操作,获取编号为(n

2)的元数据记录MT(n

2);根据所述元数据记录MT(n

2),获取校验值PT(n

2),其中,所述校验值PT(n

2)为所述校验值PT(n

1)的前一个校验值;将所述校验值PT(n

2)和所述校验值PT(n

1)进行异或计算的计算结果作为父节点;将所述校验值PT(n

2)作为所述父节点的左子节点,更新所述元数据记录MT(n

2);将所述校验值PT(n)作为所述父节点的右子节点,更新所述元数据记录MT(n);删除所述校验值PT(n

1)和所述元数据记录MT(n

1),并执行第四判断步骤。5.根据权利要求1所述的基于二叉树日志的CDP备份恢复方法,其特征在于,所述索引计算步骤,还包括:获取恢复时间点T(m),创建在所述恢复时间点T(m)的恢复数据;根据所述恢复时间点T(m)和所述更新后的二叉树结构日志,判断高度为0且编号为m的校验值P(m)是否存在,若否,取恢复编号r的值为(m+1);若是,取恢复编号r的值为m;根据取值后的恢复编号r,获取元数据记录MT(r);根据元数据记录MT(r),获取校验值PT(r)和所述校验值PT(r)的父节点元数据记录,其中,所述父节点元数据记录的高度为所述校验值PT(r)的高度加1;根据所述校验值PT(r)的父节点元数据记录,判断所述校验值PT(r)的父节点校验值是否存在父节点,若否,则结束此步骤;若是,则重复上一步骤,直到获取全部所述校验值PT(r)的父节点元数据记录;根据编号m,计算恢复校验值;根据所述元数据记录MT(r)和全部所述校验值PT(r)的父节点元数据记录,快速索引到所述恢复校验值;
将所述恢复校验值和所述初始数据进行异或计算,得到恢复...

【专利技术属性】
技术研发人员:胡晓勤毛艺萍
申请(专利权)人:四川大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1