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

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

Info

Publication number
CN112685225A
CN112685225A CN201910991616.2A CN201910991616A CN112685225A CN 112685225 A CN112685225 A CN 112685225A CN 201910991616 A CN201910991616 A CN 201910991616A CN 112685225 A CN112685225 A CN 112685225A
Authority
CN
China
Prior art keywords
data
backup
backup system
file
transfer manager
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
CN201910991616.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.)
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 CN201910991616.2A priority Critical patent/CN112685225A/zh
Priority to US16/792,843 priority patent/US11340997B2/en
Publication of CN112685225A publication Critical patent/CN112685225A/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/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
    • 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
    • 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/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/1469Backup restoration 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/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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC

Abstract

本公开的实施例涉及一种用于传输数据的方法、设备和计算机程序产品。方法包括从第一备份系统中的待传输文件中还原数据,并将所还原的数据发送到与第二备份系统相对应的备份客户端,其中每个备份客户端是被安装在第一备份系统的每个容器中,并且第一备份系统和第二备份系统属于不同类型的备份系统。此外,方法还包括从备份客户端向第二备份系统传输所还原的数据。本公开的实施例在不同类型的备份系统之间传输数据时,通过在一个备份系统的容器中安装另一个备份系统对应的备份客户端,能够提高数据传输的效率,而无需针对每种备份系统分别开发数据移动工具。此外,由于无需暴露备份系统的内部逻辑,因此本公开的实施例更加安全。

Description

