本发明专利技术提供了用于复制数据的方法、计算机系统、以及计算机程序产品。在第一数据服务器处接收元数据以及与元数据相关联的数据。标识还没有存储在第一数据服务器上的数据的新部分。在元数据存储在第二数据服务器上之前,将数据的新部分存储在第二数据服务器上。
【技术实现步骤摘要】
【国外来华专利技术】复制数据
本专利技术一般涉及计算机,并具体来说,涉及用于复制数据(特别是在去重复系统中)的方法、计算机系统,以及计算机程序产品。
技术介绍
复制模型在如何执行以及何时执行复制方面通常是同步或者异步的。在同步模型中,在数据被存储到源之后,数据尽可能快地复制到目标。某些模型可以作为事务处理的一部分来执行此操作,使得数据被写入到两个地点才被视为复制成功,而其它的模型可以选择允许事务/操作在源处完成,之后立即进行复制。在任一种情况下,就所提供的以及就最终用户实现的期望而言这是同步的,或者接近同步的。另一方面,某些机制允许异步调度复制。在此情况下,调度的复制预期在某种及时的方式内满足恢复点目标,同时将其与可用于复制的带宽/容量平衡。在某些存储管理系统中,服务器到服务器复制是作为异步复制功能提供的,通过管理监督来调度和管理该异步复制功能。尽管复制有许多好处,但是,当执行复制时,这仍可能表示带宽和容量问题。作为例子,如果复制需要在所定义的复制窗口内处理几十万或数百万文件,则可能需要相当大的系统和网络资源。公布的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例本文档来自技高网...

【技术保护点】
【技术特征摘要】
【国外来华专利技术】2010.12.13 US 12/966,6491.一种用于复制数据的方法,包括:在第一数据服务器(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)和与所述元数据相关联的数据;标识(16)还没有存储在所述第一数据服务器上的所述数据的新部分(50);以及在所述元数据存储在第二数据服务器(46)上之前,将所述数据的所述新部分存储(18)在所述第二数据服务器(46)上;使用从第一数据服务器的未来的异步复制操作来在第二数据服务器上建立引用所述数据的所述新部分的元数据。9.如权利要求8所述的计算机系统,其中,所述标识(16)数据的所述新部分(50)包括:将所述数据分割为多个部分;计算所述多个部分中的每一个部分的散列值;以及将所述多个部分的所述散列值与已经存储在所述第一数据服务器(44)上的数据的部分的散列值进行比较。10.如权利要求9所述的计算机系统,其中,所述至少一个处理器(520)进一步适用于将所述数据的所述新部分(50)存储在所述第一数据服务器(44)上。11.如权利要求10所述的计算机系统,其中,所述至少一个处理器(520)进一步适用于:如果认为存储在所述第一数据服务器(44)上的数据的所述新部分(50)被损坏,则将...
【专利技术属性】
技术研发人员:C·S·道森,H·N·马丁,
申请(专利权)人:国际商业机器公司,
类型:
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。