CN103229172A - 复制数据 - Google Patents

复制数据 Download PDF

Info

Publication number
CN103229172A
CN103229172A CN2011800574602A CN201180057460A CN103229172A CN 103229172 A CN103229172 A CN 103229172A CN 2011800574602 A CN2011800574602 A CN 2011800574602A CN 201180057460 A CN201180057460 A CN 201180057460A CN 103229172 A CN103229172 A CN 103229172A
Authority
CN
China
Prior art keywords
data
data server
stored
server
new portion
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.)
Granted
Application number
CN2011800574602A
Other languages
English (en)
Other versions
CN103229172B (zh
Inventor
C·S·道森
H·N·马丁
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN103229172A publication Critical patent/CN103229172A/zh
Application granted granted Critical
Publication of CN103229172B publication Critical patent/CN103229172B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • 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
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了用于复制数据的方法、计算机系统、以及计算机程序产品。在第一数据服务器处接收元数据以及与元数据相关联的数据。标识还没有存储在第一数据服务器上的数据的新部分。在元数据存储在第二数据服务器上之前,将数据的新部分存储在第二数据服务器上。

Description

复制数据
技术领域
本发明一般涉及计算机,并具体来说,涉及用于复制数据(特别是在去重复系统中)的方法、计算机系统,以及计算机程序产品。
背景技术
复制模型在如何执行以及何时执行复制方面通常是同步或者异步的。在同步模型中,在数据被存储到源之后,数据尽可能快地复制到目标。某些模型可以作为事务处理的一部分来执行此操作,使得数据被写入到两个地点才被视为复制成功,而其它的模型可以选择允许事务/操作在源处完成,之后立即进行复制。在任一种情况下,就所提供的以及就最终用户实现的期望而言这是同步的,或者接近同步的。另一方面,某些机制允许异步调度复制。在此情况下,调度的复制预期在某种及时的方式内满足恢复点目标,同时将其与可用于复制的带宽/容量平衡。
在某些存储管理系统中,服务器到服务器复制是作为异步复制功能提供的,通过管理监督来调度和管理该异步复制功能。尽管复制有许多好处,但是,当执行复制时,这仍可能表示带宽和容量问题。作为例子,如果复制需要在所定义的复制窗口内处理几十万或数百万文件,则可能需要相当大的系统和网络资源。
公布的US专利申请2008/0263109A1公开了一种方法,该方法复制在去重复存储系统中的新去重复的段以及从去重复存储系统到副本系统的对去重复的段的引用。
US专利7,584,338公开了复制去重复的段和用于在副本系统上从去重复的段构建原始数据的指令的方法。
发明内容
在一个实施例中,提供了用于复制数据的方法。在第一数据服务器处接收元数据以及与元数据相关联的数据。标识还没有存储在第一数据服务器上的数据的新部分。在元数据存储在第二数据服务器上之前,将数据的新部分存储在第二数据服务器上。
在另一个实施例中,提供了计算机系统。计算机系统包括至少一个计算机可读取介质以及可操作地与至少一个计算机可读取介质进行通信的至少一个处理器。至少一个处理器适用于在第一数据服务器处接收元数据以及与元数据相关联的数据,标识还没有存储在所述第一数据服务器中的所述数据的新部分,以及在元数据存储在第二数据服务器上之前,将数据的新部分存储在第二数据服务器上。
在又一实施例中,提供了用于在计算环境中复制数据的计算机程序产品。计算机程序产品具有存储在其上的计算机可读取的程序代码部分。计算机可读取的程序代码部分包括第一可执行的部分、第二可执行的部分,以及第三可执行的部分。第一可执行的部分用于在第一数据服务器处接收元数据以及与元数据相关联的数据。第二可执行的部分用于标识还没有存储在所述第一数据服务器上的所述数据的新部分。第三可执行的部分用于在元数据存储在第二数据服务器上之前,将数据的新部分存储在第二数据服务器上。
相应地,本发明用于将新的数据块同步复制到目标存储器,此后,将对新复制的数据块的元数据引用从源存储器异步复制到目标存储器。
附图说明
为了容易地理解本发明的优点,将通过参考所附图中显示的特定实施例,提供上文简要描述的本发明的比较具体的描述。可以理解,这些附图只描绘了本发明的各实施例,并且因此不被认为是对其范围的限制,将通过使用附图并利用附加特征和细节来描述和解释本发明,在附图中:
图1是根据本发明的一个实施例的计算机环境中的用于复制数据的方法的流程图;
图2是根据本发明的一个实施例的计算机网络的框图;
图3是其中可以实现本发明的各个方面的示例性计算环境;以及
图4示出了如图3所示的包括处理器设备的去重复系统的示例性部分。
具体实施方式
本发明的各实施例提供了用于删除诸如计算机系统之类的计算机环境中的去重复的数据的方法、计算机系统,以及计算机程序产品。
在这样的服务器到服务器复制环境中,复制包含两个主要任务。其中一个任务是元数据协调。元数据引用为支持数据而存储的数据的属性,诸如文件的名称,它属于谁,它是何时存储的,及系统所使用的其他有意义的属性。另一个主要任务是数据的移动,作为所需的块的数据传输本身,或作为将对象与目标服务器上的现有的块相关联的数据引用传输。给定要处理的多种类型的数据和可能需要在大环境中处理的容量(即,大量的对象和数据块),需要优化以加快复制操作,同时平衡应用于给定复制操作的资源要求。
根据一个实施例,提出了一种混合型复制模型,其中,去重复的数据的新和唯一数据块(或部分或范围)在它们进入始发服务器并被标识时以接近同步方式发送到目标服务器。此异步模型中的数据的流可以通过管理多少带宽就可以被操作使用的策略来约束。这可以通过自举已经在目标服务器处可用的所需的数据块来增强异步复制,以便复制操作主要专注于元数据协调,因为需要传输较少的数据,这是因为它已经存储在目标服务器上了。基本上,数据的块作为去重复数据块来存储,而无需目标服务器上的对依赖的文件的对应的引用(即,元数据)。然后,使用从源服务器的未来的异步复制操作来建立引用这些块的元数据,该操作导致从未被使用(零引用)到由不管许多对象使用的块的引用值依赖于它。
如此,在一个实施例中,提供了用于复制数据的方法。在第一数据服务器上接收元数据以及与元数据相关联的数据。标识还没有存储在第一数据服务器上的数据的新部分。在元数据存储在第二数据服务器上之前,将数据的新部分存储在第二数据服务器上。
图1示出了根据本发明的一个实施例的用于复制数据的方法10。方法10在步骤12例如以文件(例如,元数据和相关联的数据或对象)被(或从)客户端向第一数据服务器发送来开始。在步骤14中,在第一数据服务器上接收(和/或存储)元数据。在步骤16中,标识对第一数据服务器而言是新的(即,还没有存储在第一数据服务器上)的数据的任何新部分。由于源和目标服务器之间的复制关系,因此,对源服务器是新并且唯一的数据也是发送到目标的候选。如通常所理解的,这样的过程可以被包括在去重复过程中,下面将描述其一个例子。然后,在步骤18中,在元数据存储在(和/或发送到)第二数据服务器上之前,数据的新部分存储在第二数据服务器上(例如,远程服务器,诸如在另一个城市)。
应该理解,目标服务器可以是用于从许多不同的源服务器进行复制的目标。如此,正被讨论的数据部分(即,以前未在源服务器上看见的新的并且唯一的数据部分)可能已经存在于目标服务器上,因为它从不同的源服务器填充。此处所描述的方法/系统可以允许这样的事实:在源上显得新的/唯一的部分可能实际不需要被发送,因为它已经存储在目标服务器上。在这样的情况下,可以做出判断不发送数据的这样的部分。
在步骤20中,方法10例如以完成将全部新的数据从第一数据服务器存储在第二服务器上来结束。然而,应该理解,在至少一些实施例中,在全部的新部分存储在第二服务器上之前,调度的异步复制过程可以中断方法10。例如,如果带宽被高度约束,则在调度的异步复制开始之前,新部分的仅仅20-30%可以存储在第二服务器上。然而,在这样的情况下,此处所描述的方法可以有利地减少接着在异步复制过程中执行的工作。
图2示出了根据本发明的一个实施例的计算机网络40。计算机网络40包括客户端42、源服务器(或第一数据服务器)44,以及目标服务器(或第二数据服务器)46。虽然在图2中未具体地示出,客户端42、源服务器44、以及目标服务器46通过诸如广域网(WAN)之类的网络可操作地进行通信。客户端42可以是诸如台式机或膝上型个人计算机(PC)之类的计算机系统。源服务器44和目标服务器46例如可以是数据存储服务器,如通常所理解的。
如上面建议的,本发明的各实施例可以利用客户端42向源服务器44发送数据包48启动。在一个实施例中,数据包48包括元数据和与元数据相关联的数据(或对象)。在接收到(和/或存储)元数据和数据的情况下,源服务器44执行去重复过程,如通常所理解的,以确保没有一种数据已存储在其上。在一个实施例中,去重复过程包括将数据分割为多个部分(或块或范围),计算每一个部分的散列值,并将计算出的散列值与已经存储在源服务器上的数据(即,“旧”数据)的散列值进行比较。
如果从客户端发送的数据的任何部分(即,在数据包48中)的散列值不匹配已经存储在源服务器44上的数据的散列值中的任何一个,则可以认为那些部分是新的或唯一的(即,还未存储在源服务器上)。在一个实施例中,数据的新部分50自动地被发送到目标服务器46并存储在那里(在被标识为对于源服务器44是新的/唯一的之后)。
特别感兴趣的是,在相关联的元数据被发送到目标服务器46或存储在那里之前,数据的新部分50发送到目标服务器46并存储在那里。换言之,在已启动源服务器44和目标服务器46之间的任何种类的复制(或备份)过程之前,新的数据部分被发送到目标服务器46。如在图2中所指出的,只有在启动复制过程(即,异步复制过程)之后,元数据52被发送到目标服务器46。如果复制过程在数据的所有新部分存储在目标服务器46上之前启动,则在复制过程开始之后剩余的新部分被发送到目标服务器46,如上文引用的(即,根据执行的常规复制过程以及该源和目标之间的同步)。
如此,此处所描述的方法实现了“块点滴”种类的数据传输,其中当标识新的/唯一的块时,它们被从源服务器44发送到目标服务器46。新的/唯一的块的这种点滴发送通过只必须传输对应的元数据和任何剩余的未发送的数据块并利用以下事实来优化实际的未来复制操作,该事实是所需的数据块中的许多数据块在实际复制操作之前就已经播种到目标服务器。
此方法利用源服务器数据库和这样的事实:当数据被去重复时,对具有对给定块的单个元数据(文件)引用的系统而言是新的数据是新的和唯一的,并且是发送到目标服务器的候选。对于导致对具有多于一个元数据(文件)引用的数据块的引用的那些数据块或引用在最后一次复制之前存储的数据块的那些数据块,这些不是新的和唯一的块,并将不会是用于立即点滴发送的候选。应该注意,在某些实施例中,存储管理系统也具有客户端去重复功能,客户端将只向服务器发送唯一块(即,服务器还没有的那些块)。这可能是服务器可以用来确定需要被发送到目标服务器的候选块的另一种机制。
新块的接近立即复制的另一个优点是,它提供数据冗余性。在发现源服务器上的块被损坏的情况下(例如,在已经执行存储池备份之前的设备故障),可以使用目标服务器46上的块,通过从目标服务器上的块创建源服务器44上的新副本来恢复损坏的块。即,如果存储在第一数据服务器上的数据的新块被认为被损坏,则将现在存储在目标服务器46上的对应的块发送到源服务器44。如此,源服务器44上的数据的损坏的新块被替换为从目标服务器46发送的数据的新部分。
图3示出了计算存储环境中的去重复系统(和/或存储管理系统)以及相关的组件的示例性体系结构100。体系结构100向多个备份主机260提供存储服务。在各种去重复系统组120、140、160,以及180之间提供了去重复的数据复制,如由虚线220和240所指示的。组120、140、160,以及180中的每一个都包括一个或多个主机260,它们通过诸如所指出的交换机280之类的联网组件连接到去重复系统300。去重复系统300通过诸如路由器320之类的联网组件互连,联网组件在组120、140、160,以及180之间提供互联网连接。网络200连接这样的去重复系统300和路由器320。在一个实施例中,网络200可以包括广域网(WAN)。在其他实施例中,网络200可以包括局域网(LAN)、存储区域网络(SAN),及为精通技术的人员所知的其他网络拓扑。尽管示出了路由器320和交换机280,但是,精通技术的人员还将认识到,额外的和/或替换联网组件也是可以的。
在一个实施例中,交换机280符合光纤通道网络协议,使交换机280和互连组件能够执行诸如小型计算机系统接口(SCSI)命令之类的命令。也如精通技术的人员将认识到的,这样的命令可以对于诸如磁盘驱动器、磁带设备、固态设备(SSD)等等之类的各种存储设备来执行。尽管体系结构100提供可以被用来实现本发明和所要求保护的主题的各个方面的组件一个例子,但是,精通技术的人员将认识到,其他这样的体系结构也是可以的。
现在请参看图4,示出了也如图3所示的去重复系统300的示例性部分500。去重复系统300的部分500可在计算机环境中作为其一部分来操作,其中,可以实现上面所示出的各实施例的机制。然而,应该理解,图4只是示例性的,而不打算声明或暗指关于其中可以实现各实施例的示例性方面的特定体系结构的任何限制。
去重复系统300包括处理器520和诸如随机存取存储器(RAM)之类的存储器540。去重复系统300可以可操作地耦合到为了方便起见未示出的多个组件,包括在图形用户界面上向用户呈现诸如窗口之类的图像的显示器、键盘、鼠标、打印机等等。当然,所属领域的技术人员将认识到,上面的组件的任何组合,或任意数量的不同的组件,外围设备及其他设备,可以与去重复系统300一起使用。
在所示出的实施例中,去重复系统300在存储在存储器540中的操作系统(OS)560(例如,
Figure BDA00003270612800071
Figure BDA00003270612800072
Figure BDA00003270612800073
Figure BDA00003270612800074
Figure BDA00003270612800075
MAC
Figure BDA00003270612800076
的控制之下操作,并与用户交互以接受输入和命令并呈现结果。在本发明的一个实施例中,OS560根据本发明促进速率控制机制。为此,OS560包括速率控制模块660,该速率控制模块660可以适用于执行此处的示例性方法中的各种进程和机制。
去重复系统300可以实现编译器600,该编译器600允许以诸如
Figure BDA00003270612800081
Figure BDA00003270612800082
的编程语言或任何其他编程语言编写的应用程序580被转换为可由处理器520读取的代码。在完成之后,应用程序580使用利用编译器600所生成的关系以及逻辑来访问和操纵存储在系统300的存储器540中的数据。
为进一步实现并执行根据本发明的机制和进程,OS560与存储器540、处理器520、应用程序580及其他计算机处理、联网和存储组件一起,可以作为去重复的数据的处理块620来实现工作器640。如精通技术的人员将认识到,如目前所示出的工作器640和块620的机制可以以各种形式和体系结构来实现。相应地,本图中的工作器640和块620的例图再次旨在演示去重复系统300中的可能的计算组件之间的逻辑关系,而不暗示特定物理结构或关系。
在一个实施例中,实现操作系统560、计算机程序580和编译器600,以及工作器640和块620的指令可触摸地以计算机可读取介质实现,计算机可读取介质可以包括一个或多个固定或可移动的数据存储设备,诸如压缩驱动器、盘、硬盘驱动器、DVD/CD-ROM、数字磁带、SSD等等。进一步地,操作系统560和应用程序580包括指令(例如,在可执行的部分中),当由系统300读取和执行时,这些指令导致系统300执行实现和/或使用本发明所需的步骤。应用程序580和/或操作系统560指令还可以以存储器540可触摸地实现和/或通过各种组件(例如,路由器320,图6)通过网络200传输或访问。如此,如此处可以使用的术语"制品"、"程序存储设备"和"计算机程序产品"计划涵盖可以从任何计算机可读设备、介质访问的和/或操作的计算机程序。
本发明的各实施例可以包括一个或多个相关联的软件应用程序580例如包括用于管理包括计算设备的网络(诸如存储区域网络(SAN))的分布式计算机系统的功能。相应地,处理器520可以包括一个或多个存储管理处理器(SMP)。应用程序580可以在单个计算机和/或去重复系统300内或作为包括计算设备的网络的分布式计算机系统的一部分来操作。网络可以涵盖通过局域网和/或因特网连接(可以是公共或安全的,例如,通过虚拟专用网络(VPN)连接),或通过光纤通道SAN或所属领域的技术人员所理解的其他已知网络类型而连接的一台或多台计算机。(请注意,光纤通道SAN通常只用于计算机与存储系统进行通信,而不是彼此进行通信)。
应该注意,权利要求书、说明书、和附图的范围内所示出的设备、系统、程序和方法中的诸如操作、过程、步骤和阶段之类的进程的执行顺序不通过使用诸如“在…之前”和“在…前”之类的表达来特别清楚地指定。因此,这些进程可以任何顺序执行,除非前面的进程的输出用于后续的进程中。即使权利要求书、说明书或附图中的范围内的任何操作流是为了方便通过使用诸如“首先”和“随后”之类的表达来描述的,这不一定意味着,操作流必须通过由这些表达所指出的顺序来执行。

Claims (20)

1.一种用于复制数据的方法,包括:
在第一数据服务器(44)处接收(14)元数据以及与所述元数据相关联的数据;
标识(16)还没有存储在所述第一数据服务器上的所述数据的新部分;以及
在所述元数据(52)存储在第二数据服务器(46)上之前,将所述数据的所述新部分(50)存储(18)在所述第二数据服务器上。
2.如权利要求1所述的方法,其中,所述标识(16)数据的所述新部分(50)包括:
将所述数据分割为多个部分;
计算所述多个部分中的每一个部分的散列值;以及
将所述多个部分的所述散列值与已经存储在所述第一数据服务器(44)上的数据的部分的散列值进行比较。
3.如权利要求2所述的方法,还包括将所述数据的所述新部分(50)存储在所述第一数据服务器(44)上。
4.如权利要求3所述的方法,还包括:
如果认为存储在所述第一数据服务器(44)上的数据的所述新部分(50)被损坏,则将存储在所述第二数据服务器(46)上的数据的所述新部分发送到所述第一数据服务器;以及
将所述第一数据服务器上的数据的被损坏的新部分替换为从所述第二数据服务器发送的数据的所述新部分。
5.如权利要求1所述的方法,还包括:
在所述第一数据服务器(44)和所述第二数据服务器(46)之间启动复制过程;以及
在数据的所述新部分存储在所述第二数据服务器上之后,将所述元数据(52)存储在所述第二数据服务器上。
6.如权利要求5所述的方法,其中,数据的所述新部分(50)包括新的数据的多个范围,以及还包括:如果在新的数据的所有范围存储在所述第二数据服务器(46)上之前启动所述复制过程,则在所述元数据(52)存储在所述第二数据服务器上之后,将新的数据的剩余范围存储在所述第二数据服务器上。
7.如权利要求6所述的方法,其中,所述第二数据服务器(46)远离所述第一数据服务器(44)。
8.一种计算机系统,包括:
至少一个计算机可读取介质;以及
可操作地与所述至少一个计算机可读取介质进行通信的至少一个处理器(520),所述至少一个处理器适用于:
在第一数据服务器(44)处接收(14)元数据(52)和与所述元数据相关联的数据(50);
标识(16)还没有存储在所述第一数据服务器上的所述数据的新部分(50);以及
在所述元数据存储在第二数据服务器(46)上之前,将所述数据的所述新部分存储(18)在所述第二数据服务器(46)上。
9.如权利要求8所述的计算机系统,其中,所述标识(16)数据的所述新部分(50)包括:
将所述数据分割为多个部分;
计算所述多个部分中的每一个部分的散列值;以及
将所述多个部分的所述散列值与已经存储在所述第一数据服务器(44)上的数据的部分的散列值进行比较。
10.如权利要求9所述的计算机系统,其中,所述至少一个处理器(520)进一步适用于将所述数据的所述新部分(50)存储在所述第一数据服务器(44)上。
11.如权利要求10所述的计算机系统,其中,所述至少一个处理器(520)进一步适用于:
如果认为存储在所述第一数据服务器(44)上的数据的所述新部分(50)被损坏,则将存储在所述第二数据服务器(46)上的数据的所述新部分发送到所述第一数据服务器;以及
将所述第一数据服务器上的数据的被损坏的新部分替换为从所述第二数据服务器发送的数据的所述新部分。
12.如权利要求8所述的计算机系统,其中,所述至少一个处理器(520)进一步适用于:
在所述第一数据服务器(44)和所述第二数据服务器(46)之间启动复制过程;以及
在数据的所述新部分存储在所述第二数据服务器上之后,将所述元数据(52)存储在所述第二数据服务器上。
13.如权利要求12所述的计算机系统,其中,数据的所述新部分(50)包括新的数据的多个范围,以及其中,所述至少一个处理器(520)进一步适用于:
如果在新的数据的所有范围存储在所述第二数据服务器(46)上之前启动所述复制过程,则在所述元数据(52)存储在所述第二数据服务器上之后,将新的数据的剩余范围存储在所述第二数据服务器上。
14.如权利要求13所述的计算机系统,其中,所述第二数据服务器(46)远离所述第一数据服务器(44)。
15.一种用于复制计算环境中的数据的计算机程序产品,所述计算机程序产品具有计算机可读取的程序代码部分,所述计算机可读取的程序代码部分包括:
用于在第一数据服务器(44)处接收(14)元数据和与所述元数据相关联的数据的第一可执行的部分;
用于标识(16)还没有存储在所述第一数据服务器上的所述数据的新部分的第二可执行的部分;以及
用于在所述元数据(52)存储在第二数据服务器(46)上之前将所述数据的所述新部分(50)存储(18)在所述第二数据服务器上的第三可执行的部分。
16.如权利要求15所述的计算机程序产品,其中,所述标识(16)数据的所述新部分(50)包括:
将所述数据分割为多个部分;
计算所述多个部分中的每一个部分的散列值;以及
将所述多个部分的所述散列值与已经存储在所述第一数据服务器(44)上的数据的部分的散列值进行比较。
17.如权利要求16所述的计算机程序产品,还包括用于将所述数据的所述新部分(50)存储在所述第一数据服务器(44)上的第四可执行的部分。
18.如权利要求17所述的计算机程序产品,还包括:
用于如果认为存储在所述第一数据服务器上的数据的所述新部分被损坏,则将存储在所述第二数据服务器(46)上的数据的所述新部分(50)发送到所述第一数据服务器(44)的第五可执行的部分;以及
用于将所述第一数据服务器上的数据的被损坏的新部分替换为从所述第二数据服务器发送的数据的所述新部分的第六可执行的部分。
19.如权利要求15所述的计算机程序产品,还包括:
用于在所述第一数据服务器(44)和所述第二数据服务器(46)之间启动复制过程的第四可执行的部分;以及
用于在数据的所述新部分存储在所述第二数据服务器上之后将所述元数据存储在所述第二数据服务器上的第五可执行的部分。
20.如权利要求19所述的计算机程序产品,其中,所述第二数据服务器(46)远离所述第一数据服务器(44),以及数据的所述新部分包括新的数据的多个范围,并还包括:
第六可执行的部分,用于如果在新的数据的所有范围存储在所述第二数据服务器上之前启动所述复制过程,则在所述元数据(52)存储在所述第二数据服务器上之后,将新的数据的剩余范围存储在所述第二数据服务器上。
CN201180057460.2A 2010-12-13 2011-11-28 复制数据 Expired - Fee Related CN103229172B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/966,649 2010-12-13
US12/966,649 US8438130B2 (en) 2010-12-13 2010-12-13 Method and system for replicating data
PCT/EP2011/071209 WO2012079967A2 (en) 2010-12-13 2011-11-28 Replicating data

Publications (2)

Publication Number Publication Date
CN103229172A true CN103229172A (zh) 2013-07-31
CN103229172B CN103229172B (zh) 2017-07-11

Family

ID=45063131

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180057460.2A Expired - Fee Related CN103229172B (zh) 2010-12-13 2011-11-28 复制数据

Country Status (5)

Country Link
US (1) US8438130B2 (zh)
CN (1) CN103229172B (zh)
DE (1) DE112011103367T5 (zh)
GB (1) GB2500160A (zh)
WO (1) WO2012079967A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015081473A1 (zh) * 2013-12-02 2015-06-11 华为技术有限公司 异步复制方法、装置与系统
CN105631042A (zh) * 2016-01-26 2016-06-01 北京京东尚科信息技术有限公司 一种数据验重的方法和装置

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8825792B1 (en) * 2008-03-11 2014-09-02 United Services Automobile Association (Usaa) Systems and methods for online brand continuity
US9633022B2 (en) * 2012-12-28 2017-04-25 Commvault Systems, Inc. Backup and restoration for a deduplicated file system
US9306985B1 (en) * 2014-03-25 2016-04-05 8X8, Inc. User configurable data storage
US9450879B2 (en) * 2014-05-09 2016-09-20 Nexgen Storage, Inc. Adaptive bandwidth throttling
US10387374B2 (en) 2015-02-27 2019-08-20 Exagrid Systems, Inc. Scalable grid deduplication
US10073855B2 (en) 2015-05-21 2018-09-11 Exagrid Systems, Inc. Dynamic and optimized management of grid system resources
US10303656B2 (en) 2015-08-13 2019-05-28 Exagrid Systems, Inc. Parallelizing and deduplicating backup data
US11150997B2 (en) * 2015-08-19 2021-10-19 Exagrid Systems, Inc. Adaptive bandwidth management of a replication process

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1418422A (zh) * 2000-02-04 2003-05-14 里逊·Com股份有限公司 用于分布式媒体网络和元数据服务器的系统
US20050086272A1 (en) * 2003-07-31 2005-04-21 Lev Novik Et Al. To Microsoft Corporation Systems and methods for replicating data stores
CN1688992A (zh) * 2002-10-15 2005-10-26 三星电子株式会社 用于管理元数据的方法
CN101216791A (zh) * 2008-01-04 2008-07-09 华中科技大学 基于指纹的文件备份方法
CN101707884A (zh) * 2007-04-19 2010-05-12 数据域公司 播种复制
US20100293147A1 (en) * 2009-05-12 2010-11-18 Harvey Snow System and method for providing automated electronic information backup, storage and recovery

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050071391A1 (en) * 2003-09-29 2005-03-31 International Business Machines Corporation High availability data replication set up using external backup and restore
US7584338B1 (en) 2005-09-27 2009-09-01 Data Domain, Inc. Replication of deduplicated storage system
US7870409B2 (en) * 2007-09-26 2011-01-11 Hitachi, Ltd. Power efficient data storage with data de-duplication
US8356017B2 (en) 2009-08-11 2013-01-15 International Business Machines Corporation Replication of deduplicated data
US8700676B2 (en) * 2010-04-09 2014-04-15 Dell Products L.P. System and method for appending metadata to objects

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1418422A (zh) * 2000-02-04 2003-05-14 里逊·Com股份有限公司 用于分布式媒体网络和元数据服务器的系统
CN1688992A (zh) * 2002-10-15 2005-10-26 三星电子株式会社 用于管理元数据的方法
US20050086272A1 (en) * 2003-07-31 2005-04-21 Lev Novik Et Al. To Microsoft Corporation Systems and methods for replicating data stores
CN101707884A (zh) * 2007-04-19 2010-05-12 数据域公司 播种复制
CN101216791A (zh) * 2008-01-04 2008-07-09 华中科技大学 基于指纹的文件备份方法
US20100293147A1 (en) * 2009-05-12 2010-11-18 Harvey Snow System and method for providing automated electronic information backup, storage and recovery

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015081473A1 (zh) * 2013-12-02 2015-06-11 华为技术有限公司 异步复制方法、装置与系统
CN105631042A (zh) * 2016-01-26 2016-06-01 北京京东尚科信息技术有限公司 一种数据验重的方法和装置

Also Published As

Publication number Publication date
GB2500160A (en) 2013-09-11
DE112011103367T5 (de) 2013-07-18
GB201312426D0 (en) 2013-08-28
US20120150798A1 (en) 2012-06-14
WO2012079967A2 (en) 2012-06-21
US8438130B2 (en) 2013-05-07
WO2012079967A3 (en) 2012-10-26
CN103229172B (zh) 2017-07-11

Similar Documents

Publication Publication Date Title
CN103229172A (zh) 复制数据
US11797395B2 (en) Application migration between environments
US8949182B2 (en) Continuous and asynchronous replication of a consistent dataset
US10114581B1 (en) Creating a virtual access point in time on an object based journal replication
CN100530124C (zh) 将应用重新定位到拓扑上位于远程计算系统的系统和方法
US11663085B2 (en) Application backup and management
CN107533499B (zh) 用于在存储系统之间执行故障转移的方法和系统
US8645323B2 (en) Large volume data replication using job replication
US10482104B2 (en) Zero-data loss recovery for active-active sites configurations
TWI509423B (zh) 在叢集檔案系統間之同步更新
US8230256B1 (en) Method and apparatus for achieving high availability for an application in a computer cluster
US20160103845A1 (en) Enhanced Handling Of Intermediate Data Generated During Distributed, Parallel Processing
CN104346240B (zh) 用于在迁移操作期间利用多个存储器池的方法和装置
CN103036986A (zh) 在分布式应用对象上提供更新通知
JP2011530127A (ja) データセンタにわたる複数データサーバ間のデータ完全性を保持する方法およびシステム
CN101086714A (zh) 用于实施远程镜像操作的系统和方法
US11442817B2 (en) Intelligent scheduling of backups
TW201322134A (zh) 虛擬機管理系統及方法
US11675674B2 (en) Instant recovery of databases
US10079883B2 (en) Primary device selection at operating system initialization
US10976941B2 (en) Validation of storage volumes that are in a peer to peer remote copy relationship
US10680890B2 (en) Non-disruptively splitting a coordinated timing network
US10831621B2 (en) Policy-driven high availability standby servers
US10102228B1 (en) Table and index communications channels
US20140380089A1 (en) Method and apparatus for recovering failed disk in virtual machine

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170711