用于传输数据的方法、设备和计算机程序产品
技术领域
本公开的实施例总体上涉及数据备份领域,并且更具体地涉及用于传输数据的方法、设备以及计算机程序产品。
背景技术
为了避免数据的丢失,用户通常将文件和数据存储在备份系统中,备份系统通常能够存储大量数据。当发生数据故障或者发生灾难时,可以通过备份系统来恢复数据,从而避免不必要的损失。数据备份的备份种类可以分为全部备份、增量备份、差异备份以及选择性备份等。数据备份根据系统是否处于正常运行状态,又可以分为热备份和冷备份。
随着新技术的改进,新的备份系统不断出现。在用户购买新的备份系统之后,需要将备份数据从旧的备份系统转移到新的备份系统,以便可以将所有旧的备份数据保留在新的备份系统中。在将备份数据存储在新的备份系统中之后,用户可以淘汰旧的备份系统,并释放旧的备份系统中的存储空间。
发明内容
本公开的实施例提供了一种用于传输数据的方法、设备和计算机程序产品。
在本公开的一个方面,提供了一种用于传输数据的方法。该方法包括:从第一备份系统中的待传输文件中还原数据;将所还原的数据发送到与第二备份系统相对应的备份客户端,其中备份客户端被安装在第一备份系统的容器中,并且第一备份系统和第二备份系统是不同类型的备份系统;以及从安装在第一备份系统中的备份客户端向第二备份系统传输所还原的数据。
在本公开的另一方面,提供了一种用于传输数据的设备。该设备包括处理单元以及存储器,其中存储器被耦合至处理单元并且存储有指令。所述指令在由处理单元执行时执行以下动作:从第一备份系统中的待传输文件中还原数据;将所还原的数据发送到与第二备份系统相对应的备份客户端,其中备份客户端被安装在第一备份系统的容器中,并且第一备份系统和第二备份系统是不同类型的备份系统;以及从安装在第一备份系统中的备份客户端向第二备份系统传输所还原的数据。
在本公开的又一方面,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括计算机可执行指令,所述计算机可执行指令在被执行时使得计算机执行根据本公开的实施例的方法或过程。
提供发明内容部分是为了简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。本发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的各个实施例的范围。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中在本公开示例性实施例中,相同的附图标记通常代表相同的元素。
图1示出了不同类型的备份系统之间传输数据的一种传统方案的示意图;
图2示出了不同类型的备份系统之间传输数据的另一种传统方案的示意图;
图3示出了根据本公开的实施例的在不同类型的存储系统之间传输数据的示例架构的框图;
图4示出了根据本公开的实施例的在不同类型的存储系统之间传输数据的方法的流程图;
图5示出了根据本公开的实施例的在不同类型的存储系统之间传输数据的另一示例架构的框图;
图6示出了根据本公开的实施例的控制备份系统之间的数据传输的工作流的示意图;
图7示出了根据本公开的实施例的使用位置映射文件来减少数据传输量的过程的示意图;
图8示出了根据本公开的实施例的位置映射文件的示意图;以及
图9示出了可以用来实施本公开的实施例的设备的示意性块图。
具体实施例
下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的一些具体实施例,然而应该理解,可以以各种形式实现本公开,而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象,除非明确指示不同。
一般来说,在不同类型的备份系统(即异类备份系统)之间移动数据并不容易,这是因为不同的备份系统具有不同的备份数据结构和数据去重算法。因此,不同于相同类型的备份系统之间的直接数据移动,通常不能简单地将包括哈希值和去重数据在内的所有内容直接移动到不同类型的备份系统中。相反,通常需要还原备份数据,然后使用这些还原数据来在新的备份系统中以新的数据格式创建备份。
传统的,存在两种方案来在不同类型的备份系统之间传输数据。
图1示出了不同类型的备份系统之间传输数据的一种传统方案100的示意图。如图1所示,备份系统110和130是不同类型的备份系统,它们在软件和/或硬件方面有所不同。在需要将备份系统110中的数据移动到备份系统130时,需要首先安装备份系统110的客户端,并进行数据还原(例如注水rehydrate),并将还原后的数据存储在存储设备120(例如磁盘)中。然后,需要安装备份系统130的客户端,并且从存储设备120中读取数据,然后在备份系统130中创建这些数据的备份。
然而,这种传统方案存在以下不足。第一,低性能地顺序还原并创建备份数据。在这种传统方案,只有在为一次备份还原了所有数据后才可以开始创建到新的备份系统的备份。这是因为旧的还原客户端和新的数据发送客户端在独立工作,而新备份系统的客户端将永远不会知道旧备份系统的客户端是否已经还原了所有的备份数据。因此,如果新备份系统的客户端在还原任务完成之前开始扫描并创建备份,则可能会丢失一些在新客户端为扫描文件创建备份之前尚未还原的文件。例如,如果目录A具有文件1、文件2和文件3。当新的备份系统为目录A创建备份时,由于文件3尚未被还原到目录中,因此新系统的客户端仅找到文件1和文件2。这样,可能会缺少文件3并导致数据丢失。因此,需要等到还原任务完成之后,才能开始创建到新备份系统的备份,这使得数据移动的很低效。第二,由于I/O操作过多而导致性能低下。在这种传统方案,需要对存储设备进行大量的I/O操作来还原和读取文件数据,而太多的I/O操作对数据移动性能产生很大影响。第三,存储设备的成本。在这种传统方案,需要专用的存储设备120来存储所还原的数据,这会增加数据移动的成本。
图2示出了不同类型的备份系统之间传输数据的另一种传统方案200的示意图。如图2所示,备份系统210和220是不同类型的备份系统,它们在软件和/或硬件方面有所不同。在需要将备份系统210中的备份数据201移动到备份系统220时,需要在备份系统210中开发和部署专用的数据移动工具202,以实现流水线式的数据还原和发送。
然而,在这种传统方案中,为每个新的备份系统开发一个专用的数据移动工具需要大量的精力。由于每个新的备份系统都有自己的规则来传输和存储备份数据,因此需要为每个新的备份系统开发专用的数据移动工具。为每个新的备份系统开发专用的数据移动工具存在以下不足。第一,带来安全问题。通常,将数据发送到新的备份系统需要内部关键逻辑来完成。发送数据的逻辑对备份系统而言是很重要的,因为它可能关系到数据去重算法以及存储备份数据的数据结构。因此,当在数据移动工具中开发数据发送模块时,需要了解为新的备份系统创建备份的内部逻辑,但是将这些逻辑暴露给可能属于某个不同的备份系统的数据移动工具并不安全。在某些情况下,甚至可能没有特权来获取数据发送逻辑,这使得专用数据移动工具的解决方案变得不可能,因此,可能还得选择需要额外的存储设备的第一种传统方案。第二,开发效率低下。要开发数据移动工具,需要合并旧的备份系统的数据还原逻辑和新的备份系统的数据发送逻辑。此外,需要使它有效地工作,以设计一个好的管道和相关模块。为每个新的备份系统开发各自的专用数据移动工具效率很低。此外,需要付出很多努力来维护如此众多的专用数据移动工具。
由此可见,在传统的方案中,需要设置存储设备来存储所还原的数据,或者需要针对各种类型的备份系统分别开发数据移动工具,其传输效率较低,成本过高。
为此,本公开的实施例提出了一种在不同类型的备份系统之间移动数据的新方案。本公开的实施例在不同类型的备份系统之间传输数据时,通过在一种备份系统的容器中安装另一种备份系统对应的备份客户端,能够提高数据传输的效率,而无需针对每种备份系统分别开发数据移动工具。此外,由于无需暴露备份系统的内部逻辑,因此本公开的实施例比使用专用的数据移动工具更加安全。
此外,根据本公开的一些实施例,使用了Docker容器来独立地部署不同的备份客户端,方便了开发,同时使得这些备份客户端之间不会发生冲突。由于Docker容器对客户OS没有要求,因而成本较低。另外,本公开的一些实施例还使用位置映射文件来检查已经发送过的数据能够减少数据传输量,并且提高数据移动的性能。
以下参考图3至图9来说明本公开的基本原理和若干示例实现方式。应当理解,给出这些示例性实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开的实施例,而并非以任何方式限制本公开的范围。
图3示出了根据本公开的实施例的在不同类型的存储系统之间传输数据的架构300的框图。如图3所示,架构300包括备份系统310和备份系统320,它们属于不同类型的备份系统,即在软件和/或硬件方面有所不同。在本公开的一些实施例中,将源备份系统310称之为旧的备份系统,并将目标备份系统320称之为新的备份系统,然而,这两个备份系统之间也可以不是新旧的关系,只要这两个备份系统的类型不相同即可。
参考图3,根据本公开的实施例,在备份系统310中设置了还原容器302和数据发送容器303,其中还原容器302用于还原备份系统310中的备份数据301。数据发送容器303包括数据传输管理器304和备份客户端305,数据传输管理器304用于对数据传输过程进行流控制,而备份客户端是备份系统320的对应的备份客户端,即备份系统320自带的备份客户端,备份客户端305被安装在数据发送容器303中。容器技术是实现操作系统虚拟化的一种途径,可以在资源受到隔离的进程中运行应用程序及其依赖关系。通过使用容器,可以轻松打包应用程序的代码、配置和依赖关系,将其变成容易使用的构建块,从而实现环境一致性、运营效率、开发人员生产力和版本控制等诸多目标。容器可以帮助保证应用程序快速、可靠、一致地部署,其间不受部署环境的影响。一般来说,容器比虚拟机更加轻量级,并且不要求客户OS。
因此,根据本公开的实施例的架构300,备份系统310中所还原的数据通过备份系统320的备份客户端305而被传输到备份系统320,由于备份客户端305是备份系统320自带的客户端,这样避免了开发专用的数据移动工具,也无需知晓或者暴露各个备份系统的内部逻辑,提高了数据安全性。
图4示出了根据本公开的实施例的在不同类型的存储系统之间传输数据的方法400的流程图。例如,方法400可以由以上参考图3所描述的架构300中的备份系统310来执行。
在402,从第一备份系统中的待传输文件中还原数据。例如,还原容器302从备份系统310中的备份数据301中的文件中还原数据。在备份系统中,通常会对数据进行分块,然后计算各个数据块的哈希,并对相同哈希的数据块进行去重处理,即相同哈希的多个数据块在存储系统中仅需存储一次。还原可以当成去重的相反动作,由于各个备份系统中的去重算法可能不同,因而需要将经去重的数据还原之后发送的新的备份系统,然后,新的备份系统根据其自己的去重算法来对接收到的备份数据进行去重。
在404,将所还原的数据发送到与第二备份系统相对应的备份客户端,其中备份客户端被安装在第一备份系统的容器中,并且第一备份系统和第二备份系统是不同类型的备份系统。例如,还原容器302将所还原的数据发送到数据发送容器303中的数据传输管理器304,进而发送到备份客户端305,其中备份客户端是备份系统320自带的备份客户端,并且安装在数据发送容器303中。
在406,从安装在第一备份系统中的备份客户端向第二备份系统传输所还原的数据。例如,从备份客户端305向备份系统320发送所还原的数据。由此可见,根据本公开的实施例的方法400既不需要额外的存储设备,而不需要针对各种类型的备份系统开发对应的数据移动工具。
因此,本公开的实施例在不同类型的备份系统之间传输数据时,通过在一种备份系统的容器中安装另一种备份系统对应的备份客户端,能够提高数据传输的效率,而无需针对每种备份系统分别开发数据移动工具。此外,由于无需暴露备份系统的内部逻辑,因此本公开的实施例更加安全。
图5示出了根据本公开的实施例的在不同类型的存储系统之间传输数据的另一示例架构500的示意图。如图5所示,与图3中的架构300相比,图5中的架构500包括多个数据发送容器,例如数据发送容器303、307、311,因而能够支持向多个备份系统310、330、340并发地传输数据,进一步提高了数据传输的效率。
如图5所示,使用Docker容器为每个新备份系统安装备份客户端,例如,在数据发送容器303中安装备份系统320对应的客户端305,在数据发送容器307中安装备份系统330对应的客户端309,在数据发送容器311中安装备份系统340对应的客户端313。此外,还涉及了数据传输管理器304、308和312以接收和发送数据。在源备份系统310中,还原容器302从备份数据301中一个接一个地还原文件。接下来,还原容器302通知数据发送容器303中的数据传输管理器304,以准备从还原容器302接收数据。然后,数据发送容器303中的数据传输管理器304分配存储资源以从还原容器302接收数据,同时数据传输管理器304通知新的系统备份客户端305开始读取存储器中的数据并将接收到的数据发送到新的备份系统320。在一些实施例,每个数据传输管理器中可以包括文件数据接收器和文件数据发送器。
在图5的架构500中,数据传输管理器304用于控制工作流管道,以确保数据接收和数据发送同时进行,以下参考图6进一步详细描述了工作流的控制。此外,备份客户端505为接收到的数据创建到新备份系统320的备份的同时,还可以通过哈希值来优化数据传输,针对不需要传输的数据块,在新的备份系统320处进行合成,以下参考图7描述了通过哈希匹配来减少数据传输量的示例实现。
因此,与传统的方案相比,根据本公开的实施例的架构500的方案具有如下优势。
第一、性能较高。在本公开的实施例中,使用存储器来临时存储还原的数据,这比将还原的数据存储在存储设备中要快得多。同时,本公开的实施例建立流水线以确保还原数据和发送数据同时执行,从而提高性能。
第二、易于部署且系统成本低。不同的备份系统可能需要不同的系统配置才能部署其备份客户端。有时,这些配置可能会相互冲突。由于可能的配置冲突,可能无法在一台备份服务器中部署多个备份客户端。而在本公开的实施例中,使用Docker独立部署不同的客户端。因此,系统配置没有冲突。同时,Docker容器本身不需要客户OS,因此与需要客户OS的虚拟机相比,Docker容器本身的系统成本较低。
第三、保证内部逻辑的安全性。在传统的解决方案中,需要知晓将数据传输到新备份系统的逻辑,以便可以将数据发送逻辑合并到专用的数据移动工具中。而在本公开的实施例中,仅需使用现有的新备份系统的客户端与数据传输管理器进行对话,并按照所设计的协议发送数据。因此,不需要将内部逻辑暴露给任何专用的数据移动工具。
第四、开发效率较高。在传统的方案中,需要用于每个新备份系统的专用工具。如此众多的专用工具需要太多的开发和维护工作。在本公开的实施例中,只需要通用的数据传输管理器,就可以通过简单的协议让客户端与数据传输管理器进行通信以发送数据,这对于开发非常有效。
第五、低成本,无需存储设备。在本公开的实施例中,使用存储器流式地还原和发送数据,因此不需要额外的存储设备。
第六、能够同时将备份数据移动到多个目标备份系统。在本公开的实施例,可以建立与不同数据发送容器的连接。因此,可以一次还原数据,并高效地将其同时发送到多个数据发送容器,进而并发地传输到多个备份系统。
图6示出了根据本公开的实施例的控制备份系统之间的数据传输的工作流600的示意图。在本公开的实施例的架构中,流控制可以由数据传输管理器304来完成。
由于在发送数据容器303中只能分配有限的存储资源,因此无法始终从还原容器302中接收数据。尽管分配存储资源以接收数据块并在将数据块发送到目标后释放该存储资源,但是如果从还原容器302到数据传输管理器304的数据发送比从数据传输管理器304向客户端305发送的数据快,可能需要太多的存储资源,甚至没有可用资源来继续从还原容器302中接收新的还原数据。因此,在本公开的实施例,数据传输管理器304将在数据传输之前分配存储池,并检查分配的存储池中是否有可用的存储资源。如果没有可用资源,则数据传输管理器304将通知还原容器302等待,直到有新的可用存储资源为止。
此外,由于从还原容器302一个个地接收到所还原的数据块,因此备份客户端305不能总是继续读取已还原的数据,因为可能由于尚未收到所需的数据块而发生故障。因此,数据传输管理器304将检查可用的数据块,并在没有接收到新的数据块的情况下通知系统客户端305等待。
如图6所示,在601,还原容器302从备份数据301读取文件并进行还原。在602,还原容器302通知发送所还原的数据。在603,数据传输管理器304准备存储资源以接收文件数据。在604,数据传输管理器304通知客户端305传输文件数据并创建备份。在605,备份客户端305准备从存储器读取数据。在606,数据传输管理器304向还原容器302通知接收数据。在607,还原容器302开始发送文件数据。在608,数据传输管理器304开始接收文件数据。在609,备份客户端305开始从存储器读取数据并且创建备份。
在数据传输的过程中,数据传输管理器304可以周期性地或者非周期性地确定是否还存在可用存储资源,如果没有可用存储资源,则在610,数据传输管理器304通知等待。在611,还原容器302暂停发送数据。在612,如果判断又存在可用资源,则通知继续发送数据。在613,还原容器302继续发送数据。
在数据传输的过程中,数据传输管理器304还可以确定存储器中是否还存在可用还原数据,如果没有可用还原数据,则在614,数据传输管理器304通知等待。在615,备份客户端305暂停从存储器读取数据。在616,数据传输管理器304继续接收新的还原数据。在617,数据传输管理器304通知备份客户端305继续读取数据。在618,备份客户端305继续读取数据。在619,数据传输管理器304确定该文件传输完成,然后在620以相同的方式处理备份中的下一个文件。
在一些实施例中的,从还原容器302发送到数据传输管理器304的602处的发送通知的消息可以包括文件名称、文件路径以及文件大小,并且从数据传输管理器304发送到备份客户端305的604处的读取通知的消息可以包括文件名称、文件路径、文件大小以及存储器的地址。其中,读取通知比发送通知多一个存储器地址,由于分配了存储资源以接收来自还原容器302的数据,因而应当将存储器地址发送到备份客户端305,以便备份客户端305能够从存储器地址读取数据。
图7示出了根据本公开的实施例的使用位置映射文件来减少数据传输量的过程700的示意图。在备份系统中,通常使用去重的方式来存储数据。因此,在还原数据时,经常需要多次还原同一个数据块。此外,不同的文件中也可能存在相同的数据块。
多次还原和发送相同的数据块是低效的,因此,需要找到已经发送的数据块。然而,在不同类型的备份系统中找出已经存在的数据块并不容易。通常,当想要检查数据块是否存在时,需要计算该数据块的哈希值并将该哈希值发送到备份系统,然后备份系统将检查该哈希值是否存在并返回结果。然而,当要在不同类型的备份系统之间移动数据时,无法通过哈希值进行检查,这是因为不同的备份系统不会将其哈希值暴露给外部。一般来说,将哈希值暴露给外部会带来安全隐患。因此,当要在不同类型的备份系统之间移动数据时,哈希值是由旧的备份系统在旧备份系统数据结构中计算得出的,因此无法使用此哈希值来检查此哈希值是否已存在于不同类型的新备份系统中。
在本公开的实施例中,可以通过合成来进一步提升性能。合成是通知目标服务器引用目标服务器上已有数据的方法。使用数据合成,无需将数据发送到目标服务器,相反,仅需通知目标服务器进行合成。例如,在一些存储系统中,可以使用某些接口通知目标服务器使用已有数据,而不是再次传输数据。避免发送已经存在的数据能够大大提高性能,并减少网络资源的消耗。
如图7所示,在框710中,通过哈希值来避免重复发送备份系统320中已经存在的数据。在框720中,针对尚未发送过的数据块,向备份系统320发送数据块,并且在数据发送容器303中的位置映射文件中记录该数据块的加密哈希值和位置信息。
在框710,还原容器302读取备份数据301中的数据块,并计算数据块的哈希值,然后对哈希值进行加密。接下来,将加密哈希值发送到数据传输管理器304,进而发送到客户端305,在客户端305中,判断位置映射文件中是否已经存在该加密哈希值,如果存在,则客户端305从位置映射文件直接读取该数据块在备份系统320中的位置信息,并通知备份系统320进行数据合成。通过对哈希值进行加密,能够保证备份系统310的安全性。
在框720,如果数据块的加密哈希值在位置映射文件中不存在,说明此前未向备份系统320中发送过该数据块,则客户端305通知还原数据块,然后还原容器302还原数据块,并将数据块发送到备份系统320,同时,在位置映射文件中记录该数据块的加密哈希值以及其在备份系统320中的位置。
位置映射文件记录由备份系统310计算出的加密哈希值和备份系统320中的数据块的位置。由于对哈希值进行加密,因而不会将哈希值暴露给外界。同时,将数据块位置存储在备份客户端305中,因而不会公开备份系统320的数据位置。通过这种方式,能够安全地在不同类型的备份系统之间进行合成,提高数据传输的性能。
图8示出了根据本公开的实施例的位置映射文件800的示意图。图8示出了位置映射文件800的数据结构。在810,可以在截断的加密哈希值数组中进行搜索,其中多个截断的加密哈希值820包括截断的加密哈希值包括821和截断的加密哈希值包括822。每个截断的加密哈希值被映射到对应的一组哈希加密值,其中这些加密哈希值具有相同的截断。如图8所示,组831中的多个项的加密哈希值分别包括截断的加密哈希值包括821,组832中的多个项的加密哈希值分别包括截断的加密哈希值包括822。每项记录包括数据块的加密哈希值、数据块在新的备份系统中的位置信息以及参考备份信息(例如指示新旧程度)。
哈希映射文件800中加密哈希值以存储区格式进行存储,以便提高搜索速度。此外,如果位置映射文件的大小达到最大大小,将换出属于最早备份的项。同时,一旦在位置映射文件中找到某个项,将使用最新备份的信息来更新其参考备份信息,由于最新备份引用了该项,因此可以避免换出该项。
图9示出了可以用来实施本公开的实施例的设备900的示意性块图,设备900可以为本公开的实施例所描述的设备或装置。如图9所示,设备900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的计算机程序指令或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序指令,来执行各种适当的动作和处理。在RAM 903中,还可存储设备900操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
设备900中的多个部件连接至I/O接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个方法或过程可由处理单元901来执行。例如,在一些实施例中,方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序被加载到RAM 903并由CPU 901执行时,可以执行上文描述的方法或过程中的一个或多个步骤或动作。
在一些实施例中,以上所描述的方法和过程可以被实现为计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
本文所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言,以及常规的过程式编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或块图中的一个或多个方块中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或块图中的一个或多个方块中规定的功能/动作的各个方面的指令。
可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或块图中的一个或多个方块中规定的功能/动作。
附图中的流程图和块图显示了根据本公开的多个实施例的设备、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或块图中的每个方块可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方块中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方块实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这取决于所涉及的功能。也要注意的是,块图和/或流程图中的每个方块、以及块图和/或流程图中的方块的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中技术的技术改进,或者使得本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (19)

