CN104484480B - 基于重复数据删除的远程复制方法及装置 - Google Patents

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

Info

Publication number
CN104484480B
CN104484480B CN201410854706.4A CN201410854706A CN104484480B CN 104484480 B CN104484480 B CN 104484480B CN 201410854706 A CN201410854706 A CN 201410854706A CN 104484480 B CN104484480 B CN 104484480B
Authority
CN
China
Prior art keywords
fingerprint
data block
snapshot
main side
data
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.)
Active
Application number
CN201410854706.4A
Other languages
English (en)
Other versions
CN104484480A (zh
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201410854706.4A priority Critical patent/CN104484480B/zh
Publication of CN104484480A publication Critical patent/CN104484480A/zh
Priority to PCT/CN2015/089977 priority patent/WO2016107220A1/zh
Priority to EP15874905.1A priority patent/EP3200096A4/en
Priority to US15/486,536 priority patent/US10860539B2/en
Application granted granted Critical
Publication of CN104484480B publication Critical patent/CN104484480B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/1453Management of the data involved in backup or backup restore using de-duplication of the data
    • 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/1456Hardware arrangements for backup
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1748De-duplication implemented within the file system, e.g. based on file segments
    • G06F16/1752De-duplication implemented within the file system, e.g. based on file segments based on file chunks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system
    • G06F16/1844Management specifically adapted to replicated file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • G06F3/0641De-duplication techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供一种基于重复数据删除的远程复制方法及装置。本发明基于重复数据删除的远程复制方法,应用于远程复制系统中,所述系统包括:主端设备和容灾端设备,所述主端设备和所述容灾端设备均存储第一快照,所述方法包括:主端设备获取所述主端设备的第二快照;所述主端设备判断所述第二快照中相对第一快照增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同;当所述增加的数据块中的第一数据块的指纹与所述第一快照中的数据块的指纹不同,将所述第一数据块、所述第一数据块的指纹和所述增加的数据块的元数据发送给所述容灾端设备。本发明实施例提高了远程复制容灾备份的性能。

Description

基于重复数据删除的远程复制方法及装置
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种基于重复数据删除的远程复制方法及装置。
背景技术
重复数据删除是一种数据缩减技术,旨在减少存储系统中使用的存储容量。查找不同数据中不同位置的重复可变大小数据块,将这些重复的数据块用指示符取代,从而缩减存储的数据量。高度冗余的数据集(例如备份数据)从数据重复删除技术的获益极大,用户可以实现10比1至50比1的缩减比。远程复制是一种容灾技术,指将主端设备的数据复制到远程的容灾端设备,当主端设备的数据发生损坏时,可以通过容灾端设备将数据恢复出来。
如果将重复数据删除技术运用于远程复制当中,就可以减少数据的传输量,降低带宽的使用和减小复制的窗口。现有技术中基于重复数据删除的远程复制方案,是将主端设备的待复制数据与前一次已复制数据的差异数据的指纹发送到容灾端设备进行查询,容灾端设备加载指纹,查询主端设备的所述差异数据的指纹是否存在于容灾端设备,并将存在于容灾端设备的指纹发送给主端设备,如果指纹在容灾端设备中存在,那么认为所述差异数据存在于容灾端设备,如果指纹在容灾端设备不存在,那么所述差异数据不存在于容灾端设备,需要主端设备将所述差异数据发送到容灾端设备。
然而,现有技术中存在的问题是,指纹查询操作太繁琐,指纹查询过程增加网络交互,占用较多网络带宽。
发明内容
本发明实施例提供一种基于重复数据删除的远程复制方法及装置,以克服现有技术中指纹查询操作太繁琐,指纹查询过程增加网络交互,占用较多网络带宽的问题。
第一方面,本发明实施例提供一种基于重复数据删除的远程复制方法,应用于远程复制系统中,所述系统包括:主端设备和容灾端设备,所述主端设备和所述容灾端设备均存储第一快照,所述方法包括:
所述主端设备获取所述主端设备的第二快照;
所述主端设备判断所述第二快照中相对所述第一快照增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同;
当所述增加的数据块中的第一数据块的指纹与所述第一快照中的数据块的指纹不同,将所述第一数据块、所述第一数据块的指纹和所述增加的数据块的元数据发送给所述容灾端设备。
结合第一方面,在第一方面的第一种可能的实现方式中,所述主端设备判断所述第二快照中相对所述第一快照增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同,包括:
所述主端设备获取所述第一快照的第一事务号以及所述增加的数据块中的每个数据块的指纹的第二事务号;
判断所述第二事务号是否大于所述第一事务号,若所述第一数据块的指纹的第二事务号大于所述第一事务号,则所述第一数据块的指纹与所述第一快照中的数据块的指纹不同,所述增加的数据块中除所述第一数据块外的数据块的指纹与所述第一快照中的数据块的指纹相同。
结合第一方面,在第一方面的第二种可能的实现方式中,所述主端设备判断所述第二快照中相对所述第一快照增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同,包括:
所述主端设备获取差异记录;所述差异记录用于记录所述增加的数据块;
所述处理模块,具体用于:
判断所述差异记录中记录的所述增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同。
结合第一方面、或第一方面的第一、第二种可能的实现方式,在第一方面的第三种可能的实现方式中,还包括:
当所述增加的数据块中的第一数据块的指纹与所述第一快照中的数据块的指纹相同,则不复制所述第一数据块至所述容灾端设备。
第二方面,本发明实施例提供一种基于重复数据删除的远程复制方法,应用于远程复制系统中,所述系统包括:主端设备和容灾端设备,所述主端设备和所述容灾端设备均存储第一快照,所述方法包括:
所述主端设备获取所述主端设备的第二快照;
所述主端设备获取差异记录;所述差异记录用于记录所述第二快照中相对所述第一快照增加的数据块;
所述主端设备获取所述增加的数据块的指纹;
所述主端设备将所述增加的数据块的指纹发送给所述容灾端设备,用于使所述容灾端设备判断所述增加的数据块的指纹是否已经存在于所述容灾端设备;
所述主端设备接收所述容灾端设备发送的查重信息,所述查重信息包含与所述第一快照中的数据块的指纹不同的所述增加的数据块中的第一数据块的指纹;
所述主端设备根据所述查重信息,将所述查重信息指示的所述第一数据块和所述增加的数据块的元数据发送给所述容灾端设备。
结合第二方面,在第二方面的第一种可能的实现方式中,所述主端设备获取所述增加的数据块的指纹,包括:
所述主端设备通过硬件加速卡获取所述增加的数据块的指纹。
第三方面,本发明实施例提供一种主端设备,包括:
存储模块,用于存储第一快照;所述第一快照也存储于容灾端设备;
获取模块,用于获取所述主端设备的第二快照;
处理模块,用于判断所述第二快照中相对所述第一快照增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同;
发送模块,用于当所述增加的数据块中的第一数据块的指纹与所述第一快照中的数据块的指纹不同,将所述第一数据块、所述第一数据块的指纹和所述增加的数据块的元数据发送给所述容灾端设备。
结合第三方面,在第三方面的第一种可能的实现方式中,所述处理模块,具体用于:
获取所述第一快照的第一事务号以及所述增加的数据块中的每个数据块的指纹的第二事务号;
判断所述第二事务号是否大于所述第一事务号,若所述第一数据块的指纹的第二事务号大于所述第一事务号,则所述第一数据块的指纹与所述第一快照中的数据块的指纹不同,所述增加的数据块中除所述第一数据块外的数据块的指纹与所述第一快照中的数据块的指纹相同。
结合第三方面,在第三方面的第二种可能的实现方式中,所述获取模块,具体用于:
获取差异记录;所述差异记录用于记录所述增加的数据块;
所述处理模块,具体用于:
判断所述差异记录中记录的所述增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同。
结合第三方面、或第三方面的第一、第二种可能的实现方式,在第一方面的第二种可能的实现方式中,所述处理模块,还用于:
当所述增加的数据块中的第一数据块的指纹与所述第一快照中的数据块的指纹相同,则不复制所述第一数据块至所述容灾端设备。
第四方面,本发明实施例提供一种主端设备,包括:
存储模块,用于存储第一快照;所述第一快照也存储于容灾端设备;
获取模块,用于获取所述主端设备的第二快照;
所述获取模块,还用于获取差异记录;所述差异记录用于记录所述第二快照中相对所述第一快照增加的数据块;
所述获取模块,还用于获取所述增加的数据块的指纹;
发送模块,用于将所述增加的数据块的指纹发送给所述容灾端设备,用于使所述容灾端设备判断所述增加的数据块的指纹是否已经存在于所述容灾端设备;
接收模块,用于接收所述容灾端设备发送的查重信息,所述查重信息包含与所述第一快照中的数据块的指纹不同的所述增加的数据块中的第一数据块的指纹;
所述发送模块,还用于根据所述查重信息,将所述查重信息指示的所述第一数据块和所述增加的数据块的元数据发送给所述容灾端设备。
结合第四方面,在第四方面的第一种可能的实现方式中,所述获取模块,具体用于:
通过硬件加速卡获取所述增加的数据块的指纹。
第五方面,本发明实施例提供一种主端设备,应用于远程复制系统中,所述系统包括:所述主端设备和容灾端设备,所述主端设备和所述容灾端设备均存储第一快照,所述主端设备包括处理器和存储器,所述处理器和所述存储器通过总线通信,所述处理器执行所述存储器中的计算机指令以用于第一方面中任一所述的方法。
第五方面,本发明实施例提供一种主端设备,应用于远程复制系统中,所述系统包括:所述主端设备和容灾端设备,所述主端设备和所述容灾端设备均存储第一快照,所述主端设备包括处理器和存储器,所述处理器和所述存储器通过总线通信,所述处理器执行所述存储器中的计算机指令以用于第二方面中任一所述的方法。
本发明实施例基于重复数据删除的远程复制方法及装置,通过所述主端设备获取所述主端设备的第二快照;所述主端设备判断所述第二快照中相对第一快照增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同;当所述增加的数据块中的第一数据块的指纹与所述第一快照中的数据块的指纹不同,将所述第一数据块、所述第一数据块的指纹和所述增加的数据块的元数据发送给所述容灾端设备,所述主端设备和所述容灾端设备均存储第一快照,实现了基于重复数据删除的远程复制,且复制中不需要将指纹发送给容灾端设备进行查询,减少指纹查询操作,以及网络的交互,即减少网络带宽的占用,提高了远程复制容灾备份的性能,解决了现有技术中指纹查询操作太繁琐,指纹查询过程增加网络交互,占用较多网络带宽的问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明基于重复数据删除的远程复制方法实施例一的流程图;
图2为本发明方法实施例的远程复制数据的示意图;
图3为本发明基于重复数据删除的远程复制方法实施例二的流程图;
图4为本发明基于重复数据删除的远程复制方法实施例三的流程图一;
图5为本发明基于重复数据删除的远程复制方法实施例三的流程图二;
图6为本发明主端设备实施例一的结构示意图;
图7为本发明主端设备实施例二的结构示意图;
图8为本发明主端设备实施例三的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明基于重复数据删除的远程复制方法实施例一的流程图。图2为本发明方法实施例的远程复制数据的示意图。本实施例的方法可应用于远程复制系统中,所述系统包括:主端设备和容灾端设备,本实施例的执行主体可以为主端设备。如图1所示,本实施例的方法中,所述主端设备和所述容灾端设备均存储第一快照,所述方法包括:
步骤101、所述主端设备获取所述主端设备的第二快照。
步骤102、所述主端设备判断所述第二快照中相对所述第一快照增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同。
步骤103、当所述增加的数据块中的第一数据块的指纹与所述第一快照中的数据块的指纹不同,将所述第一数据块、所述第一数据块的指纹和所述增加的数据块的元数据发送给所述容灾端设备。
具体来说,首先所述主端设备需创建待复制数据的第二快照,然后获取已复制数据的第一快照,所述主端设备和所述容灾端设备均存储第一快照,已复制数据为前一次复制的数据,进一步还需判断所述第二快照中相对所述第一快照增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同,这里第一快照和第二快照可以分别都有多个指纹,若所述第二快照中相对所述第一快照增加的数据块的指纹与所述第一快照中的数据块的指纹不同,将所述数据块记为第一数据块,则将所述第一数据块、所述第一数据块的指纹和所述增加的数据块的元数据发送给所述容灾端设备,元数据包含数据块的指纹索引即在数据块中的位置、数据块的存储位置、数据块的大小、标识等描述信息。
如图2所示,第一快照已复制到容灾端设备中,若所述第二快照中增加的数据块的指纹与所述第一快照中的数据块的指纹不同,即第二快照的指纹4,则将指纹4对应的数据块4、所述数据块4的元数据23和指纹4、以及所述第二快照中指纹2对应的数据2的元数据21、所述第二快照中指纹3对应的数据3的元数据22,即图2中虚线框内的数据发送给容灾端设备,容灾端设备接收到上述数据后,写入数据,并在复制完成后创建一个快照。
可选地,本实施例的方法,还包括:
当所述增加的数据块中的第一数据块的指纹与所述第一快照中的数据块的指纹相同,则不复制所述第一数据块至所述容灾端设备。
具体来说,若所述第二快照中所有增加的数据块的指纹都与所述第一快照中的数据块的指纹相同,则不复制所述第一数据块至所述容灾端设备。
本实施例,通过所述主端设备获取所述主端设备的第二快照;所述主端设备判断所述第二快照中相对第一快照增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同;当所述增加的数据块中的第一数据块的指纹与所述第一快照中的数据块的指纹不同,将所述第一数据块、所述第一数据块的指纹和所述增加的数据块的元数据发送给所述容灾端设备,所述主端设备和所述容灾端设备均存储第一快照,实现了基于重复数据删除的远程复制,且复制中不需要将指纹发送给容灾端设备进行查询,减少指纹查询操作,以及网络的交互,即减少网络带宽的占用,提高了远程复制容灾备份的性能,解决了现有技术中指纹查询操作太繁琐,指纹查询过程增加网络交互,占用较多网络带宽的问题。
图3为本发明基于重复数据删除的远程复制方法实施例二的流程图。如图3所示,在本实施例的方法中,所述主端设备判断所述第二快照中相对所述第一快照增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同,包括:
所述主端设备获取所述第一快照的第一事务号以及所述增加的数据块中的每个数据块的指纹的第二事务号;
判断所述第二事务号是否大于所述第一事务号,若所述第一数据块的指纹的第二事务号大于所述第一事务号,则所述第一数据块的指纹与所述第一快照中的数据块的指纹不同,所述增加的数据块中除所述第一数据块外的数据块的指纹与所述第一快照中的数据块的指纹相同。
可选地,所述主端设备判断所述第二快照中相对所述第一快照增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同,包括:
所述主端设备获取差异记录;所述差异记录用于记录所述增加的数据块;
所述主端设备判断所述差异记录中记录的所述增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同。
具体来说,初始复制时,主端设备需要创建一个快照,将主端设备的快照的数据复制到容灾端设备。复制完成时容灾端设备也将创建一个快照。复制完成后,容灾端设备的快照数据和主端设备的快照数据一致,以后每一次复制的数据都为本次复制的快照与前一次复制的快照之间的差异数据。
因此如果当前复制的数据,已存在于上一次复制的快照中,那么当前复制的数据一定存在于容灾端设备。
当主端设备和容灾端设备开启重复数据删除后,如果需要复制数据的指纹存在于上一次复制的快照中,那么该数据的指纹必然存在于容灾端设备。
如图2、图3所示,首先需创建待复制数据的第二快照,然后获取已复制数据的第一快照,已复制数据为前一次复制的数据,获取所述第二快照和所述第一快照之间的差异记录;所述差异记录用于记录所述增加的数据块;如图2所示,所述差异记录为元数据21、元数据22、元数据23,获取所述差异记录记录的数据块的指纹;所述指纹为指纹2、指纹3、指纹4;判断所述差异记录记录的数据块的指纹是否与所述第一快照中的数据块的指纹相同,即判断指纹2、指纹3、指纹4是否与所述第一快照中的数据块的指纹相同,在本实施例中判断差异记录记录的数据块的指纹是否与所述第一快照中的数据块的指纹相同可以通过事务号的方式判断,具体过程如下:
获取所述第一快照的第一事务号以及所述增加的数据块中的每个数据块的指纹的第二事务号;第一快照对应一个第一事务号,第一快照中每个数据块的指纹也对应一个事务号,所述指纹对应的事务号可能等于所述第一事务号,第二快照中所述增加的数据块中的每个数据块的指纹都对应一个第二事务号,假设第一快照的对应的第一事务号为1,第一快照的指纹1、指纹2、指纹3对应的事务号也为1;第二快照的指纹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也需传输到容灾端设备。
事务(Transaction)是访问并可能更新数据的一个程序执行单元(unit)。事务通常由高级数编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begintransaction和end transaction语句(或函数调用)来界定。事务由事务开始(begintransaction)和事务结束(end transaction)之间执行的全体操作组成。每个事物都对应一个编号,即事务号。事务具有4个属性:原子性、一致性、隔离性、持久性。
图4为本发明基于重复数据删除的远程复制方法实施例三的流程图一,图5为本发明基于重复数据删除的远程复制方法实施例三的流程图二。本实施例的方法应用于远程复制系统中,所述系统包括:主端设备和容灾端设备,执行主体可以为主端设备。如图4、图5所示,本实施例的方法中,所述主端设备和所述容灾端设备均存储第一快照,所述方法包括:
步骤401、所述主端设备获取所述主端设备的第二快照;
步骤402、所述主端设备获取差异记录;所述差异记录用于记录所述第二快照中相对所述第一快照增加的数据块;
步骤403、所述主端设备获取所述增加的数据块的指纹;
步骤404、所述主端设备将所述增加的数据块的指纹发送给所述容灾端设备,用于使所述容灾端设备判断所述增加的数据块的指纹是否已经存在于所述容灾端设备;
步骤405、所述主端设备接收所述容灾端设备发送的查重信息,所述查重信息包含与所述第一快照中的数据块的指纹不同的所述增加的数据块中的第一数据块的指纹;
步骤406、所述主端设备根据所述查重信息,将所述查重信息指示的所述第一数据块和所述增加的数据块的元数据发送给所述容灾端设备。
具体来说,首先所述主端设备需创建待复制数据的第二快照,然后获取已复制数据的第一快照,所述主端设备和所述容灾端设备均存储第一快照,已复制数据为前一次复制的数据,获取所述第二快照和所述第一快照之间的差异记录;所述差异记录用于记录所述第二快照中相对所述第一快照增加的数据块;如图2所示,所述差异记录为元数据21、元数据22、元数据23,获取所述差异记录记录的数据块的指纹;所述指纹为指纹2、指纹3、指纹4;将所述指纹发送到容灾端设备,容灾端设备对主端设备发送来的指纹进行查重,如果指纹在容灾端设备中存在,那么认为这些差异记录记录的数据块存在于容灾端设备中,如果指纹在容灾端设备中不存在,那么这些差异记录记录的数据块不存在于容灾端设备,需要主端设备将所述差异记录记录的数据块发送到容灾端设备;容灾端设备将查重信息发送给主端设备,所述查重信息包含与所述第一快照中的数据块的指纹不同的所述增加的数据块中的第一数据块的指纹,即指纹4,主端设备接收到所述查重信息,将所述查重信息指示的所述第一数据块和所述增加的数据块的元数据发送给所述容灾端设备,即将指纹4对应的数据块4发送到容灾端设备,发送的数据还包括数据块4的元数据23、指纹4,以及其他指纹对应的元数据21、元数据22。容灾端设备接收到上述数据后,写入数据,并在复制完成后创建一个快照。
可选地,所述主端设备获取所述增加的数据块的指纹,包括:
所述主端设备通过硬件加速卡获取所述增加的数据块的指纹。
具体来说,在主端设备的主存中,由于主业务对中央处理器CPU时延的要求,主业务很有可能没有重删功能,或者手动/自动地关闭了重删功能。因此,本实施例的方案可通过硬件加速卡在主端计算指纹的方法实现基于重复数据删除的远程复制。
本实施例,通过所述主端设备获取所述主端设备的第二快照;所述主端设备获取差异记录;所述差异记录用于记录所述第二快照中相对所述第一快照增加的数据块;所述主端设备获取所述增加的数据块的指纹;所述主端设备将所述增加的数据块的指纹发送给所述容灾端设备,用于使所述容灾端设备判断所述增加的数据块的指纹是否已经存在于所述容灾端设备;所述主端设备接收所述容灾端设备发送的查重信息,所述查重信息包含与所述第一快照中的数据块的指纹不同的所述增加的数据块中的第一数据块的指纹;所述主端设备根据所述查重信息,将所述查重信息指示的所述第一数据块和所述增加的数据块的元数据发送给所述容灾端设备,实现了当主端没有重复数据删除功能时的基于重复数据删除的远程复制,主端通过在硬件加速卡中计算指纹,将指纹发送给容灾端设备进行查重,根据查重信息中指示的新增数据块的指纹,将所述新增数据块发送给容灾端设备,提高了远程复制容灾备份的性能。
图6为本发明主端设备实施例一的结构示意图。如图6所示,本实施例的主端设备,包括:获取模块601、处理模块602、发送模块603和存储模块604;
其中,存储模块604,用于存储第一快照;所述第一快照也存储于容灾端设备;
获取模块601,用于获取所述主端设备的第二快照;
处理模块602,用于判断所述第二快照中相对所述第一快照增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同;
发送模块603,用于当所述增加的数据块中的第一数据块的指纹与所述第一快照中的数据块的指纹不同,将所述第一数据块、所述第一数据块的指纹和所述增加的数据块的元数据发送给所述容灾端设备。
可选地,所述处理模块602,具体用于:
获取所述第一快照的第一事务号以及所述增加的数据块中的每个数据块的指纹的第二事务号;
判断所述第二事务号是否大于所述第一事务号,若所述第一数据块的指纹的第二事务号大于所述第一事务号,则所述第一数据块的指纹与所述第一快照中的数据块的指纹不同,所述增加的数据块中除所述第一数据块外的数据块的指纹与所述第一快照中的数据块的指纹相同。
可选地,所述获取模块601,具体用于:
获取差异记录;所述差异记录用于记录所述增加的数据块;
所述处理模块602,具体用于:
判断所述差异记录中记录的所述增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同。
可选地,所述处理模块602,还用于:
当所述增加的数据块中的第一数据块的指纹与所述第一快照中的数据块的指纹相同,则不复制所述第一数据块至所述容灾端设备。
本实施例的主端设备,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图7为本发明主端设备实施例二的结构示意图。如图7所示,本实施例的主端设备,包括:获取模块701、发送模块702、接收模块703和存储模块704;
其中,存储模块704,用于存储第一快照;所述第一快照也存储于容灾端设备;获取模块701,用于获取所述主端设备的第二快照;
所述获取模块701,还用于获取差异记录;所述差异记录用于记录所述第二快照中相对所述第一快照增加的数据块;所述获取模块701,还用于获取所述增加的数据块的指纹;
发送模块702,将所述增加的数据块的指纹发送给所述容灾端设备,用于使所述容灾端设备判断所述增加的数据块的指纹是否已经存在于所述容灾端设备;
接收模块703,用于接收所述容灾端设备发送的查重信息,所述查重信息包含与所述第一快照中的数据块的指纹不同的所述增加的数据块中的第一数据块的指纹;
所述发送模块702,还用于根据所述查重信息,将所述查重信息指示的所述第一数据块和所述增加的数据块的元数据发送给所述容灾端设备。
可选地,所述获取模块701,具体用于:
通过硬件加速卡获取所述增加的数据块的指纹。
本实施例的主端设备,可以用于执行图4所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图8为本发明主端设备实施例三的结构示意图。如图8所示,本实施例的主端设备,应用于远程复制系统中,所述系统包括:所述主端设备和容灾端设备,所述主端设备和所述容灾端设备均存储第一快照,所述主端设备包括处理器801和存储器802,所述处理器801和所述存储器802通过总线803通信,所述处理器801执行所述存储器802中的计算机指令以用于执行如图1所示方法实施例中任一所述的方法。
在本发明主端设备实施例四中,本实施例的主端设备,可以采用如图8所示的结构示意图,应用于远程复制系统中,所述系统包括:所述主端设备和容灾端设备,其特征在于,所述主端设备和所述容灾端设备均存储第一快照,所述主端设备包括处理器和存储器,所述处理器和所述存储器通过总线通信,所述处理器执行所述存储器中的计算机指令以执行如图4所示方法实施例中所述的方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元或模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (5)

1.一种基于重复数据删除的远程复制方法,应用于远程复制系统中,所述系统包括:主端设备和容灾端设备,其特征在于,所述主端设备和所述容灾端设备均存储第一快照,所述方法包括:
所述主端设备获取所述主端设备的第二快照;
所述主端设备判断所述第二快照中相对所述第一快照增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同;
当所述增加的数据块中的第一数据块的指纹与所述第一快照中的数据块的指纹不同,将所述第一数据块、所述第一数据块的指纹和所述增加的数据块的元数据发送给所述容灾端设备;
所述主端设备判断所述第二快照中相对所述第一快照增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同,包括:
所述主端设备获取所述第一快照的第一事务号以及所述增加的数据块中的每个数据块的指纹的第二事务号;
判断所述第二事务号是否大于所述第一事务号,若所述第一数据块的指纹的第二事务号大于所述第一事务号,则所述第一数据块的指纹与所述第一快照中的数据块的指纹不同,所述增加的数据块中除所述第一数据块外的数据块的指纹与所述第一快照中的数据块的指纹相同。
2.根据权利要求1所述的方法,其特征在于,还包括:
当所述增加的数据块中的第一数据块的指纹与所述第一快照中的数据块的指纹相同,则不复制所述第一数据块至所述容灾端设备。
3.一种主端设备,其特征在于,包括:
存储模块,用于存储第一快照;所述第一快照也存储于容灾端设备;
获取模块,用于获取所述主端设备的第二快照;
处理模块,用于判断所述第二快照中相对所述第一快照增加的数据块的指纹是否与所述第一快照中的数据块的指纹相同;
发送模块,用于当所述增加的数据块中的第一数据块的指纹与所述第一快照中的数据块的指纹不同,将所述第一数据块、所述第一数据块的指纹和所述增加的数据块的元数据发送给所述容灾端设备;
所述处理模块,具体用于:
获取所述第一快照的第一事务号以及所述增加的数据块中的每个数据块的指纹的第二事务号;
判断所述第二事务号是否大于所述第一事务号,若所述第一数据块的指纹的第二事务号大于所述第一事务号,则所述第一数据块的指纹与所述第一快照中的数据块的指纹不同,所述增加的数据块中除所述第一数据块外的数据块的指纹与所述第一快照中的数据块的指纹相同。
4.根据权利要求3所述的主端设备,其特征在于,所述处理模块,还用于:
当所述增加的数据块中的第一数据块的指纹与所述第一快照中的数据块的指纹相同,则不复制所述第一数据块至所述容灾端设备。
5.一种主端设备,其特征在于,应用于远程复制系统中,所述系统包括:所述主端设备和容灾端设备,所述主端设备和所述容灾端设备均存储第一快照,所述主端设备包括处理器和存储器,所述处理器和所述存储器通过总线通信,所述处理器执行所述存储器中的计算机指令以用于权利要求1或2所述的方法。
CN201410854706.4A 2014-12-31 2014-12-31 基于重复数据删除的远程复制方法及装置 Active CN104484480B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201410854706.4A CN104484480B (zh) 2014-12-31 2014-12-31 基于重复数据删除的远程复制方法及装置
PCT/CN2015/089977 WO2016107220A1 (zh) 2014-12-31 2015-09-18 基于重复数据删除的远程复制方法及装置
EP15874905.1A EP3200096A4 (en) 2014-12-31 2015-09-18 Remote replication method and apparatus based on duplicated data deletion
US15/486,536 US10860539B2 (en) 2014-12-31 2017-04-13 De-duplication-based remote replication method, and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410854706.4A CN104484480B (zh) 2014-12-31 2014-12-31 基于重复数据删除的远程复制方法及装置

Publications (2)

Publication Number Publication Date
CN104484480A CN104484480A (zh) 2015-04-01
CN104484480B true CN104484480B (zh) 2018-06-05

Family

ID=52759021

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410854706.4A Active CN104484480B (zh) 2014-12-31 2014-12-31 基于重复数据删除的远程复制方法及装置

Country Status (4)

Country Link
US (1) US10860539B2 (zh)
EP (1) EP3200096A4 (zh)
CN (1) CN104484480B (zh)
WO (1) WO2016107220A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104484480B (zh) * 2014-12-31 2018-06-05 华为技术有限公司 基于重复数据删除的远程复制方法及装置
CN106250265A (zh) * 2016-07-18 2016-12-21 乐视控股(北京)有限公司 用于对象存储的数据备份方法和系统
CN107066355A (zh) * 2017-05-15 2017-08-18 郑州云海信息技术有限公司 一种高可用的备份服务器系统及其搭建方法
CN109697021A (zh) * 2017-10-23 2019-04-30 阿里巴巴集团控股有限公司 一种磁盘快照的数据处理方法及装置
CN109753228B (zh) * 2017-11-08 2022-08-02 阿里巴巴集团控股有限公司 快照删除方法、装置及系统
CN110018986B (zh) * 2017-11-08 2022-10-28 阿里巴巴集团控股有限公司 异常快照识别方法及装置
US10303555B1 (en) * 2017-12-23 2019-05-28 Rubrik, Inc. Tagging data for automatic transfer during backups
CN110399333B (zh) * 2018-04-20 2023-07-18 伊姆西Ip控股有限责任公司 删除快照的方法、设备和计算机程序产品
CN109491832A (zh) * 2018-09-26 2019-03-19 华为技术有限公司 数据容灾方法与站点
CN109684130B (zh) * 2018-12-12 2020-12-22 网宿科技股份有限公司 一种机房间数据备份的方法及装置
CN110417718B (zh) * 2018-12-27 2022-04-05 腾讯科技(深圳)有限公司 处理网站中的风险数据的方法、装置、设备及存储介质
EP3979075A4 (en) * 2019-05-29 2023-01-11 LG Electronics Inc. DIGITAL DEVICE FOR PERFORMING A BOOTING PROCESS AND ASSOCIATED CONTROL METHOD
US20210397599A1 (en) * 2020-06-18 2021-12-23 Netflix, Inc. Techniques for generating a consistent view of an eventually consistent database
CN112286457B (zh) * 2020-10-28 2022-08-26 杭州宏杉科技股份有限公司 对象重删方法、装置、电子设备及机器可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102624871A (zh) * 2012-02-03 2012-08-01 杭州杰唐信息技术有限公司 一种基于分布式企业服务总线实现的远程文件同步方法
CN103870362A (zh) * 2014-03-21 2014-06-18 华为技术有限公司 一种数据恢复方法、装置及备份系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7412462B2 (en) * 2000-02-18 2008-08-12 Burnside Acquisition, Llc Data repository and method for promoting network storage of data
WO2003092166A1 (en) * 2002-04-25 2003-11-06 Kashya Israel Ltd. An apparatus for continuous compression of large volumes of data
US7243110B2 (en) * 2004-02-20 2007-07-10 Sand Technology Inc. Searchable archive
US9201891B2 (en) * 2010-08-31 2015-12-01 Nec Corporation Storage system
US8577850B1 (en) * 2010-11-15 2013-11-05 Symantec Corporation Techniques for global data deduplication
US8392384B1 (en) * 2010-12-10 2013-03-05 Symantec Corporation Method and system of deduplication-based fingerprint index caching
CN102510340A (zh) * 2011-10-11 2012-06-20 浪潮电子信息产业股份有限公司 利用普通Internet网络实现异地快速备份的方法
US9495379B2 (en) * 2012-10-08 2016-11-15 Veritas Technologies Llc Locality aware, two-level fingerprint caching
CN104484480B (zh) * 2014-12-31 2018-06-05 华为技术有限公司 基于重复数据删除的远程复制方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102624871A (zh) * 2012-02-03 2012-08-01 杭州杰唐信息技术有限公司 一种基于分布式企业服务总线实现的远程文件同步方法
CN103870362A (zh) * 2014-03-21 2014-06-18 华为技术有限公司 一种数据恢复方法、装置及备份系统

Also Published As

Publication number Publication date
US20170235754A1 (en) 2017-08-17
WO2016107220A1 (zh) 2016-07-07
US10860539B2 (en) 2020-12-08
EP3200096A4 (en) 2017-11-15
CN104484480A (zh) 2015-04-01
EP3200096A1 (en) 2017-08-02

Similar Documents

Publication Publication Date Title
CN104484480B (zh) 基于重复数据删除的远程复制方法及装置
CN104932953B (zh) 一种数据分发方法、数据存储方法、相关装置以及系统
US9367598B2 (en) Merging an out of synchronization indicator and a change recording indicator in response to a failure in consistency group formation
CN104301360B (zh) 一种日志数据记录的方法、日志服务器及系统
CN104978151B (zh) 基于应用感知的重复数据删除存储系统中的数据重构方法
CN106021016A (zh) 在快照之间的虚拟时间点访问
CN103345472B (zh) 基于有限二叉树布隆过滤器的去冗文件系统及其构建方法
CN104407933B (zh) 一种数据的备份方法及装置
CN106021031B (zh) 一种btrfs文件系统的删除数据恢复方法和装置
CN109074362A (zh) 分布式系统中的拆分和移动范围
US9804936B1 (en) Relational database recovery
CN106663103A (zh) 使用逻辑文档日志的可扩展最终一致性系统
CN106777270A (zh) 一种基于提交点时间线同步的异构数据库复制并行执行系统及方法
CN106062742A (zh) 用于改进快照性能的系统和方法
CN108536752A (zh) 一种数据同步方法、装置和设备
CN104854582B (zh) 存储高效、更新优化的事务型全文索引视图维护的方法和系统
CN108427728A (zh) 元数据的管理方法、设备及计算机可读介质
CN110196847A (zh) 数据处理方法和装置、存储介质及电子装置
TW480395B (en) Record regenerating device
CN106227731A (zh) 一种数据处理方法、装置及分布式文件系统
CN110168532A (zh) 数据更新方法和存储装置
CN105205175A (zh) 分布式数据库集群的数据操作方法及系统
CN106681848A (zh) 一种纠删码raid的数据一致性保障方法及系统
CN102833273B (zh) 临时故障时的数据修复方法及分布式缓存系统
CN107577549A (zh) 一种存储重删功能的测试方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant