首页> 中国专利> 一种备份数据时在线删除重复数据的方法

一种备份数据时在线删除重复数据的方法

摘要

本发明公开一种备份数据时在线删除重复数据的方法,涉及数据存储技术领域,针对cinder‑backup组件备份大量数据时无法在线删除重复数据的问题,采用技术方案为:调用Openstack的cinder‑backup组件,来备份块存储中的数据;备份数据时,使cinder‑backup组件每次读取定长大小的数据块,随后计算cinder‑backup组件所读取数据块的指纹值,并检索备份数据指纹库中是否有相同指纹值存在:(A)如果否,将此数据块备份到存储后端,并把指纹值存入备份数据指纹库中;(B)如果是,修改备份数据指纹库中对应的元数据,此数据块不再传输到存储后端。本发明在源端对备份的重复数据进行去重,然后再传往存储后端,减少了传输时间,解决了Cinder‑Backup组件无法进行有效地重复数据在线删除的问题。

著录项

  • 公开/公告号CN112698990A

    专利类型发明专利

  • 公开/公告日2021-04-23

    原文格式PDF

  • 申请/专利权人 浪潮云信息技术股份公司;

    申请/专利号CN202110003809.X

  • 发明设计人 赵益鑫;赵文慧;李超;李凯;

    申请日2021-01-04

  • 分类号G06F11/14(20060101);

  • 代理机构37100 济南信达专利事务所有限公司;

  • 代理人冯春连

  • 地址 250100 山东省济南市高新区浪潮路1036号浪潮科技园S01号楼

  • 入库时间 2023-06-19 10:43:23

说明书

技术领域

本发明涉及数据存储技术领域,具体的说是一种备份数据时在线删除重复数据的方法。

背景技术

随着云计算技术的深入发展,云服务功能日趋成熟和广泛应用,越来越多的企业和个人用户选择使用云服务来使业务“上云”。云服务器和云硬盘被广泛使用,为保障数据安全可靠性,备份功能必不可少。

OpenStack是一个旨在为私有云和公有云提供可扩展的弹性的云计算服务的开源项目,其中,Cinder-Backup组件旨在为块存储提供备份服务,来确保用户数据的可靠性。具体的来说,Cinder-Bakcup组件将块存储中的数据按照固定大小分块,然后依次将数据块进行备份,最后将与备份的元数据和备份数据放到一起。另外,Cinder-backup提供增量备份的功能,计算固定大小数据块的指纹值,通过与上一个备份的指纹值进行对比,如果无改变则不再对此块数据进行新的备份,而是使用上一个的备份数据即可。

目前Cinder-Backup只能提供了增量备份功能,整个平台不同用户的大量重复数据进行备份时,无法进行有效地重复数据在线删除。这样会造成以下问题:

a.相同的备份数据占用了大量的备份存储空间,存储空间被极大得浪费,存储成本居高不下;

b.重复数据的再次传输,徒增了数据传输时间,占用了网络资源,而且增加了整体的备份时间,降低备份性能。

发明内容

本发明针对目前技术发展的需求和不足之处,提供一种备份数据时在线删除重复数据的方法,来解决Cinder-Backup无法进行有效地重复数据在线删除的问题,以节省备份后端的存储空间。

本发明的一种备份数据时在线删除重复数据的方法,解决上述技术问题采用的技术方案如下:

一种备份数据时在线删除重复数据的方法,其实现过程包括:

调用Openstack的cinder-backup组件,来备份块存储中的数据;

备份数据时,使cinder-backup组件每次读取定长大小的数据块,随后计算cinder-backup组件所读取数据块的指纹值,并检索备份数据指纹库中是否有相同指纹值存在:

(A)如果否,将此数据块备份到存储后端,并把指纹值存入备份数据指纹库中;

(B)如果是,修改备份数据指纹库中对应的元数据,此数据块不再传输到存储后端。

具体的,cinder-backup组件备份块存储中的数据时,旨在记录块存储所有分块对应的每一个备份数据的信息,并按照分块顺序组成一个列表,列表包括备份数据的名称、长度、偏移、存储位置;而且在数据块被在线重删后,该数据块无存储位置。

更具体的,当备份数据进行回滚时,根据分块顺序组的列表,依次从备份后端根据备份的存储位置读取每一块备份数据,再根据偏移量和长度写入源块存储的指定位置;当遇到无存储位置的备份数据时,则检索出指纹库中对应的指纹信息,根据hash数据里的实际地址取出备份数据,然后再写入源块存储当中。

具体的,备份数据指纹库采用内存数据库Redis来实现,使用Hash数据类型,指纹值做key,hash数据包括备份数据的名称、备份数据在存储后端中实际的地址、备份数据的长度、指纹值被引用的次数;当有多个重复的数据块时,根据指纹值中记录的实际地址来读取到相同的备份数据。

