System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种块存储数据的差量备份的实现方法技术_技高网

一种块存储数据的差量备份的实现方法技术

技术编号:41315172 阅读:4 留言:0更新日期:2024-05-13 14:56
本发明专利技术涉及数据存储技术领域,具体为一种块存储数据的差量备份的实现方法,包括以下步骤:块存储数据的差量备份;计算指定块存储差量备份的父备份;计算备份差量数据;根据指纹库进行数据重删;数据压缩与传输;备份元数据文件编写及指纹库更新;备份数据恢复;有益效果为:本发明专利技术提出的块存储数据的差量备份的实现方法,在备份过程中通过计算与最后一个全量备份的数据变化,降低了备份链的长度,减少了备份恢复的次数省去了无效数据的传输过程,节省网络资源,减少传输时间,提升恢复的性能。

【技术实现步骤摘要】

本专利技术涉及数据存储,具体为一种块存储数据的差量备份的实现方法


技术介绍

1、随着云计算技术的深入发展,云服务功能日趋成熟和广泛应用,越来越多的企业和个人用户选择使用云服务来使业务“上云”。云服务器和云硬盘被广泛使用,为保障数据安全可靠性,备份功能必不可少。openstack是一个旨在为私有云和公有云提供可扩展的弹性的云计算服务的开源项目,其中cinder-backup组件旨在为块存储提供备份服务,来确保用户数据的可靠性。

2、现有技术中,cinder-backup组件将块存储中的数据按照固定大小分块,然后依次将数据块进行备份,最后将与备份的元数据和备份数据放到一起。cinder-backup提供增量备份的功能,计算固定大小数据块的指纹值,通过与上一个备份的指纹值进行对比,如果无改变则不再对此块数据进行新的备份,而是使用上一个的备份数据即可。

3、但是,cinder-backup除了增量备份外并无减少备份链长度的处理,而随着备份链长度的增长,恢复时间也会受到影响,因此如何实现基于最后一个全量备份实现数据备份,减少了备份和恢复所需的时间和存储空间是目前亟待解决的技术问题。


技术实现思路

1、本专利技术的目的在于提供一种块存储数据的差量备份的实现方法,以解决cinder-backup恢复数据时存在无效的备份数据传输,浪费网络带宽的问题,以降低备份恢复的时间。

2、为实现上述目的,本专利技术提供如下技术方案:一种块存储数据的差量备份的实现方法,所述方法包括以下步骤:

3、块存储数据的差量备份;

4、计算指定块存储差量备份的父备份;

5、计算备份差量数据;

6、根据指纹库进行数据重删;

7、数据压缩与传输;

8、备份元数据文件编写及指纹库更新;

9、备份数据恢复。

10、优选的,块存储数据的差量备份包括:

11、计算指定块存储差量备份的父备份、计算备份差量数据、根据指纹库进行数据重删、数据压缩与传输、备份元数据文件编写及指纹库更新及备份数据恢复。

12、优选的,计算指定块存储差量备份的父备份包括:

13、从数据库中获取指定块存储的全部全量备份数据信息,从中选取最后一个备份作为本次备份的父备份;若本次备份指定了要使用的快照,则选取创建时间早于快照创建时间的最后一个备份作为本次备份的父备份,若存在则无法进行差量备份。

14、优选的,计算备份差量数据包括:

15、将指定块存储或块存储快照挂载到cinder-backup组件上,每次根据不同场景配置读取定长大小的块存储数据,计算数据块的指纹值与父备份对应大小的指纹值进行对比是否一致;如果否,认为数据块为变化的数据需进行后续步骤处理;如果是,记录数据块大小未发生变化与父备份一致,将元数据文件中数据块信息指向父备份。

16、优选的,根据指纹库进行数据重删包括:

17、通过将计算后仍需继续处理的数据的指纹值在指纹库中进行检索,判断库中是否有相同的指纹值;如果否,认为数据块未上传过存储后端需进行后续步骤处理;如果是修改指纹库中对应的元数据,将指纹值的引用次数加一,数据块不再进行数据传输到备份存储后端。

