基于重复数据删除的远程复制方法及装置制造方法

文档序号:6640974阅读:242来源:国知局
基于重复数据删除的远程复制方法及装置制造方法
【专利摘要】本发明实施例提供一种基于重复数据删除的远程复制方法及装置。本发明基于重复数据删除的远程复制方法,应用于远程复制系统中,所述系统包括:主端设备和容灾端设备,所述主端设备和所述容灾端设备均存储第一快照,所述方法包括:主端设备获取所述主端设备的第二快照;所述主端设备判断所述第二快照中相对第一快照增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同;当所述增加的数据块中的第一数据块的指纹与所述第一快照中的数据块的指纹不同,将所述第一数据块、所述第一数据块的指纹和所述增加的数据块的元数据发送给所述容灾端设备。本发明实施例提高了远程复制容灾备份的性能。
【专利说明】基于重复数据删除的远程复制方法及装置

【技术领域】
[0001]本发明实施例涉及计算机【技术领域】,尤其涉及一种基于重复数据删除的远程复制方法及装置。

【背景技术】
[0002]重复数据删除是一种数据缩减技术,旨在减少存储系统中使用的存储容量。查找不同数据中不同位置的重复可变大小数据块,将这些重复的数据块用指示符取代,从而缩减存储的数据量。高度冗余的数据集(例如备份数据)从数据重复删除技术的获益极大,用户可以实现10比I至50比I的缩减比。远程复制是一种容灾技术,指将主端设备的数据复制到远程的容灾端设备,当主端设备的数据发生损坏时,可以通过容灾端设备将数据恢复出来。
[0003]如果将重复数据删除技术运用于远程复制当中,就可以减少数据的传输量,降低带宽的使用和减小复制的窗口。现有技术中基于重复数据删除的远程复制方案,是将主端设备的待复制数据与前一次已复制数据的差异数据的指纹发送到容灾端设备进行查询,容灾端设备加载指纹,查询主端设备的所述差异数据的指纹是否存在于容灾端设备,并将存在于容灾端设备的指纹发送给主端设备,如果指纹在容灾端设备中存在,那么认为所述差异数据存在于容灾端设备,如果指纹在容灾端设备不存在,那么所述差异数据不存在于容灾端设备,需要主端设备将所述差异数据发送到容灾端设备。
[0004]然而,现有技术中存在的问题是,指纹查询操作太繁琐,指纹查询过程增加网络交互,占用较多网络带宽。


【发明内容】