更具体的,在检索备份数据指纹库检索到相同指纹值存在时,将此指纹值的引用次数加一,随后,此数据块不再传输到备份存储后端。

更具体的,当有新的数据块进行备份时,备份数据指纹库中无相同的指纹值,则新增一条对应的指纹信息,实际地址为此数据块的真实地址,同时,被引用次数为一。

具体的,采用SHA-256安全散列算法计算所读取数据块的指纹值,具体过程为:把数据压缩成摘要,使得数据量变小,将数据的格式固定下来,SHA-256安全散列算法将数据打乱混合,重新创建一个叫做哈希值的指纹;对于任意长度的数据,SHA-256安全散列算法都会产生一个256bit长的指纹。

优选的,数据块的大小可以根据不同场景进行自定义配置,自定义配置的数据块的大小可以为8KB、32KB、4MB。

优选的,cinder-backup组件读取数据块时可以采用多线程并发执行,并将数据块读取到内存中。

优选的,存储后端采用分布式存储或集中式存储。

本发明的一种备份数据时在线删除重复数据的方法,与现有技术相比具有的有益效果是:

(1)本发明在源端对备份的重复数据进行去重,然后再传往存储后端,可以解决Cinder-Backup无法进行有效地重复数据在线删除的问题,节省备份后端的存储空间,降低存储成本。

(2)本发明在备份数据过程中删除重复数据的操作,省去了相同数据的传输过程,节省网络资源,减少传输时间,提升备份的性能。

附图说明

附图1是本发明实施例一的方法流程图。

具体实施方式

为使本发明的技术方案、解决的技术问题和技术效果更加清楚明白,以下结合具体实施例,对本发明的技术方案进行清楚、完整的描述。

实施例一:

参考附图1,本实施例提出一种备份数据时在线删除重复数据的方法,其实现过程基于Openstack的cinder-backup组件,cinder-backup组件用于备份块存储中的数据。

备份数据时,使cinder-backup组件每次读取定长大小的数据块,随后计算cinder-backup组件所读取数据块的指纹值,并检索备份数据指纹库中是否有相同指纹值存在:

(A)如果否,将此数据块备份到存储后端,并把指纹值存入备份数据指纹库中;

(B)如果是,修改备份数据指纹库中对应的元数据,此数据块不再传输到存储后端。

本实施例中,cinder-backup组件备份块存储中的数据时,旨在记录块存储所有分块对应的每一个备份数据的信息,并按照分块顺序组成一个列表,列表包括备份数据的名称、长度、偏移、存储位置;而且在数据块被在线重删后,该数据块无存储位置。

本实施例中,备份数据指纹库采用内存数据库Redis来实现,使用Hash数据类型,指纹值做key,hash数据包括备份数据的名称、备份数据在存储后端中实际的地址、备份数据的长度、指纹值被引用的次数;当有多个重复的数据块时,根据指纹值中记录的实际地址来读取到相同的备份数据。

本实施例中,在检索备份数据指纹库检索到相同指纹值存在时,将此指纹值的引用次数加一,随后,此数据块不再传输到备份存储后端。

本实施例中,当有新的数据块进行备份时,备份数据指纹库中无相同的指纹值,则新增一条对应的指纹信息,实际地址为此数据块的真实地址,同时,被引用次数为一。

本实施例中,采用SHA-256安全散列算法计算所读取数据块的指纹值,具体过程为:把数据压缩成摘要,使得数据量变小,将数据的格式固定下来,SHA-256安全散列算法将数据打乱混合,重新创建一个叫做哈希值的指纹;对于任意长度的数据,SHA-256安全散列算法都会产生一个256bit长的指纹。

本实施例中,数据块的大小可以根据不同场景进行自定义配置,自定义配置的数据块的大小可以为8KB、32KB、4MB。

本实施例中,cinder-backup组件读取数据块时可以采用多线程并发执行,并将数据块读取到内存中。

本实施例中,存储后端采用分布式存储(Ceph)或集中式存储(SAN存储)。

实施例二:

基于实施例一,本实施例的一种备份数据时在线删除重复数据的方法,其实现过程中,在备份数据进行回滚时,根据分块顺序组的列表,依次从备份后端根据备份的存储位置读取每一块备份数据,再根据偏移量和长度写入源块存储的指定位置;当遇到无存储位置的备份数据时,则检索出指纹库中对应的指纹信息,根据hash数据里的实际地址取出备份数据,然后再写入源块存储当中。

综上可知,采用本发明的一种备份数据时在线删除重复数据的方法,可以解决Cinder-Backup无法进行有效地重复数据在线删除的问题,节省备份后端的存储空间,降低存储成本。

以上应用具体个例对本发明的原理及实施方式进行了详细阐述,这些实施例只是用于帮助理解本发明的核心技术内容。基于本发明的上述具体实施例,本技术领域的技术人员在不脱离本发明原理的前提下,对本发明所作出的任何改进和修饰,皆应落入本发明的专利保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号