CN103890708B - 数据恢复期间的数据访问 - Google Patents

数据恢复期间的数据访问 Download PDF

Info

Publication number
CN103890708B
CN103890708B CN201180041638.4A CN201180041638A CN103890708B CN 103890708 B CN103890708 B CN 103890708B CN 201180041638 A CN201180041638 A CN 201180041638A CN 103890708 B CN103890708 B CN 103890708B
Authority
CN
China
Prior art keywords
requests
subobject
component
data
resumed
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
Application number
CN201180041638.4A
Other languages
English (en)
Other versions
CN103890708A (zh
Inventor
M.J.杜奇
C.H.克劳达托斯
M.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.)
EMC Inc
Original Assignee
EMC Inc
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 Inc filed Critical EMC Inc
Publication of CN103890708A publication Critical patent/CN103890708A/zh
Application granted granted Critical
Publication of CN103890708B publication Critical patent/CN103890708B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/1448Management of the data involved in backup or backup restore
    • 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/1466Management of the backup or restore process to make the backup process non-disruptive
    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices

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)
  • Storage Device Security (AREA)

Abstract

一种用于在数据恢复期间访问数据的方法、制造物品和设备。在一些实施例中,这包括:将来自应用的I/O请求发送到对象,其中该对象正在恢复;建立I/O拦截;用该I/O拦截来拦截应用的I/O请求;以及基于对象的子对象的状态使I/O请求重定向。

Description