1.一种用于传输数据的方法,包括:
从第一备份系统中的待传输文件中还原数据;
将所还原的数据发送到与第二备份系统相对应的备份客户端,所述备份客户端被安装在所述第一备份系统的容器中,并且所述第一备份系统和所述第二备份系统是不同类型的备份系统;以及
从安装在所述第一备份系统中的所述备份客户端向所述第二备份系统传输所还原的数据。
2.根据权利要求1所述的方法,其中将所还原的数据发送到与第二备份系统相对应的备份客户端包括:
根据从还原容器接收到发送通知,由数据传输管理器分配用于接收数据的存储器,所述数据传输管理器和所述备份客户端被部署在数据发送容器中;
由所述数据传输管理器向所述备份客户端发送读取通知;
由所述数据传输管理器向所述还原容器通知发送所还原的数据;
由所述数据传输管理器从所述还原容器接收所还原的数据;以及
由所述数据传输管理器向所述备份客户端发送所还原的数据。
3.根据权利要求2所述的方法,其中从所述还原容器接收所还原的数据包括:
由所述数据传输管理器确定所述存储器中是否存在可用存储资源;
响应于确定所述存储器中存在可用存储资源,由所述数据传输管理器继续从所述还原容器接收所还原的数据;以及
响应于确定所述存储器中不存在可用存储资源,由所述数据传输管理器通知所述还原容器暂停发送数据。
4.根据权利要求2所述的方法,其中向所述备份客户端发送所还原的数据包括:
由所述数据传输管理器确定所述存储器中是否存在可用还原数据;
响应于确定所述存储器中存在可用还原数据,由所述数据传输管理器继续向所述备份客户端发送所还原的数据;以及
响应于确定所述存储器中不存在可用还原数据,由所述数据传输管理器通知所述备份客户端暂停从所述存储器读取数据。
5.根据权利要求2所述的方法,其中所述发送通知包括文件名称、文件路径以及文件大小,并且所述读取通知包括所述文件名称、所述文件路径、所述文件大小以及所述存储器的地址。
6.根据权利要求1所述的方法,其中将所还原的数据发送到与第二备份系统相对应的备份客户端包括:
在将所还原的数据发送到与第二备份系统相对应的备份客户端的同时,并发地将所还原的数据发送到与第三备份系统相对应的另一备份客户端,使得通过所述另一备份客户端将数据传输到所述第三备份系统。
7.根据权利要求1所述的方法,还包括:
确定所述待传输文件中的数据块的哈希值;
对所述哈希值进行加密以获得加密哈希值;
确定位置映射文件中是否存在所述加密哈希值;以及
响应于确定所述位置映射文件中不存在所述加密哈希值,从所述备份客户端向所述第二备份系统传输所述数据块,并且将所述加密哈希值记录在所述位置映射文件中。
8.根据权利要求7所述的方法,还包括:
响应于确定所述位置映射文件中存在所述加密哈希值,从所述位置映射文件读取所述数据块在所述第二备份系统中的位置信息,并且通知所述第二备份系统合成所述数据块。
9.根据权利要求8所述的方法,其中所述位置映射文件中存在多个截断的加密哈希值,每个截断的加密哈希值被映射到包括所述截断的加密哈希值的多个加密哈希值。
10.一种用于传输数据的设备,包括:
处理单元;以及
存储器,其耦合至所述处理单元并且存储有指令,所述指令在由所述处理单元执行时执行以下动作:
从第一备份系统中的待传输文件中还原数据;
将所还原的数据发送到与第二备份系统相对应的备份客户端,所述备份客户端被安装在所述第一备份系统的容器中,并且所述第一备份系统和所述第二备份系统是不同类型的备份系统;以及
从安装在所述第一备份系统中的所述备份客户端向所述第二备份系统传输所还原的数据。
11.根据权利要求10所述的设备,其中将所还原的数据发送到与第二备份系统相对应的备份客户端包括:
根据从还原容器接收到发送通知,由数据传输管理器分配用于接收数据的存储器,所述数据传输管理器和所述备份客户端被部署在数据发送容器中;
由所述数据传输管理器向所述备份客户端发送读取通知;
由所述数据传输管理器向所述还原容器通知发送所还原的数据;
由所述数据传输管理器从所述还原容器接收所还原的数据;以及
由所述数据传输管理器向所述备份客户端发送所还原的数据。
12.根据权利要求11所述的设备,其中从所述还原容器接收所还原的数据包括:
由所述数据传输管理器确定所述存储器中是否存在可用存储资源;
响应于确定所述存储器中存在可用存储资源,由所述数据传输管理器继续从所述还原容器接收所还原的数据;以及
响应于确定所述存储器中不存在可用存储资源,由所述数据传输管理器通知所述还原容器暂停发送数据。
13.根据权利要求11所述的设备,其中向所述备份客户端发送所还原的数据包括:
由所述数据传输管理器确定所述存储器中是否存在可用还原数据;
响应于确定所述存储器中存在可用还原数据,由所述数据传输管理器继续向所述备份客户端发送所还原的数据;以及
响应于确定所述存储器中不存在可用还原数据,由所述数据传输管理器通知所述备份客户端暂停从所述存储器读取数据。
14.根据权利要求11所述的设备,其中所述发送通知包括文件名称、文件路径以及文件大小,并且所述读取通知包括所述文件名称、所述文件路径、所述文件大小以及所述存储器的地址。
15.根据权利要求10所述的设备,其中将所还原的数据发送到与第二备份系统相对应的备份客户端包括:
在将所还原的数据发送到与第二备份系统相对应的备份客户端的同时,并发地将所还原的数据发送到与第三备份系统相对应的另一备份客户端,使得通过所述另一备份客户端将数据传输到所述第三备份系统。
16.根据权利要求10所述的设备,所述动作还包括:
确定所述待传输文件中的数据块的哈希值;
对所述哈希值进行加密以获得加密哈希值;
确定位置映射文件中是否存在所述加密哈希值;以及
响应于确定所述位置映射文件中不存在所述加密哈希值,从所述备份客户端向所述第二备份系统传输所述数据块,并且将所述加密哈希值记录在所述位置映射文件中。
17.根据权利要求16所述的设备,所述动作还包括:
响应于确定所述位置映射文件中存在所述加密哈希值,从所述位置映射文件读取所述数据块在所述第二备份系统中的位置信息,并且通知所述第二备份系统合成所述数据块。
18.根据权利要求17所述的设备,其中所述位置映射文件中存在多个截断的加密哈希值,每个截断的加密哈希值被映射到包括所述截断的加密哈希值的多个加密哈希值。
19.一种计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括计算机可执行指令,所述计算机可执行指令在被执行时使计算机执行根据权利要求1至9中任一项所述的方法。
CN201910991616.2A 2019-10-18 2019-10-18 用于传输数据的方法、设备和计算机程序产品 Pending CN112685225A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910991616.2A CN112685225A (zh) 2019-10-18 2019-10-18 用于传输数据的方法、设备和计算机程序产品
US16/792,843 US11340997B2 (en) 2019-10-18 2020-02-17 Method, device and computer program product for transmitting data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910991616.2A CN112685225A (zh) 2019-10-18 2019-10-18 用于传输数据的方法、设备和计算机程序产品