[0005]本发明实施例提供一种基于重复数据删除的远程复制方法及装置,以克服现有技术中指纹查询操作太繁琐,指纹查询过程增加网络交互,占用较多网络带宽的问题。
[0006]第一方面,本发明实施例提供一种基于重复数据删除的远程复制方法,应用于远程复制系统中,所述系统包括:主端设备和容灾端设备,所述主端设备和所述容灾端设备均存储第一快照,所述方法包括:
[0007]所述主端设备获取所述主端设备的第二快照;
[0008]所述主端设备判断所述第二快照中相对所述第一快照增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同;
[0009]当所述增加的数据块中的第一数据块的指纹与所述第一快照中的数据块的指纹不同,将所述第一数据块、所述第一数据块的指纹和所述增加的数据块的元数据发送给所述容灾端设备。
[0010]结合第一方面,在第一方面的第一种可能的实现方式中,所述主端设备判断所述第二快照中相对所述第一快照增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同,包括:
[0011]所述主端设备获取所述第一快照的第一事务号以及所述增加的数据块中的每个数据块的指纹的第二事务号;
[0012]判断所述第二事务号是否大于所述第一事务号,若所述第一数据块的指纹的第二事务号大于所述第一事务号,则所述第一数据块的指纹与所述第一快照中的数据块的指纹不同,所述增加的数据块中除所述第一数据块外的数据块的指纹与所述第一快照中的数据块的指纹相同。
[0013]结合第一方面,在第一方面的第二种可能的实现方式中,所述主端设备判断所述第二快照中相对所述第一快照增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同,包括:
[0014]所述主端设备获取差异记录;所述差异记录用于记录所述增加的数据块;
[0015]所述处理模块,具体用于:
[0016]判断所述差异记录中记录的所述增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同。
[0017]结合第一方面、或第一方面的第一、第二种可能的实现方式,在第一方面的第三种可能的实现方式中,还包括:
[0018]当所述增加的数据块中的第一数据块的指纹与所述第一快照中的数据块的指纹相同,则不复制所述第一数据块至所述容灾端设备。
[0019]第二方面,本发明实施例提供一种基于重复数据删除的远程复制方法,应用于远程复制系统中,所述系统包括:主端设备和容灾端设备,所述主端设备和所述容灾端设备均存储第一快照,所述方法包括:
[0020]所述主端设备获取所述主端设备的第二快照;
[0021]所述主端设备获取差异记录;所述差异记录用于记录所述第二快照中相对所述第一快照增加的数据块;
[0022]所述主端设备获取所述增加的数据块的指纹;
[0023]所述主端设备将所述增加的数据块的指纹发送给所述容灾端设备,用于使所述容灾端设备判断所述增加的数据块的指纹是否已经存在于所述容灾端设备;
[0024]所述主端设备接收所述容灾端设备发送的查重信息,所述查重信息包含与所述第一快照中的数据块的指纹不同的所述增加的数据块中的第一数据块的指纹;
[0025]所述主端设备根据所述查重信息,将所述查重信息指示的所述第一数据块和所述增加的数据块的元数据发送给所述容灾端设备。
[0026]结合第二方面,在第二方面的第一种可能的实现方式中,所述主端设备获取所述增加的数据块的指纹,包括:
[0027]所述主端设备通过硬件加速卡获取所述增加的数据块的指纹。
[0028]第三方面,本发明实施例提供一种主端设备,包括:
[0029]存储模块,用于存储第一快照;所述第一快照也存储于容灾端设备;
[0030]获取模块,用于获取所述主端设备的第二快照;
[0031]处理模块,用于判断所述第二快照中相对所述第一快照增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同;
[0032]发送模块,用于当所述增加的数据块中的第一数据块的指纹与所述第一快照中的数据块的指纹不同,将所述第一数据块、所述第一数据块的指纹和所述增加的数据块的元数据发送给所述容灾端设备。
[0033]结合第三方面,在第三方面的第一种可能的实现方式中,所述处理模块,具体用于:
[0034]获取所述第一快照的第一事务号以及所述增加的数据块中的每个数据块的指纹的第二事务号;
[0035]判断所述第二事务号是否大于所述第一事务号,若所述第一数据块的指纹的第二事务号大于所述第一事务号,则所述第一数据块的指纹与所述第一快照中的数据块的指纹不同,所述增加的数据块中除所述第一数据块外的数据块的指纹与所述第一快照中的数据块的指纹相同。
[0036]结合第三方面,在第三方面的第二种可能的实现方式中,所述获取模块,具体用于:
[0037]获取差异记录;所述差异记录用于记录所述增加的数据块;
[0038]所述处理模块,具体用于:
[0039]判断所述差异记录中记录的所述增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同。
[0040]结合第三方面、或第三方面的第一、第二种可能的实现方式,在第一方面的第二种可能的实现方式中,所述处理模块,还用于:
[0041]当所述增加的数据块中的第一数据块的指纹与所述第一快照中的数据块的指纹相同,则不复制所述第一数据块至所述容灾端设备。
[0042]第四方面,本发明实施例提供一种主端设备,包括:
[0043]存储模块,用于存储第一快照;所述第一快照也存储于容灾端设备;
[0044]获取模块,用于获取所述主端设备的第二快照;
[0045]所述获取模块,还用于获取差异记录;所述差异记录用于记录所述第二快照中相对所述第一快照增加的数据块;
[0046]所述获取模块,还用于获取所述增加的数据块的指纹;
[0047]发送模块,用于将所述增加的数据块的指纹发送给所述容灾端设备,用于使所述容灾端设备判断所述增加的数据块的指纹是否已经存在于所述容灾端设备;
[0048]接收模块,用于接收所述容灾端设备发送的查重信息,所述查重信息包含与所述第一快照中的数据块的指纹不同的所述增加的数据块中的第一数据块的指纹;
[0049]所述发送模块,还用于根据所述查重信息,将所述查重信息指示的所述第一数据块和所述增加的数据块的元数据发送给所述容灾端设备。
[0050]结合第四方面,在第四方面的第一种可能的实现方式中,所述获取模块,具体用于:
[0051]通过硬件加速卡获取所述增加的数据块的指纹。
[0052]第五方面,本发明实施例提供一种主端设备,应用于远程复制系统中,所述系统包括:所述主端设备和容灾端设备,所述主端设备和所述容灾端设备均存储第一快照,所述主端设备包括处理器和存储器,所述处理器和所述存储器通过总线通信,所述处理器执行所述存储器中的计算机指令以用于第一方面中任一所述的方法。
[0053]第五方面,本发明实施例提供一种主端设备,应用于远程复制系统中,所述系统包括:所述主端设备和容灾端设备,所述主端设备和所述容灾端设备均存储第一快照,所述主端设备包括处理器和存储器,所述处理器和所述存储器通过总线通信,所述处理器执行所述存储器中的计算机指令以用于第二方面中任一所述的方法。
[0054]本发明实施例基于重复数据删除的远程复制方法及装置,通过所述主端设备获取所述主端设备的第二快照;所述主端设备判断所述第二快照中相对第一快照增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同;当所述增加的数据块中的第一数据块的指纹与所述第一快照中的数据块的指纹不同,将所述第一数据块、所述第一数据块的指纹和所述增加的数据块的元数据发送给所述容灾端设备,所述主端设备和所述容灾端设备均存储第一快照,实现了基于重复数据删除的远程复制,且复制中不需要将指纹发送给容灾端设备进行查询,减少指纹查询操作,以及网络的交互,即减少网络带宽的占用,提高了远程复制容灾备份的性能,解决了现有技术中指纹查询操作太繁琐,指纹查询过程增加网络交互,占用较多网络带宽的问题。

