CN112685219A - 用于备份数据的方法、设备和计算机程序产品 - Google Patents

用于备份数据的方法、设备和计算机程序产品 Download PDF

Info

Publication number
CN112685219A
CN112685219A CN201910989181.8A CN201910989181A CN112685219A CN 112685219 A CN112685219 A CN 112685219A CN 201910989181 A CN201910989181 A CN 201910989181A CN 112685219 A CN112685219 A CN 112685219A
Authority
CN
China
Prior art keywords
target server
data
backup
hash
target
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
CN201910989181.8A
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.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
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 EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Priority to CN201910989181.8A priority Critical patent/CN112685219A/zh
Priority to US16/862,478 priority patent/US20210117096A1/en
Publication of CN112685219A publication Critical patent/CN112685219A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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/1458Management of the backup or restore process
    • G06F11/1461Backup scheduling policy
    • 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/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开的实施例涉及一种用于备份数据的方法、设备和计算机程序产品。方法包括针对待执行的数据备份,确定与第一目标服务器有关的第一去重率以及与第二目标服务器有关的第二去重率,然后根据第一去重率和第二去重率来从第一目标服务器和第二目标服务器中选择一个合适的目标服务器。此外,方法还包括向所选择的合适的目标服务器复制数据备份中的一部分数据。本公开的实施例通过数据挖掘从多个目标服务器中选择一个最适合的目标服务器,能够减少数据备份过程中所复制的数据量,由此减少数据复制的时间,同时减轻备份系统的负载和维护成本。

Description

