CN102902600B - 有效的应用感知的灾难恢复 - Google Patents

有效的应用感知的灾难恢复 Download PDF

Info

Publication number
CN102902600B
CN102902600B CN201210320086.7A CN201210320086A CN102902600B CN 102902600 B CN102902600 B CN 102902600B CN 201210320086 A CN201210320086 A CN 201210320086A CN 102902600 B CN102902600 B CN 102902600B
Authority
CN
China
Prior art keywords
data
user
action
prestrain
backup
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
CN201210320086.7A
Other languages
English (en)
Other versions
CN102902600A (zh
Inventor
M·K·瓦利亚帕拉姆比尔
A·辛格拉
V·森
A·阿里
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN102902600A publication Critical patent/CN102902600A/zh
Application granted granted Critical
Publication of CN102902600B publication Critical patent/CN102902600B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • 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
    • G06F11/1469Backup restoration techniques
    • 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/1453Management of the data involved in backup or backup restore using de-duplication of the data
    • 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
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual

Abstract

本发明涉及有效的应用感知的灾难恢复。实施例针对有效地备份数据的部分以及执行确定范围的数据恢复。在一个实施例中,计算机系统预加载具有对应于各种不同的软件应用或操作系统的数据的数据映像。该计算机系统对数据映像进行分块,使得每个数据映像都被划分成多个数据块,并且其中每个数据块都由散列值来表示。然后,该计算机系统从用户接收增量数据的部分,所述增量数据表示所接收的用户数据与预加载的数据映像中的数据间的数据差异。计算机系统还生成逻辑备份表示,所述逻辑备份表示包括预加载的数据映像的数据块散列值、以及从用户接收的增量数据。该逻辑表示允许仅仅使用散列值和增量数据来复原用户的数据。

Description

有效的应用感知的灾难恢复
技术领域
本发明涉及有效的应用感知的灾难恢复。
背景技术
计算机已变得高度集成于工作、家庭、移动设备以及许多其他地方中。计算机可快速且有效地处理大量信息。被设计成在计算机系统上运行的软件应用允许用户执行包括商业应用、学校作业、娱乐等等在内的各种各样的功能。软件应用通常被设计成执行特定的任务,诸如用于草拟文档的文字处理器应用或者用于发送、接收和组织电子邮件的电子邮件程序。
这些应用所产生的数据常常是非常有价值的,并且因此通常以某种形式进行了备份。数据备份应用可以以许多不同形式出现。一些备份应用在磁带驱动器或其他介质上本地地备份数据。其他备份应用在包括云在内的远程位置处备份数据。除了常规数据备份以外,业务还可能具有适于在紧急情况下实施的灾难保护计划。然而,这些数据恢复计划通常使用大量网络带宽,因为这些计划的实现往往是孤注一掷的。
发明内容
在此所描述的实施例针对有效地备份数据的一个或多个部分以及执行确定范围的数据恢复。在一个实施例中,计算机系统预加载具有对应于各种不同的软件应用或操作系统的数据的数据映像。该计算机系统对预加载的数据映像进行分块,使得每个数据映像都被划分成多个数据块,并且其中每个数据块都由散列值来表示。然后,该计算机系统从用户接收增量数据的部分,所述增量数据表示所接收的用户数据与预加载的数据映像中的数据间的数据差异。计算机系统还生成逻辑备份表示,所述逻辑备份表示包括预加载的数据映像的数据块散列值、以及从用户接收的增量数据。该逻辑表示允许仅仅使用散列值和增量数据来复原用户的数据。
在另一实施例中,计算机系统定义灾难恢复策略,所述灾难恢复策略指定:多个不同软件应用中的哪些软件应用将在灾难事件发生以后复原。计算机系统从所生成的虚拟硬盘接收差异数据,所述差异数据包括从用户接收的数据与其他预加载的数据映像间的数据差异,其中所述虚拟硬盘被配置为从用户接收所述差异数据。该计算机系统基于灾难恢复策略确定哪些软件应用数据将被复原并且根据该策略将软件应用增量数据复原到用户。
提供本发明内容以便以简化形式介绍将在以下详细描述中进一步描述的一些概念。本发明内容并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
另外的特征和优点将在以下的描述中阐述,并且部分可从该描述中显而易见,或者可以从此处的教示实践中习得。本发明的特征和优点可以通过在所附权利要求中特别指出的手段和组合来实现并获取。本发明的特征将从以下描述和所附权利要求书中变得完全显而易见,或者可通过如下所述对本发明的实践而获知。
附图说明
为了进一步阐明本发明的各实施例的以上和其他优点和特征,将参考附图来呈现本发明的各实施例的更具体的描述。可以理解,这些附图只描绘本发明的典型实施例,因此将不被认为是对其范围的限制。本发明将通过使用附图用附加特征和细节来描述和解释,附图中:
图1示出了包括有效地备份数据的一个或多个部分的本发明的各实施例可在其中操作的计算机体系结构。
图2示出了用于有效地备份数据的一个或多个部分的示例性方法的流程图。
图3示出了用于执行确定范围的数据恢复的示例性方法的流程图。
图4示出了以确定优先级的方式来复原数据的计算机体系结构。
具体实施方式
在此所描述的实施例针对有效地备份数据的部分以及执行确定范围(scoped)的数据恢复。在一个实施例中,计算机系统预加载具有对应于各种不同的软件应用或操作系统的数据的数据映像。该计算机系统对预加载的数据映像进行分块,使得每个数据映像都被划分成多个数据块,并且其中每个数据块都由散列值来表示。然后,该计算机系统从用户接收增量数据的部分,所述增量数据表示所接收的用户数据与预加载的数据映像中的数据间的数据差异。计算机系统还生成逻辑备份表示,所述逻辑备份表示包括预加载的数据映像的数据块散列值、以及从用户接收的增量数据。该逻辑表示允许使用散列值和增量数据来复原用户的数据。例如,一旦散列值已经被映射到合适的数据块,则可以使用增量数据来表示所复原的数据的完整视图。
在另一实施例中,计算机系统定义灾难恢复策略,所述灾难恢复策略指定:多个不同软件应用中的哪些软件应用将在灾难事件发生以后被复原。该计算机系统从所生成的虚拟硬盘接收差异数据,所述差异数据包括从用户接收的数据与其他预加载的数据映像间的数据差异。该计算机系统基于灾难恢复策略确定哪些软件应用数据将被复原并且根据该策略将软件应用增量数据复原到用户。
以下讨论现涉及可以执行的多种方法以及方法动作。应当注意,虽然这些方法动作可能是按一定次序讨论的,或者是在流程图中被描绘为是按照特定顺序进行的,然而并非必然需要特定的次序,除非特别声明,或者是在一个动作被执行之前因为该动作依赖于另一动作的完成而需要的情况。
本发明的各实施例可包括或利用专用或通用计算机,该专用或通用计算机包括诸如例如一个或多个处理器和系统存储器等计算机硬件,如以下更详细讨论的。本发明范围内的各实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。这样的计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。以数据形式存储有计算机可执行指令的计算机可读介质是计算机存储介质。承载计算机可执行指令的计算机可读介质是传输介质。由此,作为示例而非限制,本发明的各实施例可包括至少两种显著不同的计算机可读介质:计算机存储介质和传输介质。
计算机存储介质包括RAM、ROM、EEPROM、CD-ROM、基于RAM、闪存、相变存储器(PCM)、或其它类型的存储器的固态驱动器(SSD)、或者其他光盘存储、磁盘存储或其他磁存储设备、或可用于以计算机可执行指令、数据或数据结构形式存储所期望的程序代码装置且可被通用或专用计算机访问的任何其他介质。
“网络”被定义成允许在计算机系统和/或模块和/或其他电子设备之间传输电子数据的一个或多个数据链路和/或数据交换机。当信息通过网络(硬连线、无线、或者硬连线或无线的组合)被传输或提供给计算机时,该计算机将该连接适当地视为传输介质。传输介质可以包括如下的网络:所述网络可以用于运送计算机可执行指令形式或数据结构形式的数据或所期望的程序代码装置,并且可以被通用或专用计算机访问。上述的组合也应被包括在计算机可读介质的范围内。
此外,在到达各种计算机系统组件之后,计算机可执行指令或数据结构形式的程序代码装置可从传输介质自动传输到计算机存储介质(或反之亦然)。例如,通过网络或数据链路接收到的计算机可执行指令或数据结构可被缓冲在网络接口模块(例如,网络接口卡或“NIC”)内的RAM中,然后最终被传输给计算机系统RAM和/或计算机系统处的较不易失性的计算机存储介质。因而,应当理解,计算机存储介质可被包括在还利用(或甚至主要利用)传输介质的计算机系统组件中。
计算机可执行(或计算机可解释)指令例如包括致使通用计算机、专用计算机、或专用处理设备执行某个功能或某组功能的指令。计算机可执行指令可以是例如二进制代码、诸如汇编语言之类的中间格式指令、或甚至源代码。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述特征或动作。相反,上述特征和动作是作为实现权利要求的示例形式而公开的。
本领域的技术人员将理解,本发明可以在具有许多类型的计算机系统配置的网络计算环境中实践,这些计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器的或可编程消费电子设备、网络PC、小型计算机、大型计算机、移动电话、PDA、寻呼机、路由器、交换机等等。本发明还可在分布式系统环境中实践,在该环境中本地和远程计算机系统通过网络(经由硬连线数据链路、无线数据链路、或者经由硬连线和无线数据链路的组合)链接起来,每个计算机系统都执行任务(例如,云计算、云服务等)。在分布式系统环境中,程序模块可位于本地和远程存储器存储设备中。
图1示出了可在其中采用本发明的原理的计算机体系结构100。计算机体系结构100包括计算机系统101。该计算机系统可以是任何类型的本地或分布式计算机系统。系统101可以被配置为执行各个实施例,包括:(1)在设置用于灾难保护的次要站点时优化资源利用;以及(2)执行应用感知的确定范围的灾难保护和恢复。下面分别参照图2和图3的方法200和300初步地描述这些方面中的每个。
为了让次要位置(云或其他)能够以合理的恢复时间(在灾难的情况下)主存操作系统(OS)、应用和相应数据,使OS和应用数据在次要位置处可用,其中该次要位置与主要位置保持同步。在一些情况下,应用/OS数据可以存储在虚拟硬盘(VHD)中。作为VHD的补充或替换,还可以使用许多其他存储设备。此外,下面所描述的方案被设计为跨物理和虚拟部署地工作。
在一些实施例中,可以为OS和/或应用创建“金色映像(golden image)”。如在此所使用的那样,术语“金色映像”可以指包括操作系统和一个或多个软件程序的预装版本的数据映像。实施例可以充分利用这些金色映像以用于最优地设置灾难恢复。作为设置步骤,向次要(备份)位置提供金色映像的库。这些映像可以是被直接加载在次要位置上而不需要通过网络来提供的标准OS和应用二进制码。在一个实施例中,经更新的金色映像可以包括帮助系统合成与原始金色映像相比不同的金色映像的一组改变。在该示例的上下文中,经更新的金色映像可以存储在差别VHD(其被设计为存储映像间的差异)上,该差别VHD可以与原始金色映像相组合以提供更新风格的金色映像而不需要多次存储。
金色映像可以存储在库中,并且然后(至少在一些情况下)使用可变分块在块级被分块。分块将映像划分成多个不同的“块”,其中每个块都由唯一的标识符(例如散列值)来表示。如果需要,可以在分块以后保留金色映像以便在灾难的情况下促进更快的恢复,但是这将需要额外的存储。如果要节省存储,则可以在分块以后丢弃金色映像,并且通过各个块以及与这些块存储在一起的、指示如何将这些块重新形成为映像的元数据来重新合成金色映像。
一旦从金色映像中生成了各个块(仅当将新映像提供到库中时才需要分块过程),就将元数据流式传输到VHD中,并将这个元数据与之前通过对所有金色映像进行分块而生成的块进行比较。由于金色映像文件之间的共性(例如OS二进制码、应用二进制码),在次要位置处可容易地得到大量数据块,而且仅仅将新块传送给次要位置所花费的时间将比把整个流式传输的VHD从主要源传送给次要位置更有效(更快)。
应当注意,如果金色映像被保留在次要位置处(以实现快速的灾难恢复),则无法根据源系统中的改变来直接更新金色映像。相反,却可以使用差别VHD来捕捉所需要的改变以便从金色映像合成源系统。可以创建逻辑编组以跟踪该关系。
一旦存在逻辑编组,则可以有多个选项可用于执行数据恢复(在灾难以后):1)一个选项将是通过使用逻辑编组关系在次要位置处直接“恢复”源系统的实例。在此,恢复可以通过如下方式执行:直接启动逻辑编组内所包含的OS和/或应用数据的实例;或者可替代地将逻辑编组复制到次要位置本身处的另一区域并然后将其实例化。2)第二选项将是使用金色映像(当可在主要位置处得到时)来构建源系统。一旦这被完成,就仅仅需要流式传输差别信息(例如从差别VHD)来修复源系统。一旦主要资源已经在灾难以后变为在线,则该方案还可以在故障回复期间使用。
实施例还可以针对应用感知的确定范围的灾难保护和恢复。在一些情况下,业务可能具有核心的一组应用(例如电子邮件管理程序),与其他应用相比,这些应用对他们而言更重要。在灾难以后,这样的业务可能想要在复原其他重要性更低的应用以前使用它们可用的资源(例如存储、主要与次要之间的网络带宽)来复原这些重要的应用。因此,在一些实施例中,可以为每个应用提供确定范围的备份和/或复原。
作为工作流的第一步骤,为用于确定需要提供(或基于分类元数据要自动删除)的应用和数据的范围的策略。基于所提供的范围,使用从金色映像生成的块来生成和修复确定范围的所流式传输的VHD。一旦修复完成,则确定已确定范围的源系统的逻辑表示。
确定范围可以在应用级或组件级(例如复原应用的某些部分)进行。一种用于确定应用边界和组件的方式将是使用应用编写器(或者用于系统文件的系统编写器)。一旦确定范围完成,则可以针对所期望的范围设置流式传输VHD并且然后将其用于备份或灾难恢复。另外,可以在灾难恢复过程期间为流式传输的备份VHD进一步确定范围,以实现原来曾备份的应用的子集的灾难恢复。由于备份感知到应用和组件,因此其具有所需的信息来使得能够仅仅将所述应用和组件的子集用于灾难恢复。通过这种方式,业务或其他用户还可以备份他们所有的应用和组件,但是仅仅对所述应用和组件的子集执行灾难恢复。充分利用备份资产来执行灾难恢复可以避免存储重复的数据。下面分别参照图2和图3的方法200和300更详细地解释这些方面。
考虑到以上描述的系统和体系结构,参考图2和图3的流程图将更好地理解根据所公开的主题实现的方法。为了解释简明起见,这些方法被示出和描述为一系列框。然而,应该理解和了解,所要求保护的主题不受框的次序的限制,因为一些框可按不同的次序进行和/或与此处所描绘和描述的其他框同时进行。此外,并非全部所示的框都是实现下面所述的方法所必需的。
图2示出了用于有效地备份数据的一个或多个部分的方法200的流程图。现在将频繁参考环境100的组件和数据来描述方法200。
方法200包括预加载具有对应于一个或多个软件应用的数据的一个或多个数据映像的动作(动作210)。例如,映像预加载模块105可以预加载包括应用和/或操作系统的(金色)映像106。例如,金色映像可以包括操作系统的某版本、操作系统的打补丁或经更新版本、加上一个或多个应用的操作系统、或者简单地包括应用或一组应用(例如办公软件套装)(这些组合中的任何或全部都可以由元素107来表示)。这些映像一旦被预加载就可以被映像分块模块110分块。因此,每个数据映像都被划分成多个不同的数据块111,并且这些数据块中的每个都由散列值112来表示(动作220)。该散列值可以通过MD5或基本上任何其他散列算法来生成。所述数据块可以存储在数据存储115中。该数据存储可以包括任何类型的本地或分布式数据存储。该数据存储还可以存储预加载(金色)数据映像106。
方法200还包括从用户接收增量数据的一个或多个部分的动作,所述增量数据表示所接收的用户数据与预加载的数据映像中的数据间的数据差异(动作230)。例如,增量数据接收模块130可以从用户125接收增量数据126。增量数据表示用户的数据与预加载的映像106中的数据间的数据差异。因此,如果用户已经创建了不同应用的内容或者附件,则这些数据部分将被包括在增量数据中。此外,任何设定或策略改变都将在增量数据中发送。一般而言,增量数据将包括初始软件应用或操作系统的安装以后的任何数据改变。
方法200还包括生成逻辑备份表示的动作,所述逻辑备份表示包括预加载的数据映像的数据块散列值以及从用户接收的增量数据,其中所述逻辑表示允许使用有关合适块的散列值以及增量数据来复原用户的数据(动作240)。例如,备份表示生成模块135可以生成逻辑备份表示136,所述逻辑备份表示136包括经分块的映像的散列值112和从用户125接收的增量数据126。在灾难以后,用户可以使用预加载的映像(或简单地安装该应用/OS本身)和增量数据来复原他们的数据。逻辑备份表示因此可以仅仅包括散列值和增量数据。
因此在一个实施例中,计算机系统101可以接收复原用户的数据的请求。该请求包括对已经安装在用户的计算机系统上的那些操作系统和程序的指示。该计算机系统然后可以访问逻辑备份表示136以确定哪些数据将被返回以将用户的计算机系统复原到其原始状态。附加地或可替代地,该数据可以被返回以在诸如另一计算机系统或云之类的不同目标上重新创建经备份的计算机系统。然后,在确定要返回哪些数据以后,该计算机系统可以将该数据返回给用户。
在一些情况下,为用户指定的那些软件应用生成逻辑备份表示。通过这种方式,灾难恢复的范围被确定为仅仅包括用户所期望的那些应用。这些应用可以包括被用户认为高优先级的应用。这些高优先级应用可以在低优先级应用的数据以前复原。应用的优先级可以以灾难恢复策略127来存储。在一些情况下,用户可以请求:除了增量数据外还返回一个或多个预加载的映像。在这种情况下,除了增量数据外还发送所确定的预加载的映像。附加地或可替代地,用户应用中的一个或多个可以在本地计算机系统上本地地复原,使得所述应用被从本地计算机系统提供给应用用户。
图3示出了用于执行确定范围的数据恢复的方法300的流程图。现在将频繁地分别参照图1和图4的环境100和400的组件和数据来描述方法300。
方法300包括定义灾难恢复策略的动作,所述灾难恢复策略指定:多个不同软件应用中的哪些软件应用将在灾难事件发生以后被复原(动作310)。例如,客户端计算机系统401处的用户可以定义灾难恢复策略403,所述灾难恢复策略403指定:哪些软件应用404将在灾难事件已经发生并且用户的计算机系统不再可用以后被复原。
灾难恢复策略可以指定:用户数据的全部或一部分将被备份(例如在远程服务器数据存储410中)。在灾难以后,用户的数据411/412的全部或一部分可以被复原。具体而言,用户可以指定:他们所备份的全部应用将被复原,或者可以指定:他们完整的一组备份应用中的某些应用将被复原。灾难恢复策略还可以为每个应用指定优先级405。在这种情况下,较高优先级的应用在较低优先级的应用以前被复原。在单个应用的部分被复原的情况下,这些部分还可以被确定优先级,使得高优先级应用部分首先被复原。
方法300从所生成的虚拟硬盘接收差异数据的动作,所述差异数据包括从用户接收的数据与一个或多个预加载的数据映像间的数据差异,所述虚拟硬盘被配置为从用户接收所述差异数据(动作320)。例如,用户125可以将他们的增量数据发送给虚拟硬盘驱动器120。他们的虚拟硬盘驱动器接收并存储该增量数据。用户可以将恢复请求406发送给远程服务器以根据灾难恢复策略复原该用户的数据。在一些情况下,可以生成逻辑备份表示,所述逻辑备份表示包括预加载的数据映像的数据散列值、以及从用户接收的差异数据。该逻辑表示允许仅仅使用有关合适数据块的散列值和差异数据来复原用户的数据。远程服务器可以基于灾难恢复策略确定:哪些软件应用数据将被复原(动作330)。然后,根据该策略,可以复原用户的数据(动作340)。由于该数据是从之前存储的备份数据中复原的,因此避免了存储单独的数据以用于灾难恢复。
因此,提供了有效地备份数据的一个或多个部分的方法、系统和计算机程序产品。此外,提供了执行确定范围的数据恢复的方法、系统和计算机程序产品。
本发明可具体化为其它具体形式而不背离其精神或本质特征。所描述的实施例在所有方面都应被认为仅是说明性而非限制性的。因此,本发明的范围由所附权利要求书而非前述描述指示。落入权利要求书的等效方案的含义和范围内的所有改变被权利要求书的范围所涵盖。

