CN111831478B - 用于加速应用程序服务恢复的系统和方法 - Google Patents
用于加速应用程序服务恢复的系统和方法 Download PDFInfo
- Publication number
- CN111831478B CN111831478B CN202010319669.2A CN202010319669A CN111831478B CN 111831478 B CN111831478 B CN 111831478B CN 202010319669 A CN202010319669 A CN 202010319669A CN 111831478 B CN111831478 B CN 111831478B
- Authority
- CN
- China
- Prior art keywords
- backup
- application
- virtual disk
- level
- data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000011084 recovery Methods 0.000 title description 9
- 238000004519 manufacturing process Methods 0.000 claims abstract description 152
- 230000004044 response Effects 0.000 claims abstract description 13
- 230000015654 memory Effects 0.000 claims description 170
- 238000003860 storage Methods 0.000 claims description 103
- 230000002085 persistent effect Effects 0.000 claims description 39
- 238000012545 processing Methods 0.000 claims description 9
- 239000003795 chemical substances by application Substances 0.000 description 63
- 238000010586 diagram Methods 0.000 description 19
- 238000004891 communication Methods 0.000 description 9
- 238000013500 data storage Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 239000007787 solid Substances 0.000 description 7
- 230000009193 crawling Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
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
-
- 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/1448—Management of the data involved in backup or backup restore
- G06F11/1453—Management of the data involved in backup or backup restore using de-duplication of the data
-
- 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/1469—Backup restoration techniques
-
- 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
-
- 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/815—Virtual
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
Abstract
一种用于向客户机提供应用程序服务的方法包括:识别导致该应用程序服务被挂起的该应用程序服务的故障;响应于识别该故障:在生产主机中实例化用于提供该应用程序服务的应用程序的实例;识别至少一个虚拟磁盘级备份,该至少一个虚拟磁盘级备份与该应用程序相关联并且是经过重复数据删除处理的备份的一部分;从该经过重复数据删除处理的备份中提取该至少一个虚拟磁盘级备份,以获得该至少一个虚拟磁盘级备份的副本;在该至少一个虚拟磁盘级备份的该副本内识别与该应用程序相关联的应用程序数据;将该客户机中的一个客户机的应用程序服务会话转换到该应用程序的该实例;以及使用该应用程序的该实例和该应用程序数据为该客户机恢复该应用程序服务。
Description
背景技术
计算设备可以在其操作期间生成数据。例如,由计算设备承载的应用程序可以生成由应用程序用来执行其功能的数据。此类数据可以存储在计算设备的永久存储器中。永久存储器的故障可能会导致数据丢失。
发明内容
在一个方面中,根据本发明的一个或多个实施例的用于向客户机提供应用程序服务的系统包括备份存储器和远程代理。所述备份存储器包括用于存储经过重复数据删除处理的备份的永久存储器。所述远程代理识别导致所述应用程序服务被挂起的所述应用程序服务的故障;响应于识别所述故障:在生产主机中实例化用于提供所述应用程序服务的应用程序的实例;识别至少一个虚拟磁盘级备份,所述至少一个虚拟磁盘级备份与所述应用程序相关联并且是经过重复数据删除处理的备份的一部分;从所述经过重复数据删除处理的备份中提取所述至少一个虚拟磁盘级备份,以获得所述至少一个虚拟磁盘级备份的副本;在所述至少一个虚拟磁盘级备份的所述副本内识别与所述应用程序相关联的应用程序数据;将所述客户机中的一个客户机的应用程序服务会话转换到所述应用程序的所述实例;以及使用所述应用程序的所述实例和所述应用程序数据为所述客户机恢复所述应用程序服务。
在一个方面,根据本发明的一个或多个实施例的用于向客户机提供应用程序服务的方法包括:识别导致所述应用程序服务被挂起的所述应用程序服务的故障;响应于识别所述故障:在生产主机中实例化用于提供所述应用程序服务的应用程序的实例;识别至少一个虚拟磁盘级备份,所述至少一个虚拟磁盘级备份与所述应用程序相关联并且是经过重复数据删除处理的备份的一部分;从所述经过重复数据删除处理的备份中提取所述至少一个虚拟磁盘级备份,以获得所述至少一个虚拟磁盘级备份的副本;在所述至少一个虚拟磁盘级备份的所述副本内识别与所述应用程序相关联的应用程序数据;将所述客户机中的一个客户机的应用程序服务会话转换到所述应用程序的所述实例;以及使用所述应用程序的所述实例和所述应用程序数据为所述客户机恢复所述应用程序服务。
在一个方面,根据本发明的一个或多个实施例的非暂时性计算机可读介质包括计算机可读程序代码,所述计算机可读程序代码在由计算机处理器执行时使计算机处理器能够执行用于向客户机提供应用程序服务的方法。所述方法包括:识别导致所述应用程序服务被挂起的所述应用程序服务的故障;响应于识别所述故障:在生产主机中实例化用于提供所述应用程序服务的应用程序的实例;识别至少一个虚拟磁盘级备份,所述至少一个虚拟磁盘级备份与所述应用程序相关联并且是经过重复数据删除处理的备份的一部分;从所述经过重复数据删除处理的备份中提取所述至少一个虚拟磁盘级备份,以获得所述至少一个虚拟磁盘级备份的副本;在所述至少一个虚拟磁盘级备份的所述副本内识别与所述应用程序相关联的应用程序数据;将所述客户机中的一个客户机的应用程序服务会话转换到所述应用程序的所述实例;以及使用所述应用程序的所述实例和所述应用程序数据为所述客户机恢复所述应用程序服务。
附图说明
将参考附图描述本发明的某些实施例。然而,附图仅通过举例的方式绘示本发明的某些方面或实施方式,并不意味着限制权利要求的范围。
图1示出了根据本发明的一个或多个实施例的系统的示图。
图2.1示出了根据本发明的一个或多个实施例的示例生产主机的示图。
图2.2示出了根据本发明的一个或多个实施例的示例虚拟机的示图。
图2.3示出了根据本发明的一个或多个实施例的与图1的系统相关联的关系的关系示图。
图3示出了根据本发明的一个或多个实施例的示例备份存储器的示图。
图4示出了根据本发明的一个或多个实施例的提供对应用程序数据的访问的方法的流程图。
图5示出了根据本发明的一个或多个实施例的恢复应用程序服务的方法的流程图。
图6示出了根据本发明的一个或多个实施例的生成备份的方法的流程图。
图7.1至图7.6示出了根据本发明实施例的系统的非限制性示例。
图8示出了根据本发明的一个或多个实施例的计算设备的示图。
具体实施方式
现在将参照附图描述具体实施例。在以下描述中,作为本发明的示例阐述了许多细节。本领域的技术人员将理解,可以在没有这些具体细节的情况下实践本发明的一个或多个实施例,并且在不脱离本发明的范围的情况下可以进行许多变型或修改。为了避免使描述不清楚,省略了本领域普通技术人员已知的某些细节。
在附图的以下描述中,在本发明的各种实施例中的关于附图描述的任何组件可以等同于关于任何其它附图描述的一个或多个同样命名的组件。为了简洁起见,将不针对每个附图重复对这些组件的描述。因此,每幅图的组件的每个和每一实施例通过引用结合于此,并被假定任选地存在于具有一个或多个同样命名的组件的每一其它图中。另外,根据本发明的各种实施例,附图的组件的任何描述应被解释为可选的实施例,其可以结合或代替关于任何其它附图中相应的同样命名的组件所描述的实施例来实现。
一般而言,本发明的实施例涉及用于在分布式系统中提供数据保护服务的系统、设备和方法。具体地,本发明的实施例可以提供一种通过在整个系统中存储数据的多个副本来提供数据保护的系统。通过这样做,系统的任何组件的故障都不会导致数据丢失。
另外,本发明的实施例可以使用为了数据保护目的而在整个系统中复制的数据的副本来提供应用程序服务的快速恢复。在本发明的一个或多个实施例中,在整个系统中存储的数据的副本,即备份数据,是以低存储占用量格式存储的。以低存储占用量格式存储数据可以限制存储数据所需的存储资源的数量,同时还限制备份数据的索引和/或可搜索性。
在本发明的一个或多个实施例中,该系统包括索引磁盘级备份数据的有限索引功能。因此,虽然备份数据可能不是粒度索引的,但是备份数据可以包括某个级别的索引。
本发明的其它实施例可以使得能够使用所存储的备份数据的有限索引来选择性地获得备份数据的应用程序数据。应用程序数据可以被应用程序用来向客户机提供应用程序服务。可以选择性地获得应用程序数据以促进应用程序服务的快速恢复。通过这样做,本发明的实施例可以以比当前的依赖于其整体恢复应用程序的方法更快的方式来恢复应用程序服务。
图1示出了根据本发明的一个或多个实施例的示例系统。系统可以包括从由生产主机(130)承载的虚拟机和/或应用程序获得服务的客户机(140)。例如,生产主机(130)可以承载虚拟机,所述虚拟机承载应用程序。客户机(140)可以利用由应用程序提供的应用程序服务。应用程序可以是例如数据库应用程序、电子通信应用程序、文件存储应用程序和/或可以向客户机(140)提供服务的任何其它类型的应用程序。通过利用此类服务,可以将与客户机(140)相关的数据存储在生产主机(130)中。
为了提高存储在生产主机(130)中的数据可供将来使用的可能性,可以生成生产主机(130)的备份并将其存储在备份存储器(120)中。生产主机(130)之一的备份可以包括可用于将生产主机的全部或部分或由生产主机承载的实体的全部或部分恢复到先前状态的数据。因此,如果由生产主机(130)之一承载的数据丢失,则可以通过使用存储在备份存储器(120)中的信息来恢复生产主机的全部或一部分来恢复对数据的访问。
除了恢复目的之外,存储在备份存储器(120)中的数据可用于快速恢复应用程序的功能。在本发明的一个或多个实施例中,备份存储器(120)可以本地装载一部分数据(例如数据库),并向应用程序提供对本地装载的数据部分的远程访问。一旦提供了访问,应用程序就可以利用数据的远程部分而不是数据的本地可用部分来提供应用程序服务。通过这样做,可以在应用程序服务故障之后快速恢复应用程序服务,而无需立即恢复应用程序用来提供应用程序服务的应用程序数据的本地副本。
系统还可以包括向生产主机(130)提供数据保护服务的远程代理(110)。数据保护服务可以包括:编排备份存储器中的备份的生成和存储,使用备份存储器(120)中存储的数据来协调恢复,和/或提供对备份存储器(120)中存储的数据的快速远程访问以恢复应用程序服务的生产。
为了最大化可存储在备份存储器(120)中的备份数据的数量,备份可以以在磁盘级被索引的格式进行存储,和/或存储在备份存储器(120)中的数据可以相对于存储在备份存储器(120)中的其它数据进行重复数据删除处理。通过这样做,可以减少存储在备份存储器(120)中的数据的占用量,从而允许使用相同数量的存储资源存储更大量的备份数据。然而,存储在备份存储器(120)的全部或一部分中的数据可能不能以计算上高效的方式进行本地搜索,这是因为缺少可用于索引目的的元数据,否则元数据将提供对数据的计算上高效的搜索。
为了提供对备份存储器(120)的数据的部分的快速远程访问,远程代理(110)可以编排生产主机(130)和备份存储器(120)中的数据的存储,这使得存储在备份存储器(120)中的与应用程序相关的数据能够被识别、能够被装载用于远程访问并且能够被用于恢复向客户端(140)提供应用程序服务。此类数据可以包括关于存储在备份存储器(120)中的数据、应用程序与存储在备份存储器(120)中的数据的访问信息之间的关联的信息。
图1所示的系统的组件可以经由有线和/或无线网络的任何组合可操作地彼此连接和/或可操作地连接到其它实体(未示出)。下面讨论图1所示的系统的每个组件。
客户机(140)可以是计算设备。计算设备可以是例如移动电话、平板计算机、膝上型计算机、台式计算机、服务器或云资源。计算设备可以包括一个或多个处理器、存储器(例如,随机存取存储器)和永久存储器(例如,盘驱动器、固态驱动器等)。永久存储器可以存储计算机指令,例如计算机代码,计算机代码在由计算设备的处理器执行时使得计算设备执行本申请中描述的功能和/或在图4至图6中所示的方法的全部或部分。在不脱离本发明的情况下,客户机(140)可以是其它类型的计算设备。关于计算设备的附加细节,请参考图8。
在不脱离本发明的情况下,客户机(140)可以是逻辑设备。例如,客户机(140)可以是利用任何数量的物理计算设备的计算资源来提供客户机(140)的功能的虚拟机。在不脱离本发明的情况下,客户机(140)可以是其它类型的逻辑设备。
在本发明的一个或多个实施例中,客户机(140)利用生产主机(130)提供的应用程序服务。例如,客户机(140)可利用数据库服务、电子通信服务、文件存储服务或由生产主机(130)承载的应用程序提供的任何其它类型的计算机实现的服务。通过利用上述服务,可以将与客户机(140)相关的数据存储为由生产主机(130)承载的应用程序的应用程序数据的一部分。
例如,考虑一种场景,其中客户机通过将图像上传到由生产主机(130)承载的应用程序来利用由生产主机(130)承载的应用程序提供的文件存储服务。响应于接收到所上传的图像,应用程序可以将该图像的副本本地存储在生产主机中(130)。在未来的时间点,上传图像的客户机或另一实体可能希望从生产主机(130)检索图像的副本,并且从而将存储在生产主机(130)中的数据(即生产主机(130)的图像类别的副本)呈现为与客户机(140)相关。本发明的一个或多个实施例可以改进与客户机(140)相关且存储在生产主机(130)中的数据可在未来时间点从生产主机(130)检索的可能性。本发明的实施例可以通过在备份存储器(120)中生成并存储生产主机或生产主机的一部分的备份来提供此类功能。
在本发明的一个或多个实施例中,生产主机(130)是计算设备。计算设备可以是例如移动电话、平板计算机、膝上型计算机、台式计算机、服务器、分布式计算系统或云资源。计算设备可以包括一个或多个处理器、存储器(例如,随机存取存储器)和永久存储器(例如,盘驱动器、固态驱动器等)。永久存储器可以存储计算机指令,例如计算机代码,计算机代码在由计算设备的处理器执行时使得计算设备执行本申请中描述的功能和/或在图4至图6中所示的方法的全部或部分。在不脱离本发明的情况下,生产主机(130)可以是其它类型的计算设备。关于计算设备的附加细节,请参考图8。
在本发明的一个或多个实施例中,生产主机(130)是分布式计算设备。如本文中所使用,分布式计算设备是指由逻辑设备提供的利用一个或多个单独和/或不同的物理计算设备的计算资源的功能。例如,在本发明的一个或多个实施例中,生产主机(130)可以是分布式设备,其包括分布在任意数量的独立和/或不同的计算设备上的组件。在这种场景中,生产主机(130)的功能可以由多个不同的计算设备来执行而不脱离本发明。
在不脱离本发明的情况下,根据本发明的一个或多个实施例的系统可以包括任意数量的生产主机(例如,130.2、130.4)。例如,系统可以包括单个生产主机(例如,130.2)或多个生产主机(例如,130.2、130.4)。
在本发明的一个或多个实施例中,生产主机(130)向客户机(140)提供服务。服务可以是任何类型的计算机实现的服务,例如数据库服务、电子通信服务、数据存储服务和/或即时消息服务。当向客户机(140)提供这种服务时,与客户机(140)相关的数据可以被存储在生产主机(130)的永久存储器中。
在本发明的一个或多个实施例中,生产主机(130)执行备份服务,例如生成备份并将备份存储在备份存储器(120)中。通过在备份存储器(120)中存储备份,在生产主机(130)的永久存储器中存储的数据的副本可以冗余地存储在备份存储器(120)中。通过将数据的副本冗余地存储在生产主机(130)和备份存储器(120)两者中,可能更有可能能够在将来的时间点检索所存储的数据。例如,如果生产主机(例如,130.2)遭受灾难性故障或其它类型的数据丢失/损坏事件,则生产主机的永久存储器上的数据可能丢失。然而,因为数据的副本可以存储在备份存储器(120)中,所以可以在灾难性故障之后检索数据以供使用。因此,本发明的实施例可以提高分布式系统中的数据存储的可靠性。
备份服务还可以包括生成使应用程序与存储在备份存储器中的备份相关联的应用程序数据映射(120)。远程代理(110)和/或备份存储器(120)可以利用应用程序数据映射来选择性地提供对数据的远程访问。例如,应用程序数据映射可用于识别包括在备份存储器(120)中的数据的与应用程序中的每一者相关联的部分,而无需爬取或以其他方式索引存储在备份存储器(120)中的所有数据。通过这样做,对可以由应用程序用来提供应用程序服务的数据的快速远程访问可以被识别、可以处于应用程序可用的状态以及可以被置于应用程序容易访问的位置。关于生产主机(130)的附加细节参考图2.1。
在本发明的一个或多个实施例中,备份存储器(120)是计算设备。计算设备可以是例如移动电话、平板计算机、膝上型计算机、台式计算机、服务器、分布式计算系统或云资源。计算设备可以包括一个或多个处理器、存储器(例如,随机存取存储器)和永久存储器(例如,盘驱动器、固态驱动器等)。永久存储器可以存储计算机指令,例如计算机代码,计算机代码(在由计算设备的处理器执行时)使得计算设备提供通过本申请描述的备份存储器(120)的功能以及图4至图6中所示的方法的全部或一部分。在不脱离本发明的情况下,备份存储器(120)可以是其它类型的计算设备。关于计算设备的附加细节,请参考图8。
在本发明的一个或多个实施例中,备份存储器(120)是分布式计算设备。如本文中所使用,分布式计算设备是指由逻辑设备提供的利用一个或多个单独和/或不同的计算设备的计算资源的功能。例如,在本发明的一个或多个实施例中,备份存储器(120)是分布式设备,其包括分布在任意数量的独立和/或不同的计算设备上的组件。在这种场景中,备份存储器(120)的功能可由多个不同的计算设备来执行而不脱离本发明。
在本发明的一个或多个实施例中,备份存储器(120)向生产主机(130)提供数据存储服务。数据存储服务可以包括存储由生产主机(130)提供的数据以及向生产主机(130)提供先前存储的数据。此类提供的数据可以用于恢复(和/或其它)目的。在不脱离本发明的情况下,该系统可以包括任意数量的备份存储器(例如,120.2、120.4)。例如,根据本发明实施例的系统可仅包括单个备份存储器(例如,120.2)或可以包括多个备份存储器(例如,120.2、120.4)。
在本发明的一个或多个实施例中,由备份存储器(120)存储的数据包括虚拟机的备份。例如,生产主机(130)可以承载对数据库应用程序进行承载的虚拟机。为了生成数据库的备份,可以生成对数据库进行承载的虚拟机的备份,并且该备份可以被发送到备份存储器(120)用于存储。在将来的时间点,可能希望将由数据库应用程序管理的数据库的状态恢复到先前的状态。为此,可检索存储在备份存储器(120)中的虚拟机的先前存储的备份。检索到的备份可用于将由对数据库进行承载的虚拟机承载的应用程序数据恢复到与备份相关联的状态,即期望的先前状态。
除了提供数据存储服务之外,备份存储器(120)还可以提供对备份存储器(120)中的先前存储的数据的部分的快速远程访问。为此,备份存储器(120)可以维护存储在备份存储器(120)中的数据的有限索引。该有限索引可以包括存储在备份存储器(120)中的虚拟磁盘级备份中的每一个的列表以及上述虚拟磁盘级备份中的每一个的访问信息。此类信息可用于检索虚拟磁盘级备份,同时限制关于存储在备份存储器(120)中的数据的元数据(即,有限索引)的存储占用量。
一旦取得了虚拟磁盘级备份,就可以装载虚拟磁盘级备份,以便由应用程序进行远程访问。应用程序可以使用远程虚拟磁盘级备份来提供应用程序服务。通过这样做,可以快速地向由于缺乏对应用程序数据的访问而处于使它们不能提供应用程序服务的状态的应用程序提供对此类应用程序数据的访问。上述过程可以比本地恢复应用程序的应用程序数据快得多。
虽然上文描述为存储虚拟机的备份,但是在不脱离本发明的情况下,备份存储器(120)可存储来自生产主机(130)或其它实体的其它类型的数据。例如,备份存储器(120)可以存储来自客户机(140)和/或其它实体的档案或其它数据结构。关于备份存储器(120)的附加细节,请参考图3。
在本发明的一个或多个实施例中,远程代理(110)是计算设备。计算设备可以是例如移动电话、平板计算机、膝上型计算机、台式计算机、服务器、分布式计算系统或云资源。计算设备可以包括一个或多个处理器、存储器(例如,随机存取存储器)和永久存储器(例如,盘驱动器、固态驱动器等)。永久存储器可以存储计算机指令,例如计算机代码,计算机代码(在由计算设备的处理器执行时)使得计算设备提供通过本申请描述的远程代理(110)的功能以及图4至图6中所示的方法的全部或部分。在不脱离本发明的情况下,远程代理(110)可以是其它类型的计算设备。关于计算设备的附加细节,请参考图8。
在本发明的一个或多个实施例中,远程代理(110)是分布式计算设备。如本文中所使用,分布式计算设备是指由逻辑设备提供的利用一个或多个单独和/或不同的计算设备的计算资源的功能。例如,在本发明的一个或多个实施例中,远程代理(110)是分布式设备,其包括分布在任意数量的独立和/或不同的计算设备上的组件。在这种场景中,远程代理(110)的功能可以由多个不同的计算设备来执行而不脱离本发明。
在本发明的一个或多个实施例中,备份存储器(120)提供远程代理的功能。例如,备份存储器(120)可以承载提供远程代理(110)的全部或部分功能的应用程序。
在本发明的一个或多个实施例中,远程代理(110)编排向生产主机(130)提供备份服务。例如,远程代理(110)可以启动生产主机(130)的备份生成以及将所生成的备份存储在备份存储器(120)中的过程。远程代理(110)可以基于指定何时生成备份、在何处存储备份和/或备份生成过程的其它特征的备份策略来启动此类过程。为了备份生成的目的,此类策略可以在任何粒度级别上指定系统的行为。
另外,远程代理(110)可以使用存储在备份存储器(120)中的备份来编排生产主机(130)和/或由生产主机承载的实体的恢复。例如,远程代理(110)可以启动备份存储器到生产主机(130)的备份的复制,并且可以使用复制的备份启动恢复。图1的系统可以包括任意数量的远程代理(例如,110.2、110.4)。
此外,远程代理(110)可以编排使用存储在备份存储器(120)中的数据来恢复应用程序服务的过程。例如,远程代理(110)可以向备份存储器(120)发送指令以本地装载虚拟机级备份,以便生产主机(130)进行远程访问。一旦提供了远程访问,远程代理(110)就可以指示由生产主机(130)承载的应用程序利用由备份存储器(120)承载的远程访问数据来使用虚拟机级备份的应用程序数据,从而提供应用程序服务。通过这样做,如果任应用程序中的任一个不能继续提供应用程序服务,则图1的系统可以在应用程序之间转换向客户机(140)提供备份服务。
在本发明的一些实施例中,远程代理(110)可以在生产主机(130)中编排应用程序的新实例的实例化。一旦被实例化,远程代理(110)就可以指示应用程序的实例化实例使用由备份存储器(120)远程承载的应用程序数据。通过这样做,与执行恢复以生成此类应用程序相比,可以更快地生成能够提供客户端(140)期望的应用程序服务的应用程序的新实例。
虽然为了简洁起见已经将图1的系统描述并示出为包括有限数量的组件,但是在不脱离本发明的情况下,根据本发明实施例的系统可以包括比图1中示出的组件更多、更少和/或不同的组件。
如上所述,生产主机可承载向客户机提供服务的虚拟机、应用程序或其它实体。图2.1示出了根据本发明的一个或多个实施例的示例生产主机(200)的示图。示例生产主机(200)可以类似于任何生产主机(130,图1)。如上所述,示例生产主机(200)可以提供:(i)对客户机的应用程序服务,(ii)对向客户机提供应用程序服务的实体的备份服务,以及(iii)恢复服务。
为了提供示例生产主机(200)的上述功能,示例生产主机(200)可以包括虚拟机(210)、管理程序(220)和生产代理(230)。下面讨论示例生产主机(200)的每个组件。
虚拟机(210)可以是应用程序。例如,虚拟机(210)可以是使用示例生产主机(200)的物理计算资源和/或其它实体执行的应用程序。换言之,虚拟机(210)中的每一个可以被实现为存储在永久存储器上的计算机指令,该指令在由示例生产主机(200)的处理器和/或其它实体执行时产生相应的虚拟机的功能。在不脱离本发明的情况下,示例生产主机(200)可以承载任何数量的虚拟机(例如,210.2、210.4)。
虚拟机(210)中的每一个可以承载任意数量的应用程序。应用程序可以向客户机或其它实体提供应用程序服务。例如,应用程序可以是数据库应用程序、电子通信应用程序、文件共享应用程序和/或其它类型的应用程序。在不脱离本发明的情况下,虚拟机(210)中的每一个可以承载任何数量的应用程序。
应用程序中的每一个可以执行相似或不同的功能。例如,第一应用程序可以是数据库应用程序,而第二应用程序可以是电子通信应用程序。在另一示例中,第一应用程序可以是数据库应用程序的第一实例,而第二应用程序可以是数据库应用程序的第二实例。
在本发明的一个或多个实施例中,应用程序的全部或一部分向客户机提供应用程序服务。所提供的服务可以对应于应用程序中的每一个的应用类型。当向客户机提供应用程序服务时,与客户机相关的数据可以由应用程序接收和/或生成。应用程序可将这些相关数据作为与相应应用程序相关联的应用程序数据的一部分存储在示例生产主机(200)和/或其它实体的永久存储器中。
在本发明的一些实施例中,可以从示例生产主机(200)远程地存储应用程序数据的部分或全部。例如,应用程序数据可以存储在不承载应用程序的第二生产主机、备份存储器或另一实体中。在不脱离本发明的情况下,应用程序数据可以存储在其它位置。
虽然以上将应用描述为由虚拟机承载(210),但是在不脱离本发明的情况下,应用程序可以不由虚拟机承载。例如,应用程序可以在示例生产主机(200)上本地执行,而不是在虚拟化实体(例如,虚拟机(210)之一)中执行。
虚拟机(210.2、204.4)中的每一个还可以生成应用程序数据映射。应用程序数据映射可以包括使得能够识别由备份存储器存储的与先前存储的应用程序数据相对应的数据的一部分的信息。包括在应用程序数据映射中的信息可以用于选择性地恢复与应用程序相关联的应用程序数据,同时最小化对于恢复特定应用程序无用的所恢复的数据量。另外,包括在应用程序数据映射中的信息可用于选择性地获得对存储在备份存储器中的应用程序数据的访问。通过这样做,由生产主机承载的应用程序可以远程地使用由备份存储器承载的应用程序数据来提供应用程序服务。关于虚拟机(210)的附加细节,请参考图2.2。
管理程序(220)可以管理虚拟机(210)的执行。管理程序(220)可以实例化和/或终止任何虚拟机(210)。管理程序(220)还可以将示例生产主机(200)的计算资源分配给虚拟机(例如,210.2、210.4)中的每一个。
例如,管理程序(220)可分配示例生产主机(200)的永久性存储器的一部分。永久存储器的任何数量的存储资源可以以任何方式在虚拟机(例如,210.2、210.4)之间分配。
虽然关于存储资源进行了讨论,但是在不脱离本发明的情况下,管理程序(220)可以向虚拟机(210)和/或由示例生产主机(200)承载的其它实体分配其它类型的计算资源。例如,管理程序(220)可以在虚拟机(210)和/或由示例生产主机(200)承载的其它实体之间分配处理器周期、存储器容量、存储器带宽和/或网络通信带宽。
在本发明的一个或多个实施例中,管理程序(220)是包括电路的硬件设备。管理程序(220)可以是例如数字信号处理器、现场可编程门阵列或专用集成电路。在不脱离本发明的情况下,管理程序(220)可以是其它类型的硬件设备。
在本发明的一个或多个实施例中,系统管理程序(220)被实现为存储在永久存储器上的计算代码,该计算代码在由处理器执行时执行管理程序(220)的功能。处理器可以是包括电路的硬件处理器,诸如中央处理单元或微控制器。在不脱离本发明的情况下,处理器可以是用于处理数字信息的其它类型的硬件设备。
生产代理(230)可本地管理向虚拟机(210)和/或由虚拟机(210)承载的实体提供备份服务。例如,生产代理(230)可以编排备份的生成以及所生成的备份在备份存储器(120,图1)中的存储。为了编排备份的生成,生产代理(230)可以生成虚拟机级备份。虚拟机级备份可以是表示虚拟机在某个时间点的状态(或从一个状态到另一状态的差异)的备份。虚拟机级备份可以在虚拟磁盘级上离散化,即,所生成的备份的不同部分可以对应于由虚拟机用于数据存储目的的不同虚拟磁盘。因此,多个虚拟磁盘级备份可以是虚拟机备份的一部分。如以下将更详细讨论的,应用程序数据映射可以包括使虚拟磁盘级备份与不同应用程序相关联的信息。通过这样做,可以创建与选择性地识别存储在备份存储器中的备份相关的信息,并将其保存以供以后使用。此类信息可以用于从存储在备份存储器中的备份中选择性地获得应用程序数据。
在本发明的一个或多个实施例中,生产代理(230)基于从一个或多个远程代理接收的指令来管理虚拟机(210)的备份服务的提供。这些指令可以使生产代理(230)采取行动来提供备份服务。换言之,生产代理(230)可以编排数据保护服务(包括备份的生成、跨系统的恢复的性能)和/或提供对从存储在备份存储器中的备份提取的应用程序数据的远程访问。
在本发明的一个或多个实施例中,生产代理(230)包括向远程代理报告其活动的功能。例如,生产代理(230)可监视所生成的备份,并向远程代理发送所生成的备份的通知。通过这样做,可以向远程代理通知用于由示例生产主机(200)承载的实体的备份生成。
生产代理(230)还可以提供恢复服务。恢复服务可以使得现在例如由于主机实体(诸如生产主机)的故障而无法访问的实体能够在其它位置被实例化并且处于预定状态。为了提供恢复服务,生产代理(230)可以从备份存储器获得任意数量的备份,并使用备份来恢复实体。例如,生产代理(230)可获得虚拟机级备份并使用所获得的备份来实例化虚拟机的副本。通过这样做,可以在以预定状态承载应用程序的状态下恢复虚拟机。一旦处于预定状态,应用程序可以提供期望的应用程序服务和/或使得能够访问应用程序的应用程序数据。可以使用先前生成的备份和/或备份的一部分的不同组合将实体恢复到不同的期望状态。
为了提供生产代理(230)的上述功能,生产代理(230)可以执行图4和图6中所示的方法的全部或部分。
在本发明的一个或多个实施例中,生产代理(230)是包括电路的硬件设备。生产代理(230)可以是例如数字信号处理器、现场可编程门阵列或专用集成电路。在不脱离本发明的情况下,生产代理(230)可以是其它类型的硬件设备。
在本发明的一个或多个实施例中,生产代理(230)被实现为存储在永久存储器上的计算代码,该计算代码在由处理器执行时执行生产代理(230)的功能。处理器可以是包括电路的硬件处理器,诸如中央处理单元或微控制器。在不脱离本发明的情况下,处理器可以是用于处理数字信息的其它类型的硬件设备。
虽然为了简洁起见已经将图2.1的示例生产主机(200)描述和示出为包括有限数量的组件,但是在不脱离本发明的情况下,根据本发明的实施例的生产主机可以包括比图2.1中示出的组件更多、更少和/或不同的组件。
如上所述,由生产主机承载的虚拟机可以向客户机提供服务。图2.2示出了根据本发明的一个或多个实施例的示例虚拟机(250)的示图。
示例虚拟机(250)可以包括例如逻辑上存储资源的永久存储器(260),其在逻辑上被划分为任何数量的虚拟磁盘(262)。虚拟磁盘可以是分配给示例虚拟机(250)的存储资源的逻辑分配。
示例虚拟机(250)可以承载任何数量和类型的应用程序(252)。应用程序(252)可以向客户机和/或其它实体提供服务。应用程序(252)可以生存储在虚拟磁盘(262.2、262.4)中的成应用程序数据,该虚拟磁盘(262.2、262.4)存储在永久存储器(260)中。例如,虚拟磁盘A(262.2)可以存储磁盘A应用程序数据(264.2),虚拟磁盘N(262.4)可以存储磁盘N应用程序数据(264.4)。应用程序(252)可以在任何虚拟磁盘(262)中存储任何数量的应用程序数据。
在本发明的某些实施例中,应用程序(252)中的每一个可以仅在虚拟磁盘(262.2、262.4)之一中存储应用程序数据。通过这样做,应用程序(252)中的每一个的应用程序数据可以被定位到虚拟磁盘(262)之一。
示例虚拟机(250)还可以承载虚拟机集成备份代理(254)。虚拟机集成备份代理(254)可以提供数据保护服务,包括:(i)生成应用程序数据映射(266),(ii)使用先前生成的备份来恢复应用程序(252),和/或(iii)引导应用程序使用由备份存储器承载的远程应用程序数据。应用程序数据映射(266)可以是包括可用于识别虚拟磁盘(262、264)的备份的信息的数据结构,虚拟磁盘(262、264)存储与应用程序(252)中的每一个相关联的应用程序数据。应用程序数据映射(266)还可以包括可用于识别存储在备份存储器中的备份内的相关应用程序数据的信息。因此,应用程序数据映射(266)可由备份存储器使用以从包括相关应用程序数据的先前存储的备份选择性地获得数据。因此,一旦由备份存储器提供对应用程序数据的远程访问,则可以指示应用程序利用此类数据来提供应用程序服务。
为了生成应用程序数据映射(266),虚拟机集成备份代理(254)可以(i)识别应用程序(252)中的每一个正在存储数据的虚拟磁盘位置,
(ii)当为示例虚拟机(250)生成备份时,在将应用程序数据存储到相应应用程序的备份的每个虚拟驱动器级备份之间创建关联,以及(iii)在备份的虚拟驱动器级备份中的每一个和通用唯一识别符(UUID)之间创建关联,UUID可用于识别备份存储器中的各个虚拟驱动器级备份的访问信息。关于这些关联的附加信息,请参考图2.3。此类关联可用于生成应用程序数据映射(266)和关联备份存储器目录(268),这两者都将在下面更详细地讨论。
在本发明的一个或多个实施例中,永久存储器(260)是利用承载示例虚拟机(250)的生产主机(和/或其它实体)的任何数量的硬件存储资源的逻辑存储器(例如,虚拟化存储器)。例如,永久存储器(260)可利用生产主机和/或其它实体的硬盘驱动器、固态盘驱动器、磁带驱动器和/或任何其它物理存储介质的任何组合的部分来提供存储资源。这样的存储资源可用于承载任何数量的虚拟磁盘(262)、应用程序数据(264.2、264.4)和/或其它数据结构。下面讨论这些数据结构中的每一者。
在本发明的一个或多个实施例中,应用程序数据映射(266)是存储关于应用程序和虚拟机级备份之间的关联的信息的数据结构。可以基于应用程序数据在虚拟磁盘中的存储位置来确定关联(262)。
例如,当生成备份时,备份可以包括对应于虚拟磁盘中的每一个的任何数量的虚拟磁盘级备份(262)。因此,当生成了对应于虚拟磁盘的虚拟磁盘级备份时,虚拟磁盘级备份可以与在相关联的虚拟磁盘中存储应用程序数据的任何应用程序相关联。
在本发明的一个或多个实施例中,关联备份存储器目录(268)是存储关于存储在备份存储器中的虚拟磁盘级备份和UUID之间的关联的信息的数据结构。
例如,当虚拟磁盘级备份存储在备份存储器中时,所存储的虚拟磁盘级备份可由备份存储器分配UUID。关联备份存储器目录(268)可以指定这些关联。如将参考图3更详细讨论的,分配给虚拟磁盘级备份中的每一个的UUID可用于获得存储在备份存储器中的虚拟磁盘级备份的访问信息。
因此,使用应用程序数据映射(266)、关联备份存储器目录(268)和与由备份存储器分配的每个UUID相关联的访问信息,可以获得与应用程序(252)中的每一个相关联的访问信息。与应用程序(252)中的每一个相关联的访问信息可用于提取包括与应用程序(252)中的每一个相关联的应用程序数据的所有虚拟机级备份。通过这样做,可以从存储在备份存储器中的数据中提取应用程序数据。
为了进一步阐明应用程序(252)与存储在备份存储器中的数据之间的关系,在图2.3中示出了根据本发明的一个或多个实施例的关系示图。
该关系示图绘示了图1的系统的数据的不同部分之间的关系。
从关系示图中可以看出,虚拟机备份(280)可以与任何数量的虚拟磁盘级备份(282.2、282.4)相关联。换言之,每个虚拟机备份可以包括任何数量的虚拟磁盘级备份。
另外,应用程序数据(284)可与任何数目的虚拟磁盘级备份(282.2、282.4)相关联。换言之,由应用程序产生的应用程序数据(284)可以存储在任何数量的虚拟磁盘上。因此,每当生成虚拟机的备份时,可以生成与存储应用程序数据(284)的虚拟磁盘相关联的任何数量的虚拟磁盘级备份。然而,在许多场景下,在应用程序数据(284)和与特定虚拟磁盘相关联的虚拟磁盘级备份之间可能存在一对一的关联。例如,应用程序将频繁地将应用程序数据存储在单个虚拟磁盘中。
此外,虚拟磁盘级备份(例如,282.2、282.4)中的每一个可与相应的备份目录识别符(286.2,286.4)相关联。备份目录识别符可以是由备份存储器分配的UUID。每个备份目录识别符(例如,286.2、286.4)可以与相应的访问信息相关联。访问信息可用于从备份存储器中提取相应的虚拟磁盘级备份。
如上所述,出于数据完整性的目的,可以将备份发送到备份存储器。图3示出了根据本发明的一个或多个实施例的示例备份存储器(300)的示图。示例备份存储器(300)可以类似于备份存储器(120,图1)中任一个。如上所述,示例备份存储器(300)可存储数据,诸如可用于恢复目的的备份。另外,示例备份存储器(300)可以利用所存储的备份来获得应用程序数据。应用程序数据可用于使应用程序能够提供应用程序服务,而无需执行应用程序和/或承载应用程序的虚拟机的恢复。
为了提供示例备份存储器(300)的上述功能,示例备份存储器(300)可以包括备份管理器(310)和永久存储器(320)。下面讨论示例备份存储器(300)的每个组件。
在本发明的一个或多个实施例中,永久存储器(320)是数据存储设备。例如,永久存储器(320)可以是硬盘驱动器、固态盘驱动器、磁带驱动器和/或用于存储数据的任何其它物理存储介质的任何组合。
永久存储器(320)可以包括大容量存储器(322)和高性能存储器(324)。大容量存储器(322)可以是经济地提供存储资源同时提供合理的存储服务性能的永久存储器(320)的一部分。例如,大容量存储器(322)可以是由硬盘驱动器或磁带驱动器提供的存储资源。相反,与大容量存储器(322)相比,高性能存储器(324)可以是持久性存储器(320)的一部分,其以较高的成本提供高性能的存储服务性能。例如,高性能存储器(324)可以是由固态驱动器(例如闪存)提供的存储资源。
在本发明的一个或多个实施例中,备份管理器(310)提供数据存储服务。例如,备份管理器(310)可以编排来自生产主机的备份在持久性存储(320)中的存储,从而使得备份被存储。如上所述,每个备份可以包括任何数量的虚拟磁盘级备份,这些备份又存储应用程序数据和/或其它类型的数据的不同部分。
当提供数据存储服务时,备份管理器(310)可以对照已经存储的数据对备份进行重复数据删除处理。为了对备份进行重复数据删除处理以便存储,备份管理器(310)可以将备份划分为任意数量的部分(例如,分段),将这些部分与存储在经过重复数据删除处理的存储库(322.2)中的数据的现有部分进行比较,并且仅存储备份中与已经存储在经过重复数据删除处理的存储库(322.2)中的现有部分不重复的部分。另外,示例备份存储器(300)可存储关于如何组合存储在经过重复数据删除处理的存储库(322.2)中的数据的不同部分,以获得以进行重复数据删除处理的方式存储在经过重复数据删除处理的存储库(322.2)中的备份的指令。通过这样做,可以在示例备份存储器(300)中存储更多的备份。
另外,为了进一步提高存储数据的效率,备份管理器(310)可以以容器化的格式存储备份。例如,在进行重复数据删除处理之后,容器化的备份(322.4)可被存储在经过重复数据删除处理的存储库(322.2)中。容器化格式可以不包括关于容器化格式的每个容器的内容的元数据或其它信息。相反,容器化格式可以将卷数据存储在离散的容器中,而不包括关于每个容器内部数据的结构的信息。通过这样做,与其它格式(例如,文件系统)相比,容器化格式可以具有更小的存储占用量。因此,与以包括关于数据的元数据的其他格式存储备份相比,可以将更多备份存储为容器化备份(322.4)。然而,包括在容器化的备份(322.4)中的信息可能不能被本地索引和/或搜索。
为了提供可索引性级别,备份管理器(310)可以生成备份目录(322.6),该备份目录存储使得能够检索虚拟磁盘级备份的信息。换言之,文件级访问可能不可用,但是可以提供虚拟化磁盘级索引。因此,可以使用备份目录(322.6)来获得存储在与每个虚拟磁盘级备份相关联的经过重复数据删除处理的存储库(322.2)中的数据的部分。通过这样做,元数据的总量可以被最小化,同时仍然使得能够为要提供的数据的虚拟驱动器级聚合建立索引。
当从生产主机获得备份时,备份目录(322.6)可以由备份管理器(310)生成。如关于图2.2所论述的,每一虚拟机的数据可被逻辑地划分成任何数量的虚拟磁盘。因此,当获得到虚拟机的备份时,可以将适当的位置信息添加到备份目录(322.6)中,使得任何虚拟磁盘级备份的所有数据可以以计算高效的方式从经过重复数据删除处理的存储库(322.2)中选择性地获得,例如,不需要爬取经过重复数据删除处理的存储库(322.2)的数据以识别与任何特定虚拟磁盘相关联的数据。当虚拟磁盘级备份存储在备份存储器中时,UUID可以与备份目录(322.6)中的虚拟磁盘级备份及其相应的访问信息相关联。
用于获得备份存储器中的虚拟磁盘级备份中的每一个的访问信息可以是经过重复数据删除处理的存储库(322.2)的(例如)偏移量、长度等。在不偏离本发明的情况下,访问信息可以是使得能够从经过重复数据删除处理的存储库(322.2)中提取虚拟磁盘级备份的其它类型的信息。
在本发明的一个或多个实施例中,备份管理器(310)为应用程序提供应用程序数据访问服务。应用程序数据访问服务可以包括:(i)从备份存储器提取与应用程序相关联的一个或多个虚拟磁盘级备份,(ii)将虚拟磁盘级备份作为虚拟磁盘(例如,324.2、324.4)本地装载到永久存储器(320)中,以及(iii)提供对虚拟磁盘(例如,324.2、324.2)的远程访问。当提供应用程序数据访问服务时,备份管理器(310)可以执行图4至图6的方法的全部或一部分。
在本发明的一个或多个实施例中,备份管理器(310)是包括电路的硬件设备。备份管理器(310)可以是例如数字信号处理器、现场可编程门阵列或专用集成电路。在不脱离本发明的情况下,备份管理器(310)可以是其它类型的硬件设备。
在本发明的一个或多个实施例中,备份管理器(310)被实现为存储在永久存储器上的计算代码,该计算代码在由处理器执行时执行备份管理器(310)的功能。处理器可以是包括电路的硬件处理器,诸如中央处理单元或微控制器。在不脱离本发明的情况下,处理器可以是用于处理数字信息的其它类型的硬件设备。
虽然为了简洁起见已经将图3的示例备份存储器(300)描述并示出为包括有限数量的组件,但是在不脱离本发明的情况下,根据本发明的实施例的备份存储器可以包括比图3中示出的组件更多、更少和/或不同的组件。
返回图1,备份存储器可以提供应用程序数据访问服务。图4绘示了当提供此类服务时可以由图1的系统的组件执行的方法。
图4示出了根据本发明的一个或多个实施例的方法的流程图。根据本发明的一个或多个实施例,图4所示的方法用于提供应用程序数据访问服务。图4所示的方法可以通过例如备份存储器(例如,图1的120)来执行。在不脱离本发明的情况下,图1所示的系统的其它组件可以执行图4的方法的全部或一部分。
虽然图4被绘示为一系列步骤,但是但是在不脱离本发明的情况下,任何步骤可以被省略,以不同的顺序执行,可以包括附加的步骤,和/或任何或所有步骤可以以并行和/或部分重叠的方式执行。
在步骤400中,获得对应用程序的恢复请求。
在本发明的一个或多个实施例中,从远程代理获得应用程序的恢复请求。远程代理可能已经确定该应用程序的应用程序服务不再可用。
在步骤402,识别与应用程序相关联的至少一个虚拟磁盘级备份。
在本发明的一个或多个实施例中,使用应用程序数据映射来识别与应用程序相关联的至少一个虚拟磁盘级备份(266)。例如,如关于图2.2所述的,应用程序数据映射(266)可以指定应用程序与存储在备份存储器中的虚拟磁盘级备份之间的关联。
在步骤404,从经过重复数据删除处理的存储器中获得至少一个虚拟磁盘级备份。例如,可以使用备份目录(322.6,图3)来获得一个或多个虚拟磁盘级备份中的每一个的访问信息。访问信息可用于从经过重复数据删除处理的存储器(例如经过重复数据删除处理的存储库(322.2,图3))中提取至少一个虚拟磁盘级备份。
在步骤406中,将至少一个虚拟磁盘级备份装载在高性能存储器中。在高性能存储器中装载虚拟磁盘级备份,至少一个虚拟磁盘级备份的副本可以存储在高性能存储器中。
在步骤408,向承载应用程序的实例的生产主机提供对所装载的至少一个虚拟磁盘级备份的远程访问。
例如,可以向承载应用程序的实例的现有虚拟机提供对存储在高性能存储中的至少一个虚拟磁盘级备份的副本的远程访问。在另一示例中,可以在现有虚拟机中实例化应用程序的实例。在实例化之后,可以向虚拟机提供对存储在高性能存储中的至少一个虚拟磁盘级备份的远程访问。在又一个示例中,可以在生产主机中还原承载应用程序实例的虚拟机。可以向还原的虚拟机提供对存储在高性能存储器中的至少一个虚拟磁盘级备份的访问。在不脱离本发明的情况下,可以通过其它方法向应用程序的实例提供对装载的至少一个虚拟磁盘级备份的远程访问。
在本发明的一个或多个实施例中,可以通过使生产主机远程装载包括至少一个虚拟磁盘级备份的备份存储器的存储器资源来提供远程访问。例如,生产主机的文件系统可将至少一个虚拟磁盘级备份作为虚拟磁盘来装载。如上所述,虚拟磁盘级备份可反映虚拟磁盘的数据。因此,备份可作为虚拟磁盘远程装载。
在步骤410中,使用应用程序的实例和至少一个虚拟磁盘级备份提供应用程序服务。
在本发明的一个或多个实施例中,通过使应用程序将至少一个虚拟磁盘级备份内的应用程序数据作为其应用程序数据来提供应用程序服务。换言之,可指示应用程序的实例使用与包括在至少一个虚拟磁盘级备份中的应用程序相关联的应用程序数据作为其应用程序数据。
为了提供应用程序服务,应用程序的实例可以服务于来自客户机的一个或多个请求。因此,通过这样做,可以经由应用程序的实例向客户机提供对包括在至少一个虚拟磁盘级备份中的应用程序数据的访问。
该方法可以在步骤410之后结束。
通过实施图4的方法,远程应用程序可利用由备份存储器承载的应用程序数据来提供应用程序服务。与执行应用程序的恢复和为应用程序本地存储此类应用程序数据相比,这样做可以提供更快的路由来向客户机提供应用程序服务。
如上所论述的,远程代理可以管理提供给客户机的应用程序服务。图5示出了根据本发明的一个或多个实施例的方法的流程图。根据本发明的一个或多个实施例,图5所示的方法可用于管理应用程序服务。图5所示的方法可以由例如远程代理(例如图1的110)来执行。在不脱离本发明的情况下,图1所示的系统的其它组件可以执行图5的方法的全部或一部分。
虽然图5被绘示为一系列步骤,但是但是在不脱离本发明的情况下,任何步骤可以被省略,以不同的顺序执行,可以包括附加的步骤,和/或任何或所有步骤可以以并行和/或部分重叠的方式执行。
在步骤502中,识别导致提供给客户机的应用程序服务被挂起的应用程序服务故障。
在本发明的一个或多个实施例中,应用程序服务故障是由提供应用程序服务的应用程序的实例的故障引起的。
在步骤504中,在生产主机中实例化应用程序的实例。应用程序的实例可以是提供被挂起的应用程序服务的应用程序的类型。
在步骤506中,识别与应用程序相关联并存储在经过重复数据删除处理的存储器中的至少一个虚拟磁盘级备份。
在本发明的一个或多个实施例中,基于至少一个虚拟磁盘级备份与应用程序之间的关联来识别至少一个虚拟磁盘级备份。例如,如上所论述的,应用程序与虚拟磁盘级备份之间的关联可以随着虚拟磁盘级备份的产生而连续产生。关联可以基于应用程序数据的存在,该应用程序数据与至少一个虚拟磁盘级备份中存在的与应用程序相关联。
在步骤508,从经过重复数据删除处理的存储器中提取至少一个虚拟磁盘级备份,以获得至少一个虚拟磁盘级备份的副本。
在本发明的一个或多个实施例中,使用与至少一个虚拟磁盘级备份相关联的访问信息来提取至少一个虚拟磁盘级备份。例如,与至少一个虚拟磁盘级备份相关联的UUID可以用作获得相关联的访问信息的密钥。访问信息可以包括使得能够从经过重复数据删除处理的存储器中提取的至少一个虚拟磁盘级备份的信息。
在步骤510中,向生产主机暴露至少一个虚拟磁盘级备份的副本。生产主机可以承载应用程序的实例。
在本发明的一个或多个实施例中,通过向生产主机提供对至少一个虚拟磁盘级备份的副本的远程访问,将至少一个虚拟磁盘级备份的副本暴露给生产主机。
在本发明的一个或多个实施例中,对至少一个虚拟磁盘级备份的副本的远程访问是通过将至少一个虚拟磁盘级备份映射为由生产主机承载的虚拟机的远程虚拟磁盘来获得的。由生产主机承载的虚拟机可以承载应用程序的实例。
对至少一个虚拟磁盘级备份的副本的远程访问使得应用程序的实例能够远程访问至少一个虚拟磁盘级备份的副本。例如,虚拟机的文件系统可将至少一个虚拟磁盘级备份映射为远程虚拟磁盘。
在步骤512中,至少一个虚拟磁盘级备份的副本内识别与应用程序相关联的应用程序数据。例如,当生成至少一个虚拟磁盘级备份时,可以保存关于在至少一个虚拟磁盘级备份内的应用程序数据的位置的信息。此类信息可以用于访问应用程序数据。
在不脱离本发明的情况下,可以通过其它方法来访问应用程序数据。例如,可以询问至少一个虚拟磁盘级备份的副本的内容,以识别至少一个虚拟磁盘级备份的副本中表示应用程序数据的部分。
在步骤514中,将客户机的应用程序服务会话转换到应用程序的实例。例如,客户机可能已经与应用程序的第二实例进行了的应用程序服务会话。应用程序的第二实例可能已经发生故障。为了补救应用程序的第二实例的故障,远程代理可以向客户机提供指令以利用应用程序的新实例来进行应用程序服务会话。将应用程序服务会话转换到应用程序实例可以使得客户机开始利用应用程序实例来获得应用程序服务。
在步骤516中,使用应用程序的实例和应用程序数据来恢复客户机的应用程序服务。例如,一旦客户机开始将应用程序的实例用于应用程序服务,则该应用程序的实例可利用由远程存储器承载的应用程序数据来服务该客户机。通过这样做,由应用程序的实例提供的应用程序服务反映了存储在备份存储器中的应用程序数据而不是本地应用程序数据。
该方法可以在步骤516之后结束。
如上所论述的,生产主机可以生成备份。图6示出了根据本发明的一个或多个实施例的方法的流程图。根据本发明的一个或多个实施例,图6所示的方法用于管理应用程序服务。图6所示的方法可以由例如生产主机(例如图1中的130)来执行。在不脱离本发明的情况下,图1所示的系统的其它组件可以执行图6的方法的全部或一部分。
虽然图6被绘示为一系列步骤,但是但是在不脱离本发明的情况下,任何步骤可以被省略,以不同的顺序执行,可以包括附加的步骤,和/或任何或所有步骤可以以并行和/或部分重叠的方式执行。
在步骤600中,获得虚拟机的备份生成请求。
在本发明的一个或多个实施例中,从远程代理获得备份生成请求。远程代理可以根据一个或多个备份生成策略来发送备份生成请求。备份生成请求可请求生成虚拟机的备份。
在步骤602中,为虚拟机的每个虚拟磁盘生成虚拟磁盘级备份。虚拟磁盘级备份可以作为为虚拟机生成备份的过程的一部分来生成。虚拟磁盘级备份可以是虚拟机的备份的可区分部分。
虚拟磁盘级备份可以包括可用于恢复虚拟磁盘的状态以反映先前时间点的信息。虚拟磁盘级备份中的一个或多个可以包括应用程序数据。
在步骤604中,虚拟磁盘级备份中的每一个与由虚拟机承载的应用程序相关联。例如,虚拟磁盘中的一个或多个可以包括一个或多个应用程序的应用程序数据。可以通过在应用程序数据映射中存储这种关系来进行关联。对于每个应用程序,应用程序数据映射可以指定虚拟机的备份的虚拟磁盘级备份中的每一个,虚拟磁盘级备份包括每个相应应用程序的应用程序数据。
在步骤606中,虚拟磁盘级备份中的每一个与相应的备份目录识别符相关联。例如,当一个或多个虚拟磁盘被存储在备份存储器中时,它们可以各自被分配相应的UUID。可以通过将这种关系存储在关联备份存储器目录中来进行关联。因此,使用关联备份存储器目录和应用程序数据映射,可以生成应用程序与UUID之间的关联。如前所论述的,UUID可用于获得访问信息,该访问信息使得能够从备份存储器中提取存储的虚拟磁盘级备份中的每一个。
在步骤608中,虚拟磁盘级备份存储在备份存储器中。应用程序数据映射的副本和/或相关备份存储器目录也可以存储在备份存储器中。这些数据结构的副本和/或备份目录可以存储在其它位置(例如远程代理),以使得任意数量的实体能够有效地获得与应用程序相关联的虚拟机级备份的访问信息。
该方法可以在步骤608之后结束。
为了进一步阐明本发明的实施例,在图7.1至图7.6中提供了非限制性示例。这些附图中的每一个可以在不同的时间点说明类似于图1所示的系统。为了简洁起见,在图7.1至图7.6的每个附图中仅示出图1的系统的有限数目的组件。
示例
考虑如图7.1所示的场景,其中第一生产主机(700)和第二生产主机(710)正在向客户机(未示出)提供服务。第一生产主机(700)可以承载向客户机提供数据库服务的数据库应用程序(702)。为了向客户机提供数据库服务,数据库应用程序(702)可以在第一虚拟磁盘(704)中存储数据。虽然图7.1中未示出,但是数据库应用程序(702)和第一虚拟磁盘(704)是虚拟机的一部分。
第二生产主机(710)承载向客户机提供电子通信服务的电子邮件应用程序(712)。
为了向第一生产主机(700)和第二生产主机(710)提供数据保护服务,系统包括备份存储器(720)。备份存储器(720)通过将备份存储在由卷存储器(722)承载的经过重复数据删除处理的存储库(724)中来提供数据保护服务。除了数据保护服务之外,备份存储器(720)还有利于通过在高性能存储器(730)中承载应用程序数据的副本来快速恢复应用程序服务。在图7.1所示的系统状态中,备份存储器(720)不利于应用程序服务的恢复,因为在高性能存储器(730)中没有存储应用程序数据。因此,这些应用程序能够远程利用此类数据。
当客户机利用由第一生产主机(700)提供的服务时,将与客户机相关的数据作为数据库应用程序数据(704.2)存储在第一生产主机(700)中。当利用第一生产主机(700)提供的服务时,客户向数据库应用程序(702)发送销售数据,以作为数据库应用程序数据(704.2)的一部分存储。
在第一时间点,远程代理(未示出)启动第一生产主机的备份生成(700)。因为备份策略指示要在第一时间点生成第一生产主机(700)的备份,所以启动备份生成。为了启动备份生成,远程代理向第一生产主机发送备份生成请求(700)。
响应于接收到备份生成请求,第一生产主机(700)生成包括如图7.2所示的第一虚拟磁盘备份(706)的备份。此外,第一生产主机(700)生成数据库应用程序和第一虚拟磁盘备份(706)之间的关联。一旦生成了第一虚拟磁盘备份(706),第一生产主机(700)就将第一虚拟磁盘备份(706)的副本发送到备份存储器(720)进行存储。
响应于接收到备份,备份存储器(720)将第一虚拟磁盘备份的副本(726)存储在如图7.3所示的经过重复数据删除处理的存储库(724)中。当存储第一虚拟磁盘备份的副本(726)时,备份存储器(720)为备份分配识别符,第一生产主机(700)使用该识别符来形成识别符与数据库应用程序(702)之间的关联。此外,备份存储器(720)存储第一虚拟磁盘备份的副本(726)的访问信息,并将访问信息与第一虚拟磁盘备份的副本(726)的识别符相关联。
在图7.3所示的状态中,系统能够恢复数据库应用程序(702)和承载数据库应用程序(702)并包括第一虚拟磁盘(704)的整个虚拟机。另外,该系统能够使用数据库应用程序(702)与第一虚拟磁盘备份的副本(726)的访问信息之间的关联来提取第一虚拟磁盘备份的副本(726)。
在将第一虚拟磁盘备份的副本(726)存储在卷存储器(722)中之后,第一生产主机(700)发生如图7.4所示的故障。由于第一生产主机(700)的故障,数据库应用程序(702)不再可用于提供数据库服务,因此正被提供给客户机(未示出)的数据库服务被挂起。
响应于第一生产主机(700)的故障,远程代理(未示出)发起恢复数据库服务的过程。为此,远程代理(未示出)向备份存储器(720)发送指令,以从卷存储器(722)提取第一虚拟磁盘备份的副本(726)并且以将提取的第一虚拟磁盘备份的副本存储在高性能存储器(730)中。
响应于这些指令,备份存储器(720)将所提取的第一虚拟磁盘备份的副本(732)存储在高性能存储器(730)中,如图7.5所示。如图7.5所示,所提取的第一虚拟磁盘备份的副本(732)包括数据库应用程序数据的副本(734)。
为了便于使用数据库应用程序数据(734)的副本恢复数据库服务,远程代理向第二生产主机(710)发送指令以实例化数据库应用程序的新实例(702)。响应于这些指令,第二生产主机(710)对如图7.6所示的数据库应用程序的新实例(714)进行实例化。
一旦被实例化,数据库应用程序数据(734)的副本就被暴露给第二生产主机(710)。数据库应用程序的新实例(714)被引导使用数据库应用程序数据的副本(734)作为其应用程序数据。当如此引导时,数据库应用程序的新实例(714)开始向客户机提供数据库应用程序服务,从而恢复向客户机提供数据库应用程序服务。
在图7.6所示的系统状态中,数据库应用程序的新实例(714)能够向由数据库应用程序(702)提供的那些提供类似的数据库服务,因为这两个应用程序都使用类似的应用程序数据。另外,因为数据库应用程序的新实例(714)远程访问数据库应用程序数据的副本(734),所以数据库应用程序的新实例(714)能够提供数据库服务,而无需基于存储在经过重复数据删除处理的存储库(724)中的备份数据执行恢复。因此,与恢复应用程序数据的本地副本然后使用应用程序数据的本地副本提供数据库服务相比,数据库应用程序的新实例(714)能够更快地向客户机提供数据库服务。
示例结束
图1的任何组件可被实现为分布式计算设备。如本文中所使用,分布式计算设备是指由逻辑设备提供的利用一个或多个单独和/或不同的计算设备的计算资源的功能。如上所论述的,本发明的实施例可使用计算设备来实现。图8示出了根据本发明的一个或多个实施例的计算设备的示图。计算设备(800)可以包括一个或多个计算机处理器(802)、非永久存储器(804)(例如易失性存储器,诸如随机存取存储器(RAM)、高速缓冲存储器)、永久存储器(806)(例如,硬盘、诸如光盘(CD)或数字通用光盘(DVD)的光驱、闪存等)、通信接口(812)(例如,蓝牙接口、红外接口、网络接口、光接口等)、输入设备(810)、输出设备(808)以及许多其它元件(未示出)和功能。下面描述这些组件中的每一个。
在本发明的一个实施例中,计算机处理器802可以是用于处理指令的集成电路。例如,计算机处理器可以是处理器的一个或多个核心或微核心。计算设备(800)还可以包括一个或多个输入设备(810),诸如触摸屏、键盘、鼠标、麦克风、触摸板、电子笔或任何其它类型的输入设备。此外,通信接口(812)可以包括用于将计算设备(800)连接到网络(未示出)(例如,局域网(LAN)、诸如因特网的广域网(WAN)()、移动网络或任何其它类型的网络)和/或另一设备(诸如另一计算设备)的集成电路。
在本发明的一个实施例中,计算设备(800)可以包括一个或多个输出设备(808),诸如屏幕(例如液晶显示器(LCD)、等离子显示器、触摸屏、阴极射线管(CRT)监视器、投影仪或其它显示设备)、打印机、外部存储器或任何其它输出设备。输出设备中的一个或多个可以与输入设备相同或不同。输入和输出设备可以本地或远程地连接到计算机处理器(802)、非永久存储器(804)和永久存储器(806)。存在许多不同类型的计算设备,并且上述输入和输出设备可以采用其它形式。
本发明的实施例可以提供一种便于快速恢复应用程序服务的系统。可以通过从备份数据中提取相关的应用程序数据来快速地恢复应用程序服务,该备份数据既不是以容易搜索和/或本地可搜索的格式存储的,也不是以粒度索引的格式存储的。因此,本发明的实施例可以促进应用程序服务的恢复,同时以一种格式来存储可用于恢复此类服务的数据,该格式与可以提供粒度索引和/或可搜索性的其它格式相比,具有减小的存储占用量大小。
因此,本发明的实施例可以解决分布式系统中计算资源的有限可用性的问题,该分布式系统依赖于用于恢复目的的数据冗余。具体地,在提供应用程序服务的应用程序发生故障之后,本发明的实施例可以提高可以恢复这些应用程序服务的速度。
以上所论述的问题应被理解为是由本文公开的本发明的实施例所解决的问题的示例,并且本发明不应限于解决相同/类似的问题。所公开的发明广泛地适用于解决本文所论述的那些问题之外的一系列问题。
本发明的一个或多个实施例可以使用由数据管理设备的一个或多个处理器执行的指令来实现。此外,此类指令可以与存储在一个或多个非暂时性计算机可读介质上的计算机可读指令相对应。
虽然上面已经相对于有限数量的实施例描述了本发明,但是受益于本公开的本领域技术人员将理解,在不脱离本文所公开的本发明的范围的情况下,可以设计其它实施例。因此,本发明的范围应仅由所附权利要求限定。
Claims (20)
1.一种用于向客户机提供应用程序服务的系统,其包含:
备份存储器,其包含永久存储器,其中永久存储器包括:
卷存储器,其用于存储经过重复数据删除处理的备份;以及
高性能存储器;以及
远程代理,其被编程为:
识别导致所述应用程序服务被挂起的所述应用程序服务的故障;
响应于识别所述故障:
在生产主机中实例化用于提供所述应用程序服务的应用程序的实例;
识别至少一个虚拟磁盘级备份,所述至少一个虚拟磁盘级备份:
与所述应用程序相关联;并且
是卷存储器上的所述经过重复数据删除处理的备份的一部分;
从所述卷存储器上的所述经过重复数据删除处理的备份中提取所述至少一个虚拟磁盘级备份,以获得所述至少一个虚拟磁盘级备份的副本,其中所述至少一个虚拟磁盘级备份的副本存储在所述高性能存储器中;
通过向生产主机提供对所述高性能存储器的远程访问来将所述至少一个虚拟磁盘级备份的副本暴露给生产主机;
在所述高性能存储器上的所述至少一个虚拟磁盘级备份的所述副本内识别与所述应用程序相关联的应用程序数据;
将所述客户机中的一个客户机的应用程序服务会话转换到所述应用程序的所述实例;以及
使用所述应用程序的所述实例和所述应用程序数据为所述客户机恢复所述应用程序服务。
2.根据权利要求1所述的系统,其中,所述应用程序服务在所述应用程序数据远离所述应用程序的所述实例时被恢复。
3.根据权利要求1所述的系统,其中,所述至少一个虚拟磁盘级备份是使用与所述至少一个虚拟磁盘级备份相关联的通用唯一识别符以及所述通用唯一识别符与所述应用程序之间的关联来识别的。
4.根据权利要求1所述的系统,其中,所述经过重复数据删除处理的备份包含虚拟机的多个备份。
5.根据权利要求4所述的系统,其中,所述虚拟机的所述多个备份中的至少一个包含所述虚拟磁盘级备份和第二虚拟磁盘级备份。
6.根据权利要求4所述的系统,其中,所述经过重复数据删除处理的备份以仅本地支持虚拟磁盘级索引的格式存储。
7.根据权利要求1所述的系统,其中,通过组合所述经过重复数据删除处理的备份的多个分段,从所述经过重复数据删除处理的备份中提取所述至少一个虚拟磁盘级备份,以获得所述至少一个虚拟磁盘级备份的所述副本。
8.一种用于向客户机提供应用程序服务的方法,其包含:
识别导致所述应用程序服务被挂起的所述应用程序服务的故障;
响应于识别所述故障:
在生产主机中实例化用于提供所述应用程序服务的应用程序的实例;
识别备份存储器的卷存储器中的至少一个虚拟磁盘级备份,所述至少一个虚拟磁盘级备份:
与所述应用程序相关联;并且
是所述卷存储器上的经过重复数据删除处理的备份的一部分;
从所述卷存储器上的所述经过重复数据删除处理的备份中提取所述至少一个虚拟磁盘级备份,以获得所述至少一个虚拟磁盘级备份的副本,其中所述至少一个虚拟磁盘级备份的副本存储在备份存储器的高性能存储器中;
通过向生产主机提供对所述高性能存储器的远程访问来将所述至少一个虚拟磁盘级备份的副本暴露给生产主机;
在所述高性能存储器上的所述至少一个虚拟磁盘级备份的所述副本内识别与所述应用程序相关联的应用程序数据;
将所述客户机中的一个客户机的应用程序服务会话转换到所述应用程序的所述实例;以及
使用所述应用程序的所述实例和所述应用程序数据为所述客户机恢复所述应用程序服务。
9.根据权利要求8所述的方法,其中,所述应用程序服务在所述应用程序数据远离所述应用程序的所述实例时被恢复。
10.根据权利要求8所述的方法,其中,所述至少一个虚拟磁盘级备份是使用与所述至少一个虚拟磁盘级备份相关联的通用唯一识别符以及所述通用唯一识别符与所述应用程序之间的关联来识别的。
11.根据权利要求8所述的方法,其中,所述经过重复数据删除处理的备份包含虚拟机的多个备份。
12.根据权利要求11所述的方法,其中,所述虚拟机的所述多个备份中的至少一个包含所述虚拟磁盘级备份和第二虚拟磁盘级备份。
13.根据权利要求11所述的方法,其中,所述经过重复数据删除处理的备份以仅本地支持虚拟磁盘级索引的格式存储。
14.根据权利要求8所述的方法,其中,通过组合所述经过重复数据删除处理的备份的多个分段,从所述经过重复数据删除处理的备份中提取所述至少一个虚拟磁盘级备份,以获得所述至少一个虚拟磁盘级备份的所述副本。
15.一种包含计算机可读程序代码的非暂时性计算机可读介质,所述计算机可读程序代码在由计算机处理器执行时使所述计算机处理器能够执行用于向客户机提供应用程序服务的方法,所述方法包含:
识别导致所述应用程序服务被挂起的所述应用程序服务的故障;
响应于识别所述故障:
在生产主机中实例化用于提供所述应用程序服务的应用程序的实例;
识别备份存储器的卷存储器中的至少一个虚拟磁盘级备份,所述至少一个虚拟磁盘级备份:
与所述应用程序相关联;并且
是所述卷存储器中的经过重复数据删除处理的备份的一部分;
从所述卷存储器中的所述经过重复数据删除处理的备份中提取所述至少一个虚拟磁盘级备份,以获得所述至少一个虚拟磁盘级备份的副本,其中所述至少一个虚拟磁盘级备份的副本存储在备份存储器的高性能存储器中;
通过向生产主机提供对所述高性能存储器的远程访问来将所述至少一个虚拟磁盘级备份的副本暴露给生产主机;
在所述至少一个虚拟磁盘级备份的所述副本内识别与所述应用程序相关联的应用程序数据;
将所述客户机中的一个客户机的应用程序服务会话转换到所述应用程序的所述实例;以及
使用所述应用程序的所述实例和所述应用程序数据为所述客户机恢复所述应用程序服务。
16.根据权利要求15所述的非暂时性计算机可读介质,其中,当所述应用程序数据远离所述应用程序的实例时,所述应用程序服务被恢复。
17.根据权利要求15所述的非暂时性计算机可读介质,其中,所述至少一个虚拟磁盘级备份是使用与所述至少一个虚拟磁盘级备份相关联的通用唯一识别符以及所述通用唯一识别符与所述应用程序之间的关联来识别的。
18.根据权利要求15所述的非暂时性计算机可读介质,其中,所述经过重复数据删除处理的备份包含虚拟机的多个备份。
19.根据权利要求18所述的非暂时性计算机可读介质,其中,所述虚拟机的所述多个备份中的至少一个包含所述虚拟磁盘级备份和第二虚拟磁盘级备份。
20.根据权利要求18所述的非暂时性计算机可读介质,其中,所述经过重复数据删除处理的备份以仅本地支持虚拟磁盘级索引的格式存储。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/392,588 | 2019-04-23 | ||
US16/392,588 US11099941B2 (en) | 2019-04-23 | 2019-04-23 | System and method for accelerating application service restoration |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111831478A CN111831478A (zh) | 2020-10-27 |
CN111831478B true CN111831478B (zh) | 2024-08-23 |
Family
ID=70292863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010319669.2A Active CN111831478B (zh) | 2019-04-23 | 2020-04-21 | 用于加速应用程序服务恢复的系统和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11099941B2 (zh) |
EP (1) | EP3731099B1 (zh) |
CN (1) | CN111831478B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11288137B2 (en) * | 2019-07-12 | 2022-03-29 | EMC IP Holding Company LLC | Restorations of virtual machines in virtual systems using a restoration policy |
US11567840B2 (en) | 2020-03-09 | 2023-01-31 | Rubrik, Inc. | Node level recovery for clustered databases |
US11301336B2 (en) * | 2020-03-09 | 2022-04-12 | Rubrik, Inc. | Node level recovery for clustered databases |
US12001293B2 (en) | 2021-10-28 | 2024-06-04 | Pure Storage, Inc. | Coordinated data backup for a container system |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9037547B1 (en) * | 2010-09-15 | 2015-05-19 | Symantec Corporation | Backup time deduplication of common virtual disks from virtual machine backup images |
US9092248B1 (en) * | 2013-08-21 | 2015-07-28 | Symantec Corporation | Systems and methods for restoring distributed applications within virtual data centers |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004171249A (ja) | 2002-11-20 | 2004-06-17 | Hitachi Ltd | データベースのバックアップ実行判断方法 |
US7395244B1 (en) | 2004-06-23 | 2008-07-01 | Symantec Corporation | Criticality classification system and method |
US20070239755A1 (en) | 2005-01-10 | 2007-10-11 | Instant Information Inc. | Methods and systems for messaging in a collaboration system |
US8321377B2 (en) * | 2006-04-17 | 2012-11-27 | Microsoft Corporation | Creating host-level application-consistent backups of virtual machines |
US8301772B2 (en) | 2007-03-27 | 2012-10-30 | Symantec Corporation | Method and apparatus for allocating resources among backup tasks in a data backup system |
US8769048B2 (en) | 2008-06-18 | 2014-07-01 | Commvault Systems, Inc. | Data protection scheduling, such as providing a flexible backup window in a data protection system |
US8046550B2 (en) * | 2008-07-14 | 2011-10-25 | Quest Software, Inc. | Systems and methods for performing backup operations of virtual machine files |
US8566821B2 (en) | 2008-11-11 | 2013-10-22 | Netapp Inc. | Cloning virtual machines |
US8510271B1 (en) | 2009-03-30 | 2013-08-13 | Symantec Corporation | Application and file system data virtualization from image backup |
US8191065B2 (en) * | 2009-04-06 | 2012-05-29 | Red Hat Israel, Ltd. | Managing virtual machine images |
US8438349B2 (en) * | 2009-08-21 | 2013-05-07 | Symantec Corporation | Proxy backup of virtual disk image files on NAS devices |
US8413146B1 (en) * | 2010-11-05 | 2013-04-02 | Symantec Corporation | Hypervisor assisted single instance data access by multiple virtual machines |
US9483357B2 (en) * | 2010-11-08 | 2016-11-01 | Ca, Inc. | Selective restore from incremental block level backup |
CN102567136B (zh) * | 2010-12-15 | 2016-08-24 | 研祥智能科技股份有限公司 | 一种计算机系统的备份、还原方法、装置及计算机系统 |
US8554918B1 (en) | 2011-06-08 | 2013-10-08 | Emc Corporation | Data migration with load balancing and optimization |
US9658925B1 (en) | 2011-10-31 | 2017-05-23 | Veritas Technologies | Systems and methods for restoring application data |
US9311375B1 (en) | 2012-02-07 | 2016-04-12 | Dell Software Inc. | Systems and methods for compacting a virtual machine file |
US9104331B2 (en) | 2012-09-28 | 2015-08-11 | Emc Corporation | System and method for incremental virtual machine backup using storage system functionality |
US8966318B1 (en) * | 2012-04-27 | 2015-02-24 | Symantec Corporation | Method to validate availability of applications within a backup image |
US9104971B1 (en) | 2012-06-29 | 2015-08-11 | Emc Corporation | Automated end-to-end sales process of storage appliances of storage systems using predictive modeling |
US9110844B2 (en) | 2012-08-27 | 2015-08-18 | Microsoft Technology Licensing, Llc | State maintenance as a service |
JP5967215B2 (ja) | 2012-11-07 | 2016-08-10 | 富士通株式会社 | 情報処理装置、プログラムおよび仮想マシン移動方法 |
US9805075B1 (en) | 2012-12-28 | 2017-10-31 | EMC IP Holding Company LLC | Method and system for a data protection policy generator |
US9256725B2 (en) | 2014-02-26 | 2016-02-09 | Emc Corporation | Credential recovery with the assistance of trusted entities |
US10204019B1 (en) | 2014-09-07 | 2019-02-12 | Nakivo, Inc. | Systems and methods for instantiation of virtual machines from backups |
US9977704B1 (en) | 2014-09-26 | 2018-05-22 | EMC IP Holding Company LLC | Automated backup and replication of virtual machine data centers |
US9740577B1 (en) | 2015-08-31 | 2017-08-22 | EMC IP Holding Company LLC | Backing up a virtual machine and restoring from a synthetic full backup |
US10061657B1 (en) | 2016-03-23 | 2018-08-28 | EMC IP Holding Company LLC | Application intelligent snapshot backups |
US10191906B1 (en) | 2016-03-25 | 2019-01-29 | EMC IP Holding Company LLC | Creation and implementation of designated time points in a version expiration environment |
US20180032409A1 (en) | 2016-07-26 | 2018-02-01 | Netapp, Inc. | Backup and recovery of application data of an application executing in a virtual machine |
US11023330B2 (en) | 2016-09-02 | 2021-06-01 | Vmware, Inc. | Efficient scheduling of backups for cloud computing systems |
US10769029B2 (en) | 2016-11-18 | 2020-09-08 | International Business Machines Corporation | Accessing records of a backup file in a network storage |
US10216583B1 (en) | 2016-12-02 | 2019-02-26 | Veritas Technologies Llc | Systems and methods for data protection using cloud-based snapshots |
US10339012B2 (en) * | 2016-12-14 | 2019-07-02 | Vmware, Inc. | Fault tolerant application storage volumes for ensuring application availability and preventing data loss using suspend-resume techniques |
US10909097B2 (en) | 2017-02-05 | 2021-02-02 | Veritas Technologies Llc | Method and system for dependency analysis of workloads for orchestration |
US10664352B2 (en) * | 2017-06-14 | 2020-05-26 | Commvault Systems, Inc. | Live browsing of backed up data residing on cloned disks |
US11108859B2 (en) | 2018-07-02 | 2021-08-31 | Accenture Global Solutions Limited | Intelligent backup and recovery of cloud computing environment |
US10768900B2 (en) | 2018-12-05 | 2020-09-08 | Sap Se | Model-based service registry for software systems |
-
2019
- 2019-04-23 US US16/392,588 patent/US11099941B2/en active Active
-
2020
- 2020-04-16 EP EP20169836.2A patent/EP3731099B1/en active Active
- 2020-04-21 CN CN202010319669.2A patent/CN111831478B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9037547B1 (en) * | 2010-09-15 | 2015-05-19 | Symantec Corporation | Backup time deduplication of common virtual disks from virtual machine backup images |
US9092248B1 (en) * | 2013-08-21 | 2015-07-28 | Symantec Corporation | Systems and methods for restoring distributed applications within virtual data centers |
Also Published As
Publication number | Publication date |
---|---|
US20200341857A1 (en) | 2020-10-29 |
US11099941B2 (en) | 2021-08-24 |
EP3731099A1 (en) | 2020-10-28 |
EP3731099B1 (en) | 2023-11-08 |
CN111831478A (zh) | 2020-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11016696B2 (en) | Redundant distributed data storage system | |
US10503604B2 (en) | Virtual machine data protection | |
CN111831478B (zh) | 用于加速应用程序服务恢复的系统和方法 | |
US10241870B1 (en) | Discovery operations using backup data | |
US11119685B2 (en) | System and method for accelerated data access | |
US10474539B1 (en) | Browsing federated backups | |
US9274907B1 (en) | Decommissioning of virtual backup appliances | |
US11409614B2 (en) | Systems and methods for multiple recovery types using single backup type | |
US20210133248A1 (en) | System and method for searching backups | |
US20230153213A1 (en) | Use of cluster-level redundancy within a cluster of a distributed storage management system to address node-level errors | |
CN111949441B (zh) | 用于可扩展备份搜索的系统和方法 | |
US20220164121A1 (en) | Data storage volume record management for application-level recovery | |
US11086649B2 (en) | Minimizing downtime of highly available virtual machines | |
US20200334108A1 (en) | System and method for searchable backup data | |
US10289495B1 (en) | Method and system for performing an item level restore from a backup | |
EP3647953B1 (en) | System and method for data backup in mixed disk environment | |
US10976952B2 (en) | System and method for orchestrated application protection | |
CN111831477B (zh) | 用于加速数据访问的系统和方法 | |
CN111859410A (zh) | 用于限制恢复访问的系统和方法 | |
US11645170B2 (en) | Method and system for generating backups of virtual machines by grouping | |
US11475159B2 (en) | System and method for efficient user-level based deletions of backup data | |
US11836051B2 (en) | Method and system for protecting data during data migration | |
US11675668B2 (en) | Leveraging a cloud-based object storage to efficiently manage data from a failed backup operation | |
EP3591531B1 (en) | Instant restore and instant access of hyper-v vms and applications running inside vms using data domain boostfs | |
US11892914B2 (en) | System and method for an application container prioritization during a restoration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |