【技术实现步骤摘要】
基于二叉树日志的CDP备份恢复方法、系统及存储介质
[0001]本专利技术属于数据保护领域,属于一种基于二叉树日志的CDP备份恢复方法、系统及存储介质。
技术介绍
[0002]连续数据保护(CDP)是一种捕获并存储所有数据变化,可以恢复任何时间点数据副本的数据保护技术,提供了数据的安全性和可靠性保障。恢复点目标(RPO)和恢复时间目标(RTO)是衡量数据保护能力的关键指标,相较于例如备份、快照等传统的数据保护技术,CDP备份发生的每一次数据变化且恢复时只需要恢复系统启动以来的数据变化而不是所有数据集,因此CDP可以提供无限的RPO和几乎为零的RTO。
[0003]目前,越来越多的企业将CDP技术使用到他们的数据保护方案中,有效保障数据的安全性,为业务连续稳定开展提供可靠的支撑。被广泛使用的CDP技术按时间顺序记录所有数据变化,对每一次写操作生成日志。在备份时,将每条数据块变化的日志顺序保存;在进行恢复时,通过遍历大量的CDP日志获取恢复时间点的数据。采用这种方法备份简单,但需要记录大量的数据且在进行数据恢复时遍历日志消耗了大量时间,存储资源消耗较大且恢复速度较为缓慢。另一个被使用的技术,随时恢复到任意时间点TRAP(Timely Recovery to Any Point
‑
in
‑
time),不记录数据块的每一次变化,而是在备份时存储被改变过的块的异或校验值并按时间戳的顺序构成日志链,恢复时读取异或校验值再进行计算。这种方式减少了备份所需空间,但日志链过长时,数据恢复计算 ...
【技术保护点】
【技术特征摘要】
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)的父节点元数据记录,快速索引到所述恢复校验值;
将所述恢复校验值和所述初始数据进行异或计算,得到恢复...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。