用于备份数据的方法、设备和计算机程序产品
技术领域
本公开的实施例总体上涉及数据存储领域,并且更具体地涉及用于备份数据的方法、设备以及计算机程序产品。
背景技术
为了避免数据的丢失,用户通常将文件和数据存储在备份系统中,备份系统通常能够存储大量数据。当发生数据故障或者发生灾难时,可以通过备份系统来恢复数据,从而避免不必要的损失。数据备份的备份种类可以分为全部备份、增量备份、差异备份以及选择性备份等。数据备份根据系统是否处于正常运行状态,又可以分为热备份和冷备份。
哈希(hash)又称散列,是一种从任何数据中创建小的数字指纹的方法。哈希算法把数据块编码成摘要,使得数据量变小,并且具有标识作用。针对某个数据块,可以通过哈希算法确定其哈希值,哈希值可以唯一地表示这个数据块。哈希值通常通过一个短的随机字母和数字组成的字符串来表示。
发明内容
本公开的实施例提供了一种用于备份数据的方法、设备和计算机程序产品。本公开的实施例通过数据挖掘从多个目标服务器中选择一个最适合的目标服务器,能够减少数据备份过程中所传输的数据量,由此减少数据复制的时间,同时减轻备份系统的负载和维护成本。
在本公开的一个方面,提供了一种用于备份数据的方法。该方法包括:针对待执行的数据备份,确定与第一目标服务器有关的第一去重率以及与第二目标服务器有关的第二去重率;基于第一去重率和第二去重率,从第一目标服务器和第二目标服务器中选择一个目标服务器;以及向所选择的一个目标服务器复制数据备份中的一部分数据。
在本公开的另一方面,提供了一种用于备份数据的设备。该设备包括处理单元以及存储器,其中存储器被耦合至处理单元并且存储有指令。所述指令在由处理单元执行时执行以下动作:针对待执行的数据备份,确定与第一目标服务器有关的第一去重率以及与第二目标服务器有关的第二去重率;基于第一去重率和第二去重率,从第一目标服务器和第二目标服务器中选择一个目标服务器;以及向所选择的一个目标服务器复制数据备份中的一部分数据。
在本公开的又一方面,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括计算机可执行指令,所述计算机可执行指令在被执行时使得计算机执行根据本公开的实施例的方法或过程。
提供发明内容部分是为了简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。本发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的各个实施例的范围。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中在本公开示例性实施例中,相同的附图标记通常代表相同的元素。
图1示出了使用哈希来共享相同的数据块的示意图;
图2示出了数据备份的示意备份环境的示意图;
图3示出了根据本公开的实施例的基于数据挖掘的数据备份方法的流程图;
图4示出了根据本公开的实施例的查询哈希的示意图;
图5示出了根据本公开的实施例的基于数据挖掘的数据备份的示意图;
图6示出了根据本公开的实施例的数据备份过程时序图;以及
图7示出了可以用来实施本公开的实施例的设备的示意性块图。
具体实施例
下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的一些具体实施例,然而应该理解,可以以各种形式实现本公开,而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象,除非明确指示不同。
在传统的数据备份过程中,当存在多个目标备份服务器时,通常是根据管理员和/或用户的固定设置或随机设置,来将数据备份复制到某个目标备份服务器。例如,针对某个待执行的某个备份任务,通常会查询其与目标备份服务器上的数据的去重率,然后将目标备份服务器上不存在的数据复制到目标备份服务器。
然而,本申请的发明人发现,在一些情况下,待备份的数据与指定的目标备份服务器之间的数据去重率很低,而与其他的一个或多个目标备份服务器可能具有较高的数据去重率。然而,根据传统的备份方法,仍然会将备份数据复制到指定的目标备份服务器,而不进行任何数据挖掘或分析,这会造成过多的数据传输,不仅增加了数据备份的时间,而且增加了备份系统的系统负载和维护成本。
为此,本公开的实施例提出了一种基于数据挖掘来选择最适合的目标备份服务器的新方案。本公开的实施例通过数据挖掘从多个目标服务器中选择一个最适合的目标服务器,能够减少数据备份的复制过程中所传输的数据量,由此减少数据复制的时间,并且减轻备份系统的负载和维护成本。本公开的一些实施例能够在基于哈希的备份系统中确定复制分组,从而实现有效地备份数据挖掘。
根据本公开的一些实施例,针对备份系统中的垃圾回收功能做了适应性处理,由此提高本公开的实施例的方案的兼容性。此外,根据本公开的一些实施例,在计算完每个备份的最适合的目标服务器之后,将需要复制的数据块的哈希的变化动态反映到高速缓存中,因此进一步节省存储空间。另外,本公开的实施例的复制粒度是一个备份(例如一个备份任务),而不是各个客户端的所有备份,这不仅有利于备份数据的完整性,而且有利于数据去重和易于实施。
以下参考图1至图7来说明本公开的基本原理和若干示例实现方式。应当理解,给出这些示例性实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开的实施例,而并非以任何方式限制本公开的范围。
图1示出了使用哈希来共享相同的数据块的示意图100。在基于哈希的备份系统中,将根据某种分块算法将备份的源数据分成多个数据块,然后将这些数据块及其对应的唯一哈希值保存在备份系统中,其中哈希的存在可以指示相关数据块的存在。如图1所示,第一个备份中的数据被划分成数据块131、132、133,第二个备份中的数据被划分成数据块133、134、135。然后,根据哈希算法分别确定第一个备份中的数据块131、132、133的哈希分别为哈希121、122、123,确定第二个备份中的数据块133、134、135的哈希分别为哈希123、124、125。
继续参考图1,对于第一个备份,其根哈希110是通过对哈希121、122、123进行哈希而获得的,哈希121、122、123分别是数据块131、132、133的哈希值。同样地,对于第二个备份,其根哈希120是通过对哈希123、124、125进行哈希而获得的,哈希123、124、125分别是数据块133、134、135的哈希值。如图1所示,第一个备份和第二个备份都引用了相同的数据块133,但是磁盘上仅保存了一个数据块133副本,通过这种方式,可以节省备份系统中的磁盘空间。也就是说,通过拆分数据块并且计算相应的哈希值,同一个数据块在同一个备份系统中仅存储一次。
图2示出了数据备份的示意备份环境200的示意图。一般来说,备份系统中的复制功能是主要是为了灾难恢复,其通常将备份从源备份服务器定期复制到目标备份服务器。如果在源备份服务器上发生任何导致数据丢失或数据不可用的错误或故障,则用户可以从目标备份服务器上还原数据。
如图2所示,示意备份环境200包括客户端201、202以及目标备份服务器210和220,其中客户端201和202可以位于相同的服务器上,称之为源备份服务器或源服务器。备选地,客户端201和202也可以位于不同的服务器上。应当理解,虽然图2的示意备份环境200中仅示出了2个客户端和2个目标备份服务器,然而,备份环境200中可以包括更多个客户端和/或目标备份服务器。
继续参考图2,客户端201包括待执行的数据备份203和204,其中数据备份203中的数据块的哈希表示为h0-h8,数据备份204中的数据块的哈希表示为h10-h18。同样地,客户端202也包括待执行的数据备份205和206,其中数据备份205中的数据块的哈希表示为h20-h28,数据备份206中的数据块的哈希表示为h30-h38。在当前时刻,目标备份服务器210上已经存在一些数据,其中的数据块的哈希为哈希集合211,目标备份服务器220上也存在一些数据,其中的数据块的哈希为哈希集合221。在数据备份的复制过程中,在目标备份服务器中已经存在的哈希对应的数据块不需要被复制,由此能够减少数据备份过程中的复制的数据量。
在传统的备份方法中,不会对各个目标备份服务器中已存在的哈希进行汇总和比较。相反,传统的备份方法通常设置固定的目标备份服务器。如图2所示,客户端201上的所有备份被固定设置为将被复制到目标备份服务器210,也即,备份203将被复制到目标备份服务器210,如箭头231所示,备份204也将被复制到目标备份服务器210,如箭头232所示。客户端202上的所有备份被固定设置为将被复制到目标备份服务器220,也即,备份205将被复制到目标备份服务器220,如箭头233所示,备份206也将被复制到目标备份服务器220,如箭头234所示。然而,这种传统备份方法将导致过多的数据被复制,例如,针对备份204,其与目标备份服务器210相同的哈希仅仅只有h13,这意味着备份204中的其他的哈希对应的数据块都需要被复制到目标备份服务器210,严重影响了备份系统的性能。
由此可见,在传统的备份方法中,备份通常是以客户端进行分组,指定源备份服务器和目标备份服务器的复制组通常是由管理员来指定。当达到预定的复制时间时,源备份服务器将客户端的新备份数据复制到目标备份服务器。在需要时,可以从目标备份服务器向源备份服务器恢复数据。虽然传统的方法也能够实现灾难恢复,但是系统的性能受到严重影响,各个备份系统之间独立地工作,备份数据被强制复制到指定的目标备份服务器。在图2的示例中,客户端201中的超过一半数据块需要被复制到目标备份服务器210,同样地,客户端202中的超过一半数据块也需要被复制到目标备份服务器220。因此,传统的备份方法的复制分组是不合理且低效的,其并不考虑每个目标备份服务器上存在多少相同的数据块,浪费了大量存储空间。
图3示出了根据本公开的实施例的基于数据挖掘的备份方法的流程图。为了更好地描述方法300,在此参考图2所描述的示例备份环境200一起进行描述。
在302,针对待执行的数据备份,确定与第一目标服务器有关的第一去重率以及与第二目标服务器有关的第二去重率。例如,针对图2中的示例备份环境200的备份204,可以确定备份204中的各个数据块的哈希与目标备份服务器210中的哈希集合211之间的相同哈希为h13,并且确定备份204中的各个数据块的哈希与目标备份服务器220中的哈希集合221之间的相同哈希为h10、h11、h12、h14、h15、h16、h17和h18,进而可以确定备份204与目标备份服务器210中的数据的第一去重率,确定备份204与目标备份服务器220中的数据的第二去重率。如果每个数据块是相同大小,则可以通过相同的哈希数目来表征去重率;而如果每个数据块不是相同大小,则可以进一步通过相同的数据量来确定去重率,其中去重率表示数据之间的重复比率。一般来说,去重率越高,说明需要复制的数据量越小,越节省网络和存储资源。
在304,基于第一去重率和第二去重率,从第一目标服务器和第二目标服务器中选择一个目标服务器。例如,在图2的示例备份204中,其与目标备份服务器210中的数据的第一去重率明显小于其与目标备份服务器220中的数据的第二去重率,因此,本公开的实施例通过数据挖掘选择去重率更高的目标备份服务器220,作为所选择的合适的目标备份服务器。在一些实施例中,在存在大于两个目标备份服务器的情况下,可以从所有的目标服务器中选择与待执行的数据备份重复程度最大的一个目标服务器以用于数据备份。
在306,向所选择的一个目标服务器复制数据备份中的一部分数据。例如,在图2的示例备份204中,将备份204中的一部分数据复制到目标备份服务器220(例如,仅需复制哈希h13对应的数据块),而不是复制到目标备份服务器210。通过这种方式,能够减少备份过程中待复制的数据量。
因此,本公开的实施例通过数据挖掘从多个目标服务器中选择一个最适合的目标服务器,能够减少数据备份过程中所传输的数据量,由此减少数据复制的时间,同时减轻备份系统的负载和维护成本。
图4示出了根据本公开的实施例的查询哈希的示意图400。在图4的示例中,源服务器401中的数据备份402需要复制到某个目标服务器以用于备份,在图4的示例中为目标服务器410或420,在其他实施例中,可以存在大于两个目标服务器。首先,将待执行的数据备份402中的数据划分成多个数据块,并确定多个数据块中的每个数据块的每个哈希,任何已有的或者将来开发的数据划分算法和/或哈希算法可以与本公开的实施例结合使用。接下来,源服务器401分别向目标服务器410和目标服务器420发送哈希查询消息,以查询数据备份402中的每个数据块的每个哈希在目标服务器410和目标服务420上是否存在。在各个目标服务器完成哈希查询之后,别将哈希查询结果分返回给源服务器401。
由于通过哈希查询来选择最适合的目标服务器需要一定的处理时间,因此,为了减少对于数据备份的时间影响,可以提前进行哈希查询,例如提前一个备份周期。例如,假设数据备份的周期的为一天,即每天备份一次,则可以在数据备份402需要执行的前一天执行哈希查询和目标服务器选择过程。通过这种方式,不会延长数据备份的时间,从而保证了用户体验。
在一些实施例中,本公开的实施例比实际复制过程至少提前一个复制周期(例如提前一天)完成。因此,计算最佳复制分组的工作是在计划复制日第N+1天之前的第N天进行。然而,时间间隔也可以根据实际系统规模进行调整。例如,如果每次都有大量新创建的备份,而一天之内无法完成分组计算工作,则管理员可以将时间间隔延长到两天甚至更长时间,并相应地调整源备份服务器401的复制日期。
源备份服务器401可以为所有目标备份服务器410和420计算与新创建的备份(例如数据备份402)的去重率,并根据去重率为每个备份确定最合适的目标备份服务器。因此,本公开的实施例的复制粒度是一个备份(例如一个备份任务),而不是客户端的所有备份,这不仅有利于备份数据的完整性,而且有利于数据去重和易于实施。在一些实施例,在第N天,对于在计划的复制日第N+1天不会过期的每个新添加的数据备份(例如数据备份402),源服务器401将为其每个哈希向每个目标服务器(例如目标服务器410、420)发送一个哈希查询消息,例如“is_hash_present”消息,除非该哈希之前已经被查询并且被保存在高速缓存403中。目标服务器410和420在接收到哈希查询消息之后,将检查指定的哈希及其对应的数据块是否在本地存在。由于实际复制发生在查询的第N+1天,因此还需要确保哈希在第N+1天仍然有效。基于所有目标服务器的哈希查询结果,源服务器401可以通过选择哈希去重率最大的一个目标服务器(例如目标服务器420)来为每个备份(例如数据备份402)选择最佳的目标服务器。在一些实施例中,可以根据其保存的数据字节数而不是哈希数来确定数据去重率。
在基于哈希的系统中,通常会使用垃圾回收(GC)功能以回收过期备份数据所占用的存储空间。由于垃圾回收将会改变目标服务器上的数据,因此需要进行一些额外的处理。为了减少垃圾回收的影响,在一些实施例中,可以在各个目标服务器已经完成当天的垃圾回收处理之后,再向目标服务器发送哈希查询消息。此外,由于哈希查询是提前一天进行,为了保证哈希在第N+1天的有效性(即未被垃圾回收),目标服务器仅将第N+1天未被垃圾回收的数据块对应的哈希设置为复制时有效哈希。
本公开的实施例关于垃圾回收的处理,需要满足以下两个准则:第一,仅在第N天所有目标服务器410和420上的垃圾回收完成之后,源服务器401才会发送哈希查询消息以查询哈希是否存在,否则,在垃圾回收期间删除的数据块可能会导致先前的查询结果无效;第二,如果在第N+1天在目标服务器上的垃圾回收之后安排了真正的复制,由于每个备份的最适合的目标服务器是在第N天计算的,因此目标服务器上的某些数据可能在第N+1天过期并被垃圾回收删除,那么在第N天计算的哈希查询结果也将无效。因此,目标服务器上的垃圾回收需要一些额外的操作来处理这种情况。
垃圾回收通常的工作方式如下,首先,垃圾回收将为备份系统中保存的所有哈希值的引用计数初始化为零值,然后其将遍历当前时间尚未过期的所有有效备份,并增加那些仍然有效的备份所引用的哈希的引用计数;最后,其引用计数仍为零的哈希值及其相关数据块所占用的空间将被释放。在一些情况下,可能需要进行几轮上述工作,直到没有零引用的哈希存在。
为了确保在实际复制发生时,在第N天获得的哈希查询结果在第N+1天仍然有效,可以将使用名为“复制时仍然有效”(“StillValidOnReplication”)的新标志。在目标服务器上的特殊垃圾回收期间,也将忽略掉将在第N+1天的复制时间过期的备份,因此这些备份所引用的哈希引用数量不会因此而增加,最后仅那些备份引用的哈希的引用计数将为零,但这些哈希及其数据块实际上不会被删除。对于引用计数不为零的哈希值,标志“复制时仍然有效”将设置为真,以指示该哈希值在复制日第N+1天仍然有效。以下参考表1来检查哈希元素的示例结构。
表1:在特殊垃圾回收中使用的哈希的标志
Figure BDA0002237684930000101
使用上表1中的“复制时仍然有效”标志,当源服务器401发送消息以查询某个或某些哈希在复制当天在目标服务器410和420中是否仍然有效时,目标服务器410和420将仅在通过此标志显示哈希在复制时仍然有效时才返回查询结果。这个特殊的垃圾回收和标志将确保在将来实际复制发生时,哈希的查询结果仍然是有效的。
一旦目标服务器410或420完成特殊的垃圾回收之后,其将向源服务器401发送通知以指示可以执行哈希查询。当所有连接的目标服务器都完成垃圾回收后,源服务器401将开始查询备份中所涉及的哈希。将自上次复制以来新添加的备份插入到积压队列。然后,将遍历每个新备份来逐一处理这些新备份,并针对备份中的每个哈希,将哈希查询消息发送到每个目标服务器。为了加快查询过程,查询结果将保存在源服务器401处的高速缓存(cache)403中。根据不同的系统规模,用于记录目标服务器中是否存在哈希的字节可以有所不同,例如,一个字节可以表示8个目标服务器,位中的值1可以表示该目标服务器上存在该哈希,而0则可以表示该目标服务器上不存在该哈希。
源服务器401在接收到所有的哈希查询结果之后,将各个目标服务器的哈希查询结果存储在高速缓存403中。后续的备份的哈希查询将会参考高速缓存403以便加快查询时间,系统不需要为此符合很多的存储器空间,其可以例如使用最近最少使用(LRU)和最不经常使用(LFU)等方式。然后,源服务器401根据高速缓存403中的数据,确定数据备份402与各个目标服务器中的数据之间的去重率,并且选择去重率最高的一个目标服务器作为待复制数据备份402的目标服务器。通过这种方式,能够选择到针对数据备份402的最适合的目标服务器,减少了备份过程中的复制数据量,提高了备份系统的性能。
此外,随着计划的数据复制,每个目标服务器上的数据将会动态改变,这是因为来自源服务器的先前处理的备份将在实际复制日被复制。因此,在针对数据备份402已经确定了最适合的目标服务器之后,可以动态地更新高速缓存403,并且在高速缓存403的表格里增加“非替换”标志以指示这些哈希查询结果不应该被替换。例如,确定数据备份402中需要复制到所选择的目标服务器的一个或多个数据块,然后在高速缓存403中更新一个或多个数据块的一个或多个哈希的哈希查询结果。以下表2示出了两种场景的哈希查询结果的动态变化示例。
表2:高速缓存中的哈希查询结果的动态变化的示例表
Figure BDA0002237684930000111
如上表2所示,高速缓存中的哈希查询结果的动态变化的一个场景是哈希“baf8292dd04ceb6e495c18842d9222491d00f069”此前不在任何目标服务器上存在,但是目标服务器1是涉及该哈希的先前已计算的数据备份的最适合的目标服务器,因此,由于计划的将来复制,在复制日目标服务器1上将具有该哈希及其对应的数据块,因此,表示目标服务器1上该哈希是否存在的比特将从0变为1以显示此变化。
另一种场景是“20f2b1186fec751d614b9244ae2eb7faac026074”此前仅存在目标服务器1上,但是目标服务器2是涉及该哈希的先前已计算的数据备份的最适合的目标服务器。因此,由于计划的将来的复制,在复制日目标服务器2上将同样具有该哈希及其对应的数据块,因此,表示目标服务器2上该哈希是否存在的比特将从0变为1以显示此变化。
在针对后续数据备份选择最适合的目标服务器时,针对高速缓存403中已经存在的哈希,则无需再向各个目标服务器再发送相应的哈希查询消息;而针对高速缓存403中不存在的哈希,仍然需要向各个目标服务器发送查询消息,并将哈希查询结果更新到高速缓存403中。
图5示出了根据本公开的实施例的基于数据挖掘的数据备份的示意图500。在图5的示例中,在某个备份所涉及的所有哈希都接收到哈希查询结果之后,备份系统能够根据相同哈希数目来确定该备份的最适合的目标服务器,即具有最多相同数目的哈希的那个目标服务器。
与图2相比,图5所示出的根据本公开的实施例的基于数据挖掘的备份方法能够针对各个备份,选择最适合的目标备份服务器,由此提高存储系统的性能。参考图5,如箭头501所示,客户端201的备份203将选择其最适合的目标备份服务器210;如箭头502所示,客户端201的备份204将选择其最适合的目标备份服务器220;如箭头503所示,客户端202的备份205将选择其最适合的目标备份服务器220;如箭头504所示,客户端202的备份206将选择其最适合的目标备份服务器210。与图2相比,图5所示出的复制分组方式中,需要传输的数据块显著减少,也即,仅很少一部分的数据块需要被复制到目标服务器。因此,本公开的实施例通过数据挖掘从多个目标服务器中选择一个最适合的目标服务器,能够减少数据备份过程中所传输的数据量,由此减少数据复制的时间,并且减轻备份系统的负载和维护成本。
图6示出了根据本公开的实施例的数据备份过程的时序图600,其中640表示时间轴。在图6的示例中,示出了多个源服务器610和620连接到相同的多个目标服务器630的场景,其需要一种合理的方式来避免互相的影响。在第N天,多个目标服务器630分别开始执行各自的垃圾回收操作,并在完成垃圾回收之后通知源服务器610可以查询哈希。然后,源服务器610针对第N+1天将要执行的每个备份,通过向各个目标服务器630发送哈希查询消息,来分别计算各个备份任务的最适合的目标服务器,直至计算完所有的备份任务。然后,在第N+1天,源服务器610可以根据第N天的计算结果,将各个备份任务中的数据分别复制到各自最适合的目标服务器上。
同样地,在第N+1天,多个目标服务器630分别开始执行各自的垃圾回收,并在完成垃圾回收之后通知源服务器620可以查询哈希。类似地,源服务器620针对第N+2天将要执行的每个备份,通过向各个目标服务器发送哈希查询消息,分别计算各个备份任务的最适合的目标服务器,直至计算完所有的备份任务。然后,在第N+2天,源服务器620将根据第N+1天的计算结果,将各个备份任务中的数据分别复制到各自最适合的目标服务器上。应当理解,图6的时序图仅仅为本公开的一个示例,而不用于限制本公开的范围。
图7示出了可以用来实施本公开的实施例的设备700的示意性块图,设备700可以为本公开的实施例所描述的设备或装置。如图7所示,设备700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的计算机程序指令或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序指令,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个方法或过程可由处理单元701来执行。例如,在一些实施例中,方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序被加载到RAM 703并由CPU 701执行时,可以执行上文描述的方法或过程中的一个或多个步骤或动作。
在一些实施例中,以上所描述的方法和过程可以被实现为计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
本文所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言,以及常规的过程式编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或块图中的一个或多个方块中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或块图中的一个或多个方块中规定的功能/动作的各个方面的指令。
可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或块图中的一个或多个方块中规定的功能/动作。
附图中的流程图和块图显示了根据本公开的多个实施例的设备、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或块图中的每个方块可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方块中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方块实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这取决于所涉及的功能。也要注意的是,块图和/或流程图中的每个方块、以及块图和/或流程图中的方块的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中技术的技术改进,或者使得本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (17)

