CN101061467B - 远程存储数据副本 - Google Patents
远程存储数据副本 Download PDFInfo
- Publication number
- CN101061467B CN101061467B CN2005800313842A CN200580031384A CN101061467B CN 101061467 B CN101061467 B CN 101061467B CN 2005800313842 A CN2005800313842 A CN 2005800313842A CN 200580031384 A CN200580031384 A CN 200580031384A CN 101061467 B CN101061467 B CN 101061467B
- Authority
- CN
- China
- Prior art keywords
- data
- memory device
- assigned address
- raw data
- copy
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1461—Backup scheduling policy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Retry When Errors Occur (AREA)
- Radar Systems Or Details Thereof (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
公开一种存储数据的方法。该方法包括接收要将数据写入到第一存储设备上的指定位置的请求(图8)。该方法还包括在将数据写入到指定位置之前在第二存储设备上存储指定位置中存储的原始数据的复本,并将该数据写入到指定位置。
Description
其他申请的交叉引用
本申请要求2005年7月23日提交的美国临时专利申请申请号60/590,595(代理人案号LEGAP072+)、标题为“SNAP复制”(SNAPREPLICATION)的优先权,通过引用将其全部结合于本文。
背景技术
随着时间迁移,有新的或改善的信息可用时,计算机上的数据更改或被更新。在一些情况中,所期望的是能够恢复信息或以其他方式访问特定时间点存在的信息。这可能是所期望的,因为例如当前数据已经丢失或损坏或对该数据的后来更改认为是非期望的。一种解决方案是拷贝源存储设备上存储的所有数据,并每次将复本转移到用户可能希望将数据恢复到的另一个存储设备上。但是,此类方法占用大量网络、处理器和存储资源;在许多情况中同一个数据被反复拷贝,即使它并没有被更改过。因此能够以有效率地使用联网和处理资源将数据恢复到特定的时间点,则是有用的。
附图说明
在下文详细描述和附图中公开本发明的多种实施例。
图1图示用于远程存储原始数据副本的系统实施例。
图2图示用于数据的源系统的实施例。
图3图示一个实施例中复制的块数据结构。.
图4图示用于远程存储原始数据副本的过程的实施例。
图5图示复制系统的过程的实施例。
图6图示用于激活用于存储原始数据副本的系统的过程的实施例。
图7图示用于将数据块拷贝到一个或多个远程目标系统的过程的实施例。
图8图示用于恢复数据的过程的实施例。
图8图示副本数据的时序的示例。
图9图示用于恢复数据的过程的实施例。
图10图示用于远程存储数据副本的过程的实施例。
图11图示副本数据的时序的示例。
图12图示用于恢复数据的过程的实施例。
具体实施方式
本发明能以多种方式实现,包括过程、设备、系统、物的组合、计算机可读媒体(例如计算机可读存储媒体)或可用于通过光或电通信链路发送程序指令的计算机网络。在该说明书中,这些实现方式或本发明可以采用的任何其他形式称为技术。描述配置为执行任务的诸如处理器或存储器的组件包括在给定时间临时配置为执行该任务的通用组件或为执行该任务制造的特定组件。一般来说,在本发明范围内所公开的过程的步骤的顺序是可更改的。
下文结合图示本发明原理的附图对本发明的一个或多个实施例进行了详细描述。本发明是结合此类实施例来描述的,但是本发明并不局限于任何实施例。本发明的范围仅由权利要求限定,本发明涵盖许多变化、修改和等效物。下文描述中提出了许多特定细节,以便提供对本发明的透彻理解。这些细节是出于示范目的提供的,本发明可以根据权利要求来实施而不拘泥这些特定细节的一些或全部。出于简明的目的,未详细地描述在与本发明相关的技术领域中公知的技术材料,以免使本发明难以理解。
公开了远程存储原始数据副本。选择基准时间或其他基线建立标准,以便复制系统能够将源数据恢复到它在该基准时间或其他基线处所存在的相同状态。在接收到将新的或修改的数据写入到第一存储设备中指定位置的请求时,在盖写该指定位置处的数据之前,将来自该指定位置的数据的复本存储在一个或多个其他存储设备上。然后将新的或修改的数据写入到第一存储设备上的指定位置。在一些实施例中,仅在基准时间或其他基线之后第一次将数据写入到指定位置时,将指定存储位置处存储的数据写入到一个或多个其他存储设备。在一些实施例中,将复制的数据存储在远离与原始数据相关联的源主机的存储设备上,从而能够保留原始数据,而无需在本地存储它。
图1图示用于远程存储原始数据副本的系统的实施例。在所示的示例中,源系统100包括存储设备102和处理器104。在一些实施例中,源系统100包括主机计算机系统。数据可以在存储单元102与处理器104之间传送。数据还可以在处理器104与多个目标远程系统之间传送,在此情况中由目标远程系统106和112表示。在一些实施例中,源系统100包括耦合到处理器104的通信接口(图1中未示出)、例如网络接口卡,其中通信接口配置为用于经由例如一个或多个网络将数据从源系统发送到目标远程系统(例如目标远程系统106和112)。目标远程系统106包括它们之间可以传送数据的处理器108和存储设备110,目标远程系统112相似地包括它们之间也可以传送数据的处理器114和存储设备116。在多种实施例中,目标远程存储设备作为源系统内的第二存储设备直接连接到源系统,作为外部连接的存储设备连接到源系统,或者作为网络连接的存储设备连接到源系统。在一些实施例中,源系统100配置为在以新的或更新的数据盖写存储在存储设备102上的原始数据之前,向一个或多个目标远程系统(例如106和112)发送此原始数据的副本。在一些实施例中,在基准时间或其他基线事件之后第一次写入存储设备102上的特定位置时,将原始数据的副本发送到目标远程系统。然后可以在后来时间使用该副本数据检索原始数据,例如从目标远程系统访问该时间所存在的数据的复本。在一些实施例中,可以将副本数据发送到源系统,以及可以恢复与该副本相关联的时间或状态处所存在的数据和/或以其他方式使之在源系统处可用。
在一些实施例中,在目标远程系统上创建副本数据相关联的时间点(例如快照(snapshot)时间)处所存在的存储设备102上存储的源数据的文件系统表示,以及使该时间处所存在的存储视图在远程系统上可用,例如作为用户可以浏览以查找文件的先前版本的树结构或文件夹结构提供。在一些实施例中,每次对源系统取快照时,将自上次快照起在源系统上已更改的块(即那些块中的新数据)的复本发送到远程系统,并将其合并到源块在远程系统上的主复本中。在一些实施例中,目标远程存储设备配置为从多于一个源系统接受原始数据块,以及可以从远程目标系统访问来自多个此类系统的文件或其他数据的先前版本。
图2图示用于数据的源系统的实施例。在所示的示例中,源系统200包括应用202、文件系统204、复制驱动器206和存储设备驱动器208。应用202包括复制应用、例如允许用户存储相关联的存储设备的“快照”或其一部分的备份和恢复应用,该快照或其一部分表示与该快照相关联的时间(或事件)处源存储设备(或其一部分)上存储的数据的状态。在一些实施例中,复制应用与复制驱动器206通信,以便例如告知复制驱动器206基准时间或其他基线事件已发生或将在指定时间处发生。在一些实施例中,复制驱动器206配置为经由例如文件系统204接收来自应用202的请求,以便将指定的数据写入到与存储设备驱动器208相关联的存储设备上的指定位置。在一些实施例中,在向存储设备驱动器208传递经由文件系统204从适合的应用202接收到的新的或更新的数据之前,复制驱动器206向第二存储位置(例如远离源系统200的第二存储设备)发送与存储设备驱动器208相关联的存储设备上的指定存储位置中存储的原始数据的副本,例如通过使用存储设备驱动器208来读取指定存储位置中存储的原始数据并将读取的原始数据的复本发送到第二存储设备。
图3图示一个实施例中使用的复制的块数据结构,以便跟踪已经将原始数据拷贝到辅助(例如远程)存储位置的存储设备块。在所示的示例中,复制的块数据结构300包含多个块编号和多个对应的复制的块指示符。图3中这些多个块编号由块#0、块#1、块#2和块#3来表示。相似地,图3中这些多个已复制块指示符由已复制块指示符#0、已复制块指示符#1、已复制块指示符#2和已复制块指示符#3来表示。在一些实施例中,已复制块数据结构包含位图,其中位图中的每个位对应于源存储设备上的块,位状态“0”或“1”指示是否已远程存储与该数据块相关联的原始数据的副本。在一些实施例中,每次取得快照时,将源系统上的已复制块数据结构(例如位图)复位。在一些实施例中,远程目标系统维护源系统处取得的每个快照的原始数据块副本的池。当在源系统上取得新的快照时,则创建新池。
在一些实施例中,随着时间推移(例如预先配置的和/或可配置的时间期间之后和/或预先配置的和/或可配置的事件发生之后和/或多个事件、一组事件和/或一系列事件顺序之后),在远程系统上撤销与先前快照相关联的池,例如通过将它们合并到远程系统上存储的源系统数据块的主集合中和/或删除作废或不再感兴趣的已存储的原始数据的块,之后则无法以数据在与此类快照相关联的时间或状态处存在的形式访问数据,因为远程系统上的副本数据块池已被撤销。
图4图示用于远程存储基本数据副本的过程的实施例。在所示的示例中,在400,接收要将数据写入源存储设备上的指定位置处的请求。在一些实施例中,在源存储设备上的指定位置处写入数据包括在源存储设备上写入一个或多个数据块,其结果是此一个或多个数据块中存储的原始数据(如果有的话)将被盖写。在402,将来自源存储设备上指定位置的原始数据的复本存储在一个或多个目标远程存储设备上。在一些实施例中,将此一个或多个原始数据块存储在一个或多个目标远程设备上,以使复制应用能够在后来时间恢复原始数据。在404,将数据写入到源存储设备上的指定位置。由于此原因,在源存储设备上的指定位置处,此一个或多个原始数据块被请求的数据盖写。
图5图示用于配置复制系统的过程的实施例。在一些实施例中,该系统包括复制应用和复制驱动器。在所示的示例中,在500,将该系统初始化用于存储原始数据的副本。一些实施例中的初始化包括选择要复制原始数据的源数据块,选择要用于存储原始数据的副本的一个或多个目标远程系统,以及初始化复制驱动器。在502,为原始数据选择标准。可以将原始数据定义为在基于周期(例如一周一次)指定基准时间情况下的某个基准时间处发生、当事件发生时(例如,软件版本发布或在已修改预定量的数据之后)在定义的时间处发生或在确定需要原始数据的远程存储的复本的任何其他方式下发生。在一些实施例中,事件是快照备份,其中快照备份使数据能够恢复到与执行快照时所存在的数据相同的状态。在一些实施例中,源系统的用户可以在任何任意时间指示应该发生快照或其他基线事件。在504,激活用于存储原始数据副本的系统。
在一些实施例中,初始化包括将源数据块拷贝到目标远程系统以创建数据块的主集合。
图6图示用于远程存储基本数据副本的过程的实施例。在600,在选择的基准时间处,初始化已复制块数据结构。在一些实施例中,已复制块数据结构包括图3的已复制块数据结构300和/或位图,以及600包括将块状态位或其他值、例如图3中的“块已复制指示符”值复位到指示尚未复制与该块相关联的原始数据的值或状态。在602,接收在包含原始数据的源数据块的存储设备上的特定位置处写入数据块的请求。一旦接收到请求,则在604,确定与存储设备上特定位置相关联的原始数据的副本是否已存储在目标远程系统上。如果尚未存储该原始数据的副本,则在606,将当前在该特定位置中存储的数据的复本发送到一个或多个目标远程系统,并更改已复制块数据结构以指示已远程存储拷贝。控制传递到608。如果已存储副本,或一旦在606存储副本,则在608,根据请求将接收到的数据写入到特定位置。在610,确定图6的过程的当前迭代完成。在一些实施例中,在610,如果自选择的基准时间起已复制所有源数据块(即已将数据块的副本存储在一个或多个目标远程系统上),则确定当前迭代完成。在一些实施例中,在610,如果下一个基准时间到达或某个其他基线事件发生,则确定当前迭代完成。如果在610确定当前迭代未完成,则控制传递到602,以及当接收到将数据写入特定位置的下一个请求(如果有的话)时过程继续。如果在610确定当前迭代完成,则在612确定是否有另一个基准时间。如果有另一个基准时间,则在614选择下一个基准时间,并且控制传递到600。如果没有另一个基准时间,则过程结束。
图7图示用于将数据块拷贝到一个或多个远程目标系统的过程的实施例。在一些实施例中,使用图7中的过程来实现图6的606。在所示的示例中,在700中,过程从第一个选择的目标远程系统开始。在702,将数据块拷贝到选择的目标远程系统。在704,确定它是否是最后一个目标远程系统。如果它不是最后一个目标远程系统,则在706选择下一个目标远程系统,并且控制传递到702。如果它是最后一个目标远程系统,则在708,指示已在已复制块数据结构中复制该数据块,并且过程结束。在多种实施例中,以并行方式将数据块广播到目标远程系统,或可以将数据块发送到一个目标远程系统,该目标远程系统然后将这些数据块传递到另一个目标远程系统上(并依此类推,直到所有目标远程系统接收到这些数据块为止)。
图8图示一个实施例中源系统和远程系统存储的块的时序的示例。在所示的示例中,在时间t=0,快照1发生,源系统具有存储的块A0、B0和C0,远程系统没有任何存储的块。在时间t=1,块B0更改为B1,这促使将B0(原始数据块)的复本发送到远程系统。在时间t=2,块B1更改为B2,这不会促使发送任何复本,因为已经发送了B0(原始数据块)。在时间t=3,快照2发生,并且通过收集自上次快照起发送的所有块,在远程系统上利用B0创建快照1块集合。在时间t=4,块B2和C0更改为B4和C4,这促使将B2和C0(原始数据块)的复本发送到远程系统。在时间t=5,块A0和C4更改为A5和C5,这促使发送复本A0(原始数据块)。注意因为自上次快照起已经发送C0,所以不发送C4。在时间t=6,快照3发生,并且通过收集自上次快照起发送的所有块,在远程系统上利用A0、B2和C0创建快照2块集合。由此,创建原始数据块的块集合,这使该块集合相关联的快照相关联的时间所存在的所有或部分源数据集合能够通过将包含该块集合的合适块与源数据集合的对应部分合并而被访问,这可以在源系统和/或远程系统上执行,具体视实施例而定。
图9图示用于恢复数据的过程的实施例。在所示的示例中,在900,接收要将数据恢复到该数据在特定基准时间处所处的状态的请求。在902,从目标远程系统检索被请求的数据所对应的原始数据块,以便恢复该数据。在一些实施例中,需要来自源系统的存储的块才能将数据恢复到该数据在指定基准时间处所处的状态。在904,将原始数据块写入到存储设备上的指定位置,并且过程结束。在一些实施例中,图9的过程可以用于检索基准时间或与基线事件相关联的时间所存在的数据(例如文档或其他文件)的版本。在一些实施例中,在源系统上创建某个时间点的存储的文件系统表示,并将该指定时间点所存在的存储的视图呈示给用户。
图10图示用于远程存储数据副本的过程的实施例。在1000,将原始数据块的主集合从源系统拷贝到远程系统。在1001,初始化用于跟踪自最后一个基准时间起更改了源系统上的哪些块的已更改块数据结构。在一些实施例中,已更改块数据结构包括图3的已复制块数据结构300和/或位图,以及1001包括将块状态位或其他值、例如图3中的“块已复制指示符”值复位到指示与该块相关联的原始数据已更改且需要复制的值或状态。在1002,接收在包含原始数据的源数据块的存储设备上特定位置处写入数据块的请求。一旦接收到请求,则在1004,确定是否已经在已更改块数据结构中将该存储的数据块标记为已更改。如果在已更改块数据结构中尚未将存储的数据块标记为已更改,则在1006,在已更改块数据结构中将该存储的数据块标记为已更改(并且需要复制)。如果该已更改块已经作为已被更改过列在已更改块数据结构中(1004)或一旦在1006将已更改块数据结构更改为指示需要复制块,则在1008,确定是否发生了下一个基线事件,例如是否请求了快照?如果在1008确定未发生基线事件,则在1010,确定图10的过程是否完成。在一些实施例中,该过程可以由用户终止、按规定的时间终止或以其他方式终止。如果该过程未完成,则控制传递到1002,以及当接收到将数据写入特定位置的下一个请求(如果有的话)时处理继续。如果在1008确定已发生基线事件和/或已请求基线事件,例如接收到要存储快照的请求,则在1012,将自上次基线事件起已更改的任何块中在源系统上存储的当前数据的复本发送到远程系统,并且控制传递到1001,其中将已更改块数据结构复位。在多种实施例中,当进行更改时,将更改的块中当前存储的数据以小批量、按规律的间隔和/或在基线事件(例如快照)发生的时间发送到远程系统。在一些实施例中,该远程系统在将更改的数据合并到主集合中之前将原始数据的复本存储在每个更改的块中。在一些实施例中,在将更改的数据存储在块中之前,源系统存储该原始数据的复本。在一些实施例中,源系统可以配置为将原始数据的复本发送到远程系统。
图11图示一个实施例中源系统和远程系统存储的块的时序的示例。在所示的示例中,在时间t=0,快照1发生,源系统具有存储的块A0、B0和C0,并向远程系统发送复本,以使它具有存储的块A0、B0和C0。在时间t=1,块B0更改为B1,这促使已更改块数据结构指示块B已经更改,并且它将在下一次快照的时间被复制。在一些实施例中,当取得快照时,将更改的块(即此时那些块中存储的)成批量发送到远程系统。在时间t=2,块B1更改为B2,这不会促使任何进一步的动作,因为已更改块数据结构已经指示该块已更改。在时间t=3处,快照2发生。源系统向远程系统发送自上次快照起(例如通过检查已更改块数据结构确定的)已更改的任何块中存储的当前(即更改的)数据的复本。在远程系统中,在将更改的块合并到远程系统上的主复本集合之前,通过复制B0来创建快照1块集合。在时间t=4,块B2和C0更改为B4和C4,这促使已更改块数据结构指示块B和C已经更改,并且这些数据块将在下一次快照之前(或下一次快照时)需要复制,以使远程系统能够创建下一个块集合。在时间t=5,块A0和C4更改为A5和C5,这促使已更改块数据结构指示A0(原始数据块)已经更改,并且该数据块将在下一次快照之前需要复制,以使远程系统能够创建下一个块集合。注意,由于对C4的更改,所以已更改块数据结构不改变,因为已经指示了对C的更改。在时间t=6,快照3发生,源系统向远程系统发送自上次快照起已更改的块中当前存储的数据,并且在将更改的块合并到远程系统上的主复本集合之前通过拷贝A0、B2和C0利用A0、B2和C0在远程系统上创建快照2块集合。
图12图示用于恢复数据的过程的实施例。在所示的示例中,在1200,接收将数据恢复到该数据在特定基准时间所处的状态的请求。在1202,使用远程系统上的原始数据块的主复本集合和介入块集合来恢复数据,例如通过将适合的原始数据块(如果有的话)与来自主复本集合的适合块合并,以生成与所请求的数据、例如先前时间点(例如先前快照时)所存在的文件相关联的块集合。在1204,将原始数据块写入到存储设备上的指定位置,并且过程结束。在一些实施例中,图12的过程可以用于检索基线时间或与基线事件相关联的时间所存在的数据(例如文档或其他文件)的版本。在一些实施例中,在目标远程系统上创建某个时间点的存储的文件系统表示,并将该指定时间点所存在的存储的视图呈示给用户。
虽然出于简明理解目的在某个细节上描述了前面的实施例,但是本发明并不局限于所提供的这些细节。有许多备选方式实现本发明。所公开的实施例是说明性的,而非限定性的。
Claims (19)
1.一种存储数据的方法,包括:
选择与第一存储设备中存储的原始数据相关联的基准时间,所述原始数据存储在所述第一存储设备的一个或更多块中;
接收在所述基准时间之后将数据写入到所述第一存储设备上的指定位置的请求,所述指定位置包括存储所述原始数据的所述第一存储设备的所述一个或更多块中的一个或更多块;
确定与所述指定位置相关联的所述原始数据是否已经存储在第二存储设备上;
如果确定与所述指定位置相关联的所述原始数据还未存储在第二存储设备上,则在将所述数据写入到所述指定位置之前在第二存储设备上存储所述指定位置中存储的原始数据的副本,不然,如果确定与所述指定位置相关联的所述原始数据已经存储在第二存储设备上,则将所述数据写入到所述指定位置,而不在第二存储设备上存储所述指定位置中当前存储的当前数据的副本。
2.如权利要求1所述的方法,其特征在于,所述第一存储设备与第一主机相关联,所述第二存储设备与第二主机相关联。
3.如权利要求1所述的方法,还包括:
将所述原始数据的副本合并到与所述第二存储设备中原始数据相关联的数据块的主集合中,用于将所述第一存储设备恢复到所述原始数据。
4.如权利要求1所述的方法,其特征在于,确定与所述指定位置相关联的所述原始数据是否已经存储在所述第二存储设备上包括使用已复制块数据结构。
5.如权利要求4所述的方法,其特征在于,所述已复制块数据结构包括块已复制指示符。
6.如权利要求4所述的方法,其特征在于,所述已复制块数据结构包括位图。
7.如权利要求1所述的方法,其特征在于,如果确定与所述指定位置相关联的所述原始数据还未存储在第二存储设备上则在将所述数据写入到所述指定位置之前在第二存储设备上存储所述指定位置中存储的原始数据的副本包括:如果确定所述请求是在所述基准时间之后将数据写入所述指定位置的第一请求,则存储所述指定位置中当前存储的当前数据的副本。
8.如权利要求1所述的方法,其特征在于,能使用所述原始数据的副本来将所述指定位置恢复到所述原始数据。
9.如权利要求8所述的方法,其特征在于,与所述原始数据相关联的状态包括与所述原始数据相关联的备份事件发生的时间。
10.如权利要求9所述的方法,其特征在于,与所述原始数据相关联的事件包括针对所述第一存储设备的至少一部分执行或请求快照备份,其中所述第一存储设备的至少一部分包括所述指定位置。
11.如权利要求1所述的方法,还包括接收要将所述指定位置恢复到所述原始数据的请求;从所述第二存储设备检索所述一个或更多指定块中的数据的副本;以及将所述原始数据的副本写入到所述指定位置。
12.如权利要求1所述的方法,还包括在与所述第一存储设备相关联的第一主机处接收访问所述原始数据的请求;以及从与所述第二存储设备相关联的第二主机处检索所述第二存储设备上存储的所述原始数据的副本。
13.一种用于存储数据的产品,包括:
用于选择与第一存储设备中存储的原始数据相关联的基准时间的单元,所述原始数据存储在所述第一存储设备的一个或更多块中;
用于接收在所述基准时间之后将数据写入到所述第一存储设备上的指定位置的请求的单元,所述指定位置包括存储所述原始数据的所述第一存储设备的所述一个或更多块中的一个或更多块;
用于确定与所述指定位置相关联的所述原始数据是否已经存储在第二存储设备上的单元;以及
用于如果确定与所述指定位置相关联的所述原始数据还未存储在第二存储设备上则在将所述数据写入到所述指定位置之前在第二存储设备上存储所述指定位置中存储的原始数据的副本、不然如果确定与所述指定位置相关联的所述原始数据已经存储在第二存储设备上则将所述数据写入到所述指定位置而不在第二存储设备上存储所述指定位置中当前存储的当前数据的副本的单元。
14.如权利要求13所述的产品,其特征在于,所述第一存储设备与第一主机相关联,所述第二存储设备与第二主机相关联。
15.如权利要求13所述的产品,还包括:
用于将所述原始数据的副本合并到与所述第二存储设备中原始数据相关联的数据块的主集合中以将所述第一存储设备恢复到所述原始数据的单元。
16.如权利要求13所述的产品,还包括:用于接收要将所述指定位置恢复到与所述原始数据相关联的状态的请求的单元;用于从所述第二存储设备检索所述原始数据的单元;以及用于将所述原始数据写入到指定的存储位置的单元。
17.如权利要求13所述的产品,还包括:用于在与所述第一存储设备相关联的第一主机处接收访问所述原始数据的请求的单元;以及用于从与所述第二存储设备相关联的第二主机处检索所述第二存储设备上存储的所述原始数据的副本的单元。
18.一种存储数据的方法,包括:
将在基准时间存在的所有原始数据从第一存储设备拷贝到第二存储设备上的主集合;
接收将数据写入到所述第一存储设备上的指定位置的一个或更多请求,所述指定位置包括所述第一存储设备的一个或更多块;
在列表中存储一个或更多指示,所述一个或更多指示表示所述指定位置处的数据已更改,其中,自在前的基准时间起对所述指定位置的进一步更改未促使对与所述指定位置对应的所述一个或更多指示中的一个指示的更改;以及
使用存储的一个或更多指示,向与所述第二存储设备相关联的远程主机发送所述指定位置处此时存储的原始数据的副本;
其中所述远程主机配置为在将副本数据合并到所述主集合中之前在所述主集合中制作并存储所述指定位置中存储的所述原始数据的副本。
19.一种存储数据的产品,包括:
用于将原始数据从源系统的第一存储设备拷贝到远程主机的第二存储设备上的主集合的单元;
用于接收将数据写入到所述第一存储设备上的一个或更多指定块的一个或更多请求的单元;
用于在列表中存储一个或更多指示的单元,所述一个或更多指示表示所述一个或更多指定块处的数据已更改,其中,自在前的指定基准时间起对所述一个或更多指定块中的一个指定块的进一步更改未促使对与所述一个或更多指定块中所述一个指定块对应的一个或更多指示中的一个指示的更改;以及
用于在指定的基准时间并使用存储的一个或更多指示、向与所述第二存储设备相关联的远程主机发送所述一个或更多指定块处此时存储的所述数据的副本的单元;
其中所述远程主机配置为在将所述数据的副本合并到所述主集合中之前在所述第二存储设备上的所述主集合中制作并存储所述一个或更多指定块中存储的所述原始数据的副本。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US59059504P | 2004-07-23 | 2004-07-23 | |
US60/590,595 | 2004-07-23 | ||
PCT/US2005/026207 WO2006012583A2 (en) | 2004-07-23 | 2005-07-22 | Storing data replicas remotely |
US11/188,220 | 2005-07-22 | ||
US11/188,220 US7779296B2 (en) | 2004-07-23 | 2005-07-22 | Storing data replicas remotely |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101061467A CN101061467A (zh) | 2007-10-24 |
CN101061467B true CN101061467B (zh) | 2011-12-14 |
Family
ID=35658608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005800313842A Active CN101061467B (zh) | 2004-07-23 | 2005-07-22 | 远程存储数据副本 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7779296B2 (zh) |
EP (1) | EP1782214A4 (zh) |
JP (1) | JP2008507777A (zh) |
CN (1) | CN101061467B (zh) |
WO (1) | WO2006012583A2 (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7487386B2 (en) * | 2005-03-30 | 2009-02-03 | International Business Machines Corporation | Method for increasing file system availability via block replication |
US8990153B2 (en) * | 2006-02-07 | 2015-03-24 | Dot Hill Systems Corporation | Pull data replication model |
US7689597B1 (en) | 2006-05-02 | 2010-03-30 | Emc Corporation | Mirrored storage architecture using continuous data protection techniques |
US7971091B1 (en) * | 2006-05-02 | 2011-06-28 | Emc Corporation | Network configuration backup and restore operations using continuous data protection |
US7603395B1 (en) | 2006-05-02 | 2009-10-13 | Emc Corporation | Using pseudosnapshots for continuous data protection systems to surface a copy of data |
US7765190B1 (en) * | 2006-05-02 | 2010-07-27 | Emc Corporation | Pseudosnapshot creation and implementation using continuous data protection |
US8751467B2 (en) * | 2007-01-18 | 2014-06-10 | Dot Hill Systems Corporation | Method and apparatus for quickly accessing backing store metadata |
US7975115B2 (en) * | 2007-04-11 | 2011-07-05 | Dot Hill Systems Corporation | Method and apparatus for separating snapshot preserved and write data |
US7716183B2 (en) * | 2007-04-11 | 2010-05-11 | Dot Hill Systems Corporation | Snapshot preserved data cloning |
US8001345B2 (en) * | 2007-05-10 | 2011-08-16 | Dot Hill Systems Corporation | Automatic triggering of backing store re-initialization |
US8204858B2 (en) * | 2007-06-25 | 2012-06-19 | Dot Hill Systems Corporation | Snapshot reset method and apparatus |
US8788831B2 (en) * | 2009-03-20 | 2014-07-22 | Barracuda Networks, Inc. | More elegant exastore apparatus and method of operation |
CN102810107B (zh) * | 2011-06-01 | 2015-10-07 | 英业达股份有限公司 | 重复数据的处理方法 |
JP6109967B2 (ja) * | 2013-02-21 | 2017-04-05 | ヒタチ データ システムズ エンジニアリング ユーケー リミテッドHitachi Data Systems Engineering Uk Limited | データストレージシステムにおけるクローンオブジェクトのオブジェクトレベルでの複製 |
CN105808374B (zh) * | 2014-12-31 | 2019-02-05 | 华为技术有限公司 | 一种快照处理方法及相关设备 |
US9626250B2 (en) | 2015-03-16 | 2017-04-18 | International Business Machines Corporation | Data synchronization of block-level backup |
US9588848B2 (en) * | 2015-06-19 | 2017-03-07 | AO Kaspersky Lab | System and method of restoring modified data |
US11120133B2 (en) * | 2017-11-07 | 2021-09-14 | Spinbackup Inc. | Ransomware protection for cloud storage systems |
CN111651780A (zh) * | 2020-06-02 | 2020-09-11 | 亚太恒星经济技术发展有限公司 | 一种用于数据分类的存储方法 |
CN113986115B (zh) * | 2020-07-27 | 2024-05-31 | 伊姆西Ip控股有限责任公司 | 用于复制数据的方法、电子设备和计算机程序产品 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1319807A (zh) * | 2000-02-03 | 2001-10-31 | 国际商业机器公司 | 容忍多处理器数据处理系统中不可恢复差错的方法和装置 |
CN1483164A (zh) * | 2000-12-21 | 2004-03-17 | ���ܿ���ϵͳ����˾ | 响应处理信息将大容量存储器恢复到先前状态 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6324654B1 (en) * | 1998-03-30 | 2001-11-27 | Legato Systems, Inc. | Computer network remote data mirroring system |
US6564371B1 (en) * | 1998-08-26 | 2003-05-13 | Intel Corporation | Dual software images with fall-back |
US6397307B2 (en) | 1999-02-23 | 2002-05-28 | Legato Systems, Inc. | Method and system for mirroring and archiving mass storage |
JP2003503792A (ja) * | 1999-06-30 | 2003-01-28 | マイクロソフト コーポレイション | コンピュータの前状態への回復 |
CA2397127C (en) * | 2000-01-10 | 2007-03-27 | Connected Corporation | Administration of a differential backup system in a client-server environment |
US7237075B2 (en) * | 2002-01-22 | 2007-06-26 | Columbia Data Products, Inc. | Persistent snapshot methods |
US20030220948A1 (en) * | 2002-01-22 | 2003-11-27 | Columbia Data Products, Inc. | Managing snapshot/backup collections in finite data storage |
US7028153B1 (en) * | 2002-06-19 | 2006-04-11 | Veritas Operating Corporation | Backup and retrieval of data storage using catalog data |
US6865655B1 (en) * | 2002-07-30 | 2005-03-08 | Sun Microsystems, Inc. | Methods and apparatus for backing up and restoring data portions stored in client computer systems |
US7024528B2 (en) | 2002-08-21 | 2006-04-04 | Emc Corporation | Storage automated replication processing |
WO2004090789A2 (en) * | 2003-04-03 | 2004-10-21 | Commvault Systems, Inc. | System and method for extended media retention |
US7165082B1 (en) * | 2003-10-31 | 2007-01-16 | Veritas Operating Corporation | Incremental method for backup of email messages |
US20060059384A1 (en) * | 2004-08-16 | 2006-03-16 | Fabrice Helliker | Full backup from incremental /differential backups |
US7284019B2 (en) * | 2004-08-18 | 2007-10-16 | International Business Machines Corporation | Apparatus, system, and method for differential backup using snapshot on-write data |
-
2005
- 2005-07-22 US US11/188,220 patent/US7779296B2/en active Active
- 2005-07-22 CN CN2005800313842A patent/CN101061467B/zh active Active
- 2005-07-22 EP EP05776586A patent/EP1782214A4/en not_active Withdrawn
- 2005-07-22 WO PCT/US2005/026207 patent/WO2006012583A2/en active Application Filing
- 2005-07-22 JP JP2007522829A patent/JP2008507777A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1319807A (zh) * | 2000-02-03 | 2001-10-31 | 国际商业机器公司 | 容忍多处理器数据处理系统中不可恢复差错的方法和装置 |
CN1483164A (zh) * | 2000-12-21 | 2004-03-17 | ���ܿ���ϵͳ����˾ | 响应处理信息将大容量存储器恢复到先前状态 |
Also Published As
Publication number | Publication date |
---|---|
JP2008507777A (ja) | 2008-03-13 |
EP1782214A4 (en) | 2009-01-07 |
EP1782214A2 (en) | 2007-05-09 |
CN101061467A (zh) | 2007-10-24 |
US7779296B2 (en) | 2010-08-17 |
WO2006012583A3 (en) | 2006-12-14 |
US20060020762A1 (en) | 2006-01-26 |
WO2006012583A2 (en) | 2006-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101061467B (zh) | 远程存储数据副本 | |
US10114581B1 (en) | Creating a virtual access point in time on an object based journal replication | |
AU2016405587B2 (en) | Splitting and moving ranges in a distributed system | |
US9588847B1 (en) | Recovering corrupt virtual machine disks | |
CN100461121C (zh) | 把存储单元和相关元数据复制到存储器的方法和系统 | |
CN101571822B (zh) | 存储控制装置及其数据管理方法 | |
CN100517320C (zh) | 跨越多个位置的存储池空间分配 | |
US8468313B2 (en) | Asynchronous replication with write concurrency grouping | |
CN100375048C (zh) | 将储存库还原到先前状态的方法 | |
CN102016852B (zh) | 内容可寻址存储系统和方法 | |
CN102299904B (zh) | 一种实现业务数据备份的系统及方法 | |
JP2008507777A6 (ja) | データレプリカのリモート記憶 | |
JP4644684B2 (ja) | 仮想化を用いるリモート・コピーの一貫性の維持(ストレージをコピーする方法およびシステム) | |
CN106021016A (zh) | 在快照之间的虚拟时间点访问 | |
JP4988370B2 (ja) | 結合セッション環境におけるセッションのクラスタのためのセッション情報の統合方法、システム、およびプログラム | |
CN104040481A (zh) | 用于融合、存储和检索增量式备份数据的方法和系统 | |
CN101707884A (zh) | 播种复制 | |
JP2008077287A (ja) | データベース管理システム、記憶装置システム、データ回復方法及び情報処理システム | |
US9495253B2 (en) | Virtual snapshot system and method | |
CN101501652A (zh) | 检查点及一致性标记符 | |
CN104794119B (zh) | 用于中间件消息的存储与传输方法及系统 | |
CN106605217B (zh) | 用于将应用从一个站点移动到另一站点的方法和系统 | |
CN103617096A (zh) | 一种存储数据的复制方法、设备及系统 | |
CN102667720A (zh) | 没有排序依赖的一致性 | |
JP2003330782A (ja) | 計算機システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |