CN114138559A - 一种基于合成技术的快速备份方法及系统 - Google Patents

一种基于合成技术的快速备份方法及系统 Download PDF

Info

Publication number
CN114138559A
CN114138559A CN202111453411.2A CN202111453411A CN114138559A CN 114138559 A CN114138559 A CN 114138559A CN 202111453411 A CN202111453411 A CN 202111453411A CN 114138559 A CN114138559 A CN 114138559A
Authority
CN
China
Prior art keywords
backup
data
module
full
reading
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
Application number
CN202111453411.2A
Other languages
English (en)
Inventor
赵益鑫
孙思清
肖雪
谢涛涛
宋伟
杨旸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Cloud Information Technology Co Ltd
Original Assignee
Inspur Cloud Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Cloud Information Technology Co Ltd filed Critical Inspur Cloud Information Technology Co Ltd
Priority to CN202111453411.2A priority Critical patent/CN114138559A/zh
Publication of CN114138559A publication Critical patent/CN114138559A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques

Abstract

本发明公开了一种基于合成技术的快速备份方法及系统,属于云计算数据存储领域;所述的方法具体步骤如下:S1从源数据中读取固定长度的数据;S2通过zstd无损压缩算法压缩数据并上传到存储后端进行存储;S3循环读取一块数据并将备份对象上传;S4利用全量备份中所有的备份对象形成一个合成全备份;S5根据所需备份的源数据合成一个全备份;本发明提供一种基于合成技术的快速备份方法及系统,旨在实现支持备份服务的合成全备份,具有备份时间短、恢复时间快的优点,大幅提升备份与恢复的处理效率;同时合成工作在后台完成,避免了周期性全量备份对客户端资源的占用。

Description