【专利附图】

【附图说明】
[0055]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0056]图1为本发明基于重复数据删除的远程复制方法实施例一的流程图;
[0057]图2为本发明方法实施例的远程复制数据的示意图;
[0058]图3为本发明基于重复数据删除的远程复制方法实施例二的流程图;
[0059]图4为本发明基于重复数据删除的远程复制方法实施例三的流程图一;
[0060]图5为本发明基于重复数据删除的远程复制方法实施例三的流程图二 ;
[0061]图6为本发明主端设备实施例一的结构示意图;
[0062]图7为本发明主端设备实施例二的结构示意图;
[0063]图8为本发明主端设备实施例三的结构示意图。

【具体实施方式】
[0064]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0065]图1为本发明基于重复数据删除的远程复制方法实施例一的流程图。图2为本发明方法实施例的远程复制数据的示意图。本实施例的方法可应用于远程复制系统中,所述系统包括:主端设备和容灾端设备,本实施例的执行主体可以为主端设备。如图1所示,本实施例的方法中,所述主端设备和所述容灾端设备均存储第一快照,所述方法包括:
[0066]步骤101、所述主端设备获取所述主端设备的第二快照。
[0067]步骤102、所述主端设备判断所述第二快照中相对所述第一快照增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同。
[0068]步骤103、当所述增加的数据块中的第一数据块的指纹与所述第一快照中的数据块的指纹不同,将所述第一数据块、所述第一数据块的指纹和所述增加的数据块的元数据发送给所述容灾端设备。
[0069]具体来说,首先所述主端设备需创建待复制数据的第二快照,然后获取已复制数据的第一快照,所述主端设备和所述容灾端设备均存储第一快照,已复制数据为前一次复制的数据,进一步还需判断所述第二快照中相对所述第一快照增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同,这里第一快照和第二快照可以分别都有多个指纹,若所述第二快照中相对所述第一快照增加的数据块的指纹与所述第一快照中的数据块的指纹不同,将所述数据块记为第一数据块,则将所述第一数据块、所述第一数据块的指纹和所述增加的数据块的元数据发送给所述容灾端设备,元数据包含数据块的指纹索引即在数据块中的位置、数据块的存储位置、数据块的大小、标识等描述信息。
[0070]如图2所示,第一快照已复制到容灾端设备中,若所述第二快照中增加的数据块的指纹与所述第一快照中的数据块的指纹不同,即第二快照的指纹4,则将指纹4对应的数据块4、所述数据块4的元数据23和指纹4、以及所述第二快照中指纹2对应的数据2的元数据21、所述第二快照中指纹3对应的数据3的元数据22,即图2中虚线框内的数据发送给容灾端设备,容灾端设备接收到上述数据后,写入数据,并在复制完成后创建一个快照。
[0071]可选地,本实施例的方法,还包括:
[0072]当所述增加的数据块中的第一数据块的指纹与所述第一快照中的数据块的指纹相同,则不复制所述第一数据块至所述容灾端设备。
[0073]具体来说,若所述第二快照中所有增加的数据块的指纹都与所述第一快照中的数据块的指纹相同,则不复制所述第一数据块至所述容灾端设备。
[0074]本实施例,通过所述主端设备获取所述主端设备的第二快照;所述主端设备判断所述第二快照中相对第一快照增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同;当所述增加的数据块中的第一数据块的指纹与所述第一快照中的数据块的指纹不同,将所述第一数据块、所述第一数据块的指纹和所述增加的数据块的元数据发送给所述容灾端设备,所述主端设备和所述容灾端设备均存储第一快照,实现了基于重复数据删除的远程复制,且复制中不需要将指纹发送给容灾端设备进行查询,减少指纹查询操作,以及网络的交互,即减少网络带宽的占用,提高了远程复制容灾备份的性能,解决了现有技术中指纹查询操作太繁琐,指纹查询过程增加网络交互,占用较多网络带宽的问题。
[0075]图3为本发明基于重复数据删除的远程复制方法实施例二的流程图。如图3所示,在本实施例的方法中,所述主端设备判断所述第二快照中相对所述第一快照增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同,包括:
[0076]所述主端设备获取所述第一快照的第一事务号以及所述增加的数据块中的每个数据块的指纹的第二事务号;
[0077]判断所述第二事务号是否大于所述第一事务号,若所述第一数据块的指纹的第二事务号大于所述第一事务号,则所述第一数据块的指纹与所述第一快照中的数据块的指纹不同,所述增加的数据块中除所述第一数据块外的数据块的指纹与所述第一快照中的数据块的指纹相同。
[0078]可选地,所述主端设备判断所述第二快照中相对所述第一快照增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同,包括:
[0079]所述主端设备获取差异记录;所述差异记录用于记录所述增加的数据块;
[0080]所述主端设备判断所述差异记录中记录的所述增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同。
[0081]具体来说,初始复制时,主端设备需要创建一个快照,将主端设备的快照的数据复制到容灾端设备。复制完成时容灾端设备也将创建一个快照。复制完成后,容灾端设备的快照数据和主端设备的快照数据一致,以后每一次复制的数据都为本次复制的快照与前一次复制的快照之间的差异数据。
[0082]因此如果当前复制的数据,已存在于上一次复制的快照中,那么当前复制的数据一定存在于容灾端设备。
[0083]当主端设备和容灾端设备开启重复数据删除后,如果需要复制数据的指纹存在于上一次复制的快照中,那么该数据的指纹必然存在于容灾端设备。
[0084]如图2、图3所示,首先需创建待复制数据的第二快照,然后获取已复制数据的第一快照,已复制数据为前一次复制的数据,获取所述第二快照和所述第一快照之间的差异记录;所述差异记录用于记录所述增加的数据块;如图2所示,所述差异记录为元数据21、元数据22、元数据23,获取所述差异记录记录的数据块的指纹;所述指纹为指纹2、指纹3、指纹4 ;判断所述差异记录记录的数据块的指纹是否与所述第一快照中的数据块的指纹相同,即判断指纹2、指纹3、指纹4是否与所述第一快照中的数据块的指纹相同,在本实施例中判断差异记录记录的数据块的指纹是否与所述第一快照中的数据块的指纹相同可以通过事务号的方式判断,具体过程如下:
[0085]获取所述第一快照的第一事务号以及所述增加的数据块中的每个数据块的指纹的第二事务号;第一快照对应一个第一事务号,第一快照中每个数据块的指纹也对应一个事务号,所述指纹对应的事务号可能等于所述第一事务号,第二快照中所述增加的数据块中的每个数据块的指纹都对应一个第二事务号,假设第一快照的对应的第一事务号为1,第一快照的指纹1、指纹2、指纹3对应的事务号也为I ;第二快照的指纹2对应的第二事务号为1,指纹3对应的第二事务号为1,指纹4对应的第二事务号为2,那么第二快照的指纹2、指纹3的第二事务号等于第一快照的第一事务号,则第二快照的指纹2、指纹3与第一快照的指纹2、指纹3相同,第二快照的指纹2、指纹3对应的数据块2、数据块3不需要传输到容灾端设备,第二快照的指纹4的第二事务号大于第一快照对应的第一事务号,则第二快照的指纹4与第一快照的指纹都不相同,因此需将指纹4对应的第一数据块、该第一数据块的元数据23、指纹4传输到容灾端设备,数据块2、数据块3对应的元数据21、元数据22也需传输到谷灾〗而设备。
[0086]事务(Transact1n)是访问并可能更新数据的一个程序执行单元(unit)。事务通常由高级数编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begintransact1n和end transact1n语句(或函数调用)来界定。事务由事务开始(begintransact1n)和事务结束(end transact1n)之间执行的全体操作组成。每个事物都对应一个编号,即事务号。事务具有4个属性:原子性、一致性、隔离性、持久性。
[0087]图4为本发明基于重复数据删除的远程复制方法实施例三的流程图一,图5为本发明基于重复数据删除的远程复制方法实施例三的流程图二。本实施例的方法应用于远程复制系统中,所述系统包括:主端设备和容灾端设备,执行主体可以为主端设备。如图4、图5所示,本实施例的方法中,所述主端设备和所述容灾端设备均存储第一快照,所述方法包括:
[0088]步骤401、所述主端设备获取所述主端设备的第二快照;
[0089]步骤402、所述主端设备获取差异记录;所述差异记录用于记录所述第二快照中相对所述第一快照增加的数据块;
[0090]步骤403、所述主端设备获取所述增加的数据块的指纹;
[0091]步骤404、所述主端设备将所述增加的数据块的指纹发送给所述容灾端设备,用于使所述容灾端设备判断所述增加的数据块的指纹是否已经存在于所述容灾端设备;
[0092]步骤405、所述主端设备接收所述容灾端设备发送的查重信息,所述查重信息包含与所述第一快照中的数据块的指纹不同的所述增加的数据块中的第一数据块的指纹;
[0093]步骤406、所述主端设备根据所述查重信息,将所述查重信息指示的所述第一数据块和所述增加的数据块的元数据发送给所述容灾端设备。
[0094]具体来说,首先所述主端设备需创建待复制数据的第二快照,然后获取已复制数据的第一快照,所述主端设备和所述容灾端设备均存储第一快照,已复制数据为前一次复制的数据,获取所述第二快照和所述第一快照之间的差异记录;所述差异记录用于记录所述第二快照中相对所述第一快照增加的数据块;如图2所示,所述差异记录为元数据21、元数据22、元数据23,获取所述差异记录记录的数据块的指纹;所述指纹为指纹2、指纹3、指纹4 ;将所述指纹发送到容灾端设备,容灾端设备对主端设备发送来的指纹进行查重,如果指纹在容灾端设备中存在,那么认为这些差异记录记录的数据块存在于容灾端设备中,如果指纹在容灾端设备中不存在,那么这些差异记录记录的数据块不存在于容灾端设备,需要主端设备将所述差异记录记录的数据块发送到容灾端设备;容灾端设备将查重信息发送给主端设备,所述查重信息包含与所述第一快照中的数据块的指纹不同的所述增加的数据块中的第一数据块的指纹,即指纹4,主端设备接收到所述查重信息,将所述查重信息指示的所述第一数据块和所述增加的数据块的元数据发送给所述容灾端设备,即将指纹4对应的数据块4发送到容灾端设备,发送的数据还包括数据块4的元数据23、指纹4,以及其他指纹对应的元数据21、元数据22。容灾端设备接收到上述数据后,写入数据,并在复制完成后创建一个快照。
[0095]可选地,所述主端设备获取所述增加的数据块的指纹,包括:
[0096]所述主端设备通过硬件加速卡获取所述增加的数据块的指纹。
[0097]具体来说,在主端设备的主存中,由于主业务对中央处理器CPU时延的要求,主业务很有可能没有重删功能,或者手动/自动地关闭了重删功能。因此,本实施例的方案可通过硬件加速卡在主端计算指纹的方法实现基于重复数据删除的远程复制。
[0098]本实施例,通过所述主端设备获取所述主端设备的第二快照;所述主端设备获取差异记录;所述差异记录用于记录所述第二快照中相对所述第一快照增加的数据块;所述主端设备获取所述增加的数据块的指纹;所述主端设备将所述增加的数据块的指纹发送给所述容灾端设备,用于使所述容灾端设备判断所述增加的数据块的指纹是否已经存在于所述容灾端设备;所述主端设备接收所述容灾端设备发送的查重信息,所述查重信息包含与所述第一快照中的数据块的指纹不同的所述增加的数据块中的第一数据块的指纹;所述主端设备根据所述查重信息,将所述查重信息指示的所述第一数据块和所述增加的数据块的元数据发送给所述容灾端设备,实现了当主端没有重复数据删除功能时的基于重复数据删除的远程复制,主端通过在硬件加速卡中计算指纹,将指纹发送给容灾端设备进行查重,根据查重信息中指示的新增数据块的指纹,将所述新增数据块发送给容灾端设备,提高了远程复制容灾备份的性能。
[0099]图6为本发明主端设备实施例一的结构示意图。如图6所示,本实施例的主端设备,包括:获取模块601、处理模块602、发送模块603和存储模块604 ;
[0100]其中,存储模块604,用于存储第一快照;所述第一快照也存储于容灾端设备;
[0101]获取模块601,用于获取所述主端设备的第二快照;
[0102]处理模块602,用于判断所述第二快照中相对所述第一快照增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同;
[0103]发送模块603,用于当所述增加的数据块中的第一数据块的指纹与所述第一快照中的数据块的指纹不同,将所述第一数据块、所述第一数据块的指纹和所述增加的数据块的元数据发送给所述容灾端设备。
[0104]可选地,所述处理模块602,具体用于:
[0105]获取所述第一快照的第一事务号以及所述增加的数据块中的每个数据块的指纹的第二事务号;
[0106]判断所述第二事务号是否大于所述第一事务号,若所述第一数据块的指纹的第二事务号大于所述第一事务号,则所述第一数据块的指纹与所述第一快照中的数据块的指纹不同,所述增加的数据块中除所述第一数据块外的数据块的指纹与所述第一快照中的数据块的指纹相同。
[0107]可选地,所述获取模块601,具体用于:
[0108]获取差异记录;所述差异记录用于记录所述增加的数据块;
[0109]所述处理模块602,具体用于:
[0110]判断所述差异记录中记录的所述增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同。
[0111]可选地,所述处理模块602,还用于:
[0112]当所述增加的数据块中的第一数据块的指纹与所述第一快照中的数据块的指纹相同,则不复制所述第一数据块至所述容灾端设备。
[0113]本实施例的主端设备,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0114]图7为本发明主端设备实施例二的结构示意图。如图7所示,本实施例的主端设备,包括:获取模块701、发送模块702、接收模块703和存储模块704 ;
[0115]其中,存储模块704,用于存储第一快照;所述第一快照也存储于容灾端设备;获取模块701,用于获取所述主端设备的第二快照;
[0116]所述获取模块701,还用于获取差异记录;所述差异记录用于记录所述第二快照中相对所述第一快照增加的数据块;所述获取模块701,还用于获取所述增加的数据块的指纹;
[0117]发送模块702,将所述增加的数据块的指纹发送给所述容灾端设备,用于使所述容灾端设备判断所述增加的数据块的指纹是否已经存在于所述容灾端设备;
[0118]接收模块703,用于接收所述容灾端设备发送的查重信息,所述查重信息包含与所述第一快照中的数据块的指纹不同的所述增加的数据块中的第一数据块的指纹;
[0119]所述发送模块702,还用于根据所述查重信息,将所述查重信息指示的所述第一数据块和所述增加的数据块的元数据发送给所述容灾端设备。
[0120]可选地,所述获取模块701,具体用于:
[0121]通过硬件加速卡获取所述增加的数据块的指纹。
[0122]本实施例的主端设备,可以用于执行图4所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0123]图8为本发明主端设备实施例三的结构示意图。如图8所示,本实施例的主端设备,应用于远程复制系统中,所述系统包括:所述主端设备和容灾端设备,所述主端设备和所述容灾端设备均存储第一快照,所述主端设备包括处理器801和存储器802,所述处理器801和所述存储器802通过总线803通信,所述处理器801执行所述存储器802中的计算机指令以用于执行如图1所示方法实施例中任一所述的方法。
[0124]在本发明主端设备实施例四中,本实施例的主端设备,可以采用如图8所示的结构示意图,应用于远程复制系统中,所述系统包括:所述主端设备和容灾端设备,其特征在于,所述主端设备和所述容灾端设备均存储第一快照,所述主端设备包括处理器和存储器,所述处理器和所述存储器通过总线通信,所述处理器执行所述存储器中的计算机指令以执行如图4所示方法实施例中所述的方法。
[0125]在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元或模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0126]所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0127]本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0128]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
【权利要求】
1.一种基于重复数据删除的远程复制方法,应用于远程复制系统中,所述系统包括:主端设备和容灾端设备,其特征在于,所述主端设备和所述容灾端设备均存储第一快照,所述方法包括: 所述主端设备获取所述主端设备的第二快照; 所述主端设备判断所述第二快照中相对所述第一快照增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同; 当所述增加的数据块中的第一数据块的指纹与所述第一快照中的数据块的指纹不同,将所述第一数据块、所述第一数据块的指纹和所述增加的数据块的元数据发送给所述容灾端设备。
2.根据权利要求1所述的方法,其特征在于,所述主端设备判断所述第二快照中相对所述第一快照增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同,包括: 所述主端设备获取所述第一快照的第一事务号以及所述增加的数据块中的每个数据块的指纹的第二事务号; 判断所述第二事务号是否大于所述第一事务号,若所述第一数据块的指纹的第二事务号大于所述第一事务号,则所述第一数据块的指纹与所述第一快照中的数据块的指纹不同,所述增加的数据块中除所述第一数据块外的数据块的指纹与所述第一快照中的数据块的指纹相同。
3.根据权利要求1所述的方法,其特征在于,所述主端设备判断所述第二快照中相对所述第一快照增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同,包括: 所述主端设备获取差异记录;所述差异记录用于记录所述增加的数据块; 所述主端设备判断所述差异记录中记录的所述增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同。
4.根据权利要求1至3任一项所述的方法,其特征在于,还包括: 当所述增加的数据块中的第一数据块的指纹与所述第一快照中的数据块的指纹相同,则不复制所述第一数据块至所述容灾端设备。
5.一种基于重复数据删除的远程复制方法,应用于远程复制系统中,所述系统包括:主端设备和容灾端设备,其特征在于,所述主端设备和所述容灾端设备均存储第一快照,所述方法包括: 所述主端设备获取所述主端设备的第二快照; 所述主端设备获取差异记录;所述差异记录用于记录所述第二快照中相对所述第一快照增加的数据块; 所述主端设备获取所述增加的数据块的指纹; 所述主端设备将所述增加的数据块的指纹发送给所述容灾端设备,用于使所述容灾端设备判断所述增加的数据块的指纹是否已经存在于所述容灾端设备; 所述主端设备接收所述容灾端设备发送的查重信息,所述查重信息包含与所述第一快照中的数据块的指纹不同的所述增加的数据块中的第一数据块的指纹; 所述主端设备根据所述查重信息,将所述查重信息指示的所述第一数据块和所述增加的数据块的元数据发送给所述容灾端设备。
6.根据权利要求5所述的方法,其特征在于,所述主端设备获取所述增加的数据块的指纹,包括: 所述主端设备通过硬件加速卡获取所述增加的数据块的指纹。
7.一种主端设备,其特征在于,包括: 存储模块,用于存储第一快照;所述第一快照也存储于容灾端设备; 获取模块,用于获取所述主端设备的第二快照; 处理模块,用于判断所述第二快照中相对所述第一快照增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同; 发送模块,用于当所述增加的数据块中的第一数据块的指纹与所述第一快照中的数据块的指纹不同,将所述第一数据块、所述第一数据块的指纹和所述增加的数据块的元数据发送给所述容灾端设备。
8.根据权利要求7所述的主端设备,其特征在于,所述处理模块,具体用于: 获取所述第一快照的第一事务号以及所述增加的数据块中的每个数据块的指纹的第二事务号; 判断所述第二事务号是否大于所述第一事务号,若所述第一数据块的指纹的第二事务号大于所述第一事务号,则所述第一数据块的指纹与所述第一快照中的数据块的指纹不同,所述增加的数据块中除所述第一数据块外的数据块的指纹与所述第一快照中的数据块的指纹相同。
9.根据权利要求7所述的主端设备,其特征在于,所述获取模块,具体用于: 获取差异记录;所述差异记录用于记录所述增加的数据块; 所述处理模块,具体用于: 判断所述差异记录中记录的所述增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同。
10.根据权利要求7至9任一项所述的主端设备,其特征在于,所述处理模块,还用于: 当所述增加的数据块中的第一数据块的指纹与所述第一快照中的数据块的指纹相同,则不复制所述第一数据块至所述容灾端设备。
11.一种主端设备,其特征在于,包括: 存储模块,用于存储第一快照;所述第一快照也存储于容灾端设备; 获取模块,用于获取所述主端设备的第二快照; 所述获取模块,还用于获取差异记录;所述差异记录用于记录所述第二快照中相对所述第一快照增加的数据块; 所述获取模块,还用于获取所述增加的数据块的指纹; 发送模块,用于将所述增加的数据块的指纹发送给所述容灾端设备,用于使所述容灾端设备判断所述增加的数据块的指纹是否已经存在于所述容灾端设备; 接收模块,用于接收所述容灾端设备发送的查重信息,所述查重信息包含与所述第一快照中的数据块的指纹不同的所述增加的数据块中的第一数据块的指纹; 所述发送模块,还用于根据所述查重信息,将所述查重信息指示的所述第一数据块和所述增加的数据块的元数据发送给所述容灾端设备。
12.根据权利要求11所述的主端设备,其特征在于,所述获取模块,具体用于: 通过硬件加速卡获取所述增加的数据块的指纹。
13.—种主端设备,其特征在于,应用于远程复制系统中,所述系统包括:所述主端设备和容灾端设备,所述主端设备和所述容灾端设备均存储第一快照,所述主端设备包括处理器和存储器,所述处理器和所述存储器通过总线通信,所述处理器执行所述存储器中的计算机指令以用于权利要求1-4任一所述的方法。
14.一种主端设备,其特征在于,应用于远程复制系统中,所述系统包括:所述主端设备和容灾端设备,所述主端设备和所述容灾端设备均存储第一快照,所述主端设备包括处理器和存储器,所述处理器和所述存储器通过总线通信,所述处理器执行所述存储器中的计算机指令以用于权利要求5或6所述的方法。
【文档编号】G06F17/30GK104484480SQ201410854706
【公开日】2015年4月1日 申请日期:2014年12月31日 优先权日:2014年12月31日
【发明者】钟延辉, 张程伟 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1