CN110389812B - 用于管理虚拟机的方法、设备和计算机可读存储介质 - Google Patents
用于管理虚拟机的方法、设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN110389812B CN110389812B CN201810361639.0A CN201810361639A CN110389812B CN 110389812 B CN110389812 B CN 110389812B CN 201810361639 A CN201810361639 A CN 201810361639A CN 110389812 B CN110389812 B CN 110389812B
- Authority
- CN
- China
- Prior art keywords
- tag
- virtual machine
- tags
- obtaining
- condition information
- 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
Images
Classifications
-
- 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
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- 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/45575—Starting, stopping, suspending or resuming 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/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开的实施例涉及用于管理虚拟机的方法、设备和计算机可读存储介质。根据本公开的实施例,可以根据用户输入的条件信息,对虚拟机***中的标签进行选择。针对经选择的标签来检索虚拟机。以此方式,可以有效地避免检索虚拟机的元数据,从而减小计算资源以及网络资源的消耗。
Description
技术领域
本公开的实施例总体涉及虚拟机管理,具体涉及选择虚拟机以执行期望的操作的方法和设备。
背景技术
虚拟机指通过软件模拟的具有完整硬件***功能的、运行在一个完全隔离环境中的完整计算机***。在虚拟机技术中,动态策略被用于诸如发现、备份虚拟机的操作。通常,规则引擎基于虚拟机的一个或多个属性来选择目标虚拟机,以进行下一步的操作。如何快速地选择目标虚拟机是具有挑战性的。
发明内容
总体上,本公开的实施例提供了用于管理虚拟机的方法、设备和计算机可读存储介质。
根据本公开的第一方面,提供了用于管理虚拟机的方法。该方法包括:获得虚拟机***中虚拟机的标签集合;响应于从用户接收到条件信息,获得标签集合中与条件信息相关联的标签子集合,条件信息指示与期望虚拟机执行的操作相关联的条件;以及确定与标签子集中的至少一个标签相对应的虚拟机,以执行期望的所述操作。
根据本公开的第二方面,提供了用于管理虚拟机的设备。该设备包括至少一个处理单元和至少一个存储器。至少一个存储器被耦合到至少一个处理单元并且存储由至少一个处理单元执行的指令。该指令当由至少一个处理单元执行时,使得设备执行动作,动作包括:获得虚拟机***中虚拟机的标签集合;响应于从用户接收到条件信息,获得标签集合中与条件信息相关联的标签子集合,条件信息指示与期望虚拟机执行的操作相关联的条件;以及确定与标签子集中的至少一个标签相对应的虚拟机,以执行期望的所述操作。
根据本公开的第三方面,提供了一种计算机可读存储介质。该计算机可读存储介质具有存储在其上的计算机可读程序指令,计算机可读程序指令在被处理单元执行时使得该处理单元实现:获得虚拟机***中虚拟机的标签集合;响应于从用户接收到条件信息,获得标签集合中与条件信息相关联的标签子集合,条件信息指示与期望虚拟机执行的操作相关联的条件;以及确定与标签子集中的至少一个标签相对应的虚拟机,以执行期望的所述操作。
通过下文描述将会理解,本公开提供用于支持对虚拟机进行动态分组的解决方案。本公开的目的是使得能够基于进程对虚拟机进行动态分组,从而提高虚拟机配置和管理的效率。
提供发明内容部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的范围。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
图1示出了根据本公开的实施例的用于管理虚拟机的***100的示意性框图;
图2示出了根据本公开的实施例的用于管理虚拟机的方法200的示意性框图;
图3示出了根据本公开的实施例的仿真结果的示意性框图
图4示出了根据本公开的实施例的用于管理虚拟机的装置的示意性框图;以及
图5示出了适合于用来实现本公开实施例的设备的示意性框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
传统上,通常当终端用户尝试在云平台中的一批目标虚拟机上执行任何特定操作时,终端用户需要找出包含符合特定条件的虚拟机。例如,可以基于虚拟机属性(诸如虚拟机名称、文件夹、标签等)来确定目标虚拟机。例如,在传统动态策略中,可以通过规则过滤所需要的虚拟机。为了利用动态策略选择至少一个虚拟机,终端用户首先需要手动找出包含指定应用的所有虚拟机,并且对虚拟机设置或添加特定虚拟机属性来对这些虚拟机进行分组。然后,终端用户可以创建规则以基于特定虚拟机属性来选择至少一个虚拟机。
然而,对于终端用户来说,手动将大量虚拟机分配到大型***中的一个或多个组中是非常麻烦的,因为包含指定应用的所有虚拟机需要被过滤和被分配类似属性。例如,在传统动态策略中,用于选择至少一个虚拟机的规则依赖于预定义的特定虚拟机属性。因此,在创建规则之前,终端用户不得不对虚拟机手动设置特定虚拟机属性。一旦存在成千上万的虚拟机,则难以找出运行特定应用的所有虚拟机,并且手动设置特定虚拟机属性。在这些情况下,传统技术无法有效节省配置时间。
已经提出了规则引擎来提高规则运行的效率,以提升动态策略的性能。在当前的规则引擎中,需要针对中心服务器上的每个虚拟机进行元数据检索。例如,诸如虚拟机名称和文件夹等的元数据,可以应用属性收集器(Property Collector)来分批次地检索这些属性。但是,对于虚拟机的标签这一属性,由于属性收集器不支持标签,因此不得不依次地检索虚拟机的标签信息。这样的方式效率非常低,并且还消耗了大量的CPU资源和网络资源。
如下示出了,当前检索虚拟机的标签的伪码。
在当前检索虚拟机的标签的技术中,针对一个虚拟机的一个标签,需要三次远程调用。具体地,根据虚拟机来调用虚拟机标签标识,根据虚拟机的标签标识来调用标签元数据,以及根据标签类别标识来调用标签类别。在此情况下,如果虚拟机***中一共有n个虚拟机,则需要消耗的时间可以用O(n)来表示。尽管可以通过将虚拟机标签缓存到缓存区域来优化上述方法,但是其仍然需要定期的更新缓存,每次更新缓存的消耗时间仍然是O(n)。
为了至少部分地解决上述问题以及其他潜在问题,本公开的示例实施例提出了用于管理虚拟机的方案。在该方案中,可以根据用户输入的条件信息,对虚拟机***中的标签进行选择。针对经选择的标签来检索虚拟机。以此方式,可以有效地避免检索虚拟机的元数据,从而减小计算资源以及网络资源的消耗。
图1示出了根据本公开的实施例的用于管理虚拟机的***100的示意框图。应当理解,仅出于示例性的目的描述***100的结构和功能而不是暗示对于本公开的范围的任何限制。本公开的实施例可以被体现在不同的结构和/或功能中。
如图1所示,***100可以包括:中心服务器130、本地服务器140以及管理模块150。可以理解,***100中所包括的功能模块仅为示例性的,***100还可以包括任意其他适合的功能模块。
中心服务器130可以包括虚拟机110-1、虚拟机110-2、.....、虚拟机110-N(可以统称为“虚拟机110”,其中N为正整数)。中心服务器还可以包括标签120-1、标签120-2、.....、标签120-M(可以统称为“标签120”,其中M为正整数)。
标签的信息可以由管理模块150获取。例如,标签的信息可以包括标签的种类、标签的名称等。标签的信息还可以包括标签的标识,例如通用唯一识别码(UUID)。诸如虚拟机的标识等虚拟机的信息也可以由管理模块150获取。本地服务器140可以从用户获得条件信息来指示针对特定虚拟机执行的特定操作。
图2示出了根据本公开的实施例的用于管理虚拟机的方法200的示意性框图。例如,方法200可以由如图1所示的本地服务器140来执行。应当理解的是,方法200还可以包括未示出的附加步骤和/或可以省略所示出的步骤,本公开的范围在此方面不受限制。
在块210,本地服务器140获得虚拟机***中的虚拟机标签集合120。例如,本地服务器140可以经由应用程序接口(API)进行远程调度来获得中心服务器130中的标签集合120。在某些实施例中,本地服务器140可以获得标签的信息。例如,本地服务器可以获得标签的元数据信息。
本地服务器140可以针对每个标签执行一次远程调度。例如,如果中心服务器130中共有t个标签,则本地服务器需要进行t次远程调度。
在块220,本地服务器140从用户接收条件信息,并且获得标签集合120中与条件信息相关联的标签子集合。例如,用户可以指定针对符合特定条件的信息进行特定的操作。仅作为示例,条件信息可以用以下公式(1)来表示:
E<LogicOp>E|<AtomicExp>(1)
其中,E表示条件信息,LogicOp表示表达式之间的逻辑关系。例如,逻辑关系可以是和、或、否以及异或等。AtomicExp是虚拟机元数据的函数。在某些实施例中,可以使用以下公式(2)来表示AtomicExp:
其中,x表示虚拟机(例如,虚拟机110-1、110-2等),T(x)表示该虚拟机的标签集,g(t)表示针对每个标签的评估函数。
仅作为示例,表达式“虚拟机具有标签‘Sales’”可以被表示为如下表达式(3):
条件信息指示与期望虚拟机执行的操作相关联的条件。在某些实施例中,本地服务器140可以基于标签的信息和条件信息,来确定标签是否与条件信息匹配。为了解释说明的目的,假设条件信息为“对具有‘Sales’标签的虚拟机进行备份操作”。本地服务器140评估标签集合120中的标签以获得具有‘Sales’标签的标签子集合。例如,如果标签120-1和标签120-2具有‘Sales’标签,则标签120-1和标签120-2可以被确定为与条件信息相关联的标签子集合中的标签。与条件信息相关联的标签子集合标签子集可以被表示为B(g)。
在块230,本地服务器140确定与标签子集中的至少一个标签相对应的虚拟机。在某些实施例表中,本地服务器140可以针对标签子集中的标签(例如标签120-1和120-2)经由API执行远程调度,以获得与标签子集中的标签对应的虚拟机的标识(例如,UUID)。在某些实施例中,可以通过使用vSphere自动软件开发工具包(vSphere Automation SDK)的单个API调度来获得虚拟机的标识。以此方式,本地服务器140不需要对虚拟***中的每个虚拟机的元数据进行检索,从而显著地提高了效率,节约了计算资源。
与标签子集中的标签对应的虚拟机可以利用如下公式(4)表示:
其中,X(t)表示包括标签t的虚拟机的集合,C(f)表示符合条件信息的虚拟机的集合,如上所述,B(g)表示与条件信息相关联的标签子集合标签子集(即,匹配的标签子集合)。因此,上述公式(1)可以表示为如下公式(5):
在某些实施例中,本地服务器140可以存储所述至少一个标签与所述相对应的虚拟机的标识之间的对应关系。例如,本地服务器140可以将相对应的虚拟机的标识缓存在缓存区中。
如下示出了,根据本公开实施例的检索虚拟机的标签的伪码。
图3示出了根据本公开实施例的仿真结果的示意图。可以看出,与现有技术相比,本公开的实施例显著地缩短了查找目标虚拟机的时间。并且随着虚拟机数目的增加,这样的优势变得越来越明显。根据本公开的实施例,随着虚拟机数目的增加,查找目标虚拟机的时间没有显著地增加。
图4示出了根据本公开的实施例的用于数据处理的装置400的示意性框图。装置400例如可以在图1中示出的***100中被实施,或者直接充当***100。如图所示,装置400包括第一获得单元410、第二获得单元420和确定单元430。
第一获得单元410被配置为获得虚拟机***中虚拟机的标签集合。在某些实施例中,第一获得单元410被配置为获得标签集合中的标签的信息。
第二获得单元420被配置为响应于从用户接收到条件信息,获得标签集合中与条件信息相关联的标签子集合。该条件信息指示与期望虚拟机执行的操作相关联的条件。
在某些实施例中,第二获得单元420还被配置为获得标签集合中的标签的信息。标签信息可以包括标签种类、标签名称以及标签标识中的至少一个。
在某些实施例中,第二获得单元420还包括匹配确定模块(未示出),被配置为基于标签的信息和条件信息,确定标签是否与条件信息匹配。在示例实施例中,匹配确定模块还被配置为:响应于确定标签与条件信息匹配,将标签确定为标签子集合中的标签。
确定单元430被配置为确定与标签子集中的至少一个标签相对应的虚拟机,以执行期望的所述操作。在某些实施例中,确定单元430还包括获取模块(未示出),被配置为经由应用程序接口(API)获得与所述至少一个标签相对应的虚拟机的标识。在某些实施例中,确定单元430还包括存储模块(未示出),被配置为存储所述至少一个标签与所述相对应的虚拟机的标识之间的对应关系。
装置400中所包括的单元可以利用各种方式来实现,包括软件、硬件、固件或其任意组合。在一个实施例中,一个或多个单元可以使用软件和/或固件来实现,例如存储在存储介质上的机器可执行指令。除了机器可执行指令之外或者作为替代,装置400中的部分或者全部单元可以至少部分地由一个或多个硬件逻辑组件来实现。作为示例而非限制,可以使用的示范类型的硬件逻辑组件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准品(ASSP)、片上***(SOC)、复杂可编程逻辑器件(CPLD),等等。
图5示出了适合于用来实现本公开实施例的电子设备500的示意性框图。如图所示,设备500包括中央处理单元(CPU)510,其可以根据存储在只读存储器(ROM)520中的计算机程序指令或者从存储单元580加载到随机访问存储器(RAM)530中的计算机程序指令,来执行各种适当的动作和处理。在RAM 530中,还可存储设备500操作所需的各种程序和数据。CPU 510、ROM 520以及RAM 530通过总线540彼此相连。输入/输出(I/O)接口550也连接至总线540。
设备500中的多个部件连接至I/O接口550,包括:输入单元560,例如键盘、鼠标等;输出单元570,例如各种类型的显示器、扬声器等;存储单元580,例如磁盘、光盘等;以及通信单元590,例如网卡、调制解调器、无线通信收发机等。通信单元590允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如过程200,可由处理单元510执行。例如,在一些实施例中,过程200可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元580。在一些实施例中,计算机程序的部分或者全部可以经由ROM 520和/或通信单元590而被载入和/或安装到设备500上。当计算机程序被加载到RAM 530并由CPU 510执行时,可以执行上文描述的过程200的一个或多个步骤。备选地,在其他实施例中,CPU 510也可以以其他任何适当的方式被配置以实现上述过程。
通过以上描述可以看出,本公开的解决方案适用于如下应用:该应用在虚拟机管理***中,基于目标进程的标识信息对虚拟机进行动态分组。本公开的实施例通过获取目标进程的标识信息;基于目标进程的标识信息从多个虚拟机中确定运行有目标进程的虚拟机;将确定出的虚拟机分到一个虚拟机分组中,从而提高虚拟机配置和管理的效率。
本公开可以是方法、装置、***和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是——但不限于——电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (15)
1.一种用于管理虚拟机的方法,包括:
获得用于标记虚拟机的标签集合,其中虚拟机***包括多个虚拟机,并且其中每个虚拟机与所述标签集合中的至少一个标签相关联;
响应于从用户接收到条件信息并且在接收到所述标签集合之后,获得所述标签集合中与所述条件信息相关联的标签子集合,所述条件信息指示与期望虚拟机执行的操作相关联的条件;
获得多个标识,其中所述多个标识中的每个标识唯一地标识虚拟机集合中的虚拟机,其中所述虚拟机集合中的每个虚拟机是所述多个虚拟机中的一个虚拟机并且与所述标签子集合的至少一个标签相关联;
存储所述至少一个标签与所述多个标识之间的对应关系;以及
基于存储的所述对应关系来确定虚拟机以执行期望的所述操作,其中确定所述虚拟机包括:从所述多个标识中选择标识,其中所述虚拟机与所选择的标识相关联。
2.根据权利要求1所述的方法,其中获得所述标签集合包括:
经由应用程序接口(API)获得所述虚拟机***中的标签集合。
3.根据权利要求1所述的方法,其中获得所述标签集合中与所述条件信息相关联的标签子集合包括:
获得所述标签集合中的标签的信息;
基于所述标签的所述信息和所述条件信息,确定所述标签是否与所述条件信息匹配;以及
响应于确定所述标签与所述条件信息匹配,将所述标签确定为所述标签子集合中的标签。
4.根据权利要求3所述的方法,其中所述标签的信息包括以下至少一项:
标签种类,
标签名称,以及
标签标识。
5.根据权利要求1所述的方法,其中确定与所述标签子集中的至少一个标签相对应的虚拟机包括:
经由应用程序接口(API)获得与所述至少一个标签相对应的虚拟机的标识;以及
存储所述至少一个标签与所述相对应的虚拟机的标识之间的对应关系。
6.一种用于管理虚拟机的设备,包括:
至少一个处理单元;以及
至少一个存储器,其耦合至所述至少一个处理单元并且存储有机器可执行指令,当所述指令由所述至少一个处理单元执行时,使得所述设备执行动作,所述动作包括:
获得用于标记虚拟机的标签集合,其中虚拟机***包括多个虚拟机,并且其中每个虚拟机与所述标签集合中的至少一个标签相关联;
响应于从用户接收到条件信息并且在接收到所述标签集合之后,获得所述标签集合中与所述条件信息相关联的标签子集合,所述条件信息指示与期望虚拟机执行的操作相关联的条件;
获得多个标识,其中所述多个标识中的每个标识唯一地标识虚拟机集合中的虚拟机,其中所述虚拟机集合中的每个虚拟机是所述多个虚拟机中的一个虚拟机并且与所述标签子集合的至少一个标签相关联;
存储所述至少一个标签与所述多个标识之间的对应关系;以及
基于存储的所述对应关系来确定与所述标签子集中的至少一个标签相对应的虚拟机,以执行期望的所述操作,其中确定所述虚拟机包括:从所述多个标识中选择标识,其中所述虚拟机与所选择的标识相关联。
7.根据权利要求6所述的设备,其中获得所述标签集合包括:
经由应用程序接口(API)获得所述虚拟机***中的标签集合。
8.根据权利要求6所述的设备,其中获得所述标签集合中与所述条件信息相关联的标签子集合包括:
获得所述标签集合中的标签的信息;
基于所述标签的所述信息和所述条件信息,确定所述标签是否与所述条件信息匹配;以及
响应于确定所述标签与所述条件信息匹配,将所述标签确定为所述标签子集合中的标签。
9.根据权利要求8所述的设备,其中所述标签的信息包括以下至少一项:
标签种类,
标签名称,以及
标签标识。
10.根据权利要求6所述的设备,其中确定与所述标签子集中的至少一个标签相对应的虚拟机包括:
经由应用程序接口(API)获得与所述至少一个标签相对应的虚拟机的标识;以及
存储所述至少一个标签与所述相对应的虚拟机的标识之间的对应关系。
11.一种计算机可读存储介质,所述计算机可读存储介质具有存储在其上的计算机可读程序指令,所述计算机可读程序指令在被处理单元执行时使得所述处理单元实现:
获得用于标记虚拟机的标签集合,其中虚拟机***包括多个虚拟机,并且其中每个虚拟机与所述标签集合中的至少一个标签相关联;
响应于从用户接收到条件信息并且在接收到所述标签集合之后,获得所述标签集合中与所述条件信息相关联的标签子集合,所述条件信息指示与期望虚拟机执行的操作相关联的条件;
获得多个标识,其中所述多个标识中的每个标识唯一地标识虚拟机集合中的虚拟机,其中所述虚拟机集合中的每个虚拟机是所述多个虚拟机中的一个虚拟机并且与所述标签子集合的至少一个标签相关联;
存储所述至少一个标签与所述多个标识之间的对应关系;以及
确定虚拟机,以执行期望的所述操作,其中确定所述虚拟机包括:从所述多个标识中选择标识,其中所述虚拟机与所选择的标识相关联。
12.根据权利要求11所述的计算机可读存储介质,其中获得所述标签集合包括:
经由应用程序接口(API)获得所述虚拟机***中的标签集合。
13.根据权利要求11所述的计算机可读存储介质,其中获得所述标签集合中与所述条件信息相关联的标签子集合包括:
获得所述标签集合中的标签的信息;
基于所述标签的所述信息和所述条件信息,确定所述标签是否与所述条件信息匹配;以及
响应于确定所述标签与所述条件信息匹配,将所述标签确定为所述标签子集合中的标签。
14.根据权利要求13所述的计算机可读存储介质,其中所述标签的信息包括以下至少一项:
标签种类,
标签名称,以及
标签标识。
15.根据权利要求14所述的计算机可读存储介质,其中确定与所述标签子集中的至少一个标签相对应的虚拟机包括:
经由应用程序接口(API)获得与所述至少一个标签相对应的虚拟机的标识;以及
存储所述至少一个标签与所述相对应的虚拟机的标识之间的对应关系。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810361639.0A CN110389812B (zh) | 2018-04-20 | 2018-04-20 | 用于管理虚拟机的方法、设备和计算机可读存储介质 |
US16/119,336 US10963298B2 (en) | 2018-04-20 | 2018-08-31 | Method, device and computer-readable for managing virtual machines |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810361639.0A CN110389812B (zh) | 2018-04-20 | 2018-04-20 | 用于管理虚拟机的方法、设备和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110389812A CN110389812A (zh) | 2019-10-29 |
CN110389812B true CN110389812B (zh) | 2023-05-12 |
Family
ID=68237652
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810361639.0A Active CN110389812B (zh) | 2018-04-20 | 2018-04-20 | 用于管理虚拟机的方法、设备和计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10963298B2 (zh) |
CN (1) | CN110389812B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113132147B (zh) * | 2020-01-15 | 2024-06-21 | 伊姆西Ip控股有限责任公司 | 管理网络中的节点的方法、设备和计算机程序产品 |
US11308280B2 (en) * | 2020-01-21 | 2022-04-19 | International Business Machines Corporation | Capture and search of virtual machine application properties using log analysis techniques |
CN114637560B (zh) * | 2020-12-16 | 2024-07-09 | 伊姆西Ip控股有限责任公司 | 设备管理方法、电子设备和计算机程序产品 |
CN112650528B (zh) * | 2020-12-31 | 2024-05-14 | 新奥数能科技有限公司 | 个性化算法生成方法、装置、电子设备和计算机可读介质 |
CN112817689A (zh) * | 2021-01-08 | 2021-05-18 | 北京金山云网络技术有限公司 | 对虚拟机进行分类排序的方法、装置和电子设备 |
CN113285833B (zh) * | 2021-05-26 | 2023-03-31 | 北京百度网讯科技有限公司 | 用于获取信息的方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104714846A (zh) * | 2013-12-17 | 2015-06-17 | 华为技术有限公司 | 资源处理方法、操作***及设备 |
CN105868020A (zh) * | 2015-02-09 | 2016-08-17 | 国际商业机器公司 | 运行虚拟管理器调度器的方法和虚拟管理器调度器单元 |
CN107423113A (zh) * | 2017-06-30 | 2017-12-01 | 华为技术有限公司 | 一种管理虚拟设备的方法、带外管理设备及备用虚拟设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8392497B2 (en) * | 2009-11-25 | 2013-03-05 | Framehawk, LLC | Systems and algorithm for interfacing with a virtualized computing service over a network using a lightweight client |
US9781051B2 (en) * | 2014-05-27 | 2017-10-03 | International Business Machines Corporation | Managing information technology resources using metadata tags |
CN104468803B (zh) * | 2014-12-12 | 2018-02-09 | 华为技术有限公司 | 一种虚拟数据中心资源映射方法和设备 |
US9785474B2 (en) * | 2015-07-23 | 2017-10-10 | International Business Machines Corporation | Managing a shared pool of configurable computing resources using a set of scaling factors and a set of workload resource data |
US9400675B1 (en) * | 2015-07-28 | 2016-07-26 | International Business Machines Corporation | Tagging virtual machine instances based on commands |
US10528627B1 (en) * | 2015-09-11 | 2020-01-07 | Amazon Technologies, Inc. | Universal search service for multi-region and multi-service cloud computing resources |
-
2018
- 2018-04-20 CN CN201810361639.0A patent/CN110389812B/zh active Active
- 2018-08-31 US US16/119,336 patent/US10963298B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104714846A (zh) * | 2013-12-17 | 2015-06-17 | 华为技术有限公司 | 资源处理方法、操作***及设备 |
CN105868020A (zh) * | 2015-02-09 | 2016-08-17 | 国际商业机器公司 | 运行虚拟管理器调度器的方法和虚拟管理器调度器单元 |
CN107423113A (zh) * | 2017-06-30 | 2017-12-01 | 华为技术有限公司 | 一种管理虚拟设备的方法、带外管理设备及备用虚拟设备 |
Non-Patent Citations (2)
Title |
---|
Patrick Raad."Achieving Sub-Second Downtimes in Large-Scale Virtual Machine Migrations with LISP".《IEEE Transactions on Network and Service Management》.2014,第11卷(第2期),第133-143页. * |
余盛雄."基于虚拟设备的云应用生命周期管理***".《中国优秀硕士学位论文全文数据库 信息科技辑》.2014,(2014年第06期),第I138-501页. * |
Also Published As
Publication number | Publication date |
---|---|
US10963298B2 (en) | 2021-03-30 |
US20190324784A1 (en) | 2019-10-24 |
CN110389812A (zh) | 2019-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110389812B (zh) | 用于管理虚拟机的方法、设备和计算机可读存储介质 | |
CN108965355B (zh) | 用于数据传输的方法、装置及计算机可读存储介质 | |
CN106970936B (zh) | 数据处理方法及装置、数据查询方法及装置 | |
US8494996B2 (en) | Creation and revision of network object graph topology for a network performance management system | |
US9634902B1 (en) | Bloom filter index for device discovery | |
CN107870728B (zh) | 用于移动数据的方法和设备 | |
CN105760199B (zh) | 一种应用资源加载方法及其设备 | |
US8819002B2 (en) | Interactive visualization of sender and recipient information in electronic communications | |
US10733008B2 (en) | Method, device and computer readable storage medium for managing a virtual machine | |
CN108846753B (zh) | 用于处理数据的方法和装置 | |
CN110019080A (zh) | 数据访问方法和装置 | |
US10332569B2 (en) | System and method for dynamic caching | |
CN105138649A (zh) | 数据的搜索方法、装置及终端 | |
CN109213536A (zh) | 资源展示方法、资源展示类控件的配置方法、装置及设备 | |
CN110908996B (zh) | 一种数据处理的方法和装置 | |
CN110109912A (zh) | 一种标识符生成方法和装置 | |
US11662927B2 (en) | Redirecting access requests between access engines of respective disk management devices | |
CN111523000B (zh) | 用于导入数据的方法、装置、设备以及存储介质 | |
CN112988778B (zh) | 一种处理数据库查询脚本的方法和装置 | |
CN113342270A (zh) | 卷卸载方法、装置和电子设备 | |
US11106628B2 (en) | Method, device and computer program product for storing metadata | |
CN112486400A (zh) | 管理存储***的索引的方法、设备和计算机程序产品 | |
CN112948461B (zh) | 日程数据处理的方法、设备、存储介质和程序产品 | |
CN112685331B (zh) | 用于存储管理的方法、设备和计算机程序产品 | |
US20120066224A1 (en) | Clustering of analytic functions |
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 |