一种快照拷贝方法、系统、装置及可读存储介质与流程

文档序号:13704502阅读:163来源:国知局

本发明涉及同步算法,特别涉及一种快照拷贝方法、系统、装置及可读存储介质。



背景技术:

在进入大数据时代后,数据的安全保护显得愈发重要,常见有异步容灾、远程镜像等高可用性存储数据保护方案,以及一些不可或缺的基础保护功能,例如快照、备份等。其中,快照是指定数据集合的一个完全可用拷贝,当存储设备发生故障或文件损坏时可以进行快速数据恢复,将数据恢复至快照时间点状态。存储系统中数据块的快照不会低于一个,当用户在进行重要操作比如创建删除更改时都会创建快照,出现未知错误时以便恢复操作前状态。每次快照都是一次数据拷贝,完全拷贝产生的快照是比较安全的。当用户数据块较大时,快照的拷贝时间会持续较长时间。如果多次快照的数据块之间的数据差异较小,未发生更改的多个相同数据占据存储空间,还则会造成存储快照占用空间容量的问题。



技术实现要素:

有鉴于此,本发明的目的在于提供一种快速同步、存储量小的快照拷贝方法、系统、装置及可读存储介质。其具体方案如下:

一种快照拷贝方法,包括:

将本次快照数据与已备份的源数据分块处理,得到一一对应的多个快照block和多个源block;

对于每一个快照block,对比并尝试匹配与之对应的源block;如果任一快照block与对应的源block不匹配,则确认该快照block为未匹配block;

对所述快照数据中所有的未匹配block进行数据备份。

优选的,所述对于每一个快照block,对比并尝试匹配与之对应的源block的过程,包括:

利用哈希算法和md5,对于每一个快照block,对比并尝试匹配与之对应的源block。

优选的,所述对所述快照数据中所有的未匹配block进行数据备份的过程,包括:

记录所述快照数据中所有的未匹配block的偏移地址,并备份数据。

优选的,所述快照拷贝方法还包括:

如果任一快照block与对应的源block匹配,则确认该快照block为匹配block。

优选的,所述源数据包括:

原始数据,或前一次快照备份数据;

其中,所述快照备份数据包括本次快照中未匹配block与匹配block对应的源block。

优选的,所述将本次快照数据与已备份的源数据分块处理,得到一一对应的多个快照block和多个源block的过程,包括:

将本次快照数据与已备份的源数据按单位块大小进行分块处理,得到一一对应的多个快照block和多个源block。

优选的,所述将本次快照数据与已备份的源数据分块处理,得到一一对应的多个快照block和多个源block的过程,包括:

当所述源数据为所述前一次快照备份数据时,合并所述前一次快照备份数据中相邻的匹配block,和/或合并所述前一次快照备份数据中相邻的未匹配block,得到多个源block;

将本次快照数据按照所述多个源block分块,得到一一对应的多个快照block。

优选的,所述合并所述前一次快照备份数据中相邻的匹配block,和/或合并所述前一次快照备份数据中相邻的未匹配block的过程具体包括:

将所述前一次快照备份数据中相邻的匹配block按每两个一组进行合并,和/或将所述前一次快照备份数据中相邻的未匹配block按每两个一组进行合并。

优选的,在确认该快照block为未匹配block之后,还包括:

判断所述未匹配block的大小是否为单位块的大小,如果否,则将所述未匹配block和对应的源block分为单位块大小的多个快照block和多个源block,再进行对比和尝试匹配。

相应的,本发明公开了一种快照拷贝系统,包括:

分块模块,用于将本次快照数据与已备份的源数据分块处理,得到一一对应的多个快照block和多个源block;

匹配模块,用于对于每一个快照block,对比并尝试匹配与之对应的源block;如果该快照block与对应的源block不匹配,则认为该快照block为未匹配block;

备份模块,用于对所述快照数据中所有的所述未匹配block进行数据备份。

相应的,本发明公开了一种快照拷贝装置,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上文所述快照拷贝方法的步骤。

相应的,本发明公开了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文所述快照拷贝方法的步骤。

本发明公开了一种快照拷贝方法,包括:将本次快照数据与已备份的源数据分块处理,得到一一对应的多个快照block和多个源block;对于每一个快照block,对比并尝试匹配与之对应的源block;如果任一快照block与对应的源block不匹配,则确认该快照block为未匹配block;对所述快照数据中所有的未匹配block进行数据备份。本发明中通过分块比对获得本次快照数据中数据发生变更部分,作为未匹配block进行数据备份,忽略数据未发生变更部分,不再对其进行额外存储,由于每次快照数据中发生变更的部分较少,只备份该部分,备份数据的效率提高,有效节约了存储空间,提高了同步速度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例中一种快照拷贝方法的步骤流程图;

图2a为本发明实施例中一种快照拷贝方法的分块方式示意图;

图2b为本发明实施例中一种快照拷贝方法的分块方式示意图;

图3为本发明实施例中一种快照拷贝系统的结构分布图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种快照拷贝方法,,包括:

s1:将本次快照数据与已备份的源数据分块处理,得到一一对应的多个快照block和多个源block;

s2:对于每一个快照block,对比并尝试匹配与之对应的源block;如果任一快照block与对应的源block不匹配,则确认该快照block为未匹配block;

可以理解的是,如果任一快照block与对应的源block匹配,则确认该快照block为匹配block。

具体的,利用哈希算法和md5,对于每一个快照block,对比并尝试匹配与之对应的源block。更具体的,使用哈希算法和md5来计算校验出每个源block的哈希值,然后将某一个源block的哈希值在对应的快照block上进行匹配。

s3:对所述快照数据中所有的未匹配block进行数据备份。

可以理解的是,数据备份时,还需记录未匹配block的偏移地址。

其中,所述源数据包括:原始数据,或前一次快照备份数据;

其中,所述快照备份数据包括本次快照中未匹配block与匹配block对应的源block。

本实施例公开了一种快照拷贝方法,包括:将本次快照数据与已备份的源数据分块处理,得到一一对应的多个快照block和多个源block;对于每一个快照block,对比并尝试匹配与之对应的源block;如果任一快照block与对应的源block不匹配,则确认该快照block为未匹配block;对所述快照数据中所有的未匹配block进行数据备份。本实施例中通过分块比对获得本次快照数据中数据发生变更部分,作为未匹配block进行数据备份,忽略数据未发生变更部分,不再对其进行额外存储,由于每次快照数据中发生变更的部分较少,只备份该部分,备份数据的效率提高,有效节约了存储空间,提高了同步速度。

本发明实施例公开了一种具体的快照拷贝方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:

步骤s1的分块方式有两种,一种是始终按照一种分块方式,另一种是按照前一次快照备份数据对分块方式进行调整修改。

第一种分块方式可以具体为:

将本次快照数据与已备份的源数据按单位块大小进行分块处理,得到一一对应的多个快照block和多个源block。

可以理解的是,单位块大小恒定不变。

例如图2a所示,将源数据按单位块大小j分块,得到源block:s-1,s-2,……s-i,……,对应源block的偏移地址为(0,j),(j,2j),……((i-1)*j,i*j),……。将本次快照数据分块得到快照block,偏移地址与源block对应。快照block与源block对比,获得以m前缀标号的匹配block和以u前缀标号的未匹配block,记录未匹配block的偏移地址并备份未匹配block,如记录u-i的偏移地址((i-1)*j,i*j),备份u-i的数据。

第二种分块方式可以具体为:

当所述源数据为所述前一次快照备份数据时,合并所述前一次快照备份数据中相邻的匹配block,和/或合并所述前一次快照备份数据中相邻的未匹配block,得到多个源block;

将本次快照数据按照所述多个源block分块,得到一一对应的多个快照block。

例如图2b所示,前一次快照备份数据原本为单位块大小的匹配block和/或未匹配block组成,将相邻的同类block进行合并,得到多个源block,将本次快照数据按照多个源block进行分块。

可以理解的是,源block的编号可以沿袭原来的编号,也可以重新排序编号。

可以理解的是,第二种分块方式考虑到前一次快照备份数据中匹配block会发生数据变更的可能性比较小,因此合并相同的匹配block或不匹配block,可以降低数据运算量,提高同步效率。

进一步的,第二种分块方式可以具体包括:

将所述前一次快照备份数据中相邻的匹配block按每两个一组进行合并,和/或将所述前一次快照备份数据中相邻的未匹配block按每两个一组进行合并。

可以理解的是,本分块方式没有将所有的同类block直接合并,而是将单位块大小翻倍,逐渐递进数据块大小,在提高计算速度的同时,确保变更数据较为准确的定位。

进一步的,在步骤s2确认该快照block为未匹配block之后,还包括:

判断所述未匹配block的大小是否为单位块的大小,如果否,则将所述未匹配block和对应的源block分为单位块大小的多个快照block和多个源block,再进行对比和尝试匹配。

在确认未匹配block后,再次将比单位块大的未匹配block分块为单位块大小,再找出其中的单位块大小的未匹配block,确认数据变更的最小范围并备份。

相应的,本实施例公开了一种快照拷贝系统,参见图3所示,包括:

分块模块01,用于将本次快照数据与已备份的源数据分块处理,得到一一对应的多个快照block和多个源block;

匹配模块02,用于对于每一个快照block,对比并尝试匹配与之对应的源block;如果该快照block与对应的源block不匹配,则认为该快照block为未匹配block;

备份模块03,用于对所述快照数据中所有的所述未匹配block进行数据备份。

相应的,本实施例公开了一种快照拷贝装置,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上文所述快照拷贝方法的步骤。

其中,有关所述快照拷贝方法的具体细节,参照上述实施例,此处不再赘述。

相应的,本实施例公开了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文所述快照拷贝方法的步骤。

其中,有关所述快照拷贝方法的具体细节,参照上述实施例,此处不再赘述。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本发明所提供的一种快照拷贝方法、系统、装置及可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1