CN112698990A - 一种备份数据时在线删除重复数据的方法 - Google Patents
一种备份数据时在线删除重复数据的方法 Download PDFInfo
- Publication number
- CN112698990A CN112698990A CN202110003809.XA CN202110003809A CN112698990A CN 112698990 A CN112698990 A CN 112698990A CN 202110003809 A CN202110003809 A CN 202110003809A CN 112698990 A CN112698990 A CN 112698990A
- Authority
- CN
- China
- Prior art keywords
- data
- backup
- storage
- block
- fingerprint
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 230000008569 process Effects 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 abstract description 4
- 238000013500 data storage Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1453—Management of the data involved in backup or backup restore using de-duplication of the data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种备份数据时在线删除重复数据的方法,涉及数据存储技术领域,针对cinder‑backup组件备份大量数据时无法在线删除重复数据的问题,采用技术方案为:调用Openstack的cinder‑backup组件,来备份块存储中的数据;备份数据时,使cinder‑backup组件每次读取定长大小的数据块,随后计算cinder‑backup组件所读取数据块的指纹值,并检索备份数据指纹库中是否有相同指纹值存在:(A)如果否,将此数据块备份到存储后端,并把指纹值存入备份数据指纹库中;(B)如果是,修改备份数据指纹库中对应的元数据,此数据块不再传输到存储后端。本发明在源端对备份的重复数据进行去重,然后再传往存储后端,减少了传输时间,解决了Cinder‑Backup组件无法进行有效地重复数据在线删除的问题。
Description
技术领域
本发明涉及数据存储技术领域,具体的说是一种备份数据时在线删除重复数据的方法。
背景技术
随着云计算技术的深入发展,云服务功能日趋成熟和广泛应用,越来越多的企业和个人用户选择使用云服务来使业务“上云”。云服务器和云硬盘被广泛使用,为保障数据安全可靠性,备份功能必不可少。
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无法进行有效地重复数据在线删除的问题,节省备份后端的存储空间,降低存储成本。
以上应用具体个例对本发明的原理及实施方式进行了详细阐述,这些实施例只是用于帮助理解本发明的核心技术内容。基于本发明的上述具体实施例,本技术领域的技术人员在不脱离本发明原理的前提下,对本发明所作出的任何改进和修饰,皆应落入本发明的专利保护范围。
Claims (10)
1.一种备份数据时在线删除重复数据的方法,其特征在于,其实现过程包括:
调用Openstack的cinder-backup组件,来备份块存储中的数据;
备份数据时,使cinder-backup组件每次读取定长大小的数据块,随后计算cinder-backup组件所读取数据块的指纹值,并检索备份数据指纹库中是否有相同指纹值存在:
(A)如果否,将此数据块备份到存储后端,并把指纹值存入备份数据指纹库中;
(B)如果是,修改备份数据指纹库中对应的元数据,此数据块不再传输到存储后端。
2.根据权利要求1所述的一种备份数据时在线删除重复数据的方法,其特征在于,cinder-backup组件备份块存储中的数据时,旨在记录块存储所有分块对应的每一个备份数据的信息,并按照分块顺序组成一个列表,列表包括备份数据的名称、长度、偏移、存储位置;而且在数据块被在线重删后,该数据块无存储位置。
3.根据权利要求2所述的一种备份数据时在线删除重复数据的方法,其特征在于,当备份数据进行回滚时,根据分块顺序组的列表,依次从备份后端根据备份的存储位置读取每一块备份数据,再根据偏移量和长度写入源块存储的指定位置;当遇到无存储位置的备份数据时,则检索出指纹库中对应的指纹信息,根据hash数据里的实际地址取出备份数据,然后再写入源块存储当中。
4.根据权利要求1所述的一种备份数据时在线删除重复数据的方法,其特征在于,备份数据指纹库采用内存数据库Redis来实现,使用Hash数据类型,指纹值做key,hash数据包括备份数据的名称、备份数据在存储后端中实际的地址、备份数据的长度、指纹值被引用的次数;当有多个重复的数据块时,根据指纹值中记录的实际地址来读取到相同的备份数据。
5.根据权利要求4所述的一种备份数据时在线删除重复数据的方法,其特征在于,在检索备份数据指纹库检索到相同指纹值存在时,将此指纹值的引用次数加一,随后,此数据块不再传输到备份存储后端。
6.根据权利要求4所述的一种备份数据时在线删除重复数据的方法,其特征在于,当有新的数据块进行备份时,备份数据指纹库中无相同的指纹值,则新增一条对应的指纹信息,实际地址为此数据块的真实地址,同时,被引用次数为一。
7.根据权利要求1所述的一种备份数据时在线删除重复数据的方法,其特征在于,采用SHA-256安全散列算法计算所读取数据块的指纹值,具体过程为:把数据压缩成摘要,使得数据量变小,将数据的格式固定下来,SHA-256安全散列算法将数据打乱混合,重新创建一个叫做哈希值的指纹;对于任意长度的数据,SHA-256安全散列算法都会产生一个256bit长的指纹。
8.根据权利要求1所述的一种备份数据时在线删除重复数据的方法,其特征在于,数据块的大小可以根据不同场景进行自定义配置,自定义配置的数据块的大小可以为8KB、32KB、4MB。
9.根据权利要求1所述的一种备份数据时在线删除重复数据的方法,其特征在于,cinder-backup组件读取数据块时可以采用多线程并发执行,并将数据块读取到内存中。
10.根据权利要求1所述的一种备份数据时在线删除重复数据的方法,其特征在于,存储后端采用分布式存储或集中式存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110003809.XA CN112698990A (zh) | 2021-01-04 | 2021-01-04 | 一种备份数据时在线删除重复数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110003809.XA CN112698990A (zh) | 2021-01-04 | 2021-01-04 | 一种备份数据时在线删除重复数据的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112698990A true CN112698990A (zh) | 2021-04-23 |
Family
ID=75514541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110003809.XA Pending CN112698990A (zh) | 2021-01-04 | 2021-01-04 | 一种备份数据时在线删除重复数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112698990A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114090344A (zh) * | 2022-01-19 | 2022-02-25 | 苏州浪潮智能科技有限公司 | 用于容器集群的删除备份资源的方法、装置、设备及介质 |
CN115543979A (zh) * | 2022-09-29 | 2022-12-30 | 广州鼎甲计算机科技有限公司 | 重复数据的删除方法、装置、设备、存储介质和程序产品 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105487942A (zh) * | 2015-11-30 | 2016-04-13 | 上海爱数信息技术股份有限公司 | 一种基于重复数据删除的备份与远程复制方法 |
CN109101365A (zh) * | 2018-08-01 | 2018-12-28 | 南京壹进制信息技术股份有限公司 | 一种基于源端数据重删的数据备份和恢复方法 |
CN111240895A (zh) * | 2019-12-31 | 2020-06-05 | 深圳证券通信有限公司 | 一种面向OpenStack的节点批量备份系统的方法 |
CN112035296A (zh) * | 2020-08-28 | 2020-12-04 | 浪潮云信息技术股份公司 | 一种增量备份最小变动的备份方法 |
-
2021
- 2021-01-04 CN CN202110003809.XA patent/CN112698990A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105487942A (zh) * | 2015-11-30 | 2016-04-13 | 上海爱数信息技术股份有限公司 | 一种基于重复数据删除的备份与远程复制方法 |
CN109101365A (zh) * | 2018-08-01 | 2018-12-28 | 南京壹进制信息技术股份有限公司 | 一种基于源端数据重删的数据备份和恢复方法 |
CN111240895A (zh) * | 2019-12-31 | 2020-06-05 | 深圳证券通信有限公司 | 一种面向OpenStack的节点批量备份系统的方法 |
CN112035296A (zh) * | 2020-08-28 | 2020-12-04 | 浪潮云信息技术股份公司 | 一种增量备份最小变动的备份方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114090344A (zh) * | 2022-01-19 | 2022-02-25 | 苏州浪潮智能科技有限公司 | 用于容器集群的删除备份资源的方法、装置、设备及介质 |
CN114090344B (zh) * | 2022-01-19 | 2022-04-29 | 苏州浪潮智能科技有限公司 | 用于容器集群的删除备份资源的方法、装置、设备及介质 |
CN115543979A (zh) * | 2022-09-29 | 2022-12-30 | 广州鼎甲计算机科技有限公司 | 重复数据的删除方法、装置、设备、存储介质和程序产品 |
CN115543979B (zh) * | 2022-09-29 | 2023-08-08 | 广州鼎甲计算机科技有限公司 | 重复数据的删除方法、装置、设备、存储介质和程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10162555B2 (en) | Deduplicating snapshots associated with a backup operation | |
JP4972158B2 (ja) | サンプリングを利用して重複データを無くすシステム、及び方法 | |
US9703640B2 (en) | Method and system of performing incremental SQL server database backups | |
US11663195B2 (en) | Fine-grained shared multi-tenant de-duplication system | |
CN102236589B (zh) | 一种基于数字标识符管理增量文件的数据保护方法 | |
CN103116615B (zh) | 一种基于版本矢量的数据索引方法及服务器 | |
US11093387B1 (en) | Garbage collection based on transmission object models | |
CN103118104B (zh) | 一种基于版本矢量的数据还原方法及服务器 | |
CN109522283B (zh) | 一种重复数据删除方法及系统 | |
CN102339321A (zh) | 具有版本控制的网络文件系统及方法 | |
CN103095843A (zh) | 一种基于版本矢量的数据备份方法及客户端 | |
CN110109778A (zh) | 一种大量小数据文件备份方法及恢复方法 | |
CN112698990A (zh) | 一种备份数据时在线删除重复数据的方法 | |
CN108415671B (zh) | 一种面向绿色云计算的重复数据删除方法及系统 | |
CN104077380A (zh) | 一种重复数据删除方法、装置及系统 | |
RU2665272C1 (ru) | Способ и устройство для восстановления дедуплицированных данных | |
US11397706B2 (en) | System and method for reducing read amplification of archival storage using proactive consolidation | |
CN110457163B (zh) | 一种分布式块存储的数据恢复方法、装置及存储介质 | |
US11620056B2 (en) | Snapshots for any point in time replication | |
CN103412802B (zh) | 容灾数据文件访问控制列表备份的方法及装置 | |
CN111026327B (zh) | 一种基于重删的磁带归档系统及方法 | |
CN114138559A (zh) | 一种基于合成技术的快速备份方法及系统 | |
US11645333B1 (en) | Garbage collection integrated with physical file verification | |
US11989124B2 (en) | Garbage collection for a deduplicated cloud tier with encrypted segments | |
CN118012671A (zh) | 一种块存储数据的差量备份的实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210423 |
|
RJ01 | Rejection of invention patent application after publication |