一种基于合成技术的快速备份方法及系统
技术领域
本发明公开一种基于合成技术的快速备份方法及系统,涉及云计算数据存储技术领域。
背景技术
随着云计算技术的深入发展,云服务功能日趋成熟和广泛应用,越来越多的企业和个人用户选择使用云服务来使业务“上云”,业务数据也随之增长,非结构数据已达到了海量级别,结构化数据也进入了TB级别,为保障数据安全可靠性,备份功能必不可少。面对如此庞大的数据量,采用传统周期性“完全备份+增量备份”的策略,已无法满足企业对备份的及时性要求。
OpenStack是一个旨在为私有云和公有云提供可扩展的弹性的云计算服务的开源项目,其中Cinder-Backup组件旨在提供备份服务,来确保用户数据的可靠性。目前的备份服务仅提供全量备份及增量备份,因此如何实现将全量备份及增量备份通过合成技术来形成新的合成全备份是目前亟待解决的技术问题。
目前的备份服务仅提供全量备份及增量备份,而周期性的全量备份,数据量大,备份时间长,且占用了大量客户端主机计算资源、I/O资源和网络资源,对核心业务的正常运行造成影响。同时为了能恢复到多个时间点,需要准备较大的存储空间,来保存多个完全备份的备份集数据,增加企业的存储建设成本;
故现发明一种基于合成技术的快速备份方法及系统,以解决上述问题。
发明内容
本发明针对现有技术的问题,提供一种基于合成技术的快速备份方法及系统,所采用的技术方案为:一种基于合成技术的快速备份方法,所述的方法具体步骤如下:
S1从源数据中读取固定长度的数据;
S2通过zstd无损压缩算法压缩数据并上传到存储后端进行存储;
S3循环读取一块数据并将备份对象上传;
S4利用全量备份中所有的备份对象形成一个合成全备份;
S5根据所需备份的源数据合成一个全备份。
所述S1从源数据中读取固定长度的数据具体步骤如下:
S101利用SHA-256哈希函数计算读取数据的哈希值;
S102将计算出的哈希值作为此数据的指纹值。
所述S3循环读取一块数据并将备份对象上传的具体步骤如下:
S301循环将全部数据依次分块读取,并备份对象上传;
S302将备份元数据列表和指纹列表以对象形式上传到存储后端;
S303利用元数据文件记录组成备份的所有对象;
S304利用指纹文件记录每一块数据的指纹值。
所述S4利用全量备份中所有的备份对象形成一个合成全备份的具体步骤如下:
S401将全量备份中所有的备份对象作为基础元数据文件;
S402在后续的增量备份中依次读取备份对象;、
S403记录每个备份对象的偏移位置和长度信息进行记录和对比;
S404用增量备份中偏移长度和长度信息相同的备份对象替代基础元数据文件中的备份对象;
S405将全部引用自全量备份和增量备份的备份对象作为一个新的合成全备份。
所述S5根据所需备份的源数据合成一个全备份的具体步骤如下:
S501根据需要备份的源数据查询到已经创建过的所有全量备份及增量备份;
S502选择距离当前事件最近的一个全量备份及后续的增量备份;
S503根据选择的备份的数据进行合成全备份。
一种基于合成技术的快速备份系统,所述的系统具体包括数据读取模块、数据存储模块、循环处理模块、对象合成模块和数据合成模块:
数据读取模块:从源数据中读取固定长度的数据;
数据存储模块:通过zstd无损压缩算法压缩数据并上传到存储后端进行存储;
循环处理模块:循环读取一块数据并将备份对象上传;
对象合成模块:利用全量备份中所有的备份对象形成一个合成全备份;
数据合成模块:根据所需备份的源数据合成一个全备份。
所述数据读取模块具体包括哈希提取模块和指纹值模块:
哈希提取模块:利用SHA-256哈希函数计算读取数据的哈希值;
指纹值模块:将计算出的哈希值作为此数据的指纹值。
所述循环处理模块具体包括数据处理模块、列表存储模块、对象记录模块和指纹记录模块:
数据处理模块:循环将全部数据依次分块读取,并备份对象上传;
列表存储模块:将备份元数据列表和指纹列表以对象形式上传到存储后端;
对象记录模块:利用元数据文件记录组成备份的所有对象;
指纹记录模块:利用指纹文件记录每一块数据的指纹值。
所述对象合成模块具体包括备份处理模块、备份读取模块、备份对比模块、对象替换模块和合成处理模块:
备份处理模块:将全量备份中所有的备份对象作为基础元数据文件;
备份读取模块:在后续的增量备份中依次读取备份对象;、
备份对比模块:记录每个备份对象的偏移位置和长度信息进行记录和对比;
对象替换模块:用增量备份中偏移长度和长度信息相同的备份对象替代基础元数据文件中的备份对象;
合成处理模块:将全部引用自全量备份和增量备份的备份对象作为一个新的合成全备份。
所述数据合成模块具体包括数据查询模块、备份选定模块和备份生成模块:
数据查询模块:根据需要备份的源数据查询到已经创建过的所有全量备份及增量备份;
备份选定模块:选择距离当前事件最近的一个全量备份及后续的增量备份;
备份生成模块:根据选择的备份的数据进行合成全备份。
本发明的有益效果为:本发明提供一种基于合成技术的快速备份方法及系统,旨在实现支持备份服务的合成全备份,具有备份时间短、恢复时间快的优点,大幅提升备份与恢复的处理效率;同时合成工作在后台完成,避免了周期性全量备份对客户端资源的占用;合成备份基于全量备份和随后的增量备份集在服务器端进行合并,生成新的全量备份,极大增强了备份效率;选择时间点进行数据恢复时,直接使用合成全量备份数据进行恢复,减少了恢复时间,提高恢复的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明方法的流程图;图2是本发明系统的结构示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
实施例一:
一种基于合成技术的快速备份方法,所述的方法具体步骤如下:
S1从源数据中读取固定长度的数据;
S2通过zstd无损压缩算法压缩数据并上传到存储后端进行存储;
使用zstd无损压缩算法对数据进行压缩,压缩后得到的内容称为一个组成备份的对象,然后将备份对象上传到存储后端,存储后端可以选择分布式存储或者集中式存储;备份对象上传成功后,将其名称、偏移、长度信息添加到一个列表中,称为备份元数据列表;将第一步中计算出来的指纹值添加到另一个列表中,称为备份指纹列表;
S3循环读取一块数据并将备份对象上传;
S4利用全量备份中所有的备份对象形成一个合成全备份;
S5根据所需备份的源数据合成一个全备份;
进一步的,所述S1从源数据中读取固定长度的数据具体步骤如下:
S101利用SHA-256哈希函数计算读取数据的哈希值;
S102将计算出的哈希值作为此数据的指纹值;
每次从源数据中读取固定长度的数据,例如每次读取1MB的数据,然后使用SHA-256哈希函数对该块数据进行哈希计算,对任意长度的数据,SHA-256都会产生一个256为的哈希值,在此称为数据的指纹值;指纹值相当于是个长度为32个字节的数组,通常由一个长度为64的十六进制字符串来表示;
进一步的,所述S3循环读取一块数据并将备份对象上传的具体步骤如下:
S301循环将全部数据依次分块读取,并备份对象上传;
S302将备份元数据列表和指纹列表以对象形式上传到存储后端;
S303利用元数据文件记录组成备份的所有对象;
S304利用指纹文件记录每一块数据的指纹值;
每次读取一块数据并将备份对象成功上传后,接着读取下一块数据进行备份,这样依次重复上述过程,直到所有的数据都备份完成,最终再将备份元数据列表和指纹列表也以对象的形式上传到存储后端,与所有的备份对象存储于相同的位置;元数据文件记录组成备份的所有对象;指纹文件记录每一块数据的指纹值;
进一步的,所述S4利用全量备份中所有的备份对象形成一个合成全备份的具体步骤如下:
S401将全量备份中所有的备份对象作为基础元数据文件;
S402在后续的增量备份中依次读取备份对象;、
S403记录每个备份对象的偏移位置和长度信息进行记录和对比;
S404用增量备份中偏移长度和长度信息相同的备份对象替代基础元数据文件中的备份对象;
S405将全部引用自全量备份和增量备份的备份对象作为一个新的合成全备份;
基于合成技术的快速备份是指以上述过程中创建的全量备份中所有的备份对象作为基础元数据文件,然后依次读取后续的增量备份中的备份对象,通过对比每个备份对象记录的偏移位置及长度信息,如果位置及长度相同,则将基础元数据文件中的备份对象替换为增量备份中的备份对象,将所有的增量备份处理完成后,备份对象全部引用自全量备份和增量备份,形成一个新的合成全备份;
再进一步的,所述S5根据所需备份的源数据合成一个全备份的具体步骤如下:
S501根据需要备份的源数据查询到已经创建过的所有全量备份及增量备份;
S502选择距离当前事件最近的一个全量备份及后续的增量备份;
S503根据选择的备份的数据进行合成全备份;
S5根据需要备份的源数据,查询得到已经创建过的所有全量备份及增量备份,选择距离当前时间最近的一个全量备份及后续的增量备份,然后依据这些备份的数据进行合成全备份;首先从备份后端中读取全量备份的元数据文件内容,得到基础的备份对象列表;备份的元数据文件中保存的备份对象记录了如下关键信息:1.备份对象的名称,对象的唯一标识,通过名称就可以在备份后端中准确定位到备份对象;2.备份对象的压缩算法,因为从源数据块到生成备份对象之间经过了压缩处理,所以记录压缩算法,在通过备份数据恢复源数据时解压缩使用;3.备份对象的偏移位置,对应源数据中的偏移位置;4.备份对象的长度,对应备份时每次读取的数据块长度;通过偏移位置和长度信息,即可得出该备份对象的数据对应在源数据中上的位置,在恢复时才可以将备份对象的数据恢复到源数据中的指定位置;
到基础的备份对象列表之后,先读取距离全量备份时间最近的下一个增量备份的元数据文件内容,遍历所有的备份对象,根据每一个备份对象的偏移位置和长度信息,在基础备份对象列表中找到对应位置的备份对象,用增量备份的对象名称及压缩算法,替换基础备份的对象信息;
时间最近的增量备份处理完成后,按照时间先后顺序,读取该备份链路上的下一个增量备份的元数据文件内容,与上一步相同,根据备份对象的偏移位置和长度,对基础备份对象的名称和压缩算法进行替换;然后依次对后续增量备份进行相同处理,最终生成一个新的元数据文件,将新的元数据文件上传到存储后端,形成新的合成全备份。
实施例二:
一种基于合成技术的快速备份系统,所述的系统具体包括数据读取模块、数据存储模块、循环处理模块、对象合成模块和数据合成模块:
数据读取模块:从源数据中读取固定长度的数据;
数据存储模块:通过zstd无损压缩算法压缩数据并上传到存储后端进行存储;
循环处理模块:循环读取一块数据并将备份对象上传;
对象合成模块:利用全量备份中所有的备份对象形成一个合成全备份;
数据合成模块:根据所需备份的源数据合成一个全备份;
进一步的,所述数据读取模块具体包括哈希提取模块和指纹值模块:
哈希提取模块:利用SHA-256哈希函数计算读取数据的哈希值;
指纹值模块:将计算出的哈希值作为此数据的指纹值;
进一步的,所述循环处理模块具体包括数据处理模块、列表存储模块、对象记录模块和指纹记录模块:
数据处理模块:循环将全部数据依次分块读取,并备份对象上传;
列表存储模块:将备份元数据列表和指纹列表以对象形式上传到存储后端;
对象记录模块:利用元数据文件记录组成备份的所有对象;
指纹记录模块:利用指纹文件记录每一块数据的指纹值;
进一步的,所述对象合成模块具体包括备份处理模块、备份读取模块、备份对比模块、对象替换模块和合成处理模块:
备份处理模块:将全量备份中所有的备份对象作为基础元数据文件;
备份读取模块:在后续的增量备份中依次读取备份对象;、
备份对比模块:记录每个备份对象的偏移位置和长度信息进行记录和对比;
对象替换模块:用增量备份中偏移长度和长度信息相同的备份对象替代基础元数据文件中的备份对象;
合成处理模块:将全部引用自全量备份和增量备份的备份对象作为一个新的合成全备份;
再进一步的,所述数据合成模块具体包括数据查询模块、备份选定模块和备份生成模块:
数据查询模块:根据需要备份的源数据查询到已经创建过的所有全量备份及增量备份;
备份选定模块:选择距离当前事件最近的一个全量备份及后续的增量备份;
备份生成模块:根据选择的备份的数据进行合成全备份。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种基于合成技术的快速备份方法,其特征是所述的方法具体步骤如下:
S1从源数据中读取固定长度的数据;
S2通过zstd无损压缩算法压缩数据并上传到存储后端进行存储;
S3循环读取一块数据并将备份对象上传;
S4利用全量备份中所有的备份对象形成一个合成全备份;
S5根据所需备份的源数据合成一个全备份。
2.根据权利要求1所述的方法,其特征是所述S1从源数据中读取固定长度的数据具体步骤如下:
S101利用SHA-256哈希函数计算读取数据的哈希值;
S102将计算出的哈希值作为此数据的指纹值。
3.根据权利要求2所述的方法,其特征是所述S3循环读取一块数据并将备份对象上传的具体步骤如下:
S301循环将全部数据依次分块读取,并备份对象上传;
S302将备份元数据列表和指纹列表以对象形式上传到存储后端;
S303利用元数据文件记录组成备份的所有对象;
S304利用指纹文件记录每一块数据的指纹值。
4.根据权利要求3所述的方法,其特征是所述S4利用全量备份中所有的备份对象形成一个合成全备份的具体步骤如下:
S401将全量备份中所有的备份对象作为基础元数据文件;
S402在后续的增量备份中依次读取备份对象;、
S403记录每个备份对象的偏移位置和长度信息进行记录和对比;
S404用增量备份中偏移长度和长度信息相同的备份对象替代基础元数据文件中的备份对象;
S405将全部引用自全量备份和增量备份的备份对象作为一个新的合成全备份。
5.根据权利要求4所述的方法,其特征是所述S5根据所需备份的源数据合成一个全备份的具体步骤如下:
S501根据需要备份的源数据查询到已经创建过的所有全量备份及增量备份;
S502选择距离当前事件最近的一个全量备份及后续的增量备份;
S503根据选择的备份的数据进行合成全备份。
6.一种基于合成技术的快速备份系统,其特征是所述的系统具体包括数据读取模块、数据存储模块、循环处理模块、对象合成模块和数据合成模块:
数据读取模块:从源数据中读取固定长度的数据;
数据存储模块:通过zstd无损压缩算法压缩数据并上传到存储后端进行存储;
循环处理模块:循环读取一块数据并将备份对象上传;
对象合成模块:利用全量备份中所有的备份对象形成一个合成全备份;
数据合成模块:根据所需备份的源数据合成一个全备份。
7.根据权利要求6所述的系统,其特征是所述数据读取模块具体包括哈希提取模块和指纹值模块:
哈希提取模块:利用SHA-256哈希函数计算读取数据的哈希值;
指纹值模块:将计算出的哈希值作为此数据的指纹值。
8.根据权利要求7所述的系统,其特征是所述循环处理模块具体包括数据处理模块、列表存储模块、对象记录模块和指纹记录模块:
数据处理模块:循环将全部数据依次分块读取,并备份对象上传;
列表存储模块:将备份元数据列表和指纹列表以对象形式上传到存储后端;
对象记录模块:利用元数据文件记录组成备份的所有对象;
指纹记录模块:利用指纹文件记录每一块数据的指纹值。
9.根据权利要求8所述的系统,其特征是所述对象合成模块具体包括备份处理模块、备份读取模块、备份对比模块、对象替换模块和合成处理模块:
备份处理模块:将全量备份中所有的备份对象作为基础元数据文件;
备份读取模块:在后续的增量备份中依次读取备份对象;、
备份对比模块:记录每个备份对象的偏移位置和长度信息进行记录和对比;
对象替换模块:用增量备份中偏移长度和长度信息相同的备份对象替代基础元数据文件中的备份对象;
合成处理模块:将全部引用自全量备份和增量备份的备份对象作为一个新的合成全备份。
10.根据权利要求9所述的系统,其特征是所述数据合成模块具体包括数据查询模块、备份选定模块和备份生成模块:
数据查询模块:根据需要备份的源数据查询到已经创建过的所有全量备份及增量备份;
备份选定模块:选择距离当前事件最近的一个全量备份及后续的增量备份;
备份生成模块:根据选择的备份的数据进行合成全备份。
CN202111453411.2A 2021-12-01 2021-12-01 一种基于合成技术的快速备份方法及系统 Pending CN114138559A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111453411.2A CN114138559A (zh) 2021-12-01 2021-12-01 一种基于合成技术的快速备份方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111453411.2A CN114138559A (zh) 2021-12-01 2021-12-01 一种基于合成技术的快速备份方法及系统