1.一种用于备份数据的方法,包括:
针对待执行的数据备份,确定与第一目标服务器有关的第一去重率以及与第二目标服务器有关的第二去重率;
基于所述第一去重率和所述第二去重率,从第一目标服务器和第二目标服务器中选择一个目标服务器;以及
向所选择的所述一个目标服务器复制所述数据备份中的一部分数据。
2.根据权利要求1所述的方法,其中从第一目标服务器和第二目标服务器中选择一个目标服务器包括:
从多个目标服务器中选择与所述待执行的数据备份重复程度最大的一个目标服务器,所述多个目标服务器至少包括所述第一目标服务器和所述第二目标服务器。
3.根据权利要求1所述的方法,其中确定与第一目标服务器有关的第一去重率以及与第二目标服务器有关的第二去重率包括:
将所述待执行的数据备份中的数据划分成多个数据块;
确定所述多个数据块中的每个数据块的每个哈希;
向所述第一目标服务器和所述第二目标服务器发送哈希查询消息,以查询每个哈希在所述第一目标服务器和所述第二目标服务器上是否存在;以及
基于所述查询,确定所述第一去重率和所述第二去重率。
4.根据权利要求3所述的方法,其中:
确定所述第一去重率和所述第二去重率包括:在第一时刻确定所述第一去重率和所述第二去重率;以及
向所选择的所述一个目标服务器复制所述数据备份中的一部分数据包括:在第二时刻向所选择的所述一个目标服务器复制所述数据备份中的一部分数据,所述第一时刻是所述第二时刻之前预定时间的时刻。
5.根据权利要求4所述的方法,其中向所述第一目标服务器和所述第二目标服务器发送哈希查询消息包括:
响应于所述第一目标服务器和所述第二目标服务器均完成所述第一时刻的垃圾回收,向所述第一目标服务器和所述第二目标服务器发送哈希所述查询消息;以及
所述第一目标服务器和所述第二目标服务器将把在所述第二时刻未被垃圾回收的数据块对应的哈希设置为复制时有效哈希。
6.根据权利要求5所述的方法,其中查询每个哈希在所述第一目标服务器和所述第二目标服务器上是否存在包括:
将来自所述第一目标服务器和所述第二目标服务器的针对每个哈希的哈希查询结果存储到高速缓存中。
7.根据权利要求6所述的方法,其中从第一目标服务器和第二目标服务器中选择一个目标服务器包括:
确定所述数据备份中需要复制到所选择的一个目标服务器的一个或多个数据块;以及
在所述高速缓存中更新所述一个或多个数据块对应的一个或多个哈希的哈希查询结果。
8.根据权利要求7所述的方法,其中所述待执行的数据备份为第一数据备份,所述方法还包括:
针对待执行的第二数据备份:
响应于所述第二数据备份中的第一数据块的第一哈希在所述高速缓存中存在,停止向所述第一目标服务器和所述第二目标服务器发送针对所述第一哈希的哈希查询消息;以及
响应于所述第二数据备份中的第二数据块的第二哈希在所述高速缓存中不存在,向所述第一目标服务器和所述第二目标服务器发送针对所述第二哈希的哈希查询消息。
9.一种用于备份数据的设备,包括:
处理单元;以及
存储器,其耦合至所述处理单元并且存储有指令,所述指令在由所述处理单元执行时执行以下动作:
针对待执行的数据备份,确定与第一目标服务器有关的第一去重率以及与第二目标服务器有关的第二去重率;
基于所述第一去重率和所述第二去重率,从第一目标服务器和第二目标服务器中选择一个目标服务器;以及
向所选择的所述一个目标服务器复制所述数据备份中的一部分数据。
10.根据权利要求9所述的设备,其中从第一目标服务器和第二目标服务器中选择一个目标服务器包括:
从多个目标服务器中选择与所述待执行的数据备份重复程度最大的一个目标服务器,所述多个目标服务器至少包括所述第一目标服务器和所述第二目标服务器。
11.根据权利要求9所述的设备,其中确定与第一目标服务器有关的第一去重率以及与第二目标服务器有关的第二去重率包括:
将所述待执行的数据备份中的数据划分成多个数据块;
确定所述多个数据块中的每个数据块的每个哈希;
向所述第一目标服务器和所述第二目标服务器发送哈希查询消息,以查询每个哈希在所述第一目标服务器和所述第二目标服务器上是否存在;以及
基于所述查询,确定所述第一去重率和所述第二去重率。
12.根据权利要求11所述的设备,其中:
确定所述第一去重率和所述第二去重率包括:在第一时刻确定所述第一去重率和所述第二去重率;以及
向所选择的所述一个目标服务器复制所述数据备份中的一部分数据包括:在第二时刻向所选择的所述一个目标服务器复制所述数据备份中的一部分数据,所述第一时刻是所述第二时刻之前预定时间的时刻。
13.根据权利要求12所述的设备,其中向所述第一目标服务器和所述第二目标服务器发送哈希查询消息包括:
响应于所述第一目标服务器和所述第二目标服务器均完成所述第一时刻的垃圾回收,向所述第一目标服务器和所述第二目标服务器发送哈希所述查询消息;以及
所述第一目标服务器和所述第二目标服务器将把在所述第二时刻未被垃圾回收的数据块对应的哈希设置为复制时有效哈希。
14.根据权利要求13所述的设备,其中查询每个哈希在所述第一目标服务器和所述第二目标服务器上是否存在包括:
将来自所述第一目标服务器和所述第二目标服务器的针对每个哈希的哈希查询结果存储到高速缓存中。
15.根据权利要求14所述的设备,其中从第一目标服务器和第二目标服务器中选择一个目标服务器包括:
确定所述数据备份中需要复制到所选择的一个目标服务器的一个或多个数据块;以及
在所述高速缓存中更新所述一个或多个数据块对应的一个或多个哈希的哈希查询结果。
16.根据权利要求15所述的设备,其中所述待执行的数据备份为第一数据备份,所述动作还包括:
针对待执行的第二数据备份:
响应于所述第二数据备份中的第一数据块的第一哈希在所述高速缓存中存在,停止向所述第一目标服务器和所述第二目标服务器发送针对所述第一哈希的哈希查询消息;以及
响应于所述第二数据备份中的第二数据块的第二哈希在所述高速缓存中不存在,向所述第一目标服务器和所述第二目标服务器发送针对所述第二哈希的哈希查询消息。
17.一种计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括计算机可执行指令,所述计算机可执行指令在被执行时使计算机执行根据权利要求1至8中任一项所述的方法。
CN201910989181.8A 2019-10-17 2019-10-17 用于备份数据的方法、设备和计算机程序产品 Pending CN112685219A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910989181.8A CN112685219A (zh) 2019-10-17 2019-10-17 用于备份数据的方法、设备和计算机程序产品
US16/862,478 US20210117096A1 (en) 2019-10-17 2020-04-29 Method, device and computer program product for backuping data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910989181.8A CN112685219A (zh) 2019-10-17 2019-10-17 用于备份数据的方法、设备和计算机程序产品

Publications (1)

Publication Number Publication Date
CN112685219A true CN112685219A (zh) 2021-04-20

Family

ID=75444562

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910989181.8A Pending CN112685219A (zh) 2019-10-17 2019-10-17 用于备份数据的方法、设备和计算机程序产品

Country Status (2)

Country Link
US (1) US20210117096A1 (zh)
CN (1) CN112685219A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI789984B (zh) * 2021-06-11 2023-01-11 威聯通科技股份有限公司 合成增量資料備份方法、系統及電腦可讀取儲存媒體

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101216791A (zh) * 2008-01-04 2008-07-09 华中科技大学 基于指纹的文件备份方法
CN103873504A (zh) * 2012-12-12 2014-06-18 鸿富锦精密工业(深圳)有限公司 数据分块存储至分布式服务器的系统及方法
CN108121810A (zh) * 2017-12-26 2018-06-05 北京锐安科技有限公司 一种数据去重方法、系统、中心服务器及分布式服务器
CN108228083A (zh) * 2016-12-21 2018-06-29 伊姆西Ip控股有限责任公司 用于数据去重的方法和设备
US10437682B1 (en) * 2015-09-29 2019-10-08 EMC IP Holding Company LLC Efficient resource utilization for cross-site deduplication

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9298723B1 (en) * 2012-09-19 2016-03-29 Amazon Technologies, Inc. Deduplication architecture
US9262430B2 (en) * 2012-11-22 2016-02-16 Kaminario Technologies Ltd. Deduplication in a storage system
US10642663B2 (en) * 2014-09-10 2020-05-05 Oracle International Corporation Coordinated garbage collection in distributed systems
US10108547B2 (en) * 2016-01-06 2018-10-23 Netapp, Inc. High performance and memory efficient metadata caching

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101216791A (zh) * 2008-01-04 2008-07-09 华中科技大学 基于指纹的文件备份方法
CN103873504A (zh) * 2012-12-12 2014-06-18 鸿富锦精密工业(深圳)有限公司 数据分块存储至分布式服务器的系统及方法
US10437682B1 (en) * 2015-09-29 2019-10-08 EMC IP Holding Company LLC Efficient resource utilization for cross-site deduplication
CN108228083A (zh) * 2016-12-21 2018-06-29 伊姆西Ip控股有限责任公司 用于数据去重的方法和设备
CN108121810A (zh) * 2017-12-26 2018-06-05 北京锐安科技有限公司 一种数据去重方法、系统、中心服务器及分布式服务器

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI789984B (zh) * 2021-06-11 2023-01-11 威聯通科技股份有限公司 合成增量資料備份方法、系統及電腦可讀取儲存媒體