Claims (11)

1.一种在包括多个计算系统的计算机联网环境中在包括至少一个处理器和存储器的计算机系统处用于有效地备份数据的一个或多个部分的计算机实现的方法,所述方法包括:
预加载具有对应于一个或多个软件应用(107)的数据的一个或多个数据映像(106)的动作;
对所述数据映像进行分块(110)的动作,使得每个数据映像都被划分成多个数据块(111),每个数据块都由散列值(112)来表示;
从用户接收增量数据(126)的一个或多个部分的动作,所述增量数据(126)表示所接收的用户数据与预加载的数据映像中的数据间的数据差异;以及
生成逻辑备份表示(136)的动作,所述逻辑备份表示(136)包括预加载的数据映像的数据块散列值以及从所述用户接收的增量数据,其中所述逻辑备份表示允许使用所述散列值和所述增量数据来复原(140)所述用户的数据;
其中所述方法还包括:
接收复原所述用户的数据的请求的动作,其中所述请求包括对已经安装在所述用户的计算机系统上的那些操作系统和程序的指示;
访问所述逻辑备份表示以确定哪些数据将被返回以将所述用户的计算机系统复原到其原始状态的动作;以及
将所述增量数据返回给所述用户的动作。
2.如权利要求1所述的方法,其特征在于,仅仅将所述散列值和增量数据存储为所述逻辑备份表示的一部分。
3.如权利要求1所述的方法,其特征在于,所述预加载的数据映像包括操作系统映像。
4.如权利要求1所述的方法,其特征在于,所述增量数据包括以下各项的一个或多个:软件程序、软件程序设定、用户生成的数据和操作系统设定。
5.如权利要求1所述的方法,其特征在于,为所述用户指定的那些软件应用生成所述逻辑备份表示。
6.如权利要求1所述的方法,其特征在于,在指定的低优先级应用的数据以前复原指定的高优先级应用的数据。
7.如权利要求1所述的方法,其特征在于,还包括:
确定除了所述增量数据以外还将返回所述一个或多个预加载的映像的动作;以及
除了所述增量数据以外还发送所确定的预加载的映像的动作。
8.一种用于执行确定范围的数据恢复的方法,所述方法包括:
定义灾难恢复策略(127)的动作,所述灾难恢复策略(127)指定:多个不同软件应用中的哪些软件应用(107)将在灾难事件发生以后被复原;
从所生成的虚拟硬盘(120)接收差异数据(126)的动作,所述差异数据(126)包括从用户接收的数据与一个或多个预加载的数据映像(106)间的数据差异,所述虚拟硬盘被配置为从所述用户接收所述差异数据;
基于所述灾难恢复策略确定哪些软件应用的数据将被复原的动作;以及
根据所述策略将所述软件应用的增量数据复原(140)到所述用户的动作;
其中所述灾难恢复策略指定所述用户的全部数据将被备份,并且其中所指定的应用子集在灾难事件以后被复原,或者指定要备份所指定的应用子集,并且其中所述应用子集的进一步子集在灾难事件以后被复原。
9.如权利要求8所述的方法,其特征在于,所述数据是从之前存储的备份数据中恢复的,使得避免了用于灾难恢复的补充性的存储。
10.一种计算机系统,包括:
一个或多个处理器;
系统存储器;
其上存储有计算机可执行指令的一个或多个计算机可读存储介质,所述计算机可执行指令在被所述一个或多个处理器执行时致使所述计算系统执行一种用于执行确定范围的数据恢复的方法,所述方法包括:
定义灾难恢复策略(403)的动作,所述灾难恢复策略(403)指定:多个不同软件应用中的哪些软件应用(107)将在灾难事件发生以后被复原;
从所生成的虚拟硬盘(120)接收差异数据(126)的动作,所述差异数据(126)包括从用户(125)接收的数据(402)与一个或多个预加载的数据映像(412)间的数据差异,所述虚拟硬盘被配置为从所述用户接收所述差异数据,所述预加载的数据映像包括完整备份了所述用户的数据的现有数据备份(411)的一个或多个部分;
基于所述灾难恢复策略确定所述现有数据备份中的哪些软件应用数据将被复原的动作;以及
根据所述灾难恢复策略(403)通过返回所述差异数据将所指定的应用的软件应用增量数据复原到所述用户的动作;
其中所述灾难恢复策略指定所述用户的全部数据将被备份,并且其中所指定的应用子集在灾难事件以后被复原,或者指定要备份所指定的应用子集,并且其中所述应用子集的进一步子集在灾难事件以后被复原。
11.如权利要求10所述的系统,其特征在于,还包括:
除了所述增量数据以外还要确定返回所述一个或多个预加载的映像的动作;以及
除了所述增量数据以外还返回所确定的预加载的映像的动作。
CN201210320086.7A 2011-09-02 2012-08-31 有效的应用感知的灾难恢复 Active CN102902600B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/224,794 2011-09-02
US13/224,794 US9063822B2 (en) 2011-09-02 2011-09-02 Efficient application-aware disaster recovery