Publications (1)

Publication Number Publication Date
CN114138559A true CN114138559A (zh) 2022-03-04

Family

ID=80387251

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111453411.2A Pending CN114138559A (zh) 2021-12-01 2021-12-01 一种基于合成技术的快速备份方法及系统

Country Status (1)

Country Link
CN (1) CN114138559A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115623016A (zh) * 2022-09-20 2023-01-17 浪潮云信息技术股份公司 一种基于云存储技术的备份断点续传实现方法及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115623016A (zh) * 2022-09-20 2023-01-17 浪潮云信息技术股份公司 一种基于云存储技术的备份断点续传实现方法及系统

Similar Documents

Publication Publication Date Title
CN102419766B (zh) 基于hdfs分布式文件系统的数据冗余及文件操作方法
US7478113B1 (en) Boundaries
CN102246137B (zh) 身份副本删除之后的delta压缩
AU2001296665B2 (en) System for identifying common digital sequences
CN107046812B (zh) 一种数据保存方法和装置
US11232070B2 (en) Metadata compaction in a distributed storage system
US7680998B1 (en) Journaled data backup during server quiescence or unavailability
US20040148306A1 (en) Hash file system and method for use in a commonality factoring system
CN104021132A (zh) 主备数据库数据一致性核查备份方法及其系统
US9002800B1 (en) Archive and backup virtualization
CN109522283B (zh) 一种重复数据删除方法及系统
CN102902762B (zh) 一种删除重复数据的方法、装置和系统
CA2546182A1 (en) Apparatus, system, and method for grid based data storage
CN113297166A (zh) 数据处理系统、方法以及装置
CN107590019B (zh) 一种数据存储的方法和装置
US11422721B2 (en) Data storage scheme switching in a distributed data storage system
CN102469142A (zh) 重复数据删除程序的数据传输方法
CN112612576B (zh) 虚拟机备份方法、装置、电子设备及存储介质
US20170123689A1 (en) Pipelined Reference Set Construction and Use in Memory Management
CN113064760B (zh) 数据库合成备份方法、装置、计算机设备和存储介质
CN111177143A (zh) 键值数据存储方法、装置、存储介质与电子设备
WO2022082891A1 (zh) 大数据采集方法、系统、计算机设备及其存储介质
CN104965835A (zh) 一种分布式文件系统的文件读写方法及装置
CN114138559A (zh) 一种基于合成技术的快速备份方法及系统
CN1851691A (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