CN111090544A - 用于管理虚拟机的方法、设备和计算机程序产品 - Google Patents
用于管理虚拟机的方法、设备和计算机程序产品 Download PDFInfo
- Publication number
- CN111090544A CN111090544A CN201811246723.4A CN201811246723A CN111090544A CN 111090544 A CN111090544 A CN 111090544A CN 201811246723 A CN201811246723 A CN 201811246723A CN 111090544 A CN111090544 A CN 111090544A
- Authority
- CN
- China
- Prior art keywords
- backup
- virtual machine
- version
- backup version
- index
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/1479—Generic software techniques for error detection or fault masking
- G06F11/1482—Generic software techniques for error detection or fault masking by means of middleware or OS functionality
- G06F11/1484—Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/185—Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/188—Virtual file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及用于管理虚拟机的方法、设备和计算机程序产品。根据本公开的示例性实现,提供了一种用于管理虚拟机的方法。在该方法中,响应于接收到针对虚拟机的备份请求,获取虚拟机中的至少一个对象中的相应对象的相应元数据,相应元数据描述相应对象在虚拟机的文件系统中的多个属性。基于相应元数据,生成描述相应对象的多个属性中的基本属性的相应摘要。基于相应摘要创建虚拟机的备份版本的索引,索引包括相应对象在虚拟机的备份版本中的相应路径。进一步,提供了一种用于管理虚拟机的设备和计算机程序产品。
Description
技术领域
本公开的各实现方式涉及虚拟机,更具体地,涉及用于针对虚拟机执行备份操作的方法、设备和计算机程序产品。
背景技术
随着计算机技术的发展,虚拟机(Virtual Machine)技术已经被广泛地用于各行各业。由于方便集中式管理以及价格优势等因素,目前越来越多的用户采用虚拟机技术来实现他们的应用系统。在各种应用系统运行期间,经常会需要针对应用系统中的数据执行备份操作,以便当应用系统中出现故障时或者基于其他数据恢复要求,可以利用备份数据来恢复应用系统。
为了将基于虚拟机的应用系统中的某个对象(例如,文件或者文件夹)恢复至备份数据中的对象的版本,用户不得不执行复杂的操作以便在备份数据中找到期望的对象。此时,如何以更为方便并且高效的方式来执行针对虚拟机备份操作以及后续的查询和恢复操作,成为一个研究热点。
发明内容
因而,期望能够开发并实现一种以更为有效的方式来管理虚拟机的技术方案。期望该技术方案能够与现有的应用环境相兼容,并且通过改造现有应用环境的各种配置,来以更为有效的方式管理虚拟机。
根据本公开的第一方面,提供了一种用于管理虚拟机的方法。在该方法中,响应于接收到针对虚拟机的备份请求,获取虚拟机中的至少一个对象中的相应对象的相应元数据,相应元数据描述相应对象在虚拟机的文件系统中的多个属性。基于相应元数据,生成描述相应对象的多个属性中的基本属性的相应摘要。基于相应摘要创建虚拟机的备份版本的索引,索引包括相应对象在虚拟机的备份版本中的相应路径。
根据本公开的第二方面,提供了一种用于管理虚拟机的设备。该设备包括:至少一个处理器;易失性存储器;以及与至少一个处理器耦合的存储器,存储器具有存储于其中的指令,指令在被至少一个处理器执行时使得设备执行动作。该动作包括:响应于接收到针对虚拟机的备份请求,获取虚拟机中的至少一个对象中的相应对象的相应元数据,相应元数据描述相应对象在虚拟机的文件系统中的多个属性;基于相应元数据,生成描述相应对象的多个属性中的基本属性的相应摘要;以及基于相应摘要创建虚拟机的备份版本的索引,索引包括相应对象在虚拟机的备份版本中的相应路径。
根据本公开的第三方面,提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,机器可执行指令用于执行根据本公开的第一方面的方法。
附图说明
结合附图并参考以下详细说明,本公开各实现方式的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本公开的若干实现方式。在附图中:
图1示意性示出了本公开的实现方式可以被应用于其中的应用环境的框图;
图2示意性示出了根据本公开的一个实现方式的用于管理虚拟机的框图;
图3示意性示出了根据本公开的一个实现方式的用于管理虚拟机的方法的流程图;
图4示意性示出了根据本公开的一个实现方式的用于定义摘要的代码的框图;
图5示意性示出了根据本公开的一个实现方式的查询目标对象的页面的框图;
图6示意性示出了根据本公开的一个实现方式的查询目标对象的页面的框图;以及
图7示意性示出了根据本公开的示例性实现的用于管理虚拟机的设备的框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实现。虽然附图中显示了本公开的优选实现,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实现所限制。相反,提供这些实现是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实现”和“一个实现”表示“至少一个示例实现”。术语“另一实现”表示“至少一个另外的实现”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
图1示意性示出了本公开的实现方式可以被应用于其中的应用环境100的框图。如图1所示,虚拟机服务器110可以提供一个或多个或者多个虚拟机114,以用于用户142在客户端140处来使用虚拟机114提供的各种功能。虚拟机服务器110中的代理(proxy)112可以充当客户端140与虚拟机114之间的沟通的中介,并用于在客户端140和虚拟机114之间传输数据。此时,用户142可以经由位于用户142本地的客户端140,并通过网络130来与代理112进行通信。
将会理解,尽管图1仅示出了虚拟机服务器110包括一个虚拟机114的情况,虚拟机服务器110还可以包括更多的虚拟机。此时,各个虚拟机可以具有相同或者不同的配置,以便向多个用户提供服务。将会理解,尽管图1仅示意性示出了一个虚拟机服务器110,还可以存在多个虚拟机服务器。进一步,多个虚拟机服务器可以分别包括一个或多个虚拟机。将会理解,尽管图1示出虚拟机服务器包括代理112的情况,还可以由单独的设备来实现代理112的功能。备选地和/或附加地,可以代理112可以与多个虚拟机服务器中的多个虚拟机来进行通信,以便作为该多个虚拟机与相应的用户的客户端之间的中介。
进一步,图1示出了备份服务器120,并且该备份服务器120包括备份122、124等备份。在此的备份版本122和124可以是针对虚拟机114的在不同时间点的生成的备份,或者该备份版本122和124还可以是针对不同虚拟机的备份。
随着虚拟机技术的发展,目前已经提出了可以按照预定备份策略来针对虚拟机114执行备份操作的技术方案。用户142可以在不同的时间点生成虚拟机114的不同备份版本122和124。假设虚拟机114的文件系统中包括文件test,并且用户142分别在时间点1和2生成了备份版本122和124。此时,当用户142期望查询在虚拟机114的整个运行过程中存在文件test的哪些版本时,用户不得不首先在当前虚拟机中进行搜索,继而执行复杂的恢复操作来分别恢复备份版本1和备份版本2中的全部文件,进而在恢复的文件中执行搜索以找到test文件的相应备份版本。
随着虚拟机中包括的对象数量的增加以及备份版本的数量的增加,在查询某个文件时,用户不得不花费大量的时间来首先恢复备份版本中的文件。将会理解,备份版本122和124还可以是虚拟机114的经加密的版本和/或经压缩的版本,此时在恢复期间还要执行解密和/或解压步骤。这导致更高的计算开销和时间开销。此时,如何以更为简单并且有效的方式来管理虚拟机,成为一个研究热点。
为了至少部分地解决现有技术方案中的问题,根据本公开的示例性实现方式,提出了一种用于管理虚拟机的方法、设备和计算机程序产品。在下文中将参见图2概括描述本公开的示例性实施方式。图2示意性示出了根据本公开的一个实现方式的用于管理虚拟机的框图200。如图2所示,根据本公开的示例性实现,在接收到针对虚拟机114执行备份操作的备份请求后,可以首先获取虚拟机中的至少一个对象中的相应对象的相应元数据210。将会理解,每个对象可以存在一个元数据210,并且该元数据210用于描述该对象在虚拟机114的文件系统中的多个属性。将会理解,在此的属性可以包括一个或多个属性,例如可以包括对象在虚拟机114中的位置、对象的大小、修改时间等。
可以基于至少一个对象中的每个对象的元数据,生成至少一个对象的摘要,在此的摘要可以包括每个对象的基本属性,以用于建立索引220。继而,可以生成如图2中的索引220,在此的索引220可以包括至少一个对象在虚拟机114的备份版本中的相应路径。
利用上述示例性实现,可以预先生成虚拟机114的备份版本122的索引220,在此该索引220可以包括虚拟机114中的至少一个对象在备份版本122中的路径。以此方式,在需要查询虚拟机114的备份版本122中是否包括目标对象时,可以直接在索引220中查询是否包括目标对象的标识符。在此的目标对象是指期望查询的对象。如果查询结果为“是”,则可以直接基于与该标识符相对应的路径,来访问备份版本122中的期望的对象。以此方式,可以更为简单并且有效地管理虚拟机114的备份和后续的查询操作。
将会理解,尽管在图2中仅示意性示出了针对一个虚拟机114来生成索引220的情况,上述方法还可以被用于针对多个虚拟机来生成相应的索引。进一步,上述方法还可以被用于针对虚拟机114的在不同时间点生成的不同备份版本来生成相应的索引。在虚拟机114的操作期间,虚拟机114中的对象可能会出现变化(例如,可能会增加新的对象、删除已有对象、或者已有对象可能会被修改)。因而,不同备份版本122和124的元数据可以是不同的,进而不同备份版本122和124的索引也可以是不同的。
通常而言,为了保证虚拟机114的可靠性,可以在预定时间间隔针对虚拟机114执行备份操作,这导致生成大量的备份版本。相比于逐一恢复每个备份版本中的全部对象并且在恢复的全部对象中进行查询而言,本公开的示例性实现可以在多个备份版本的多个索引中执行一次查询,即可找到期望的目标对象。为了进一步提高查询效率,还可以并行地在当前的虚拟机114和虚拟机114的多个备份版本中进行查询。
在下文中,将参见图3详细描述用于管理虚拟机114的方法的更多细节。图3示意性示出了根据本公开的一个实现方式的用于管理虚拟机的方法300的流程图。在框310处,判断是否接收到针对虚拟机114的备份请求。如果判断结果为“是”,则方法300前进至框320以便触发后续的处理。在方框320处,获取虚拟机114中的至少一个对象中的相应对象的相应元数据210。将会理解,在此的元数据210可以描述对象在虚拟机114的文件系统中的多个属性。可以将多个属性存储至数据库(例如SQLite数据库或者其他类型的数据库)中。例如,可以采用如下数据结构来存储一个对象的多个属性。
表1用于存储对象的多个属性的示例性数据结构
在上文表1中已经示出了用于存储对象的多个属性的示例性数据结构中的各个字段的描述。将会理解,表1中的属性的名称仅仅是示意性的。根据本公开的示例性实现,可以包括更多或者更少的属性。进一步,本领域技术人员还可以采用其他类型的数据来表示各个属性。例如,可以采用“小时-分钟-秒”的格式来存储修改时间和创建时间。假设虚拟机中存在文件test,则此时该文件test的元数据可以表示如下:
Mtime=XXXXX(其中XXXXX是整数,该整数表示从1601年1月1日开始经过了多少个100纳秒);
Ctime=YYYYY(其中YYYYY是整数,该整数表示从1601年1月1日开始经过了多少个100纳秒);
Isdir=0(其中0表示该对象不是目录);
Size=1M(其中1M表示该对象的大小为1M字节);
Name=test(其中test表示该对象的名称为“test”);
SecurityID=00001(其中00001表示该对象的安全标识符为00001);
Path=/home/test(其中/home/test表示该对象在虚拟机的home文件夹下);
Permission=0(其中0表示该对象仅允许创建者访问)
…
根据本公开的示例性实现,为了获取虚拟机114中的每个对象的元数据,可以首先针对虚拟机114执行备份操作以获取虚拟机114的备份版本122。将会理解,虚拟机114中的各个对象在虚拟机114的运行期间可能会被修改。为了避免在建立索引220期间虚拟机114中的对象被修改,可以首先获取备份版本122,继而基于备份版本122中的每个对象在文件系统中的层级结构,获取相应元数据210。以此方式,即使在建立索引220期间虚拟机114中的对象被修改,由于索引220是基于备份版本122建立的,此时索引220与备份版本122中的对象的内容是一致的。将会理解,在此的层级结构是指文件系统的目录结构,通过遍历目录结构中的各个目录,可以逐一地扫描虚拟机114中的每个对象,进而获取每个对象的元数据210。
根据本公开的示例性实现,由于代理112可以方便地访问虚拟机服务器110中的各个虚拟机114并且可以方便地访问备份服务器120中的各个备份版本122和124,因而可以在代理112中实现根据本公开的用于管理虚拟机的方法300。备选地和/或附加地,还可以在其他位置处实现根据本公开的用于管理虚拟机114的方法300。
根据本公开的示例性实现,将备份版本122作为外部设备来安装(mount),并且扫描外部设备以获取至少一个对象的层级结构。返回图2,假设已经获取了针对虚拟机114执行备份操作并获取了备份版本122,则可以将该备份版本122作为外部设备来安装至代理112所在的设备。继而,代理112可以从外部设备中读取虚拟机112的备份版本122中的数据。以此方式,可以方便地获取备份版本122中的各个对象的元数据210。
根据本公开的示例性实现,可以将索引220与备份版本122相关联地存储。将会理解,尽管在图2中示出了将索引220存储至代理112处,根据本公开的其他示例性实现,还可以将索引220存储至其他位置处。根据本公开的示例性实现,可以将索引220存储至专用的存储设备中。备选地和/或附加地,还可以将索引220存储至备份服务器120处。可以在索引220与备份版本122之间建立关联关系。例如,可以在索引220处添加用于唯一地标识备份版本122的标识符。又例如,可以建立关联表来存储索引220与备份版本122之间的关联关系。
根据本公开的示例性实现,在已经建立索引220之后,可以针对备份版本122执行加密操作以提高数据安全性。根据本公开的示例性实现,可以针对备份版本122执行压缩操作以降低备份数据的存储空间。
返回图3,在框330处,可以基于相应元数据210,生成描述相应对象的多个属性中的基本属性的相应摘要。在下文中,将参见表2详细描述有关摘要的更多细节。
表2对象的摘要的示例性数据结构
序号 | 标识符 | 对象的名称 | 描述 |
1 | Name | 名称 | 对象的名称 |
2 | Path | 路径 | 对象的路径 |
… | … | … | … |
根据本公开的示例性实现,可以仅提取与建立索引最为相关的基本属性。例如,在一个简单示例性实现中,如上文表2所示,可以仅提取对象的名称和路径。根据本公开的其他示例性实现,为了在索引220中包括有关对象的更多信息,表2所示的摘要还可以包括对象的其他属性。在下文中,将参见图4描述有关摘要的更对细节。
图4示意性示出了根据本公开的一个实现方式的用于定义摘要的代码400的框图。可以基于图4所示的代码来定义摘要400。具体地,代码段410定义了对象的标识符。代码段420定义了生成备份版本122的虚拟机114的标识符。代码段420定义了对象的备份版本122的类型,该类型例如可以是Windows的VMWare映像类型、Linux VMWare映像类型或者KVM映像类型。代码段440定义了备份版本122所在的服务器的标识符。代码段450定义了对象的修改时间。代码段460定义了对象的路径。代码段470定义了对象的大小。将会理解,图4仅示意性示出了定义摘要的代码的示例。根据本公开的示例性实现,摘要可以包括更多或者更少的内容,因而代码400还可以包括更多或者更少的代码段。
返回图3,在框340处,可以基于相应摘要来创建虚拟机114的备份版本122的索引220。在此索引220可以包括相应对象在虚拟机114的备份版本122中的相应路径。根据本公开的示例性实现,可以基于虚拟机114中的各个对象的摘要来创建索引220。例如,可以采用目前已知的ElasticSearch索引技术来创建索引220。本领域技术人员可以参考有关ElasticSearch的技术文档来获取有关如何创建索引的更多细节。备选地和/或附加地,还可以采用目前已知的或者将在未来开发的其他索引技术来创建索引220,在此不再赘述。
根据本公开的示例性实现,可以基于创建的索引220来确定与索引220相关联的备份版本122中是否包括目标对象。具体地,如果接收到查询目标对象的查询请求,可以直接在索引220中查询与目标对象的标识符相匹配的对象。在此由于相匹配的对象是存储在备份版本122中,可以将该对象称为“备份对象”。例如,假设期望查找名称为test的对象,则此时可以在索引220中以“test”为关键字进行查找。
根据本公开的示例性实现,还可以针对备份版本122设置许可条件,在此的许可条件指示允许哪些用户来访问备份版本122。在执行查询时,可以首先获取备份版本122的许可条件,并将许可条件与发起查询请求的查询请求者的访问权限进行比较。如果查询请求者的访问权限匹配于许可条件,则在索引220中查询与标识符相匹配的备份对象。
继续上文的示例中,如果许可条件指示仅允许许可列表中的特定请求者来访问备份版本122,则此时首先需要判断查询请求者是否位于该许可列表中。如果判断结果为“是”,则可以以“test”为关键字来在索引220中进行搜索。如果判断结果为“否”,则可以提示查询请求者:查询请求被拒绝。将会理解,上文仅仅示意性示出了有关许可条件的一个示例。根据本公开的示例性实现,还可以采用其他的许可条件。例如,可以为用户设置安全等级,并且许可条件可以定义:允许具有特定安全等级的用户访问备份版本122。
根据本公开的示例性实现,在已经确定备份版本122中包括与查询请求相匹配的对象的备份版本时,可以呈现备份版本的标识符以及备份对象在备份版本中的位置。例如,如果索引220显示文件“test”位于备份版本122的目录“/home/test”中,则可以向查询请求者显示如下内容:
在备份版本122中的位置“/home/test”找到文件test。
根据本公开的示例性实现,索引220可以进一步包括备份版本122的更多属性。该可以属性包括以下中的至少任一项:用于生成备份版本122的备份请求的备份请求者、备份版本122的生成时间、备份版本122的类型、备份版本122的大小、备份版本122的存储位置、以及虚拟机114的标识符。根据本公开的示例性实现,可以呈现备份版本122的属性,以便用户142可以了解备份版本122各方面的信息,进而便于确定该备份版本122中包括的对象是否是期望的对象。
根据本公开的示例性实现,索引220进一步包括备份对象的属性。备份对象的属性可以包括以下中的至少任一项:备份对象的大小、备份对象的作者、备份对象的类型、备份对象的创建时间、备份对象的访问时间、以及备份对象的修改时间。根据本公开的示例性实现,可以呈现备份对象的属性,以便用户142可以了解备份对象各方面的信息,进而便于确定该备份对象是否是期望的对象。在下文中,将参见图5描述在备份版本中查询目标对象的更多细节。
图5示意性示出了根据本公开的一个实现方式的查询目标对象的页面500的框图。如图5所示,假设查询请求定义在备份版本122中查询名称包括“test”的对象。采用上文描述的方法,可以返回如图5所示的页面500。该页面500显示在备份版本122中找到了两个名称包括“test”的文件。
在下文中,将仅以第一个文件“test.com”为示例进行描述。如附图标记510所示,“source”表示备份版本122所在的备份服务器122的标识符;如附图标记520所示,“client”表示与虚拟机114相关联的客户端140的标识符。在图5中还示出了其他的属性,例如,“size”表示文件的大小,“Last Modified”表示文件最后被修改的时间,“Platform”表示文件所基于的平台的名称,“Plugin”表示备份版本的类型,“Backup target”表示文件所来自的虚拟机114的映像的名称。将会理解,图5仅仅示意性示出了包括查询结果的页面的示例。根据本公开的示例性实现,查询结果的页面还可以包括更多或者更少的信息。
根据本公开的示例性实现,用户142可以在例如图5所示的页面中选择一个备份对象。继而,还可以基于找到的备份对象来恢复虚拟机114中的相应的对象。例如,假设虚拟机114中已经包括“test.com”文件。此时,如果用户142选择了如图5所示的备份版本122中的备份对象“test.com”,则可以基于选择的备份对象“test.com”来替换虚拟机114中的现有文件。
根据本公开的示例性实现,除了在虚拟机114的备份版本122中进行查询以外,还可以在虚拟机中查询与标识符相匹配的对象。在此,由于相匹配的对象存在于虚拟机114并用户142可以直接在本地客户端140处访问,因而可以将该对象称为本地对象。如果找到相匹配的本地对象,则可以呈现本地对象在虚拟机114的文件系统中的多个属性。在此的多个属性可以包括找到的本地对象的以下任一属性:本地对象的大小、本地对象的作者、本地对象的类型、本地对象的创建时间、本地对象的访问时间、以及本地对象的修改时间。根据本公开的示例性实现,可以呈现本地对象的属性,以便用户142可以了解本地对象各方面的信息,进而便于确定该本地对象是否是期望的对象。在下文中,将参见图6描述有关在虚拟机114中查询目标对象的更多细节。
图6示意性示出了根据本公开的一个实现方式的查询目标对象的页面600的框图。图6示出的页面600与图5示出的页面500类似,不同之处在于此时的两个文件“test.com”和“test.exe”是当前位于虚拟机114中的文件,而不是位于虚拟机114的历史备份版本122中的文件。如图6所示,附图标记610示出了文件“test.com”在虚拟机114中的路径。进一步,页面600还可以包括有关在虚拟机114中找到的文件的其他属性,本领域技术人员可以参见有关图5的描述,在本文中将不再赘述。将会理解,图6仅仅示意性示出了包括查询结果的页面的示例。根据本公开的示例性实现,查询结果的页面还可以包括更多或者更少的信息。
在上文中已经参见图2至图6详细描述了根据本公开的方法的示例,在下文中将描述相应的设备的实现。根据本公开的示例性实现,提供了一种用于管理虚拟机的设备。该设备包括:获取模块,配置用于响应于接收到针对虚拟机的备份请求,获取虚拟机中的至少一个对象中的相应对象的相应元数据,相应元数据描述相应对象在虚拟机的文件系统中的多个属性;生成模块,配置用于基于相应元数据,生成描述相应对象的多个属性中的基本属性的相应摘要;以及创建模块,配置用于基于相应摘要创建虚拟机的备份版本的索引,索引包括相应对象在虚拟机的备份版本中的相应路径。
根据本公开的示例性实现,获取模块进一步配置用于:针对虚拟机执行备份操作以获取虚拟机的备份版本;以及基于备份版本中的至少一个对象在文件系统中的层级结构,获取相应元数据。
根据本公开的示例性实现,获取模块进一步配置用于:将备份版本作为外部设备来安装;以及扫描外部设备以获取至少一个对象的层级结构。
根据本公开的示例性实现,设备进一步包括查询模块,配置用于响应于接收到查询目标对象的查询请求,在索引中查询与目标对象的标识符相匹配的备份对象。
根据本公开的示例性实现,查询模块进一步配置用于:获取备份版本的许可条件;以及响应于查询请求的查询请求者的访问权限匹配于许可条件,在索引中查询与标识符相匹配的备份对象。
根据本公开的示例性实现,该设备进一步包括程序模块,配置用于呈现备份版本的标识符以及备份对象在备份版本中的位置。
根据本公开的示例性实现,设备进一步包括恢复模块,配置用于响应于针对备份版本的选择,将备份对象恢复至虚拟机中。
根据本公开的示例性实现,索引进一步包括备份版本的属性。
根据本公开的示例性实现,呈现模块进一步配置用于呈现备份版本的属性。
根据本公开的示例性实现,备份版本的属性包括以下中的至少任一项:用于生成备份版本的备份请求的备份请求者、备份版本的生成时间、备份版本的类型、备份版本的大小、备份版本的存储位置、以及虚拟机的标识符。
根据本公开的示例性实现,索引进一步包括备份对象的属性。
根据本公开的示例性实现,呈现模块进一步配置用于呈现备份对象的属性。
根据本公开的示例性实现,备份对象的属性包括以下中的至少任一项:备份对象的大小、备份对象的作者、备份对象的类型、备份对象的创建时间、备份对象的访问时间、以及备份对象的修改时间。
根据本公开的示例性实现,查询模块进一步配置用于:在虚拟机中查询与标识符相匹配的本地对象;以及呈现本地对象在虚拟机的文件系统中的多个属性。
图7示意性示出了根据本公开的示例性实现的用于管理存储系统的设备700的框图。如图所示,设备700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的计算机程序指令或者从存储单元707加载到随机访问存储器(RAM)703中的计算机程序指令,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法300和700,可由处理单元701执行。例如,在一些实现中,方法300和700可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实现中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序被加载到RAM 703并由CPU701执行时,可以执行上文描述的方法400的一个或多个步骤。备选地,在其他实现中,CPU701也可以以其他任何适当的方式被配置以实现上述过程/方法。
根据本公开的示例性实现,提供了一种用于管理虚拟机的设备,包括:至少一个处理器;易失性存储器;以及与至少一个处理器耦合的存储器,存储器具有存储于其中的指令,指令在被至少一个处理器执行时使得设备执行动作。该动作包括:响应于接收到针对虚拟机的备份请求,获取虚拟机中的至少一个对象中的相应对象的相应元数据,相应元数据描述相应对象在虚拟机的文件系统中的多个属性;基于相应元数据,生成描述相应对象的多个属性中的基本属性的相应摘要;以及基于相应摘要创建虚拟机的备份版本的索引,索引包括相应对象在虚拟机的备份版本中的相应路径。
根据本公开的示例性实现,获取虚拟机中的至少一个对象中的相应对象的相应元数据包括:针对虚拟机执行备份操作以获取虚拟机的备份版本;以及基于备份版本中的至少一个对象在文件系统中的层级结构,获取相应元数据。
根据本公开的示例性实现,该动作进一步包括:将备份版本作为外部设备来安装;以及扫描外部设备以获取至少一个对象的层级结构。
根据本公开的示例性实现,该动作进一步包括:响应于接收到查询目标对象的查询请求,在索引中查询与目标对象的标识符相匹配的备份对象。
根据本公开的示例性实现,在索引中查询与标识符相匹配的备份对象包括:获取备份版本的许可条件;以及响应于查询请求的查询请求者的访问权限匹配于许可条件,在索引中查询与标识符相匹配的备份对象。
根据本公开的示例性实现,该动作进一步包括:呈现备份版本的标识符以及备份对象在备份版本中的位置。
根据本公开的示例性实现,该动作进一步包括:响应于针对备份版本的选择,将备份对象恢复至虚拟机中。
根据本公开的示例性实现,索引进一步包括备份版本的属性。
根据本公开的示例性实现,该动作进一步包括:呈现备份版本的属性。
根据本公开的示例性实现,备份版本的属性包括以下中的至少任一项:用于生成备份版本的备份请求的备份请求者;备份版本的生成时间;备份版本的类型;备份版本的大小;备份版本的存储位置;以及虚拟机的标识符。
根据本公开的示例性实现,索引进一步包括备份对象的属性。
根据本公开的示例性实现,该动作进一步包括:呈现备份对象的属性。
根据本公开的示例性实现,备份对象的属性包括以下中的至少任一项:备份对象的大小;备份对象的作者;备份对象的类型;备份对象的创建时间;备份对象的访问时间;以及备份对象的修改时间。
根据本公开的示例性实现,该动作进一步包括:在虚拟机中查询与标识符相匹配的本地对象;以及呈现本地对象在虚拟机的文件系统中的多个属性。
根据本公开的示例性实现,提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,机器可执行指令用于执行根据本公开的方法。
根据本公开的示例性实现,提供了一种计算机可读介质。计算机可读介质上存储有机器可执行指令,当机器可执行指令在被至少一个处理器执行时,使得至少一个处理器实现根据本公开方法。
本公开可以是方法、设备、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实现中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实现的方法、装置、设备(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实现的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实现,上述说明是示例性的,并非穷尽性的,并且也不限于所公开的各实现。在不偏离所说明的各实现的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实现的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文公开的各实现。
Claims (21)
1.一种用于管理虚拟机的方法,包括:
响应于接收到针对所述虚拟机的备份请求,获取所述虚拟机中的至少一个对象中的相应对象的相应元数据,所述相应元数据描述所述相应对象在所述虚拟机的文件系统中的多个属性;
基于所述相应元数据,生成描述所述相应对象的多个属性中的基本属性的相应摘要;以及
基于所述相应摘要创建所述虚拟机的备份版本的索引,所述索引包括所述相应对象在所述虚拟机的所述备份版本中的相应路径。
2.根据权利要求1所述的方法,其中获取所述虚拟机中的至少一个对象中的相应对象的相应元数据包括:
针对所述虚拟机执行备份操作以获取所述虚拟机的所述备份版本;以及
基于所述备份版本中的所述至少一个对象在所述文件系统中的层级结构,获取所述相应元数据。
3.根据权利要求2所述的方法,进一步包括:
将所述备份版本作为外部设备来安装;以及
扫描所述外部设备以获取所述至少一个对象的所述层级结构。
4.根据权利要求3所述的方法,进一步包括:
响应于接收到查询目标对象的查询请求,在所述索引中查询与所述目标对象的标识符相匹配的备份对象。
5.根据权利要求4所述的方法,其中在所述索引中查询与所述标识符相匹配的备份对象包括:
获取所述备份版本的许可条件;以及
响应于所述查询请求的查询请求者的访问权限匹配于所述许可条件,在所述索引中查询与所述标识符相匹配的备份对象。
6.根据权利要求5所述的方法,进一步包括:
呈现所述备份版本的标识符以及所述备份对象在所述备份版本中的位置。
7.根据权利要求6所述的方法,进一步包括:
响应于针对所述备份版本的选择,将所述备份对象恢复至所述虚拟机中。
8.根据权利要求6所述的方法,其中所述索引进一步包括所述备份版本的属性,所述方法进一步包括:呈现所述备份版本的属性,所述备份版本的所述属性包括以下中的至少任一项:
用于生成所述备份版本的所述备份请求的备份请求者;
所述备份版本的生成时间;
所述备份版本的类型;
所述备份版本的大小;
所述备份版本的存储位置;以及
所述虚拟机的标识符。
9.根据权利要求6所述的方法,其中所述索引进一步包括所述备份对象的属性,所述方法进一步包括:呈现所述备份对象的属性,所述备份对象的所述属性包括以下中的至少任一项:
所述备份对象的大小;
所述备份对象的作者;
所述备份对象的类型;
所述备份对象的创建时间;
所述备份对象的访问时间;以及
所述备份对象的修改时间。
10.根据权利要求4所述的方法,进一步包括:
在所述虚拟机中查询与所述标识符相匹配的本地对象;以及
呈现所述本地对象在所述虚拟机的所述文件系统中的所述多个属性。
11.一种用于管理虚拟机的设备,包括:
至少一个处理器;
易失性存储器;以及
与所述至少一个处理器耦合的存储器,所述存储器具有存储于其中的指令,所述指令在被所述至少一个处理器执行时使得所述设备执行动作,所述动作包括:
响应于接收到针对所述虚拟机的备份请求,获取所述虚拟机中的至少一个对象中的相应对象的相应元数据,所述相应元数据描述所述相应对象在所述虚拟机的文件系统中的多个属性;
基于所述相应元数据,生成描述所述相应对象的多个属性中的基本属性的相应摘要;以及
基于所述相应摘要创建所述虚拟机的备份版本的索引,所述索引包括所述相应对象在所述虚拟机的所述备份版本中的相应路径。
12.根据权利要求11所述的设备,其中获取所述虚拟机中的至少一个对象中的相应对象的相应元数据包括:
针对所述虚拟机执行备份操作以获取所述虚拟机的所述备份版本;以及
基于所述备份版本中的所述至少一个对象在所述文件系统中的层级结构,获取所述相应元数据。
13.根据权利要求12所述的设备,其中所述动作进一步包括:
将所述备份版本作为外部设备来安装;以及
扫描所述外部设备以获取所述至少一个对象的所述层级结构。
14.根据权利要求13所述的设备,其中所述动作进一步包括:
响应于接收到查询目标对象的查询请求,在所述索引中查询与所述目标对象的标识符相匹配的备份对象。
15.根据权利要求14所述的设备,其中在所述索引中查询与所述标识符相匹配的备份对象包括:
获取所述备份版本的许可条件;以及
响应于所述查询请求的访问请求者的访问权限匹配于所述许可条件,在所述索引中查询与所述标识符相匹配的备份对象。
16.根据权利要求15所述的设备,其中所述动作进一步包括:
呈现所述备份版本的标识符以及所述备份对象在所述备份版本中的位置。
17.根据权利要求16所述的设备,其中所述动作进一步包括:
响应于针对所述备份版本的选择,将所述备份对象恢复至所述虚拟机中。
18.根据权利要求16所述的设备,其中所述索引进一步包括所述备份版本的属性,所述方法进一步包括:呈现所述备份版本的属性,所述备份版本的所述属性包括以下中的至少任一项:
用于生成所述备份版本的所述备份请求的备份请求者;
所述备份版本的生成时间;
所述备份版本的类型;
所述备份版本的大小;
所述备份版本的存储位置;以及
所述虚拟机的标识符。
19.根据权利要求16所述的设备,其中所述索引进一步包括所述备份对象的属性,所述方法进一步包括:呈现所述备份对象的属性,所述备份对象的所述属性包括以下中的至少任一项:
所述备份对象的大小;
所述备份对象的作者;
所述备份对象的类型;
所述备份对象的创建时间;
所述备份对象的访问时间;以及
所述备份对象的修改时间。
20.根据权利要求14所述的设备,其中所述动作进一步包括:
在所述虚拟机中查询与所述标识符相匹配的本地对象;以及
呈现所述本地对象在所述虚拟机的所述文件系统中的所述多个属性。
21.一种计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,所述机器可执行指令用于执行根据权利要求1-10中的任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811246723.4A CN111090544A (zh) | 2018-10-24 | 2018-10-24 | 用于管理虚拟机的方法、设备和计算机程序产品 |
US16/288,068 US11138075B2 (en) | 2018-10-24 | 2019-02-27 | Method, apparatus, and computer program product for generating searchable index for a backup of a virtual machine |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811246723.4A CN111090544A (zh) | 2018-10-24 | 2018-10-24 | 用于管理虚拟机的方法、设备和计算机程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111090544A true CN111090544A (zh) | 2020-05-01 |
Family
ID=70326954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811246723.4A Pending CN111090544A (zh) | 2018-10-24 | 2018-10-24 | 用于管理虚拟机的方法、设备和计算机程序产品 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11138075B2 (zh) |
CN (1) | CN111090544A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116070201A (zh) * | 2022-12-22 | 2023-05-05 | 北京握奇数据股份有限公司 | 数据管理的方法、系统、电子设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102314503A (zh) * | 2011-09-01 | 2012-01-11 | 浪潮(北京)电子信息产业有限公司 | 一种索引方法 |
CN104407938A (zh) * | 2014-11-21 | 2015-03-11 | 上海爱数软件有限公司 | 一种虚拟机镜像级备份后的多种粒度恢复方法 |
US20150074536A1 (en) * | 2013-09-12 | 2015-03-12 | Commvault Systems, Inc. | File manager integration with virtualization in an information management system, including user control and storage management of virtual machines |
US20150293817A1 (en) * | 2014-04-14 | 2015-10-15 | Vembu Technologies Private Limited | Secure Relational File System With Version Control, Deduplication, And Error Correction |
US9569446B1 (en) * | 2010-06-08 | 2017-02-14 | Dell Software Inc. | Cataloging system for image-based backup |
CN106547642A (zh) * | 2015-09-18 | 2017-03-29 | 中国移动通信集团公司 | 一种数据存储备份的方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8577845B2 (en) * | 2008-06-13 | 2013-11-05 | Symantec Operating Corporation | Remote, granular restore from full virtual machine backup |
US8751515B1 (en) * | 2012-03-30 | 2014-06-10 | Emc Corporation | System and method for file-based virtual machine incremental backup |
CN104216793B (zh) * | 2013-05-31 | 2017-10-17 | 国际商业机器公司 | 应用程序备份、恢复的方法及设备 |
US9628561B1 (en) * | 2014-12-19 | 2017-04-18 | EMC IP Holding Company LLC | System and method for smart throttling mechanisms for virtual backup appliances |
US9996425B2 (en) * | 2016-04-18 | 2018-06-12 | Acronis International Gmbh | System and method for agentless backup of virtual machines |
-
2018
- 2018-10-24 CN CN201811246723.4A patent/CN111090544A/zh active Pending
-
2019
- 2019-02-27 US US16/288,068 patent/US11138075B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9569446B1 (en) * | 2010-06-08 | 2017-02-14 | Dell Software Inc. | Cataloging system for image-based backup |
CN102314503A (zh) * | 2011-09-01 | 2012-01-11 | 浪潮(北京)电子信息产业有限公司 | 一种索引方法 |
US20150074536A1 (en) * | 2013-09-12 | 2015-03-12 | Commvault Systems, Inc. | File manager integration with virtualization in an information management system, including user control and storage management of virtual machines |
US20150293817A1 (en) * | 2014-04-14 | 2015-10-15 | Vembu Technologies Private Limited | Secure Relational File System With Version Control, Deduplication, And Error Correction |
CN104407938A (zh) * | 2014-11-21 | 2015-03-11 | 上海爱数软件有限公司 | 一种虚拟机镜像级备份后的多种粒度恢复方法 |
CN106547642A (zh) * | 2015-09-18 | 2017-03-29 | 中国移动通信集团公司 | 一种数据存储备份的方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116070201A (zh) * | 2022-12-22 | 2023-05-05 | 北京握奇数据股份有限公司 | 数据管理的方法、系统、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
US20200133792A1 (en) | 2020-04-30 |
US11138075B2 (en) | 2021-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11422898B2 (en) | Efficient creation of multiple retention period based representations of a dataset backup | |
US11586506B2 (en) | System and method for indexing image backups | |
US10140185B1 (en) | Epoch based snapshot summary | |
US10489345B2 (en) | Multiple retention period based representations of a dataset backup | |
US10620834B2 (en) | Managing storage space based on multiple dataset backup versions | |
US20170032117A1 (en) | Identifying Software Components in a Software Codebase | |
US20190205550A1 (en) | Updating monitoring systems using merged data policies | |
US10261996B2 (en) | Content localization using fallback translations | |
US20180107561A1 (en) | Block level backup of virtual machines for file name level based file search and restoration | |
US11687595B2 (en) | System and method for searching backups | |
CN109522751B (zh) | 访问权限控制方法、装置、电子设备及计算机可读介质 | |
US8856540B1 (en) | Customized ID generation | |
US8930698B2 (en) | Encrypting globally unique identifiers at communication boundaries | |
CN109726041B (zh) | 恢复虚拟机磁盘中的文件的方法、设备和计算机可读介质 | |
US10725771B2 (en) | Artifact transformation in network devices | |
US11681652B2 (en) | Methods, electronic devices and computer program products for accessing data | |
CN110674084A (zh) | 用于数据保护的方法、设备和计算机可读存储介质 | |
US20160004850A1 (en) | Secure download from internet marketplace | |
CN110945506A (zh) | 支持混合索引的可搜索加密 | |
US11500837B1 (en) | Automating optimizations for items in a hierarchical data store | |
CN111090544A (zh) | 用于管理虚拟机的方法、设备和计算机程序产品 | |
US10015248B1 (en) | Syncronizing changes to stored data among multiple client devices | |
US11522914B1 (en) | Peer-based policy definitions | |
CN111104787B (zh) | 用于比较文件的方法、设备和计算机程序产品 | |
US11151082B1 (en) | File system operation cancellation |
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 |