CN111949441B - 用于可扩展备份搜索的系统和方法 - Google Patents

用于可扩展备份搜索的系统和方法 Download PDF

Info

Publication number
CN111949441B
CN111949441B CN202010390720.9A CN202010390720A CN111949441B CN 111949441 B CN111949441 B CN 111949441B CN 202010390720 A CN202010390720 A CN 202010390720A CN 111949441 B CN111949441 B CN 111949441B
Authority
CN
China
Prior art keywords
backup
virtual machine
backup data
data processing
new virtual
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
CN202010390720.9A
Other languages
English (en)
Other versions
CN111949441A (zh
Inventor
希莱仕·乔普拉
桑尼尔·亚达夫
杰亚什里·B·拉德哈
阿蒂雅·R·班索
曼尼什·沙玛
斯尼哈·亚达夫
阿米特·杰恩
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 Corp
Original Assignee
EMC IP Holding Co LLC
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 IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Publication of CN111949441A publication Critical patent/CN111949441A/zh
Application granted granted Critical
Publication of CN111949441B publication Critical patent/CN111949441B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/256Integrating or interfacing systems involving database management systems in federated or virtual databases
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/188Virtual file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Computational Linguistics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种用于向虚拟机提供数据保护服务的远程代理包含用于存储备份数据目录的永久性存储装置和备份管理器。备份管理器在虚拟机的新虚拟机中实例化备份代理;使用备份代理获取与新虚拟机相关联的备份数据包,该备份数据包指定新虚拟机的资产;基于备份数据包针对新虚拟机生成备份数据处理模式;针对新虚拟机发起备份生成,以将针对新虚拟机的备份存储在备份存储装置中;通过使用备份代理,使用备份数据处理模式处理与备份相关联的元数据,以获取符合备份数据处理模式的目录数据;以及使用符合备份数据处理模式的目录数据和备份数据目录提供针对备份的搜索服务。

Description

用于可扩展备份搜索的系统和方法
背景技术
计算设备可以在其操作期间生成数据。例如,由计算设备托管的应用程序可以生成由应用程序用于执行其功能的数据。此类数据可以被存储在计算设备的永久性存储装置中。永久性存储装置的故障可能会导致数据丢失。
当数据丢失时,如果没有对数据进行复制并将其存储在除了永久性存储装置以外的其他位置,则可能无法恢复。如果数据的副本被存储在其他位置,则该数据可能与利用该数据的应用程序分开。由于数据的格式,在不利用使用该数据的应用程序的情况下,可能难以确定数据的内容。
发明内容
在一个方面,根据本发明的一个或多个实施例的一种用于向虚拟机提供数据保护服务的远程代理包括永久性存储装置和备份管理器。永久性存储装置用于存储备份数据目录。备份管理器在虚拟机的新虚拟机中实例化备份代理;使用备份代理获取与新虚拟机相关联的备份数据包,该备份数据包指定新虚拟机的资产;基于备份数据包针对新虚拟机生成备份数据处理模式;针对新虚拟机发起备份生成,以将针对新虚拟机的备份存储在备份存储装置中;通过使用备份代理,使用备份数据处理模式处理与备份相关联的元数据,以获取符合备份数据处理模式的目录数据;以及使用符合备份数据处理模式的目录数据和备份数据目录提供针对备份的搜索服务。
在一个方面,根据本发明的一个或多个实施例的一种用于向虚拟机提供数据保护服务的方法包含:在虚拟机的新虚拟机中实例化备份代理;使用备份代理获取与新虚拟机相关联的备份数据包,该备份数据包指定新虚拟机的资产;基于备份数据包针对新虚拟机生成备份数据处理模式;针对新虚拟机发起备份生成,以将针对新虚拟机的备份存储在备份存储装置中;通过使用备份代理,使用备份数据处理模式处理与备份相关联的元数据,以获取符合备份数据处理模式的目录数据;以及使用符合备份数据处理模式的目录数据提供针对备份的搜索服务。
在一个方面,根据本发明的一个或多个实施例的一种非暂时性计算机可读介质包括计算机可读程序代码,当计算机可读程序代码由计算机处理器执行时使计算机处理器能够执行用于向虚拟机提供数据保护服务的方法。该方法包括:在虚拟机的新虚拟机中实例化备份代理;使用备份代理获取与新虚拟机相关联的备份数据包,该备份数据包指定新虚拟机的资产;基于备份数据包针对新虚拟机生成备份数据处理模式;针对新虚拟机发起备份生成,以将针对新虚拟机的备份存储在备份存储装置中;通过使用备份代理,使用备份数据处理模式处理与备份相关联的元数据,以获取符合备份数据处理模式的目录数据;以及使用符合备份数据处理模式的目录数据提供针对备份的搜索服务。
附图说明
本发明的某些实施例将参考附图进行描述。然而,附图仅通过示例的方式示出了本发明的某些方面或实施方式,而并非旨在限制权利要求的范围。
图1示出了根据本发明的一个或多个实施例的系统的图解。
图2.1示出了根据本发明的一个或多个实施例的示例性生产主机的图解。
图2.2示出了根据本发明的一个或多个实施例的示例性虚拟机的图解。
图3示出了根据本发明的一个或多个实施例的示例性远程代理的图解。
图4示出了根据本发明的一个或多个实施例的为虚拟机提供数据保护服务的方法的流程图。
图5示出了根据本发明的一个或多个实施例的生成备份的方法的流程图。
图6.1至图6.9示出了根据本发明的实施例的系统的非限制性示例。
图7示出了根据本发明的一个或多个实施例的计算设备的图解。
具体实施方式
现在将参考附图描述特定实施例。在下面的描述中,阐述了许多细节作为本发明的示例。本领域技术人员将理解,在不脱离本发明的范围的情况下,可以在没有这些具体细节的情况下实践本发明的一个或多个实施例,并且许多变化或修改也是可能的。为了避免使描述不清楚,省略了本领域普通技术人员已知的某些细节。
在对附图的以下描述中,在本发明的各种实施例中,关于某一附图描述的任何组件可以等同于关于任何其他附图描述的一个或多个相同名称的组件。为简洁起见,将不再关于每个附图重复对这些组件的描述。因此,每个附图的组件的各个和每个实施例通过引用并入,并被假定为任选地存在于具有一个或多个相同名称的组件的每个其他附图中。另外,根据本发明的各种实施例,对某一附图的组件的任何描述都将被解释为任选的实施例,其可以附加地、结合于或代替关于在任何其他图中对应的相同名称的组件所描述的实施例来实现。
一般而言,本发明的实施例涉及用于在分布式系统中提供数据保护服务的系统、设备和方法。具体地,本发明的实施例可以提供一种系统,该系统在整个分布式系统上分配用于处理用于数据保护服务的备份的计算负荷。通过这样做,分布式系统的单个实体可以不太可能形成数据保护服务的瓶颈。
另外,本发明的实施例可以提供一种用于以标准化方式处理备份和/或关于备份的元数据的方法。为此,远程代理可以识别将被提供数据保护服务的每个实体所托管的资产。远程代理可以生成用于处理可能为每个实体生成的备份的定制方法。使对备份和/或关于备份的元数据执行的处理标准化可以使得能够在分布式系统的任何数量的实体之间分配用于执行处理的工作负载。
图1示出了根据本发明的一个或多个实施例的示例性系统。该系统可以包括从生产主机(130)托管的虚拟机和/或应用程序获取服务的客户端(140)。例如,生产主机(130)可以托管虚拟机,由虚拟机托管应用程序。客户端(140)可以利用由应用程序提供的应用程序服务。应用程序可以是例如数据库应用程序、电子通信应用程序、文件存储应用程序和/或可以向客户端(140)提供服务的任何其他类型的应用程序。通过利用此类服务,与客户端(140)有关的数据可以被存储在生产主机(130)中。
为了提高存储在生产主机(130)中的数据可供将来使用的可能性,可以生成生产主机(130)的备份并将其存储在备份存储装置(120)中。生产主机(130)中一个的备份可以包括可用于将生产主机的全部或一部分或将生产主机托管的实体的全部或一部分恢复到先前状态的数据。因此,如果生产主机(130)中的一个所托管的数据丢失,则可以通过使用存储在备份存储装置(120)中的信息恢复生产主机的全部或一部分来恢复对数据的访问。
该系统还可以包括向生产主机(130)提供数据保护服务的远程代理(110)。数据保护服务可以包括协调生产主机(130)的备份的生成,协调备份在备份存储装置(120)中的存储,以及使用由远程代理(110)维护的备份数据目录在备份中搜索所需的数据。
在本发明的一个或多个实施例中,远程代理(110)是精简资源实体。也就是说,远程代理(110)可以被设计为最小化它们的计算资源消耗占用空间。为了在最小化其计算资源占用空间的同时提供其功能,远程代理(110)可以将与数据保护服务相关联的计算上昂贵的任务卸载到图1的系统的其他实体。远程代理(110)可以以确保在图1的系统上均匀一致地提供数据保护服务的方式来协调此类卸载。
图1所示的系统的组件可以经由有线和/或无线网络的任何组合可操作地彼此连接和/或可操作地连接至其他实体(未示出)。以下讨论图1所示的系统的每个组件。
客户端(140)可以是计算设备。计算设备可以是例如移动电话、平板计算机、膝上型计算机、台式计算机、服务器或云资源。计算设备可以包括一个或多个处理器、存储器(例如,随机存取存储器)和永久性存储装置(例如,磁盘驱动器、固态驱动器等)。永久性存储装置可以存储计算机指令,例如计算机代码,其(在由计算设备的处理器执行时)促使计算设备执行本申请中所描述的功能和/或图4至图5中所示方法的全部或一部分。在不脱离本发明的情况下,客户端(140)可以是其他类型的计算设备。有关计算设备的另外的细节,请参考图7。
在不脱离本发明情况下,客户端(140)可以是逻辑设备。例如,客户端(140)可以是利用任意数量的物理计算设备的计算资源来提供客户端(140)的功能的虚拟机。在不脱离本发明情况下,客户端(140)可以是其他类型的逻辑设备。
在本发明的一个或多个实施例中,客户端(140)利用由生产主机(130)提供的应用程序服务。例如,客户端(140)可以利用数据库服务、电子通信服务、文件存储服务或由生产主机(130)托管的应用程序所提供的任何其他类型的计算机实现的服务。通过利用上述服务,与客户端(140)有关的数据可以被存储作为由生产主机(130)托管的应用程序的应用程序数据的一部分。
例如,考虑一种情况,其中客户端通过将图像上传到生产主机(130)托管的应用程序来利用由生产主机(130)托管的应用程序提供的文件存储服务。响应于接收到上传的图像,应用程序可以将图像的副本本地存储在生产主机(130)中。在将来的某个时间点,上传图像的客户端或另一个实体可能希望从生产主机(130)检索图像的副本并由此呈现数据,即,存储在生产主机(130)中与客户端(140)有关的生产主机(130)的图像类型的副本。本发明的一个或多个实施例可以提高在将来的时间点从生产主机(130)检索与客户端(140)有关并且存储在生产主机(130)中的数据的可能性。本发明的实施例可以通过生成并在备份存储装置(120)中存储生产主机或生产主机的一部分的备份来提供此类功能。
在本发明的一个或多个实施例中,生产主机(130)是计算设备。计算设备可以是例如移动电话、平板计算机、膝上型计算机、台式计算机、服务器、分布式计算系统或云资源。计算设备可以包括一个或多个处理器、存储器(例如,随机存取存储器)和永久性存储装置(例如,磁盘驱动器、固态驱动器等)。永久性存储装置可以存储计算机指令,例如计算机代码,其(在由计算设备的处理器执行时)促使计算设备执行本申请中所描述的功能和/或图4至图5中所示方法的全部或一部分。在不脱离本发明的情况下,生产主机(130)可以是其他类型的计算设备。有关计算设备的另外的细节,请参考图7。
在本发明的一个或多个实施例中,生产主机(130)是分布式计算设备。如本文所使用的,分布式计算设备是指由利用一个或多个独立和/或不同的物理计算设备的计算资源的逻辑设备提供的功能。例如,在本发明的一个或多个实施例中,生产主机(130)可以是包括分布在任何数量的独立和/或不同的计算设备上的组件的分布式设备。在这种情况下,生产主机(130)的功能可以由多个不同的计算设备执行而并不脱离本发明。
在不脱离本发明的情况下,根据本发明的一个或多个实施例的系统可以包括任何数量的生产主机(例如130.2、130.4)。例如,系统可以包括单个生产主机(例如130.2)或多个生产主机(例如130.2、130.4)。
在本发明的一个或多个实施例中,生产主机(130)向客户(140)提供服务。服务可以是任何类型的计算机实现的服务,例如数据库服务、电子通信服务、数据存储服务和/或即时消息服务。当向客户端(140)提供此类服务时,与客户端(140)有关的数据可以被存储在生产主机(130)的永久性存储装置中。
在本发明的一个或多个实施例中,生产主机(130)(根据由远程代理(110)协调的数据保护策略)执行备份服务,诸如例如,生成备份并将其存储在备份存储装置(120)中。通过将备份存储在备份存储装置(120)中,存储在生产主机(130)的永久性存储装置中的数据的副本可以被冗余地存储在备份存储装置(120)中。通过将数据的副本同时冗余地存储在生产主机(130)和备份存储装置(120)中,在将来的某个时间点更有可能能够检索所存储的数据。例如,如果生产主机(例如130.2)遭受灾难性故障或其他类型的数据丢失/损坏事件,则生产主机的永久性存储装置上的数据可能会丢失。然而,由于可以将数据的副本存储在备份存储装置(120)中,因此有可能在灾难性故障之后检索数据以供使用。因此,本发明的实施例可以提高分布式系统中数据存储的可靠性。有关生产主机(130)的另外的细节,请参考图2.1。
在本发明的一个或多个实施例中,备份存储装置(120)是计算设备。计算设备可以是例如移动电话、平板计算机、膝上型计算机、台式计算机、服务器、分布式计算系统或云资源。计算设备可以包括一个或多个处理器、存储器(例如,随机存取存储器)和永久性存储装置(例如,磁盘驱动器、固态驱动器等)。永久性存储装置可以存储计算机指令,例如计算机代码,其(在由计算设备的处理器执行时)促使计算设备提供通过本申请所描述的备份存储装置(120)功能和/或图4至图5中所示方法的全部或一部分。在不脱离本发明的情况下,备份存储装置(120)可以是其他类型的计算设备。有关计算设备的另外的细节,请参考图7。
在本发明的一个或多个实施例中,备份存储装置(120)是分布式计算设备。如本文所使用的,分布式计算设备是指由利用一个或多个独立和/或不同的计算设备的计算资源的逻辑设备提供的功能。例如,在本发明的一个或多个实施例中,备份存储装置(120)是包括分布在任何数量的独立和/或不同的计算设备上的组件的分布式设备。在这种情况下,备份存储装置(120)的功能可以由多个不同的计算设备执行而并不脱离本发明。
在本发明的一个或多个实施例中,备份存储装置(120)向生产主机(130)提供数据存储服务。数据存储服务可以包括存储由生产主机(130)提供的数据,以及将先前存储的数据提供给生产主机(130)。这样提供的数据可以用于恢复(和/或其他)目的。在不脱离本发明的情况下,系统可以包括任何数量的备份存储装置(例如120.2、120.4)。例如,根据本发明的实施例的系统可以仅包括单个备份存储装置(例如120.2),或者可以包括多个备份存储装置(例如120.2、120.4)。
在本发明的一个或多个实施例中,存储在备份存储装置(120)中的数据包括由生产主机(130)托管的虚拟机的备份。例如,生产主机(130)可以托管虚拟机,该虚拟机托管数据库应用程序。为了生成数据库的备份,可以生成托管数据库的虚拟机的备份,并且可以将该备份发送到备份存储装置(120)以进行存储。在将来的某个时间点,可能希望将由数据库应用程序管理的数据库的状态恢复到先前状态。为此,可以检索存储在备份存储装置(120)中的虚拟机的先前存储的备份。检索到的备份可用于将由托管数据库的虚拟机托管的应用程序数据恢复到与备份相关联的状态,即所期望的先前状态。
在本发明的一个或多个实施例中,存储在备份存储装置(120)中的数据包括由生产主机(130托管的应用程序的备份。例如,生产主机(130)可以托管虚拟机,由该虚拟机托管任何数量的应用程序。在将来的某个时间点,可能希望将由虚拟机托管的应用程序的状态恢复到先前状态。为此,可以利用先前存储的应用程序级备份将应用程序的状态选择性地恢复到与应用程序级备份相关联的先前状态。
在本发明的一个或多个实施例中,应用程序级备份通过使用由生产主机(130)托管的应用程序的本机功能来生成。例如,可以调用应用程序的功能以使应用程序生成包括可用于恢复应用程序的状态的信息的数据结构。然而,此类数据结构中包括的格式和/或信息可能未被标准化。换句话讲,取决于生成前述数据结构的应用程序,不同的应用程序可能生成不同格式的包括不同类型的信息的不同类型的数据结构。
进一步地,当此类备份由应用程序生成时,描述所生成的数据结构的结构的元数据也可以由应用程序生成。像由应用程序生成的备份一样,由应用程序生成的元数据也可以具有不同的结构和/或包括不同类型的信息,这取决于生成元数据的应用程序。
在本发明的一个或多个实施例中,备份存储装置(120)以减小备份的存储占用空间大小的格式来存储备份。例如,备份存储装置(120)可以删除与备份相关联的元数据的全部或一部分。因此,当将备份存储在备份存储装置(120)中时,备份可以不以本机可搜索的格式存储。而是,为了直接搜索存储在备份存储装置(120)中的备份,可能需要对备份数据进行抓取和/或分析以识别可能与搜索信息相对应的备份的不同部分。因此,搜索存储在备份存储装置(120)中的备份可能是计算上非常昂贵的过程。
尽管以上被描述为存储虚拟机的备份(例如,虚拟机级备份)和/或应用程序的备份(例如,应用程序级备份),但是在不脱离本发明的情况下,备份存储装置(120)可以存储来自生产主机(130)或其他实体的其他类型的数据。例如,备份存储装置(120)可以存储来自客户端(140)和/或其他实体的档案或其他数据结构。
在本发明的一个或多个实施例中,远程代理(110)是计算设备。计算设备可以是例如移动电话、平板计算机、膝上型计算机、台式计算机、服务器、分布式计算系统或云资源。计算设备可以包括一个或多个处理器、存储器(例如,随机存取存储器)和永久性存储装置(例如,磁盘驱动器、固态驱动器等)。永久性存储装置可以存储计算机指令,例如计算机代码,其(在由计算设备的处理器执行时)促使计算设备提供通过本申请所描述的远程代理(110)功能和/或图4至图5中所示方法的全部或一部分。在不脱离本发明的情况下,远程代理(110)可以是其他类型的计算设备。有关计算设备的另外的细节,请参考图7。
在本发明的一个或多个实施例中,远程代理(110)是分布式计算设备。如本文所使用的,分布式计算设备是指由利用一个或多个独立和/或不同的计算设备的计算资源的逻辑设备提供的功能。例如,在本发明的一个或多个实施例中,远程代理(110)是包括分布在任何数量的独立和/或不同的计算设备上的组件的分布式设备。在这种情况下,远程代理(110)的功能可以由多个不同的计算设备执行而并不脱离本发明。
在本发明的一个或多个实施例中,备份存储装置(120)提供远程代理的功能。例如,备份存储装置(120)可以托管提供远程代理(110)的全部或一部分功能的应用程序。在不脱离本发明的情况下,远程代理(110)的功能可以由图1的系统的其他组件提供。
在本发明的一个或多个实施例中,远程代理(110)提供数据保护服务。数据保护服务可以包括:(i)协调与生产主机(130)相关联的备份的生成和在备份存储装置中的存储,以及(ii)提供备份数据搜索服务。图1的系统可以包括任何数量的远程代理(例如110.2、110.4)。
为了提供备份数据搜索服务,远程代理(110)可以维护备份数据目录,该备份数据目录使得能够在无需利用存储在备份存储装置(120)中的数据的情况下搜索生产主机(130)的备份。如以上关于备份存储装置(120)所讨论的,存储在备份存储装置中的备份可以以减小备份的存储占用空间的格式来存储,其代价是大大增加了使用存储在备份存储装置中(120)的数据来搜索备份的计算成本。通过维护备份数据目录,相比于直接搜索(例如索引/遍历)存储在备份存储装置(120)中的备份,远程代理(110)可以以计算有效的方式提供搜索服务。
为了维护备份数据目录,远程代理(110)可以使用生产主机(130)的计算资源来协调获取与备份存储装置(120)中的备份相关联的元数据。元数据可以包括使由远程代理(110)维护的备份数据目录能够在将备份存储在备份存储装置(120)中时得到更新的信息。通过这样做,可以通过分配用于获取和/或处理与备份存储装置(120)中的备份相关联的元数据的计算负荷来减少远程代理(110)的计算占用空间。有关远程代理的另外的细节,请参考图3。
尽管为了简洁起见将图1的系统描述和示出为包括有限数量的组件,但是在不脱离本发明的情况下,根据本发明的实施例的系统可以包括比图1所示的组件更多、更少和/或不同的组件。
如以上所讨论的,生产主机可以托管虚拟机、应用程序或向客户端提供服务的其他实体。图2.1示出了根据本发明的一个或多个实施例的示例性生产主机(200)的图解。该示例性生产主机(200)可以类似于任何生产主机(图1的130)。如以上所讨论的,该示例性生产主机(200)可以提供:(i)对客户端的应用程序服务,(ii)对向客户端提供应用程序服务的实体的备份服务。
为了提供示例性生产主机(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.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)可以协调备份的生成和所生成的备份在备份存储装置(图1的120)中的存储。为了协调备份的生成,生产代理(230)可以生成虚拟机级备份和应用程序级备份。虚拟机级备份可以是表示虚拟机在某个时间点的状态(或一个状态与另一状态的差异)的备份。应用程序级备份可以是表示虚拟机在某个时间点的状态(或一个状态与另一状态的差异)的备份。
在本发明的一个或多个实施例中,生产代理(230)基于从一个或多个远程代理接收的指令来管理针对虚拟机(210)的备份服务的提供。这些指令可以促使生产代理(230)采取动作以提供备份服务。换句话讲,生产代理(230)可以协调数据保护服务,包括在整个系统上生成备份和/或执行恢复。
在本发明的一个或多个实施例中,生产代理(230)包括向远程代理报告其活动的功能。例如,生产代理(230)可以监视所生成的备份,并将所生成的备份的通知发送给远程代理。生产代理(230)发送的通知可以包括与生成的备份的类型、生成的备份的存储位置有关的信息和/或与生成和存储的备份有关的任何其他信息,这些信息可能与由远程代理提供的数据保护服务有关。通过这样做,可以向远程代理通知针对由示例性生产主机(200)托管的实体的备份生成。
生产代理(230)还可以提供恢复服务。恢复服务可以使现在由于例如主机实体(诸如生产主机)的故障而无法访问的实体在其他位置实例化并处于预定状态。为了提供恢复服务,生产代理(230)可以从备份存储装置获取任何数量的备份,并使用备份来恢复实体。例如,生产代理(230)可以获取虚拟机级备份,并使用所获取的备份来实例化虚拟机的副本。通过这样做,可以在以预定状态托管应用程序的状态下恢复虚拟机。一旦处于预定状态,则应用程序可以提供期望的应用程序服务和/或实现对应用程序的应用程序数据的访问。通过使用先前生成的备份和/或备份的一部分的不同组合,可以将实体恢复到不同的期望状态。
为了提供生产代理(230)的上述功能,生产代理(230)可以执行图4至图5中所示的方法的全部或一部分。
在本发明的一个或多个实施例中,生产代理(230)是包括电路系统的硬件设备。生产代理(230)可以是例如数字信号处理器、现场可编程门阵列或专用集成电路。在不脱离本发明的情况下,生产代理(230)可以是其他类型的硬件设备。
在本发明的一个或多个实施例中,生产代理(230)被实现为存储在永久性存储装置上的计算代码,当其由处理器执行时执行生产代理(230)的功能。处理器可以是硬件处理器,其包括诸如例如中央处理单元或微控制器之类的电路系统。在不脱离本发明的情况下,处理器可以是用于处理数字信息的其他类型的硬件设备。
尽管为了简洁起见将图2.1的示例性生产主机(200)描述和示出为包括有限数量的组件,但是在不脱离本发明的情况下,根据本发明的实施例的生产主机可以包括比图2.1所示的组件更多、更少和/或不同的组件。
如以上所讨论的,由生产主机托管的虚拟机可以向客户端提供服务。图2.2示出了根据本发明的一个或多个实施例的示例性虚拟机(250)的图解。
示例性虚拟机(250)可以包括应用程序(252)、备份代理(254)和永久性存储装置(260)。以下讨论示例性虚拟机(250)的每个组件。
如以上所讨论的,应用程序(252)可以向客户端和/或其他实体提供应用程序服务。应用程序(252)可以被实现为计算机指令,例如计算机代码,当其由示例性虚拟机(250)的处理器执行时引起应用程序(252)的功能。
当向客户端和/或其他实体提供应用程序服务时,应用程序(252)可以生成存储在永久性存储装置(260)中的应用程序数据(262)。应用程序数据(262)对于客户端可能是有价值的。当生成用于虚拟机(250)的备份(266)时,备份(266)可以基于应用程序数据(262)的部分。因此,可以使用备份(266)将应用程序数据(262)的部分恢复到先前状态。
应用程序(252)可以包括可以由其他实体调用以生成应用程序级备份的功能。应用程序级备份可以是用于恢复示例性虚拟机(250)的备份(266)的一部分。当生成应用程序级备份时,可以生成对应的备份元数据(268)。备份元数据(268)可以是对应用程序级备份的结构的描述。
当生成备份(266)时,可以将备份(266)的副本存储在备份存储装置中。一旦被存储,备份(266)的本地副本就可以在一段时间后丢弃。然而,如上所述,备份(266)可以被存储为没有备份元数据(268),以减少备份在备份存储装置中的存储占用空间。
备份代理(254)可以使远程代理能够提供针对存储在备份存储装置中的备份(266)的搜索服务。为了使远程代理能够提供搜索服务,备份代理(254)可以识别由示例性虚拟机(250)托管的应用程序(252)的类型,并将此类信息提供给远程代理。备份代理(254)可以从远程代理获取备份数据处理模式(264),该备份数据处理模式已经基于由示例性虚拟机(250)托管的应用程序(252)进行了定制。
备份数据处理模式(264)可以包括使备份代理(254)能够处理备份元数据(268)以生成备份数据包(270)的信息。如上所述,备份元数据(268)可以由应用程序(252)生成。因此,备份元数据(268)的不同部分可以按照不同的方式构造和/或包括关于备份(266)的不同类型的信息。
备份数据处理模式(264)可以包括针对备份元数据(268)的不同部分的动作,其使备份代理(254)能够处理备份元数据(268)的不同部分。通过这样做,可以从备份元数据(268)的每个部分中提取与提供备份数据搜索服务有关的信息。可以在备份数据包(270)中聚合相关信息。一旦处理了备份元数据以获取备份数据包(270),备份代理(254)就可以将备份数据包(270)提供给远程代理。通过这样做,可以获取来自每个虚拟机的信息,该信息使得仅使用由远程代理托管的信息就能够搜索由虚拟机生成并存储在备份存储装置中的所有备份(例如266)。因此,远程代理可以针对备份存储装置中的备份提供搜索服务,而无需访问备份存储装置中包括的信息。
为了提供备份代理(254)的上述功能,备份代理(254)可以执行图5中所示的方法的全部或一部分。
在本发明的一个或多个实施例中,备份代理(254)被实现为存储在永久性存储装置(例如,260)上的计算代码,当其由处理器执行时执行备份代理(254)的功能。处理器可以是硬件处理器,其包括诸如例如中央处理单元或微控制器之类的电路系统。在不脱离本发明的情况下,处理器可以是用于处理数字信息的其他类型的硬件设备。
在本发明的一个或多个实施例中,永久性存储装置(260)是逻辑存储装置(例如,虚拟化存储装置),其利用托管示例性虚拟机(250)的生产主机(和/或其他实体)的任何量的硬件存储资源。例如,永久性存储装置(260)可以利用硬盘驱动器、固态磁盘驱动器、磁带驱动器和/或生产主机和/或其他实体的任何其他物理存储介质的任意组合的部分来提供存储资源。永久性存储装置(260)的此类存储资源可以用于托管应用程序数据(262)、备份数据处理模式(264)、备份(266)、备份元数据(268)和/或备份数据包(270)。
在本发明的一个或多个实施例中,备份数据处理模式(264)包括当处理与应用程序(252)中的每个相应应用程序相关联的备份元数据(268)的部分时要执行的动作的列表。例如,备份数据处理模式(264)可以包括用于处理备份元数据(268)中与应用程序(252)的数据库应用程序相关联的一部分的动作的第一列表和用于处理备份元数据(268)中与应用程序(252)的电子邮件应用程序相关联的第二部分的动作的第二列表。备份数据处理模式(264)的每个列表可以包括用于处理备份元数据(268)的对应部分的任何动作类型的任何数量的动作。
用于处理备份元数据(268)的一部分的动作的列表可以包括促使备份(266)的应用程序级备份的结构描述被添加到备份数据包(270)的动作。例如,结构描述可以是到备份元数据(268)的不同部分的偏移量的列表,该偏移量包括应用程序级备份的描述符。
尽管为了简洁起见将图2.2的示例性虚拟机(250)描述和示出为包括有限数量的组件,但是在不脱离本发明的情况下,根据本发明的实施例的虚拟机可以包括比图2.2所示的组件更多、更少和/或不同的组件。
如以上所讨论的,远程代理可以提供数据保护服务。图3示出了根据本发明的一个或多个实施例的示例性远程代理(300)的图解。示例性远程代理(300)可以包括备份管理器(310)和永久性存储装置(320)。以下讨论示例性远程代理(300)的这些组件中的每一个。
备份管理器(310)可以:(i)获取关于由虚拟机托管的应用程序的信息,(ii)基于关于由相应虚拟机中每一个托管的应用程序的信息,生成备份数据处理模式并将其提供给相应虚拟机,(iii)从虚拟机获取备份数据包,其包括关于存储在备份存储装置中的备份结构的信息,(iv)使用备份数据包维护备份数据目录(328),(v)协调备份的生成和在备份存储装置中的存储;以及(vi)使用备份数据目录针对存储在备份存储装置中的备份提供搜索服务。通过这样做,备份管理器(310)可以提供数据搜索服务,与此同时将用于维护备份数据目录(328)的大部分工作负荷卸载到其他实体,即生产主机。因此,与执行用于维护备份数据目录(328)的大部分工作负荷的备份管理器(310)相比,可以减少备份管理器(310)的计算占用空间。
为了获取关于应用程序的信息,备份管理器(310)可以实例化虚拟机中的备份代理。备份管理器(310)可以使用实例化的备份代理获取关于应用程序的信息。
为了生成并提供备份数据处理模式,备份管理器(310)可以分析应用程序,以识别存储在备份数据处理模式存储库(324)中的应当被添加到针对虚拟机的备份数据处理模式中的对应动作。例如,备份数据处理模式存储库(324)可以包括与任何数量的应用程序相关联的任何数量的动作集合。备份管理器(310)可以通过将与虚拟机托管的每个应用程序相对应的动作集添加到备份数据处理模式中来生成针对虚拟机的备份数据处理模式。备份管理器(310)可以向将由示例性远程代理(300)为其提供数据保护服务的每个虚拟机提供此类备份数据处理模式。
为了从虚拟机获取备份数据包,备份管理器(310)可以调用实例化的备份代理的功能。作为响应,实例化的备份代理可以处理与由托管相应实例化的备份代理的虚拟机生成的备份相关联的元数据,以生成备份数据包。
为了维护备份数据目录(328),备份管理器(310)可以使用由备份管理器(310)获取的备份数据包(326)来更新备份数据目录(328)。备份数据目录(328)可以使用任何数量的备份数据包(例如326.2、326.4)来更新。通过这样做,备份数据目录(328)可以使得能够使用包括在备份数据目录(328)中的信息来搜索备份存储装置中的备份。
为了协调针对生产主机的备份的生成和存储,备份管理器(310)可以实施由生命周期策略(322)指定的数据保护策略。为此,备份管理器(310)可以向生产主机设置适当的指令,以促使生产代理和/或备份代理生成适当的备份来满足生命周期策略(322)的要求。
生命周期策略(322)可以指定何时生成备份、将在哪里存储备份和/或由示例性远程代理(300)实施的数据保护策略的其他特征。在不脱离本发明的情况下,生命周期策略(322)可以针对任何数量的生产主机并以任何级别的粒度指定数据保护策略。
为了针对备份存储装置中的备份提供搜索服务,备份管理器(310)可以使用备份数据目录(328)中包括的信息来响应搜索请求。例如,备份管理器(310)可以接收在备份存储装置中搜索备份的请求。响应于该请求,备份管理器(310)可以使用请求中包括的信息作为关键字来搜索备份数据目录(328)。如果与搜索有关的信息被包括在备份存储装置中存储的备份中,则备份数据目录(328)可以包括针对备份存储装置中相关信息的对应访问信息。
为了提供备份管理器(310)的上述功能,备份管理器(310)可以执行图4中所示的方法的全部或一部分。
在本发明的一个或多个实施例中,备份管理器(310)是包括电路系统的硬件设备。备份管理器(310)可以是例如数字信号处理器、现场可编程门阵列或专用集成电路。在不脱离本发明的情况下,备份管理器(310)可以是其他类型的硬件设备。
在本发明的一个或多个实施例中,备份管理器(310)被实现为存储在永久性存储装置上的计算代码,当其由处理器执行时执行备份管理器(310)的功能。处理器可以是硬件处理器,其包括诸如例如中央处理单元或微控制器之类的电路系统。在不脱离本发明的情况下,处理器可以是用于处理数字信息的其他类型的硬件设备。
在本发明的一个或多个实施例中,永久性存储装置(320)是物理存储装置。物理存储装置可以包括硬盘驱动器、固态磁盘驱动器、磁带驱动器和/或用于存储数据的任何其他物理存储介质的任何组合。
在本发明的一个或多个实施例中,永久性存储装置(320)是逻辑存储装置(例如,虚拟化存储装置),其利用任何数量的计算设备的任何量的硬件存储资源以用于存储数据。例如,永久性存储装置(320)可以利用硬盘驱动器、固态磁盘驱动器、磁带驱动器和/或任何数量的计算设备的任何其他物理存储介质的任何组合的部分。永久性存储装置(320)可以存储生命周期策略(322)、备份数据处理模式存储库(324)、备份数据包(326)和备份数据目录(328)。
尽管为了简洁起见将图3的示例性远程代理(300)描述和示出为包括有限数量的组件,但是在不脱离本发明的情况下,根据本发明的实施例的远程代理可以包括比图3所示的组件更多、更少和/或不同的组件。
返回图1,远程代理(110)可以向生产主机(130)和/或其他实体提供数据保护服务。图4示出了在提供数据保护服务时可以由图1的系统的远程代理执行的方法。
图4示出了根据本发明的一个或多个实施例的方法的流程图。根据本发明的一个或多个实施例,图4中所示的方法可以用于提供数据保护服务。图4所示的方法可以由例如远程代理(例如图1的110)执行。在不脱离本发明的情况下,图1所示的系统的其他组件可以执行图4的方法的全部或一部分。
尽管图4被示为一系列步骤,但是在不脱离本发明的情况下,可以省略任何步骤,以不同的顺序执行,可以包括另外的步骤,和/或可以并行地和/或以部分重叠的方式执行任何或所有步骤。
在步骤400中,识别用于数据保护服务的新虚拟机。
在本发明的一个或多个实施例中,当虚拟机向用于数据保护服务的远程代理注册自身时,识别该新虚拟机。在不脱离本发明的情况下,可以通过其他方法来识别新虚拟机。
在步骤402中,在新虚拟机中实例化备份代理。
在本发明的一个或多个实施例中,通过向托管新虚拟机的生产主机发送实例化备份代理的指令,在新虚拟机中实例化备份代理。响应于接收到指令,生产主机可以在新虚拟机中实例化备份代理。
在步骤404中,使用备份代理从新虚拟机获取备份数据包。
在本发明的一个或多个实施例中,通过向备份代理发送结构以生成备份数据包来获取备份数据包。响应于接收到指令,备份代理可以生成备份数据包。备份代理可以通过图5所示的方法来生成备份数据包。
在步骤406中,基于备份数据包生成备份数据处理模式。
在本发明的一个或多个实施例中,通过将一个或多个动作添加到与备份数据包中指定的应用程序相对应的备份数据处理模式来生成备份数据处理模式。例如,备份数据包可以指定由新虚拟机托管的每个应用程序。对于每个指定的应用程序,可以获取存储在备份数据处理模式中的对应动作。通过将动作添加到备份数据处理模式中,可以使用获取的动作来填充备份数据处理模式。
在步骤408中,将备份数据处理模式提供给新虚拟机。
在本发明的一个或多个实施例中,通过向虚拟机发送备份数据处理模式的副本来将备份数据处理模式提供给新虚拟机。在不脱离本发明的情况下,可以通过其他方法将备份数据处理模式提供给新虚拟机。
在步骤410中,发起针对新虚拟机的备份生成,以将与新虚拟机相关联的备份存储在备份存储装置中。
在本发明的一个或多个实施例中,通过向由新虚拟机托管的备份代理发送生成备份的指令来发起针对新虚拟机的备份生成。备份生成可以用于生成由新虚拟机托管的一个或多个应用程序的备份。换句话讲,执行备份生成可以导致生成一个或多个应用程序级备份。另外,当生成一个或多个应用程序级备份时,可以生成针对一个或多个应用程序级备份中的每一个的对应元数据。元数据可以指定备份的结构和/或以其他方式使所生成的应用程序级备份的内容能够被索引。
在本发明的一个或多个实施例中,在备份生成期间生成的备份被存储在备份存储装置中。备份可以以非本机可搜索的格式存储。例如,备份可以在没有描述备份结构的对应元数据的情况下进行存储。
在步骤412中,使用备份代理从与备份相关联的新虚拟机获取符合备份数据处理模式的目录数据。
在本发明的一个或多个实施例中,由备份代理生成符合备份数据处理模式的目录数据。备份代理可以通过对与由步骤410的备份生成所生成的备份相关联的元数据执行由备份数据处理模式指定的一个或多个动作来做到这一点。
在本发明的一个或多个实施例中,符合备份数据处理模式的目录数据包括由步骤410的备份生成所生成的备份的部分的索引。例如,符合备份数据处理模式的目录数据可以包括备份的部分的标识符和针对备份的每个部分的访问信息。访问信息可以是例如由备份的部分的标识符所标识的针对备份的每个部分的偏移量。
在步骤414中,使用符合备份数据处理模式的目录数据来更新备份数据目录以获取更新的备份数据目录。
在本发明的一个或多个实施例中,通过将包括在符合备份数据处理模式的目录数据中的索引添加到备份数据目录来更新备份数据目录。
在本发明的一个或多个实施例中,通过修改备份数据目录以将包括在符合备份数据处理模式的目录数据中的索引反映到备份数据目录来更新备份数据目录。例如,可以基于包括在符合备份数据处理模式的目录数据中的索引的内容来修改备份数据目录的部分。在不脱离本发明的情况下,可以经由其他方法来更新备份数据目录以反映符合备份数据处理模式的目录数据。
在本发明的一个或多个实施例中,使用符合备份数据处理模式的目录数据来更新备份数据目录使得更新的备份数据目录能够反映备份存储装置中备份的内容。
在步骤416中,使用更新的备份数据目录来提供针对备份的搜索结果服务。
在本发明的一个或多个实施例中,通过从实体获取关于包括在备份存储装置中存储的备份中的数据的搜索请求、基于搜索请求搜索备份数据目录以及基于对备份数据目录的搜索提供搜索结果,来提供搜索结果服务。搜索结果可以包括所搜索的信息是否包括在备份存储装置中的备份中的指示。搜索结果可以包括使备份存储装置中的备份的部分能够被获取的访问信息。
该方法可以在步骤416之后结束。
因此,经由图4所示的方法,本发明的一个或多个实施例可以利于备份的生成和在备份存储装置中的存储,同时使得能够在不使用存储在备份存储装置中的信息的情况下搜索备份。
如关于图4所讨论的,备份代理可以提供符合备份数据处理模式的目录数据,以使远程代理能够提供备份搜索服务。图5示出了根据本发明的一个或多个实施例的方法的流程图。根据本发明的一个或多个实施例,图5中所示的方法可以用于提供符合备份数据处理模式的目录数据。图5所示的方法可以由例如生产主机(例如图1的130)执行。在不脱离本发明的情况下,图1所示的系统的其他组件可以执行图5的方法的全部或一部分。
尽管图5被示为一系列步骤,但是在不脱离本发明的情况下,可以省略任何步骤,以不同的顺序执行,可以包括另外的步骤,和/或可以并行地和/或以部分重叠的方式执行任何或所有步骤。
在步骤500中,对虚拟机进行抓取以识别资产。
在本发明的一个或多个实施例中,资产是在虚拟机中存储应用程序数据的应用程序。通过查询虚拟机的操作系统以确定虚拟机是否正托管任何应用程序,可以对虚拟机进行抓取以识别资产。如果虚拟机正托管任何应用程序,则这些应用程序可以被识别为资产。
在步骤502中,基于资产生成备份数据包。
在本发明的一个或多个实施例中,备份数据包是一种数据结构,其包括由虚拟机托管的每个应用程序的标识符。例如,备份数据包可以包括由虚拟机托管的数据库应用程序的标识符。
在步骤504中,将备份数据包提供给远程代理。
在本发明的一个或多个实施例中,将备份数据包提供给实例化执行图5的方法的备份代理的远程代理。
在本发明的一个或多个实施例中,通过将备份数据包的副本发送给远程代理来提供备份数据包。在不脱离本发明的情况下,可以经由其他方法将备份数据包提供给远程代理。
在步骤506中,获取与备份数据包相关联的备份数据处理模式。
在本发明的一个或多个实施例中,备份数据处理模式包括与由虚拟机托管的每个应用程序相关联的动作组。与每个应用程序相关联的动作可以指定如何处理由每个对应应用程序生成的元数据。
在步骤508中,针对虚拟机生成备份和元数据。
在本发明的一个或多个实施例中,通过调用由虚拟机托管的应用程序的功能来生成备份和元数据。该功能可以是应用程序为应用程序生成备份的能力。该功能还可以包括生成用于备份的元数据。
在本发明的一个或多个实施例中,响应于来自正在为虚拟机和/或托管虚拟机的生产主机提供数据保护服务的远程代理的备份生成请求,生成针对虚拟机的备份和元数据。
在步骤510中,将备份存储在备份存储装置中。
在本发明的一个或多个实施例中,通过将备份的副本发送到备份存储装置来存储备份。在将备份存储在备份存储装置中后,可以删除由虚拟机托管的备份的本地副本。
在步骤512中,基于备份数据处理模式来处理元数据以获取符合备份数据处理模式的目录数据。
在本发明的一个或多个实施例中,通过执行由备份数据处理模式指定的一个或多个动作来处理元数据。该一个或多个动作可以与生成元数据的应用程序相关联。执行动作可以生成使备份能够被搜索的数据。例如,该数据可以是备份的索引。索引可以指定备份的各个部分以及针对备份的部分的访问信息。
在步骤514中,将符合备份数据处理模式的目录数据提供给远程代理。
在本发明的一个或多个实施例中,远程代理使用符合备份数据处理模式的目录数据来更新备份数据目录。更新的备份数据目录可以用于搜索备份存储装置的备份,而无需使用存储在备份存储中的信息。
该方法可以在步骤514之后结束。
因此,经由图5所示的方法,远程代理可以使用生产主机的计算资源来处理用于备份的元数据。因此,与处理用于备份的元数据的远程代理相比,可以减少远程代理的计算资源占用空间。进一步地,通过向备份代理提供备份数据处理模式,可以以任何一致的方式处理来自任何数量的虚拟机的元数据。通过这样做,用于更新备份数据目录的工作负载可以分布在任何数量的设备上。
为了进一步阐明本发明的实施例,在图6.1至图6.9中提供了非限制性示例。这些图的每一个可以在不同的时间点示出与图1所示的系统类似的系统。为简洁起见,在图6.1至图6.9的每一个中仅示出了图1的系统的有限数量的组件。
示例
考虑如图6.1所示的情况,其中远程代理(600)正在向生产主机(610)提供数据保护服务。作为数据保护服务的一部分,远程代理(600)维护备份数据目录(602),该备份数据目录反映存储在备份存储装置中与远程代理(600)为其提供数据保护服务的实体相关联的备份。
生产主机(610)托管第一虚拟机(620)和第二虚拟机(640)。第一虚拟机(620)托管数据库应用程序(622)。第二虚拟机托管即时消息应用程序(642)。这两个应用程序均向客户端(未示出)提供应用程序服务。通过向客户端提供这些应用程序服务,与客户端有关的信息可以被存储在与应用程序相关联的应用程序数据(未示出)中。
为了向生产主机(610)提供数据保护服务,远程代理(600)在第一虚拟机(620)中实例化第一备份代理(624)以及在第二虚拟机(640)中实例化第二备份代理(644),如图6.2所示。在实例化备份代理之后,远程代理(600)指示所有备份代理提供与虚拟机托管的资产有关的信息。
响应于来自远程代理(600)的指令,第一备份代理(624)查询第一虚拟机(620)的操作系统以识别由第一虚拟机(620)托管的任何应用程序。作为响应,第一虚拟机(620)的操作系统向第一备份代理(624)通知数据库应用程序(622)。类似于第一备份代理(624),第二备份代理(644)查询第二虚拟机(640)的操作系统,以识别出第二虚拟机(640)托管了即时消息应用程序(642)。
通过使用所获取的关于数据库应用程序(622)的信息,第一备份代理(624)生成包括数据库应用程序(622)的标识符的第一备份数据包(626),如图6.3所示。类似地,第二备份代理(644)生成包括即时消息应用程序(642)的标识符的第二备份数据包(646)。
在生成上述备份数据包之后,第一备份代理(624)将第一备份数据包(603.2)的副本提供给远程代理(600),如图6.4所示。通过使用第一备份数据包(603.2),远程代理(600)基于包括在第一备份数据包(603.2)中的数据库应用程序(622)的标识符来生成第一备份数据处理模式(603.4)。第一备份数据处理模式(603.4)包括使第一虚拟机(620)能够处理由数据库应用程序(622)生成的元数据的第一组动作。
在生成第一备份数据处理模式(603.4)之后,远程代理(600)将第一备份数据处理模式(628)的副本提供给第一虚拟机(620),如图6.5所示。类似于第一备份代理(624),第二备份代理(644)将第二备份数据包(604.2)的副本提供给远程代理(600)。远程代理(600)基于包括在第二备份数据包(604.2)中的即时消息应用程序(642)的标识符来生成第二备份数据处理模式(604.4)。
类似于第一备份数据处理模式(628),第二备份数据处理模式(604.4)包括使第二虚拟机(640)能够处理由即时消息应用程序(642)生成的元数据的第二组动作。然而,第二备份数据处理模式(604.4)包括与第一备份数据处理模式(628)中包括的动作不同的动作。
在生成之后,远程代理(600)将第二备份数据处理模式(648)的副本提供给第二虚拟机(640),如图6.6所示。在图6.6所示的状态下,第一备份代理(624)和第二备份代理(644)两者均能够处理与由每个相应虚拟机托管的应用所生成的备份相关联的元数据。
在第一虚拟机(620)和第二虚拟机(640)获取相应的备份数据处理模式之后,远程代理(600)指示每个虚拟机生成由相应虚拟机托管的应用程序的备份。
响应于接收到指令,第一备份代理(624)指示数据库应用程序(622)生成数据库备份(630)和数据库备份元数据(632)。类似地,第二备份代理(644)指示即时消息应用程序(642)生成即时消息备份(650)和即时消息备份元数据(652)。
在生成数据库备份元数据(632)之后,第一备份代理(624)使用第一备份数据处理模式(628)处理数据库备份元数据(632),以获取符合第一备份数据处理模式的备份目录数据(634),如图6.7所示。符合第一备份数据处理模式的目录数据(634)包括数据库备份(630)的部分和针对数据库备份(630)的部分的访问信息的列表。
类似地,第二备份代理(644)使用第二备份数据处理模式(648)处理即时消息备份元数据(652),以获取符合第二备份数据处理模式的目录数据(654)。符合第二备份数据处理模式的目录数据(654)包括即时消息备份(650)的部分和针对即时消息备份(650)的部分的访问信息的列表。
在生成目录数据(例如634、654)之后,备份代理(624、644)将目录数据(605.2、605.4)的副本发送到远程代理(600),如图6.8所示。响应于接收到目录数据(605.2、605.4),远程代理(600)使用目录数据(605.2、605.4)更新备份数据目录(602),以获取更新的备份数据目录(606),如图6.9所示。更新的备份数据目录(606)反映了包括在数据库备份(630)和即时消息备份(650)中的信息以用于搜索目的。
在获取更新的备份数据目录(606)之后,数据库备份(630)和即时消息备份(650)的副本被发送到备份存储装置以用于存储。然而,用于备份(630、650)的对应元数据(632、652)的副本未被存储在备份存储装置中,从而使得存储在备份存储装置中的备份不能本机搜索。因此,在图6.9中所示的状态下,远程代理(600)能够针对存储在备份存储装置中的备份提供搜索功能,而无需利用包括在备份存储装置中的数据。而是,远程代理(600)使用更新的备份数据目录(606)来提供这种搜索功能。
示例的结束
图1的任何组件可以被实现为分布式计算设备。如本文所使用的,分布式计算设备是指由利用一个或多个独立和/或不同的计算设备的计算资源的逻辑设备提供的功能。如以上所讨论的,本发明的实施例可以使用计算设备来实现。图7示出了根据本发明的一个或多个实施例的计算设备的图解。计算设备(700)可以包括一个或多个计算机处理器(702)、非永久性存储装置(704)(例如,易失性存储器,诸如随机存取存储器(RAM)、高速缓存存储器)、永久性存储装置(706)(例如,硬盘、光驱(诸如光盘(CD)驱动器或数字通用光盘(DVD)驱动器、闪存存储器等)、通信接口(712)(例如,蓝牙接口、红外接口、网络接口、光接口等)、输入设备(710)、输出设备(708)以及许多其他元件(未示出)和功能。以下对这些组件中的每一个进行描述。
在本发明的一个实施例中,计算机处理器(702)可以是用于处理指令的集成电路。例如,计算机处理器可以是处理器的一个或多个核心或微核心。计算设备(700)还可以包括一个或多个输入设备(710),诸如触摸屏、键盘、鼠标、麦克风、触摸板、电子笔或任何其他类型的输入设备。此外,通信接口(712)可以包括用于将计算设备(700)连接到网络(未示出)(例如,局域网(LAN)、诸如互联网的广域网(WAN)、移动网络或任何其他类型的网络)和/或连接到另一设备(诸如另一计算设备)的集成电路。
在本发明的一个实施例中,计算设备(700)可以包括一个或多个输出设备(708),诸如屏幕(例如,液晶显示器(LCD)、等离子体显示器、触摸屏、阴极射线管(CRT)显示器、投影仪或其他显示设备)、打印机、外部存储装置或任何其他输出设备。一个或多个输出设备可以与输入设备相同或不同。输入和输出设备可以本地或远程地连接到计算机处理器(702)、非永久性存储装置(704)和永久性存储装置(706)。存在许多不同类型的计算设备,并且前述输入和输出设备可以采取其他形式。
本发明的实施例可以提供一种用于在分布式系统上分配备份数据和/或备份元数据处理的方法。通过这样做,与可以集中处理管理实体中的备份和/或元数据的备份系统相比,可以减少管理实体(例如,远程代理)的计算占用空间。
因此,本发明的实施例可以解决出于数据保护目的而依赖于数据冗余的分布式系统中计算资源的可用性有限的问题。具体地,本发明的实施例可以提供一种分配计算负荷以用于出于搜索功能目的而处理备份和/或备份元数据的方法。
以上所讨论的问题应当被理解为是由本文公开的本发明的实施例解决的问题的示例,并且本发明不应被限于解决相同/相似的问题。所公开的发明广泛地适用于解决除了本文所讨论的那些问题之外的一系列问题。
可以使用由数据管理设备的一个或多个处理器执行的指令来实现本发明的一个或多个实施例。此外,此类指令可以对应于存储在一个或多个非暂时性计算机可读介质上的计算机可读指令。
尽管以上已经关于有限数量的实施例描述了本发明,但是受益于本么开的本领域技术人员将理解,可以设计出不脱离本文所公开的本发明的范围的其他实施例。因此,本发明的范围应当仅由所附权利要求书来限定。

Claims (20)

1.一种用于向虚拟机提供数据保护服务的远程代理,包含:
用于存储备份数据目录的永久性存储装置;以及
备份管理器,其被编程为:
在所述虚拟机的新虚拟机中实例化备份代理;
使用所述备份代理获取与所述新虚拟机相关联的备份数据包,其中所述备份数据包指定由所述新虚拟机托管的应用程序,并且其中所述应用程序包括第一应用程序和第二应用程序;
基于所述备份数据包针对所述新虚拟机生成备份数据处理模式;
针对所述新虚拟机发起备份生成,以将针对所述新虚拟机的备份存储在备份存储装置中,其中所述备份数据处理模式包括多个动作,其中所述多个动作在备份数据处理模式存储库中指定,其中生成所述备份数据处理模式包括从所述备份数据处理存储库模式中为所述备份数据包中指定的所述应用程序中的每个应用程序添加至少一个动作到所述备份数据处理模式中;
通过使用所述备份代理,使用备份数据处理模式处理与所述备份相关联的元数据,以获取符合备份数据处理模式的目录数据;以及
使用所述符合备份数据处理模式的目录数据和所述备份数据目录提供针对所述备份的搜索服务。
2.根据权利要求1所述的远程代理,其中所述元数据包含:
由所述新虚拟机托管的所述第一应用程序生成的第一元数据;以及
由所述新虚拟机托管的所述第二应用程序生成的第二元数据。
3.根据权利要求2所述的远程代理,其中所述备份数据处理模式至少指定:
用于处理所述第一元数据的第一动作;以及
用于处理所述第二元数据的第二动作,
其中所述第一动作不同于所述第二动作。
4.根据权利要求2所述的远程代理,其中所述备份包含:
由所述新虚拟机托管的所述第一应用程序生成的第一备份数据;以及
由所述新虚拟机托管的第二应用程序生成的第二备份数据。
5.根据权利要求1所述的远程代理,其中使用所述符合备份数据处理模式的目录数据和所述备份数据目录提供针对所述备份的所述搜索服务包含:
使用所述符合备份数据处理模式的目录数据来更新所述备份数据目录以获取更新的备份数据目录,其中所述备份数据目录与包含所述备份的多个备份相关联,并且其中所述多个备份存储在备份存储装置中;
获取对所述备份的一部分的请求;
使用所述更新的备份数据目录搜索所述多个备份中的所述备份的所述一部分以获取搜索结果;以及
响应于对所述备份的所述一部分的所述请求提供所述搜索结果。
6.根据权利要求5所述的远程代理,其中所述多个备份以非本机可搜索的格式存储。
7.根据权利要求1所述的远程代理,其中所述符合备份数据处理模式的目录数据包含针对所述备份的索引信息。
8.一种用于向虚拟机提供数据保护服务的方法,包含:
在所述虚拟机的新虚拟机中实例化备份代理;
使用所述备份代理获取与所述新虚拟机相关联的备份数据包,其中所述备份数据包指定由所述新虚拟机托管的应用程序,并且其中所述应用程序包括第一应用程序和第二应用程序;
基于所述备份数据包针对所述新虚拟机生成备份数据处理模式,其中所述备份数据处理模式包括多个动作,其中所述多个动作在备份数据处理模式存储库中指定,其中生成所述备份数据处理模式包括从所述备份数据处理存储库模式中为所述备份数据包中指定的所述应用程序中的每个应用程序添加至少一个动作到所述备份数据处理模式中;
针对所述新虚拟机发起备份生成,以将针对所述新虚拟机的备份存储在备份存储装置中;
通过使用所述备份代理,使用备份数据处理模式处理与所述备份相关联的元数据,以获取符合备份数据处理模式的目录数据;以及
使用所述符合备份数据处理模式的目录数据提供针对所述备份的搜索服务。
9.根据权利要求8所述的方法,其中所述元数据包含:
由所述新虚拟机托管的所述第一应用程序生成的第一元数据;以及
由所述新虚拟机托管的所述第二应用程序生成的第二元数据。
10.根据权利要求9所述的方法,其中所述备份数据处理模式至少指定:
用于处理所述第一元数据的第一动作;以及
用于处理所述第二元数据的第二动作,
其中所述第一动作不同于所述第二动作。
11.根据权利要求9所述的方法,其中所述备份包含:
由所述新虚拟机托管的所述第一应用程序生成的第一备份数据;以及
由所述新虚拟机托管的第二应用程序生成的第二备份数据。
12.根据权利要求8所述的方法,其中使用所述符合备份数据处理模式的目录数据提供针对所述备份的所述搜索服务包含:
使用所述符合备份数据处理模式的目录数据来更新备份数据目录以获取更新的备份数据目录,其中所述备份数据目录与包含所述备份的多个备份相关联,并且其中所述多个备份存储在备份存储装置中;
获取对所述备份的一部分的请求;
使用所述更新的备份数据目录搜索所述多个备份中的所述备份的所述一部分以获取搜索结果;以及
响应于对所述备份的所述一部分的所述请求提供所述搜索结果。
13.根据权利要求12所述的方法,其中所述多个备份以非本机可搜索的格式存储。
14.根据权利要求8所述的方法,其中所述符合备份数据处理模式的目录数据包含针对所述备份的索引信息。
15.一种非暂时性计算机可读介质,其包含计算机可读程序代码,当所述计算机可读程序代码由计算机处理器执行时使所述计算机处理器能够执行用于向虚拟机提供数据保护服务的方法,所述方法包含:
在所述虚拟机的新虚拟机中实例化备份代理;
使用所述备份代理获取与所述新虚拟机相关联的备份数据包,其中所述备份数据包指定由所述新虚拟机托管的应用程序,并且其中所述应用程序包括第一应用程序和第二应用程序;
基于所述备份数据包针对所述新虚拟机生成备份数据处理模式,其中所述备份数据处理模式包括多个动作,其中所述多个动作在备份数据处理模式存储库中指定,其中生成所述备份数据处理模式包括从所述备份数据处理存储库模式中为所述备份数据包中指定的所述应用程序中的每个应用程序添加至少一个动作到所述备份数据处理模式中;
针对所述新虚拟机发起备份生成,以将针对所述新虚拟机的备份存储在备份存储装置中;
通过使用所述备份代理,使用备份数据处理模式处理与所述备份相关联的元数据,以获取符合备份数据处理模式的目录数据;以及
使用所述符合备份数据处理模式的目录数据提供针对所述备份的搜索服务。
16.根据权利要求15所述的非暂时性计算机可读介质,其中所述元数据包含:
由所述新虚拟机托管的所述第一应用程序生成的第一元数据;以及
由所述新虚拟机托管的所述第二应用程序生成的第二元数据。
17.根据权利要求16所述的非暂时性计算机可读介质,其中所述备份数据处理模式至少指定:
用于处理所述第一元数据的第一动作;以及
用于处理所述第二元数据的第二动作,
其中所述第一动作不同于所述第二动作。
18.根据权利要求16所述的非暂时性计算机可读介质,其中所述备份包含:
第一备份数据,其由所述新虚拟机托管的所述第一应用程序生成;以及
第二备份数据,其由所述新虚拟机托管的第二应用程序生成。
19.根据权利要求15所述的非暂时性计算机可读介质,其中使用所述符合备份数据处理模式的目录数据提供针对所述备份的所述搜索服务包含:
使用所述符合备份数据处理模式的目录数据来更新备份数据目录以获取更新的备份数据目录,其中所述备份数据目录与包含所述备份的多个备份相关联,并且其中所述多个备份存储在备份存储装置中;
获取对所述备份的一部分的请求;
使用所述备份数据目录搜索所述多个备份中的所述备份的所述一部分以获取搜索结果;以及
响应于对所述备份的所述一部分的所述请求提供所述搜索结果。
20.根据权利要求19所述的非暂时性计算机可读介质,其中所述多个备份以非本机可搜索的格式存储。
CN202010390720.9A 2019-05-14 2020-05-09 用于可扩展备份搜索的系统和方法 Active CN111949441B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/412,402 US10776041B1 (en) 2019-05-14 2019-05-14 System and method for scalable backup search
US16/412,402 2019-05-14

Publications (2)

Publication Number Publication Date
CN111949441A CN111949441A (zh) 2020-11-17
CN111949441B true CN111949441B (zh) 2024-08-27

Family

ID=72425878

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010390720.9A Active CN111949441B (zh) 2019-05-14 2020-05-09 用于可扩展备份搜索的系统和方法

Country Status (2)

Country Link
US (1) US10776041B1 (zh)
CN (1) CN111949441B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
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
US12001293B2 (en) 2021-10-28 2024-06-04 Pure Storage, Inc. Coordinated data backup for a container system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101243413A (zh) * 2005-06-24 2008-08-13 信科索尔特公司 用于对备份映像进行虚拟化的系统和方法
CN103034453A (zh) * 2011-09-30 2013-04-10 国际商业机器公司 管理虚拟机实例中预安装应用的持久数据的方法和装置

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070239755A1 (en) 2005-01-10 2007-10-11 Instant Information Inc. Methods and systems for messaging in a collaboration system
US8566821B2 (en) * 2008-11-11 2013-10-22 Netapp Inc. Cloning virtual machines
US9128742B1 (en) * 2010-11-19 2015-09-08 Symantec Corporation Systems and methods for enhancing virtual machine backup image data
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
US9772909B1 (en) * 2012-03-30 2017-09-26 EMC IP Holding Company LLC Dynamic proxy server assignment for virtual machine backup
US9697093B2 (en) * 2012-09-05 2017-07-04 Veritas Technologies Llc Techniques for recovering a virtual machine
WO2014133502A1 (en) * 2013-02-27 2014-09-04 Hewlett-Packard Development Company, L.P. Sending a request to a management service
CN104216793B (zh) * 2013-05-31 2017-10-17 国际商业机器公司 应用程序备份、恢复的方法及设备
WO2015009318A1 (en) * 2013-07-19 2015-01-22 Hewlett-Packard Development Company, L.P. Virtual machine resource management system and method thereof
US9652178B2 (en) * 2013-09-10 2017-05-16 Veritas Technologies Systems and methods for protecting virtual machine data
CN103678045B (zh) * 2013-12-31 2017-11-21 曙光云计算集团有限公司 虚拟机的数据备份方法
US9256725B2 (en) 2014-02-26 2016-02-09 Emc Corporation Credential recovery with the assistance of trusted entities
CN105446826A (zh) * 2014-06-30 2016-03-30 国际商业机器公司 虚拟机备份、恢复的方法及设备
EP3183655B1 (en) * 2014-08-21 2019-02-20 Veeam Software Ag User authorization for file level restoration from image level backups
US10204019B1 (en) 2014-09-07 2019-02-12 Nakivo, Inc. Systems and methods for instantiation of virtual machines from backups
US9417968B2 (en) * 2014-09-22 2016-08-16 Commvault Systems, Inc. Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations
US9977704B1 (en) 2014-09-26 2018-05-22 EMC IP Holding Company LLC Automated backup and replication of virtual machine data centers
CN104407938B (zh) * 2014-11-21 2018-05-08 上海爱数信息技术股份有限公司 一种虚拟机镜像级备份后的多种粒度恢复方法
US10459802B2 (en) * 2015-01-30 2019-10-29 Hewlett-Packard Development Company, L.P. Backup image restore
US10747622B2 (en) * 2015-03-31 2020-08-18 SkyKick, Inc. Efficient backup, search and restore
CN105022678A (zh) * 2015-07-02 2015-11-04 深圳市深信服电子科技有限公司 虚拟机数据备份的方法和装置
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
CN106909475A (zh) * 2015-12-23 2017-06-30 中国移动通信集团重庆有限公司 基于对象存储进行数据备份、恢复的方法和装置
CN106250274B (zh) * 2016-08-16 2019-03-15 浪潮(北京)电子信息产业有限公司 一种虚拟机的备份方法及装置
US10216583B1 (en) 2016-12-02 2019-02-26 Veritas Technologies Llc Systems and methods for data protection using cloud-based snapshots
US10909097B2 (en) 2017-02-05 2021-02-02 Veritas Technologies Llc Method and system for dependency analysis of workloads for orchestration
CN107133131A (zh) * 2017-05-31 2017-09-05 广州鼎甲计算机科技有限公司 一种基于VMware的虚拟机合成备份方法
CN108182128A (zh) * 2017-12-29 2018-06-19 广州鼎甲计算机科技有限公司 基于xen的无代理虚拟化备份恢复方法
US11108859B2 (en) 2018-07-02 2021-08-31 Accenture Global Solutions Limited Intelligent backup and recovery of cloud computing environment
CN109144776B (zh) * 2018-07-20 2021-04-06 新华三技术有限公司 虚拟机镜像文件处理方法及装置
CN109376036A (zh) * 2018-11-01 2019-02-22 郑州云海信息技术有限公司 一种用于备份虚拟机的方法和装置
US10768900B2 (en) 2018-12-05 2020-09-08 Sap Se Model-based service registry for software systems
CN109582443A (zh) * 2018-12-06 2019-04-05 国网江西省电力有限公司信息通信分公司 基于分布式存储技术的虚拟机备份系统
CN109558215B (zh) * 2018-12-10 2021-09-07 深圳市木浪云数据有限公司 虚拟机的备份方法、恢复方法、装置及备份服务器集群

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101243413A (zh) * 2005-06-24 2008-08-13 信科索尔特公司 用于对备份映像进行虚拟化的系统和方法
CN103034453A (zh) * 2011-09-30 2013-04-10 国际商业机器公司 管理虚拟机实例中预安装应用的持久数据的方法和装置

Also Published As

Publication number Publication date
US10776041B1 (en) 2020-09-15
CN111949441A (zh) 2020-11-17

Similar Documents

Publication Publication Date Title
US11237749B2 (en) System and method for backup data discrimination
US11687595B2 (en) System and method for searching backups
US11099941B2 (en) System and method for accelerating application service restoration
US11119685B2 (en) System and method for accelerated data access
US10572350B1 (en) System and method for improved application consistency in a distributed environment
US11455216B2 (en) Method and system for generating synthetic backups using pseudo-asset backups
US20220083426A1 (en) Method and system for hybrid incremental file-based backups
US11468016B2 (en) Method and system for parallelizing backup generation operations using pseudo-asset backups
CN111949441B (zh) 用于可扩展备份搜索的系统和方法
US11507473B2 (en) System and method for efficient backup generation
US20200334108A1 (en) System and method for searchable backup data
US11256574B1 (en) Method and system for backing up cloud native and non-cloud native applications
CN111859410B (zh) 用于限制恢复访问的系统和方法
US10976952B2 (en) System and method for orchestrated application protection
CN111831477B (zh) 用于加速数据访问的系统和方法
US11645170B2 (en) Method and system for generating backups of virtual machines by grouping
US11892914B2 (en) System and method for an application container prioritization during a restoration
US20240289231A1 (en) Method and system for application aware access of metadata based backups
US11475159B2 (en) System and method for efficient user-level based deletions of backup data
US20240289234A1 (en) Method and system for metadata based application item level data protection for heterogeneous backup storages
US11379146B1 (en) Method and system for performing data protection management using an add-on application programming interface
US20240232025A9 (en) Method and system for generating indexing metadata for object level restoration of limited access cloud data
US20220043722A1 (en) Method and system for generating backups using pseudo-asset backups
US10776223B1 (en) System and method for accelerated point in time restoration
US10860240B2 (en) Instant restore and instant access of hyper-v VMS and applications running inside VMS using data domain boostfs

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