数据恢复期间的数据访问
本申请相关于:共同待审的与之同时提交的US专利申请No.12/828,198(代理机构卷号EMC-10-169)(优先级化的备份分段),其通过所有目的的引用而结合于此;以及共同待审的与之同时提交的US专利申请No.12/828,205(代理机构卷号EMC-10-186)(动态优先级化的恢复),其通过所有目的的引用而结合于此;以及共同待审的与之同时提交的US专利申请No.12/828,218(代理机构卷号EMC-10-188)(访问后数据保存),其通过所有目的的引用而结合于此。
技术领域
本发明大体上涉及数据系统,并且更具体地,涉及高效保护和访问数据的系统和方法。
背景技术
现代的数据系统包含大量数据。这样的数据系统可例如包括电子邮件服务器、商用网站、银行记录、政府数据库等。
日益存在这样的期望,用户必须总是能访问这些数据系统。例如,如果用户不能访问商用网站(例如Amazon.com停止),在不能访问网站的每天,业务将损失数百万美元的收益。
利用日益不断增加的数据量以及日益不断增加的能访问数据的期望,保护数据系统存在着巨大的压力。在事故的情况下,传统数据保护机制用于复原数据系统。然而,这些常规的数据保护方案在恢复数据方面太慢,或太昂贵。此外,常规的数据保护方案在允许访问数据前需要完全恢复数据。
遗憾地,可能有时在完成恢复操作之前需要能访问数据系统中的数据。
因此,需要有用于保护和访问数据系统中的数据的改进的方法、制造物品和设备。
附图说明
本发明将通过下列详细说明连同附图而容易理解,其中类似的标号指示类似的结构元件,并且其中:
图1是根据一些实施例的数据系统的图。
图2是根据一些实施例的用于备份数据的方法的流程图。
图3是根据一些实施例的用于恢复数据的方法的流程图。
图4是根据一些实施例的用于访问数据的方法的流程图。
图5是根据一些实施例的用于保存数据的方法的流程图。
具体实施方式
在下文连同图示本发明原理的附图来提供本发明的一个或多个实施例的详细说明。尽管本发明连同这样的实施例描述,应该理解本发明不限于任一个实施例。相反地,本发明的范围仅由权利要求限制并且本发明包含许多备选、修改和等同物。为了示例目的,在下列说明中阐述许多具体细节以便提供本发明的全面理解。为了示例目的而提供这些细节,并且本发明在没有这些具体细节中的一些或全部的情况下可根据权利要求来实践。为了清楚目的,在与本发明有关的技术领域中已知的技术材料未被详细描述使得不会多余地混淆本发明。
应该意识到本发明可以以许多方式实施,包括作为过程、设备、系统、装置、方法或计算机可读介质(例如计算机可读存储介质,其包含计算机可读指令或计算机程序代码),或作为计算机程序产品,其包括具有嵌入其中的计算机可读程序代码的计算机可用介质。在本公开的背景下,计算机可用介质或计算机可读介质可以是可以包含或存储程序供指令执行系统、设备或装置使用或与之结合来使用的任何介质。例如,计算机可读存储介质或计算机可用介质可以是,但不限于,随机存取存储器(RAM)、只读存储器(ROMA)或持久性存储(例如大容量存储装置、硬驱动器、CDROM、DVDROM、磁带、可擦除可编程只读存储器(EPROM或闪速存储器))或任何磁、电磁、红外、光或电手段系统、设备或装置以便存储信息。备选地或另外,计算机可读存储介质或计算机可用介质可以是这些装置的任何组合或甚至是在其上打印程序代码的纸或另一个适合的介质,因为程序代码可以例如经由纸或其他介质的光扫描而电子地被捕获,然后被编译、解释或以适合的方式另外处理(如必要的话)并且然后存储在计算机存储器中。应用、软件程序或计算机可读指令可称为部件或模块。应用可以在硬件中硬接线或硬编码或采取在通用计算机上执行的软件的形式或在硬件中硬接线或硬编码使得当软件装载到计算机和/或由计算机执行时,计算机变成用于实践本发明的设备。应用还可通过使用软件开发包或工具包(其实现本发明的创建和实施)而被全部或部分下载。在该说明书中,这些实施或本发明可采取的任何其他形式可称为技术。一般地,可在本发明的范围内更改公开的过程的步骤顺序。
本发明的实施例将参考配置成存储文件的数据系统而描述,但应该理解本发明的原理不限于数据系统。相反,它们能应用于能够存储和处理各种类型的对象(采用模拟、数字或其他形式)的任何系统。尽管可通过示例使用例如文档、文件、对象等术语,本发明的原理不限于表示和存储数据或其它信息的任何特定形式,而是,本发明的原理等价地可应用于能够代表信息的任何对象。
图1图示根据本发明的一些实施例的数据系统。数据系统10包括命名空间100、对象102、恢复服务104、容器106、拦截108、应用110和版本112。尽管图1图示命名空间100、对象102、恢复服务104、容器106、拦截108、应用110和版本112为单独部件,应该理解这些部件可存在于一个或多个机器中。例如,恢复服务104和容器106可存在于相同的机器中,而拦截108和应用110存在于不同的机器中,并且对象102和命名空间100存在于再另一个不同的机器中。
命名空间100包括一组名称地址对。例如,在一些实施例中,命名空间100可包括文件系统目录结构。命名空间100由应用110使用来使对象102定位。
容器106包含备份数据。该备份数据可包括若干文件,以及相同文件的若干版本,如由图1中的版本112描绘。例如,第一备份可存储文件的初步版本。第二备份可存储文件的最终版本。在这两个备份期间,文件可具有相同的文件名。第二备份可存储文件的第二版本而不是覆盖文件的初步版本。
版本112可被分段成子对象。应该理解尽管使用术语“版本”,在容器中不需要有文件的多个版本。例如,容器可以具有文件X,并且仅具有文件X的一个版本。在该情况下,它是被分段成子对象的文件X。
能够通过各种方法完成对版本112分段。在一些实施例中,分段可使用预定间隔(例如,以每10kB创建段)而进行。在一些实施例中,分段可根据访问方式而进行。例如,假设版本112是虚拟机的备份。如果版本112的第一30kB对于启动虚拟机是必需的,分段出第一30kB可以是优选的。版本112的剩余部分可被分段成30kB的段,或可根据一些其他标准(例如,40kB的段,根据其他已知的访问方式来分段,等)而被分段。剩余段在尺寸上彼此不必相同,或不必与初始的30kB段相同。分段还可基于元数据(例如由应用维护的文件历史),或基于策略或用户命令。
在一些实施例中,可对段分配优先级。优先级可通过多种方法而分配。在一些实施例中,访问方式可在分配优先级中用作标准。在上文的示例中,对虚拟机的备份的第一30kB分配最高优先级可是优选的。因为虚拟机的任何用户首先将必须访问第一30kB来启动虚拟机,尽可能快地恢复第一30kB将是优选的。通过对第一30kB分配最高优先级,恢复操作将能够看到分配给第一30kB的最高优先级,并且尽可能快地恢复它。其他访问方式可用于确定优先级。例如,假设版本112是Microsoft Word应用的备份,并且备份的最后5kB包含“最近访问文件”列表。用户可决定他们希望知道哪些文件是最近访问的并且对该5kB段分配高优先级。相似地,可以设置策略使得最近访问的文件最有可能首先一恢复就被访问,以及将“最近访问的文件”列表中的每个文件指派为高优先级。可使用相似的逻辑设置低优先级。例如,如果某些子对象在恢复操作期间不太可能被访问,可对那些子对象分配低优先级。
段(例如子对象)或版本(例如对象)可被“固定”。在如本文描述的恢复操作期间,固定对象或子对象使被固定的对象或子对象局限于“远程I/O”设置。当正在恢复的对象是高度敏感时,固定可是优选的,并且数据完整性具有最大重要性(超越性能重要性)。例如,如果正在恢复的对象是大的数据库,数据完整性可被损害(如果在并行的子对象中进行恢复)。在该情况下,快速地使大的数据库复原到远程位置(但“局限”于容器,从而允许在这两个之间的快速数据传输)并且允许从客户端远程访问,这可是优选的。这样,保护数据完整性,但客户端可注意到由于与访问远程位置关联的带宽和资源问题而引起的性能下降。
在备份数据包括事务数据库的情况下,还备份事务日志连同数据对象可以是优选的。例如,当事务数据库失效时,在失效时访问的对象的状态可以是未知的。在一些情况下,可已经进行最后的写请求,但没有确认。在其他情况下,可完全没有进行最后的写请求。利用事务日志,可以确定是否已经正确地执行写请求,从而允许恢复操作确定要恢复文件的哪个版本。
图2图示根据一些实施例的用于备份数据的方法。在步骤200中,将对象备份到存储库中。在步骤202中,对象被分段为多个子对象。如上所述,对象的分段可基于多种标准。例如,除了其他外,分段可基于访问方式、元数据、策略或命令,或标准的任何组合。在步骤204中,对子对象分配优先级。如上文描述的,还可基于多种标准分配优先级。例如,除了其他外,优先级可基于访问方式、元数据、策略或用户命令,或标准的任何组合。应该注意不是每个对子对象需要分配的优先级。在一些实施例中,在恢复操作期间使子对象“固定”到远程I/O可是优选的。在一些实施例中,优先级化自身可作为元数据存储在备份存储库中,或作为每个段中的首标。
应用110包括在一个或多个机器上执行的一个或多个计算过程,其中每个计算过程可进行从一个或多个装置的输入/输出(I/O)。例如,在一些实施例中,应用110可包括Microsoft Exchange Server客户端。
恢复服务104管理对象102的恢复。在一些实施例中,恢复服务104可对对象102和版本112追踪改变,例如在远程I/O期间。
图3图示根据一些实施例的用于恢复数据的方法。在步骤300中,选择要恢复的对象。在步骤302中,基于分配给子对象的优先级恢复对象的子对象。在步骤304中,在恢复期间基于应用的I/O而对子对象重定优先级。例如,应用可希望访问具有低优先级的子对象。如果该子对象还未被恢复,该子对象的优先级可以改变为高优先级,从而恢复操作能够快速地子对象,并且允许应用访问该子对象。
对象102包括数据对象,其在应用110使用数据对象时正被恢复服务104恢复。使用版本112使对象102复原,该版本112是容器106的一部分。在一些实施例中,对象102可被分段成子对象。将对象102分段成子对象允许子对象的并行恢复。
如在图1中由对象102图示,应用110可通过多个方法访问数据对象。一个方法是本地I/O。这是在数据(例如子对象)已经完全恢复到本地站点的时候。在本地I/O期间,拦截108允许应用110本地访问对象102中的子对象。在一些实施例中,在本地I/O期间,拦截108可充当应用110与子对象之间的中介。例如,应用110可发送请求到应用110认为是该子对象的地方。拦截108拦截请求、从子对象检索请求的数据并且将请求的数据发送到应用110。在一些实施例中,在本地I/O期间,拦截108可充当看守,并且允许应用110直接与子对象通信。例如,应用110可发送请求到应用110认为是该子对象的地方。拦截108拦截请求、确定请求是否可以继续,并且假如这样的话,允许请求通过。应用110然后直接从子对象接收请求的数据。在一些实施例中,在拦截108已经确定应用110可直接与子对象通信之后,应用110用于从子对象检索数据所进行的随后请求不必经历如本文描述的确定阶段(例如,拦截108将不再需要确定应用110是否可访问子对象)。尽管使用了术语“本地I/O”,“本地”并不意味着应用110访问与应用110相同的机器上的数据。相反,“本地”可包括在地理上远离但可由相对更高的带宽连接而连接的机器。“本地”还可包括通常由应用110访问的机器。例如,存在于加利福尼亚的Microsoft Exchange客户端典型地可连接到存储在俄勒冈的数据。数据的备份副本可存储在华盛顿。在恢复期间,备份副本复原到俄勒冈。当将子对象复原到俄勒冈时,加利福尼亚客户端可经由“本地I/O”“本地”访问俄勒冈子对象。
应用110访问数据的另一个方法是远程I/O。这在未将子对象复原到本地站点但应用110需要访问该子对象时发生。这也可在正复原的对象或子对象如本文描述的那样被“固定”时发生。在一些实施例中,拦截108将拦截应用110的请求,并且重定向到恢复服务104。恢复服务104将在由恢复服务104维护的子对象的副本上进行应用110的请求。经由远程I/O访问的数据对象在具有比主系统少的资源限制的系统上由恢复服务起旋(例如启动、安装、恢复等)。例如,恢复服务104可将虚拟机安装在“局限”于容器的物理机上,从而导致这两个之间的高带宽连接并且允许虚拟机快得多的复原。在应用110与起旋的数据对象之间建立远程连接,从而允许I/O操作。这在子对象未复原到本地站点的时候但是对子对象的即刻访问是需要的或优选的时候可是有用的。例如,可花费大量的时间来修补或替换本地站点处的失效部件。在中间时期期间,应用110可能需要访问数据。应用110可使用远程I/O来访问由恢复服务104起旋的数据,而不是等待更换部件到达。此外,当同时恢复对使用可用网络带宽的应用服务的影响不能被接受时,或当数据完整性风险太高时,例如在正复原的对象是大的数据库时的情况下,远程I/O可是优选的。
应用110访问数据的另一个方法是访问时恢复。这包括应用110发送I/O请求到子对象,并且拦截108使到子对象的I/O请求延迟直到已经恢复子对象。当由于延迟的I/O请求引起的性能影响是可容许时,这可是优选的。
在一些实施例中,拦截108是对于应用110透明的代码。也就是说,应用110在事实上拦截108正将应用110的指令重路由到恢复服务104时认为它是正本地访问对象102。
图4图示根据一些实施例的用于在数据恢复期间访问数据的方法。在步骤400中,I/O请求从应用发送到对象,其中正恢复该对象。在步骤402中,建立I/O拦截。在步骤404中,应用的I/O请求被I/O拦截所拦截。在步骤406中,基于对象的子对象的状态使I/O请求重定向。在一些实施例中,一旦应用能够经由本地I/O访问子对象,I/O拦截因为已经恢复子对象而不再需要拦截应用的I/O请求。在这样的情况下,能够对于已恢复的子对象取消I/O拦截并且允许应用的I/O请求继续而不受限制。
可对恢复优先级化。如上文论述的,备份数据(例如对象或版本)的段可具有分配的优先级。当恢复操作检测到这些优先级时,它可基于优先级而恢复段。例如,假设对象的第一30kB是包含虚拟机的启动信息的段,并且已经对该第一30kB分配最高优先级。当恢复操作扫描对象时,它将识别第一30kB具有最高优先级,并且在较低优先级段之前开始复原第一30kB。
在恢复操作期间复原的优先级可是动态的。例如,假设备份图像(该备份图像是版本)的最后的100kB包含两个最近访问的文件,文件A和文件B。备份后操作可识别这些文件为高优先级(因为他们是两个最近访问的文件),并且策略指示近期访问的文件被分配高优先级。然而,在恢复过程期间,用户可试图访问中间的50kB,其包含很少被访问的文件C。因为文件C很少被访问,策略可已经指示它被分配低优先级,并且恢复操作将低优先级施加于复原文件C。当恢复操作检测到应用尝试访问文件C时,或当拦截方告诉恢复操作应用正尝试访问文件C时,恢复操作可使文件C的优先级改变成高的。根据文件C的性能容许度,或由策略或用户施加的其他限制,访问文件C可以是远程I/O,或访问时恢复。例如,如果用户将文件C视为非常重要的文件,其中数据完整性具有最大重要性,用户可迫使恢复操作允许经由远程I/O访问文件C。在另一个示例中,如果文件C能够在相对短的时间段内复原,并且用户能够容许性能下降(例如,在访问之前等待文件C复原)中,则恢复操作可使用如本文描述的访问时恢复。
此外,可在对象关闭期间更改优先级。例如,假设对象(对象Z)正被复原。对象Z具有三个子对象,子对象A、B和C。A已经被复原,并且经由本地I/O被应用访问。B正在复原,但还未被复原。C已经被“固定”,并且受限于远程I/O。在恢复操作期间,应用只访问子对象A。在B或C恢复之前,应用以对象Z而完成,并且关闭对象Z。这时,对B和C重新分配低优先级是优选的,因为应用可以对象Z来进行并且对于恢复操作的剩余部分不需要访问它。
在一些实施例中,由于远程I/O而保留更改的子对象的副本可是优选的。使用上文的示例,假设应用已经经由本地I/O访问子对象A,并且经由远程I/O访问子对象C。在已经完成恢复之前,应用以对象Z而完成。在该情况下,对于恢复操作,保存对子对象C做出的改变(例如,保存子对象C的远程副本)并且维护I/O拦截可是有利的。万一在恢复操作期间应用再次希望访问子对象C,维护I/O拦截将是有用的。万一在恢复操作期间应用再次希望访问子对象C,保存C的远程副本也将是有用的。一旦应用已经关闭对象Z,恢复操作可开始使C的远程副本复原至希望的复原目标,或可以由于优先级的重新分配或由策略或用户确定的其他设置而推迟C的远程副本的复原。
图5图示根据一些实施例用于保存在数据恢复期间做出的数据改变的方法。在步骤500中,使备份恢复到远程位置。在步骤502中,I/O拦截用于访问恢复的数据。在步骤504中,第一次修改恢复的数据。在步骤506中,完成恢复的数据的修改(例如,应用已经关闭对象)。在步骤508中,保存I/O拦截。在步骤510中,将修改的数据存储在远程位置。在一些实施例中,应用可在关闭对象后再次访问修改的数据(例如,第二次访问备份数据)。在该情况下,维护I/O拦截以方便远程I/O是有用的。在一些实施例中,在修改的数据已经恢复到本地位置之后(例如,远程位置数据已经完全复原到本地位置),存储在远程位置的修改的数据可被删除、可添加到备份数据或可替换备份数据。一旦副本已经复原到远程位置,还可从远程位置删除修改的数据。
为了清楚起见,本文的过程和方法已经用具体流图示,但应该理解其他顺序可是可能的并且一些可并行进行,而不偏离本发明的精神。另外,步骤可细分或组合。如本文公开,根据本发明编写的软件可以采用例如存储器或CD-ROM等计算机可读介质的一些形式存储,或在网络上传送,并且由处理器执行。
本文引用的所有参考意在通过引用而包含。尽管已经在上文从具体实施例的方面描述本发明,能够预见,对本发明的改变和修改将毫无疑问地对于本领域内技术人员变得明显并且可在附上的权利要求的范围和等同物内实践。可使用超过一个的计算机,例如通过使用以并行或均载设置的多个计算机或通过使任务跨多个计算机分布使得它们整体地进行本文识别的部件的功能;即,它们代替单个计算机。上文描述的各种功能可由单个计算机上或分布在若干计算机上的单个过程或成组的过程进行。过程可调用其他过程来处理某些任务。可使用单个存储装置,或可使用若干个来代替单个存储装置。本实施例要视为说明性和非限制性的,并且本发明不限于本文给出的细节。因此规定本公开和下面的权利要求解释为涵盖所有这样的改动和修改,其落入本发明的真正精神和范围内。