Publications (2)

Publication Number Publication Date
CN102902600A CN102902600A (zh) 2013-01-30
CN102902600B true CN102902600B (zh) 2015-06-17

Family

ID=47574846

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210320086.7A Active CN102902600B (zh) 2011-09-02 2012-08-31 有效的应用感知的灾难恢复

Country Status (8)

Country Link
US (1) US9063822B2 (zh)
EP (2) EP3026562B1 (zh)
JP (1) JP6184957B2 (zh)
KR (1) KR101960993B1 (zh)
CN (1) CN102902600B (zh)
ES (1) ES2600129T3 (zh)
HK (1) HK1180417A1 (zh)
WO (1) WO2013033272A1 (zh)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103107905B (zh) * 2011-11-14 2017-08-04 华为技术有限公司 异常处理方法、装置和客户端
KR101919777B1 (ko) * 2012-01-09 2018-11-19 엘지전자 주식회사 이동 단말기 및 그 제어방법
US9268784B1 (en) * 2012-09-19 2016-02-23 Emc Corporation Content-aware distributed deduplicating storage system based on locality-sensitive hashing
US10235392B1 (en) 2013-06-26 2019-03-19 EMC IP Holding Company LLC User selectable data source for data recovery
US9904606B1 (en) 2013-06-26 2018-02-27 EMC IP Holding Company LLC Scheduled recovery in a data protection system
US10353783B1 (en) 2013-06-26 2019-07-16 EMC IP Holding Company LLC Pluggable recovery in a data protection system
US9641486B1 (en) 2013-06-28 2017-05-02 EMC IP Holding Company LLC Data transfer in a data protection system
US9703618B1 (en) 2013-06-28 2017-07-11 EMC IP Holding Company LLC Communication between a software program that uses RPC with another software program using a different communications protocol enabled via proxy
US9853873B2 (en) 2015-01-10 2017-12-26 Cisco Technology, Inc. Diagnosis and throughput measurement of fibre channel ports in a storage area network environment
US9900250B2 (en) 2015-03-26 2018-02-20 Cisco Technology, Inc. Scalable handling of BGP route information in VXLAN with EVPN control plane
US9830240B2 (en) 2015-05-14 2017-11-28 Cisco Technology, Inc. Smart storage recovery in a distributed storage system
US10222986B2 (en) 2015-05-15 2019-03-05 Cisco Technology, Inc. Tenant-level sharding of disks with tenant-specific storage modules to enable policies per tenant in a distributed storage system
US11588783B2 (en) 2015-06-10 2023-02-21 Cisco Technology, Inc. Techniques for implementing IPV6-based distributed storage space
US10778765B2 (en) 2015-07-15 2020-09-15 Cisco Technology, Inc. Bid/ask protocol in scale-out NVMe storage
US9477555B1 (en) * 2015-11-16 2016-10-25 International Business Machines Corporation Optimized disaster-recovery-as-a-service system
US9892075B2 (en) 2015-12-10 2018-02-13 Cisco Technology, Inc. Policy driven storage in a microserver computing environment
CN105630628B (zh) * 2015-12-17 2019-04-16 小米科技有限责任公司 应用程序恢复方法及装置
WO2017131684A1 (en) * 2016-01-28 2017-08-03 Hewlett Packard Enterprise Development Lp Content recovery of protected data from non-volatile memory
US10169174B2 (en) 2016-02-29 2019-01-01 International Business Machines Corporation Disaster recovery as a service using virtualization technique
US10140172B2 (en) 2016-05-18 2018-11-27 Cisco Technology, Inc. Network-aware storage repairs
US20170351639A1 (en) 2016-06-06 2017-12-07 Cisco Technology, Inc. Remote memory access using memory mapped addressing among multiple compute nodes
US10664169B2 (en) 2016-06-24 2020-05-26 Cisco Technology, Inc. Performance of object storage system by reconfiguring storage devices based on latency that includes identifying a number of fragments that has a particular storage device as its primary storage device and another number of fragments that has said particular storage device as its replica storage device
US10768961B2 (en) * 2016-07-14 2020-09-08 International Business Machines Corporation Virtual machine seed image replication through parallel deployment
US10152386B1 (en) * 2016-07-29 2018-12-11 Nutanix, Inc. Efficient disaster rollback across heterogeneous storage systems
US11563695B2 (en) 2016-08-29 2023-01-24 Cisco Technology, Inc. Queue protection using a shared global memory reserve
US10783046B2 (en) 2016-11-22 2020-09-22 Nutanix, Inc. Executing resource management operations in distributed computing systems
US10545914B2 (en) 2017-01-17 2020-01-28 Cisco Technology, Inc. Distributed object storage
US10243823B1 (en) 2017-02-24 2019-03-26 Cisco Technology, Inc. Techniques for using frame deep loopback capabilities for extended link diagnostics in fibre channel storage area networks
US10713203B2 (en) 2017-02-28 2020-07-14 Cisco Technology, Inc. Dynamic partition of PCIe disk arrays based on software configuration / policy distribution
US10254991B2 (en) 2017-03-06 2019-04-09 Cisco Technology, Inc. Storage area network based extended I/O metrics computation for deep insight into application performance
US10303534B2 (en) 2017-07-20 2019-05-28 Cisco Technology, Inc. System and method for self-healing of application centric infrastructure fabric memory
US10404596B2 (en) 2017-10-03 2019-09-03 Cisco Technology, Inc. Dynamic route profile storage in a hardware trie routing table
US10942666B2 (en) 2017-10-13 2021-03-09 Cisco Technology, Inc. Using network device replication in distributed storage clusters
WO2020096561A1 (en) * 2018-11-05 2020-05-14 Hewlett-Packard Development Company, L.P. Recovery image downloads via data chunks
CN109814812B (zh) * 2019-02-12 2022-03-01 中天宽带技术有限公司 基于内容碎片化放置的快速数据转移方法
US11768740B2 (en) 2019-03-29 2023-09-26 International Business Machines Corporation Restoring operation of data storage systems at disaster recovery sites
US11080039B2 (en) * 2019-11-25 2021-08-03 Micron Technology, Inc. Resilient software updates in secure storage devices
US11593235B2 (en) 2020-02-10 2023-02-28 Hewlett Packard Enterprise Development Lp Application-specific policies for failover from an edge site to a cloud
WO2021175419A1 (en) * 2020-03-04 2021-09-10 Huawei Technologies Co., Ltd. Device and method for fast backup
US11567840B2 (en) * 2020-03-09 2023-01-31 Rubrik, Inc. Node level recovery for clustered databases
US20230409439A1 (en) * 2022-06-16 2023-12-21 Dell Products L.P. Disaster recovery (dr) asset sizing for front end terabyte (fetb) consumption
CN117056128A (zh) * 2023-08-30 2023-11-14 上海合芯数字科技有限公司 数据恢复方法、数据恢复系统、存储介质及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101243413A (zh) * 2005-06-24 2008-08-13 信科索尔特公司 用于对备份映像进行虚拟化的系统和方法
CN101460934A (zh) * 2006-05-29 2009-06-17 微软公司 高效地创建频繁应用程序一致的备份
US7788220B1 (en) * 2007-12-31 2010-08-31 Emc Corporation Storage of data with composite hashes in backup systems

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778395A (en) * 1995-10-23 1998-07-07 Stac, Inc. System for backing up files from disk volumes on multiple nodes of a computer network
US7134041B2 (en) * 2001-09-20 2006-11-07 Evault, Inc. Systems and methods for data backup over a network
US6954877B2 (en) * 2001-11-29 2005-10-11 Agami Systems, Inc. Fault tolerance using logical checkpointing in computing systems
GB2411030B (en) * 2002-11-20 2006-03-22 Filesx Ltd Fast backup storage and fast recovery of data (FBSRD)
US7383463B2 (en) * 2004-02-04 2008-06-03 Emc Corporation Internet protocol based disaster recovery of a server
US7523098B2 (en) 2004-09-15 2009-04-21 International Business Machines Corporation Systems and methods for efficient data searching, storage and reduction
US7672979B1 (en) 2005-04-22 2010-03-02 Symantec Operating Corporation Backup and restore techniques using inconsistent state indicators
JP2008235951A (ja) * 2005-06-28 2008-10-02 Movell Software:Kk 差分方式によるモバイルユーザデータのバックアップ
US7933987B2 (en) 2005-09-30 2011-04-26 Lockheed Martin Corporation Application of virtual servers to high availability and disaster recovery solutions
US8229897B2 (en) * 2006-02-03 2012-07-24 International Business Machines Corporation Restoring a file to its proper storage tier in an information lifecycle management environment
US8015441B2 (en) * 2006-02-03 2011-09-06 Emc Corporation Verification of computer backup data
US20070208918A1 (en) * 2006-03-01 2007-09-06 Kenneth Harbin Method and apparatus for providing virtual machine backup
WO2007118243A2 (en) * 2006-04-07 2007-10-18 Data Storage Group Data compression and storage techniques
US7487383B2 (en) 2006-06-29 2009-02-03 Dssdr, Llc Data transfer and recovery process
US7752487B1 (en) * 2006-08-08 2010-07-06 Open Invention Network, Llc System and method for managing group policy backup
US7480827B2 (en) * 2006-08-11 2009-01-20 Chicago Mercantile Exchange Fault tolerance and failover using active copy-cat
US7707455B2 (en) * 2007-03-14 2010-04-27 Microsoft Corporation Self-service recovery of application data
US20080282047A1 (en) * 2007-05-08 2008-11-13 Hitachi, Ltd. Methods and apparatus to backup and restore data for virtualized storage area
JP5153315B2 (ja) * 2007-12-19 2013-02-27 インターナショナル・ビジネス・マシーンズ・コーポレーション ルートファイルシステムを管理するシステム及び方法
US8370679B1 (en) * 2008-06-30 2013-02-05 Symantec Corporation Method, apparatus and system for improving failover within a high availability disaster recovery environment
US8060476B1 (en) * 2008-07-14 2011-11-15 Quest Software, Inc. Backup systems and methods for a virtual computing environment
WO2010036889A1 (en) * 2008-09-25 2010-04-01 Bakbone Software, Inc. Remote backup and restore
US20100318759A1 (en) * 2009-06-15 2010-12-16 Microsoft Corporation Distributed rdc chunk store
US8856080B2 (en) 2009-10-30 2014-10-07 Microsoft Corporation Backup using metadata virtual hard drive and differential virtual hard drive
US8386430B1 (en) * 2009-11-06 2013-02-26 Carbonite, Inc. File storage method to support data recovery in the event of a memory failure

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101243413A (zh) * 2005-06-24 2008-08-13 信科索尔特公司 用于对备份映像进行虚拟化的系统和方法
CN101460934A (zh) * 2006-05-29 2009-06-17 微软公司 高效地创建频繁应用程序一致的备份
US7788220B1 (en) * 2007-12-31 2010-08-31 Emc Corporation Storage of data with composite hashes in backup systems

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Backup and Recovery: Accelerating Efficiency and Driving Down IT Costs Using Data Deduplication;LAURA DUBOIS et;《IDC #221849》;20100228;第3、5-7、9、11-12页 *

Also Published As

Publication number Publication date
US20130061089A1 (en) 2013-03-07
CN102902600A (zh) 2013-01-30
KR20140057577A (ko) 2014-05-13
KR101960993B1 (ko) 2019-03-21
WO2013033272A1 (en) 2013-03-07
EP2751662A4 (en) 2015-04-15
US9063822B2 (en) 2015-06-23
EP3026562A1 (en) 2016-06-01
JP6184957B2 (ja) 2017-08-23
EP2751662B1 (en) 2016-07-27
JP2014525635A (ja) 2014-09-29
EP3026562B1 (en) 2017-03-08
EP2751662A1 (en) 2014-07-09
HK1180417A1 (zh) 2013-10-18
ES2600129T3 (es) 2017-02-07

Similar Documents

Publication Publication Date Title
CN102902600B (zh) 有效的应用感知的灾难恢复
US10664493B2 (en) Replication of data objects from a source server to a target server
US11249864B2 (en) External dynamic virtual machine synchronization
US11099956B1 (en) Snapshot-based disaster recovery orchestration of virtual machine failover and failback operations
US20210208972A1 (en) Application aware backup of virtual machines
US8055937B2 (en) High availability and disaster recovery using virtualization
US20220229736A1 (en) Synthesizing a restore image from one or more secondary copies to facilitate data restore operations to a file server
US9235482B2 (en) Consistent data retrieval in a multi-site computing infrastructure
US8949183B2 (en) Continuous and asynchronous replication of a consistent dataset
US20200073574A1 (en) Data migration using stubs
US9875160B2 (en) Efficiently providing virtual machine reference points
US20220156190A1 (en) Re-stubbing migrated data
US11474707B2 (en) Data loss recovery in a secondary storage controller from a primary storage controller
US20240143454A1 (en) System and techniques for backing up scalable computing objects

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1180417

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150728

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150728

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1180417

Country of ref document: HK