18、优选的,数据压缩与传输包括:

19、通过sha-256安全散列算法,把上一步骤计算后仍需继续处理的数据块压缩成摘要,使得数据量变小,将数据的格式固定下来,函数将数据打乱混合,重新创建一个叫做哈希值的指纹;对于任意长度的数据,sha-256都会产生一个256bit长的指纹;在数据压缩后,可以将压缩后的数据传输到分布式存储或集中式存储多种存储后端,只需实现对应的备份驱动接口即可。

20、优选的,备份元数据文件编写及指纹库更新包括:

21、备份元数据文件主要记录块存储所有分块对应的每一个数据块的信息,按照分块顺序组成一个列表,包括数据块的名称、长度、偏移值、存储位置;当备份数据块的指纹值为已存在的指纹值时,查出指纹库中对应的指纹信息,将引用次数加一;当备份数据块的指纹值为不存在的指纹值时,在指纹库中新增一条指纹信息用于存储此数据块的真实地址,被引用次数为一;备份数据指纹库采用内存数据库redis来实现,使用hash数据类型,指纹值做key,hash数据包括备份数据的名称、备份数据在存储后端中实际的地址、备份数据的长度、指纹值被引用的次数。当有多个重复的数据块时,都根据指纹值中记录的实际地址来读取到相同的备份数据。

22、优选的,所述备份数据恢复包括:

23、从存储后端下载备份的元数据文件,根据元数据文件列表依次从备份后端根据数据块的存储位置读取每一块备份数据,再根据偏移量和长度写入要恢复的目标块存储的指定位置;当遇到存储位置指向父备份的数据块时,跳过数据写入,进行下一数据块的写入;当遇到无存储位置的备份数据时,则检索出指纹库中对应的指纹信息,根据hash数据里的实际地址取出备份数据,然后再写入要恢复的目标块存储当中。

24、与现有技术相比,本专利技术的有益效果是:

25、本专利技术提出的块存储数据的差量备份的实现方法,在备份过程中通过计算与最后一个全量备份的数据变化,降低了备份链的长度,减少了备份恢复的次数省去了无效数据的传输过程,节省网络资源,减少传输时间,提升恢复的性能。

本文档来自技高网...

【技术保护点】

1.一种块存储数据的差量备份的实现方法,其特征在于:所述方法包括以下步骤:

2.根据权利要求1所述的一种块存储数据的差量备份的实现方法,其特征在于:块存储数据的差量备份包括:

3.根据权利要求1所述的一种块存储数据的差量备份的实现方法,其特征在于:计算指定块存储差量备份的父备份包括:

4.根据权利要求1所述的一种块存储数据的差量备份的实现方法,其特征在于:计算备份差量数据包括:

5.根据权利要求1所述的一种块存储数据的差量备份的实现方法,其特征在于:根据指纹库进行数据重删包括:

6.根据权利要求1所述的一种块存储数据的差量备份的实现方法,其特征在于:数据压缩与传输包括:

7.根据权利要求1所述的一种块存储数据的差量备份的实现方法,其特征在于:备份元数据文件编写及指纹库更新包括:

8.根据权利要求1所述的一种块存储数据的差量备份的实现方法,其特征在于:所述备份数据恢复包括:

【技术特征摘要】

1.一种块存储数据的差量备份的实现方法,其特征在于:所述方法包括以下步骤:

2.根据权利要求1所述的一种块存储数据的差量备份的实现方法,其特征在于:块存储数据的差量备份包括:

3.根据权利要求1所述的一种块存储数据的差量备份的实现方法,其特征在于:计算指定块存储差量备份的父备份包括:

4.根据权利要求1所述的一种块存储数据的差量备份的实现方法,其特征在于:计算备份差量数据包括:

5....

【专利技术属性】
技术研发人员:刘宇泰李超尹萍蒋方文王腾飞王策
申请(专利权)人:浪潮云信息技术股份公司
类型:发明
国别省市:

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

1