Claims (18)

1.一种用于在数据恢复期间访问数据的方法,其包括:
将来自应用的I/O请求发送到对象,其中所述对象正在恢复,并且其中将所述对象分段成子对象;
建立I/O拦截;
用I/O拦截来拦截所述应用的I/O请求,其中,所述I/O请求关于所述对象的子对象之一,所述子对象之一已被恢复、正在被恢复、或尚未被恢复;以及
基于所述对象的子对象的状态使所述I/O请求重定向。
2.如权利要求1所述的方法,其中使所述I/O请求重定向包括使所述I/O请求重定向到所述对象的子对象的本地副本。
3.如权利要求1所述的方法,其中使所述I/O请求重定向包括使所述I/O请求重定向到所述对象的子对象的远程副本。
4.如权利要求1所述的方法,其中使所述I/O请求重定向包括保持所述I/O请求直到恢复子对象。
5.如权利要求3所述的方法,其中使所述I/O请求重定向到远程副本基于所述对象的子对象的固定状态。
6.如权利要求2所述的方法,其进一步包括在所述应用已经在所述本地副本上成功进行I/O后关于所述本地副本取消所述I/O拦截。
7.一种用于在数据恢复期间访问数据的系统,包括存储器件以及处理器,配置成选择将来自应用的I/O请求发送到对象,其中所述对象正在恢复,并且其中将所述对象分段成子对象,建立I/O拦截,用所述I/O拦截来拦截所述应用的I/O请求,其中,所述I/O请求关于所述对象的子对象之一,所述子对象之一已被恢复、正在被恢复、或尚未被恢复,以及基于所述对象的子对象的状态使所述I/O请求重定向。
8.如权利要求7所述的系统,其中使所述I/O请求重定向包括使所述I/O请求重定向到所述对象的子对象的本地副本。
9.如权利要求7所述的系统,其中使所述I/O请求重定向包括使所述I/O请求重定向到所述对象的子对象的远程副本。
10.如权利要求7所述的系统,其中使所述I/O请求重定向包括保持所述I/O请求直到恢复子对象。
11.如权利要求9所述的系统,其中使所述I/O请求重定向到远程副本基于所述对象的子对象的固定状态。
12.如权利要求8所述的系统,所述处理器进一步配置成在所述应用已经在所述本地副本上成功进行I/O后关于所述本地副本取消所述I/O拦截。
13.一种用于在数据恢复期间访问数据的产品,包括:
用于发送I/O请求到对象的部件,其中所述对象正在恢复,并且其中将所述对象分段成子对象;
用于建立I/O拦截的部件;
用于用所述I/O拦截来拦截所述应用的I/O请求的部件,其中,所述I/O请求关于所述对象的子对象之一,所述子对象之一已被恢复、正在被恢复、或尚未被恢复;以及
用于基于所述对象的子对象的状态使所述I/O请求重定向的部件。
14.如权利要求13所述的产品,其中用于使所述I/O请求重定向的部件包括用于使所述I/O请求重定向到所述对象的子对象的本地副本的部件。
15.如权利要求13所述的产品,其中用于使所述I/O请求重定向的部件包括用于使所述I/O请求重定向到所述对象的子对象的远程副本的部件。
16.如权利要求13所述的产品,其中用于使所述I/O请求重定向的部件包括用于保持所述I/O请求直到恢复子对象的部件。
17.如权利要求15所述的产品,其中用于使所述I/O请求重定向到远程副本的部件基于所述对象的子对象的固定状态。
18.如权利要求14所述的产品,其进一步包括用于在所述应用已经在所述本地副本上成功进行I/O后关于所述本地副本取消所述I/O拦截的部件。
CN201180041638.4A 2010-06-30 2011-06-28 数据恢复期间的数据访问 Active CN103890708B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/828213 2010-06-30
US12/828,213 US9697086B2 (en) 2010-06-30 2010-06-30 Data access during data recovery
PCT/US2011/042219 WO2012012142A2 (en) 2010-06-30 2011-06-28 Data access during data recovery