Publications (1)

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

Family

ID=75444804

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910991616.2A Pending CN112685225A (zh) 2019-10-18 2019-10-18 用于传输数据的方法、设备和计算机程序产品

Country Status (2)

Country Link
US (1) US11340997B2 (zh)
CN (1) CN112685225A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114996203B (zh) * 2022-05-19 2023-06-27 中诚华隆计算机技术有限公司 一种soc芯片、胶囊内镜机器人及胶囊内镜系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103530201A (zh) * 2013-07-17 2014-01-22 华中科技大学 一种适用于备份系统的安全数据去重方法和系统
US8805953B2 (en) * 2009-04-03 2014-08-12 Microsoft Corporation Differential file and system restores from peers and the cloud
CN105227374A (zh) * 2015-10-23 2016-01-06 浪潮(北京)电子信息产业有限公司 一种集群应用的故障迁移方法和系统
CN107506258A (zh) * 2016-06-14 2017-12-22 伊姆西公司 用于数据备份的方法和设备
CN109614202A (zh) * 2018-12-04 2019-04-12 北京京东尚科信息技术有限公司 容器环境的备份、恢复以及镜像处理方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8805953B2 (en) * 2009-04-03 2014-08-12 Microsoft Corporation Differential file and system restores from peers and the cloud
CN103530201A (zh) * 2013-07-17 2014-01-22 华中科技大学 一种适用于备份系统的安全数据去重方法和系统
CN105227374A (zh) * 2015-10-23 2016-01-06 浪潮(北京)电子信息产业有限公司 一种集群应用的故障迁移方法和系统
CN107506258A (zh) * 2016-06-14 2017-12-22 伊姆西公司 用于数据备份的方法和设备
CN109614202A (zh) * 2018-12-04 2019-04-12 北京京东尚科信息技术有限公司 容器环境的备份、恢复以及镜像处理方法和系统