Also Published As

Publication number Publication date
US20210117096A1 (en) 2021-04-22

Similar Documents

Publication Publication Date Title
US11003533B2 (en) Data processing method, system, and apparatus
JP4263477B2 (ja) 共通デジタルシーケンスを識別するシステム
US8650162B1 (en) Method and apparatus for integrating data duplication with block level incremental data backup
US9344112B2 (en) Sampling based elimination of duplicate data
JP4846156B2 (ja) 共通性ファクタリングシステムに用いられるハッシュファイルシステムおよび方法
US11042532B2 (en) Processing event messages for changed data objects to determine changed data objects to backup
US20110258161A1 (en) Optimizing Data Transmission Bandwidth Consumption Over a Wide Area Network
CN108255647B (zh) 一种samba服务器集群下的高速数据备份方法
WO2017020576A1 (zh) 一种键值存储系统中文件压实的方法和装置
US9002800B1 (en) Archive and backup virtualization
CN111258815B (zh) 适用于基于哈希的多节点备份系统的数据备份方法及装置
CN109726037B (zh) 用于备份数据的方法、设备和计算机程序产品
CN111858146B (zh) 用于恢复数据的方法、设备和计算机程序产品
CN111143113B (zh) 复制元数据的方法、电子设备和计算机程序产品
CN112685219A (zh) 用于备份数据的方法、设备和计算机程序产品
US20210240350A1 (en) Method, device, and computer program product for recovering based on reverse differential recovery
US20170308554A1 (en) Auto-determining backup level
US20190028571A1 (en) Data transmission method and data transmission device
US11347424B1 (en) Offset segmentation for improved inline data deduplication
WO2022173652A1 (en) Reducing the impact of network latency during a restore operation
CN112947847B (zh) 用于存储数据的方法、设备和计算机程序产品
US20210019231A1 (en) Method, device and computer program product for backing up data
Henson et al. Guidelines for using compare-by-hash
CN111858144A (zh) 存储管理的方法、设备和计算机程序产品
CN116954988A (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