Publications (2)

Publication Number Publication Date
CN103890708A CN103890708A (zh) 2014-06-25
CN103890708B true CN103890708B (zh) 2018-06-29

Family

ID=45400593

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180041638.4A Active CN103890708B (zh) 2010-06-30 2011-06-28 数据恢复期间的数据访问

Country Status (3)

Country Link
US (3) US9697086B2 (zh)
CN (1) CN103890708B (zh)
WO (1) WO2012012142A2 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9128948B1 (en) * 2010-09-15 2015-09-08 Symantec Corporation Integration of deduplicating backup server with cloud storage
US8942543B1 (en) * 2010-10-06 2015-01-27 Verint Video Solutions Inc. Systems, methods, and software for improved video data recovery effectiveness
US8548959B2 (en) 2010-11-29 2013-10-01 Ca, Inc. System and method for minimizing data recovery window
US20120257820A1 (en) * 2011-04-07 2012-10-11 Microsoft Corporation Image analysis tools
US8856591B2 (en) 2011-06-14 2014-10-07 Ca, Inc. System and method for data disaster recovery
US8904229B1 (en) 2012-06-29 2014-12-02 Emc Corporation Online recovery of a file system experiencing failure of redundant logical storage storing a single point of failure
US9449040B2 (en) * 2012-11-26 2016-09-20 Amazon Technologies, Inc. Block restore ordering in a streaming restore system
US10742713B2 (en) * 2016-02-01 2020-08-11 Vmware, Inc. On-demand subscribed content library
CN106775860B (zh) * 2016-12-08 2020-09-15 广州杰赛科技股份有限公司 Web配置文件的重载方法和系统
CN106790463B (zh) * 2016-12-08 2020-09-15 广州杰赛科技股份有限公司 Web配置文件重载过程的访问方法和系统
US10445193B2 (en) * 2017-03-06 2019-10-15 Dell Products, Lp Database failure recovery in an information handling system
US10198326B2 (en) * 2017-03-09 2019-02-05 Apple Inc. Intelligent restoration of a computing device
US10769032B2 (en) * 2018-03-16 2020-09-08 EMC IP Holding Company LLC Automation and optimization of data recovery after a ransomware attack
US20230066513A1 (en) * 2021-08-30 2023-03-02 EMC IP Holding Company LLC Asynchronous Reservation of Storage Volumes with Persistent Storage of Reservation Data
US11977459B2 (en) * 2022-06-02 2024-05-07 Rubrik, Inc. Techniques for accelerated data recovery