Also Published As

Publication number Publication date
US20210117286A1 (en) 2021-04-22
US11340997B2 (en) 2022-05-24

Similar Documents

Publication Publication Date Title
CN107506258B (zh) 用于数据备份的方法和设备
US20190384678A1 (en) System and method for managing backup and restore of objects over cloud platforms
CN108733507B (zh) 文件备份和恢复的方法和设备
US8615588B2 (en) Accelerate copying of virtual machine images
CN110058959B (zh) 数据备份方法、设备和计算机程序产品
US9292215B2 (en) Managing virtual hard disk snapshots
US10705917B2 (en) Consolidated full backup of a restored virtual machine
CN102594858B (zh) 云存储环境中的镜像解决方案
US11314524B2 (en) Method, apparatus, and computer program product for managing service container
US11106831B2 (en) Method and device for managing storage system
CN109218356B (zh) 管理服务器上有状态应用的方法和设备
US10983718B2 (en) Method, device and computer program product for data backup
US9146816B2 (en) Managing system image backup
US11647103B1 (en) Compression-as-a-service for data transmissions
CN112685225A (zh) 用于传输数据的方法、设备和计算机程序产品
JP2023536304A (ja) マイクロサービス間通信の管理方法、システム、プログラム
CN111143113A (zh) 复制元数据的方法、电子设备和计算机程序产品
US11662928B1 (en) Snapshot management across cloud provider network extension security boundaries
CN113448770A (zh) 用于恢复数据的方法、电子设备和计算机程序产品
US10705755B2 (en) Method, apparatus and computer program product for data backup
CN110413207B (zh) 降低存储系统的数据恢复时间的方法、设备和程序产品
US11281391B2 (en) Method, device, and computer program for migrating backup system
CN113220500A (zh) 基于逆向差异恢复的恢复方法、设备和程序产品
US11307912B1 (en) Forward message compatibility safety in producer-consumer systems
US11513913B2 (en) Method for storage management, electronic device, and computer program product

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