Family Cites Families (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2526524A (en) 1944-12-14 1950-10-17 Standard Oil Dev Co Method of separating hydrogen from hydrogen containing gases
US5265245A (en) 1989-04-17 1993-11-23 International Business Machines Corporation High concurrency in use manager
JPH06124223A (ja) 1991-03-28 1994-05-06 Texas Instr Inc <Ti> ディスクファイルシステムのログ装置および方法
US20020091850A1 (en) * 1992-10-23 2002-07-11 Cybex Corporation System and method for remote monitoring and operation of personal computers
US6988025B2 (en) * 2000-11-28 2006-01-17 Power Measurement Ltd. System and method for implementing XML on an energy management device
US6711162B1 (en) * 1995-09-08 2004-03-23 3Com Corporation Method and apparatus for providing proxy service, route selection, and protocol conversion for service endpoints within data networks
US6470398B1 (en) * 1996-08-21 2002-10-22 Compaq Computer Corporation Method and apparatus for supporting a select () system call and interprocess communication in a fault-tolerant, scalable distributed computer environment
US5896539A (en) 1997-04-14 1999-04-20 International Business Machines Corporation Method and system for controlling access to a shared resource in a data processing system utilizing dynamically-determined weighted pseudo-random priorities
GB2345366B (en) 1997-10-08 2003-02-19 Seagate Technology Hybrid data storage and reconstruction system and method for a data storage device
US6343280B2 (en) * 1998-12-15 2002-01-29 Jonathan Clark Distributed execution software license server
US7111290B1 (en) * 1999-01-28 2006-09-19 Ati International Srl Profiling program execution to identify frequently-executed portions and to assist binary translation
US6601129B1 (en) * 2000-01-11 2003-07-29 Arvind Arakeri Interface device between PC and keyboard enabling switching of data
US6742136B2 (en) * 2000-12-05 2004-05-25 Fisher-Rosemount Systems Inc. Redundant devices in a process control system
US20020103814A1 (en) * 2000-12-12 2002-08-01 Edouard Duvillier High speed, non-log based database recovery technique
US6868417B2 (en) * 2000-12-18 2005-03-15 Spinnaker Networks, Inc. Mechanism for handling file level and block level remote file accesses using the same server
JP2002244898A (ja) 2001-02-19 2002-08-30 Hitachi Ltd データベース管理プログラム及びデータベースシステム
GB0209957D0 (en) * 2002-05-01 2002-06-05 Ibm Flexible access of data stored in a database
US20040107199A1 (en) 2002-08-22 2004-06-03 Mdt Inc. Computer application backup method and system
WO2004059505A1 (en) * 2002-12-17 2004-07-15 Systemauto System, method and computer program product for sharing information in a distributed framework
US8209680B1 (en) 2003-04-11 2012-06-26 Vmware, Inc. System and method for disk imaging on diverse computers
US7953819B2 (en) * 2003-08-22 2011-05-31 Emc Corporation Multi-protocol sharable virtual storage objects
US7853740B2 (en) * 2003-09-18 2010-12-14 Riip, Inc. Keyboard video mouse (KVM) switch for transmission of high quality audio with 64-bit data packets wherein transmissions of data packets are wherein a defined time limit
US7296008B2 (en) 2004-08-24 2007-11-13 Symantec Operating Corporation Generation and use of a time map for accessing a prior image of a storage device
US7113981B2 (en) * 2003-12-29 2006-09-26 Mixxer, Inc. Cellular telephone download locker
US8127095B1 (en) 2003-12-31 2012-02-28 Symantec Operating Corporation Restore mechanism for a multi-class file system
US20060031510A1 (en) * 2004-01-26 2006-02-09 Forte Internet Software, Inc. Methods and apparatus for enabling a dynamic network of interactors according to personal trust levels between interactors
US8996455B2 (en) * 2004-04-30 2015-03-31 Netapp, Inc. System and method for configuring a storage network utilizing a multi-protocol storage appliance
US7685129B1 (en) 2004-06-18 2010-03-23 Emc Corporation Dynamic data set migration
US20060069890A1 (en) 2004-09-30 2006-03-30 Emc Corporation Triangular asynchronous replication with minimal synchronous storage
US7475282B2 (en) * 2004-12-28 2009-01-06 Acronis Inc. System and method for rapid restoration of server from back up
US8676862B2 (en) * 2004-12-31 2014-03-18 Emc Corporation Information management
US7620843B2 (en) 2005-03-02 2009-11-17 International Business Machines Corporation Rebuilding a storage system
US7467282B2 (en) * 2005-04-05 2008-12-16 Network Appliance, Inc. Migrating a traditional volume to a virtual volume in a storage system
US7620741B2 (en) * 2005-04-22 2009-11-17 Sun Microsystems, Inc. Proxy-based device sharing
US7743210B1 (en) * 2005-04-29 2010-06-22 Netapp, Inc. System and method for implementing atomic cross-stripe write operations in a striped volume set
JP2007034376A (ja) * 2005-07-22 2007-02-08 Fujitsu Component Ltd 切り替え装置、並びに、その制御方法および制御プログラム
US7774316B2 (en) 2005-11-30 2010-08-10 Oracle International Corp. Filesystem snapshot enhancement to improve system performance
US7546484B2 (en) 2006-02-08 2009-06-09 Microsoft Corporation Managing backup solutions with light-weight storage nodes
US20070201502A1 (en) 2006-02-28 2007-08-30 Maven Networks, Inc. Systems and methods for controlling the delivery behavior of downloaded content
US7640353B2 (en) 2006-04-27 2009-12-29 Microsoft Corporation Guided random seek support for media streaming
US20070300063A1 (en) * 2006-06-23 2007-12-27 Research In Motion Limited Pairing to a Wireless Peripheral Device at the Lock-Screen
US7487383B2 (en) 2006-06-29 2009-02-03 Dssdr, Llc Data transfer and recovery process
US8566389B2 (en) * 2006-07-10 2013-10-22 Samsung Electronics Co., Ltd. Thin network protocol
US7747584B1 (en) * 2006-08-22 2010-06-29 Netapp, Inc. System and method for enabling de-duplication in a storage system architecture
US8620970B2 (en) * 2006-10-03 2013-12-31 Network Appliance, Inc. Methods and apparatus for changing versions of a filesystem
US7830882B2 (en) * 2006-11-17 2010-11-09 Intel Corporation Switch scaling for virtualized network interface controllers
JP4909021B2 (ja) * 2006-11-20 2012-04-04 株式会社日立製作所 コピー制御方法及び記憶装置
US8463798B1 (en) 2007-03-31 2013-06-11 Emc Corporation Prioritized restore
US7523231B1 (en) * 2007-06-29 2009-04-21 Emc Corporation Application aware storage
US7895647B2 (en) * 2007-07-16 2011-02-22 Aten International Co., Ltd. KVM switch
US20090132616A1 (en) 2007-10-02 2009-05-21 Richard Winter Archival backup integration
EP2201456A4 (en) 2007-10-08 2012-02-15 Axxana Israel Ltd SYSTEM FOR QUICK DATA RECOVERY
US8141092B2 (en) * 2007-11-15 2012-03-20 International Business Machines Corporation Management of an IOV adapter through a virtual intermediary in a hypervisor with functional management in an IOV management partition
US7764702B2 (en) * 2007-12-19 2010-07-27 At&T Intellectual Property I, L.P. Method and apparatus for customer-controlled routing management
JP4990753B2 (ja) 2007-12-28 2012-08-01 パナソニック株式会社 電子機器の入力装置及び入力操作処理方法、並びに入力制御プログラム
CA2723386A1 (en) 2008-05-07 2009-11-12 Digital Fountain, Inc. Fast channel zapping and high quality streaming protection over a broadcast channel
US8577845B2 (en) 2008-06-13 2013-11-05 Symantec Operating Corporation Remote, granular restore from full virtual machine backup
US9361229B2 (en) 2008-08-25 2016-06-07 International Business Machines Corporation Distributed shared caching for clustered file systems
US8041984B2 (en) * 2008-10-17 2011-10-18 International Business Machines Corporation Redundancy information for adjusting threshold for component failure in a multi-layer system
CN101414277B (zh) 2008-11-06 2010-06-09 清华大学 一种基于虚拟机的按需增量恢复容灾系统及方法
US8214687B2 (en) 2009-02-13 2012-07-03 International Business Machines Corporation Disaster recovery based on journaling events prioritization in information technology environments
US20100248681A1 (en) * 2009-03-27 2010-09-30 Anthony Phills Method and system for producing emergency notifications
WO2011002946A1 (en) * 2009-06-30 2011-01-06 Citrix Systems, Inc. Methods and systems for selecting a desktop execution location
US8489915B2 (en) 2009-07-30 2013-07-16 Cleversafe, Inc. Method and apparatus for storage integrity processing based on error types in a dispersed storage network
US8560765B2 (en) 2009-09-08 2013-10-15 Lsi Corporation Systems and methods for variable level use of a multi-level flash memory
US9122579B2 (en) * 2010-01-06 2015-09-01 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for a storage layer
US8285952B2 (en) 2009-09-17 2012-10-09 Hitachi, Ltd. Method and apparatus to utilize large capacity disk drives
US8639917B1 (en) 2009-10-20 2014-01-28 Vmware, Inc. Streaming a desktop image over wide area networks in which the desktop image is segmented into a prefetch set of files, streaming set of files and leave-behind set of files
US9900150B2 (en) 2009-10-30 2018-02-20 International Business Machines Corporation Dispersed storage camera device and method of operation
EP3002683B1 (en) * 2009-12-14 2017-07-12 Citrix Systems Inc. Methods and systems for communicating between trusted and non-trusted virtual machines
US8972690B2 (en) 2010-01-05 2015-03-03 Deric Horn Methods and apparatuses for usage based allocation block size tuning
WO2011132652A1 (ja) * 2010-04-19 2011-10-27 株式会社Dapリアライズ タッチパネル手段を備える携帯情報処理装置及び該携帯情報処理装置用プログラム
US9235585B1 (en) * 2010-06-30 2016-01-12 Emc Corporation Dynamic prioritized recovery
US20120089700A1 (en) * 2010-10-10 2012-04-12 Contendo, Inc. Proxy server configured for hierarchical caching and dynamic site acceleration and custom object and associated method
US9910765B2 (en) * 2014-05-22 2018-03-06 Citrix Systems, Inc. Providing testing environments for software applications using virtualization and a native hardware layer

Also Published As

Publication number Publication date
WO2012012142A9 (en) 2013-04-11
US10922184B2 (en) 2021-02-16
US20180329781A1 (en) 2018-11-15
US10055298B2 (en) 2018-08-21
US20170329676A1 (en) 2017-11-16
WO2012012142A3 (en) 2014-03-27
US9697086B2 (en) 2017-07-04
CN103890708A (zh) 2014-06-25
WO2012012142A2 (en) 2012-01-26
US20120005379A1 (en) 2012-01-05

Similar Documents

Publication Publication Date Title
CN103890708B (zh) 数据恢复期间的数据访问
US9639289B2 (en) Systems and methods for retaining and using data block signatures in data protection operations
US6618736B1 (en) Template-based creation and archival of file systems
US7827137B2 (en) Seeding replication
EP1984821B1 (en) Restoring a file to its proper storage tier in an information lifecycle management environment
US6728849B2 (en) Remote storage system and method
CN100458716C (zh) 数据维护、备份和恢复方法
US11403187B2 (en) Prioritized backup segmenting
CN105339903B (zh) 恢复文件系统对象的方法和系统
US8832491B2 (en) Post access data preservation
US7974949B2 (en) Computer system and automatic data backup method
EP2488949A1 (en) De-duplication storage system with multiple indices for efficient file storage
CN105373340A (zh) 用于提供安全多租赁的系统、装置和方法
CA2399657A1 (en) System for distributed media network and meta data server
WO2014014579A1 (en) Source reference replication in a data storage subsystem
CN102460415A (zh) 用于虚拟盘版本控制的系统
US11294770B2 (en) Dynamic prioritized recovery
CN106796493A (zh) 用于存储设备区的标记
JP6271581B2 (ja) 仮想テープライブラリシステム
EP3819783A1 (en) Synchronous object placement for information lifecycle management
KR100820772B1 (ko) 분산 네트워크 환경에서의 이중화 메모리 파일시스템 복구방법 및 복구 시스템

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