CN105740054A - 一种虚拟机管理方法及装置 - Google Patents

一种虚拟机管理方法及装置 Download PDF

Info

Publication number
CN105740054A
CN105740054A CN201610071324.3A CN201610071324A CN105740054A CN 105740054 A CN105740054 A CN 105740054A CN 201610071324 A CN201610071324 A CN 201610071324A CN 105740054 A CN105740054 A CN 105740054A
Authority
CN
China
Prior art keywords
virtual machine
task
node
monitor node
monitoring node
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
Application number
CN201610071324.3A
Other languages
English (en)
Inventor
石园
刘玲玲
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.)
Inspur Software Co Ltd
Original Assignee
Inspur Software Co Ltd
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 Inspur Software Co Ltd filed Critical Inspur Software Co Ltd
Priority to CN201610071324.3A priority Critical patent/CN105740054A/zh
Publication of CN105740054A publication Critical patent/CN105740054A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • 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/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种虚拟机管理方法及装置,其中,方法包括:获取用于部署目标应用的至少一个虚拟机的标识信息;根据每一个虚拟机的标识信息创建每一个虚拟机分别对应的虚拟机监控节点;分别利用每一个虚拟机监控节点获取每一个虚拟机中正在运行的任务数量,当存在至少一个第一目标虚拟机下正在运行的任务数量为0时,将每一个所述第一目标虚拟机的标识信息发送到外部云管理中心,使得外部云管理中心释放每一个所述第一目标虚拟机。通过本发明的技术方案,可防止被回收的虚拟机中还存在正在运行的对应目标应用的任务,不会影响目标应用的正常运行。

Description

一种虚拟机管理方法及装置
技术领域
本发明涉及计算机应用技术领域,特别涉及一种虚拟机管理方法及装置。
背景技术
云计算中心为了满足不同用户的业务需求,需要提供对应的资源扩展和资源释放功能,即为目标应用分配虚拟机和释放已分配给目标应用的虚拟机。
目前,执行资源扩展和释放的触发条件主要通过预先设置对应目标应用的虚拟机硬件资源消耗阀值,在云计算中心为目标应用分配相应数量的虚拟机后,通过监控每一台虚拟机的硬件资源消耗率,当每一台虚拟机的平均硬件资源消耗率达到预先设置的阀值时,则相应的回收或扩展一台虚拟机。
但是,上述技术方案中,根据虚拟机硬件资源消耗情况回收虚拟机时,并不能保证被回收的虚拟机中已没有正在运行的任务,贸然回收正在运行相应任务的虚拟机,触发任务中断,将会影响目标应用的正常工作。
发明内容
本发明提供了一种虚拟机管理方法及装置,不会影响目标应用的正常工作。
第一方面,本发明提供了一种虚拟机管理方法,包括:
S1:获取用于部署目标应用的至少一个虚拟机的标识信息;
S2:根据每一个虚拟机的标识信息创建每一个虚拟机分别对应的虚拟机监控节点;
S3:分别利用每一个虚拟机监控节点获取每一个虚拟机中正在运行的任务数量,当存在至少一个第一目标虚拟机下正在运行的任务数量为0时,将每一个所述第一目标虚拟机的标识信息发送到外部云管理中心,使得外部云管理中心释放每一个所述第一目标虚拟机。
进一步的,还包括:预先设置心跳检测模块;
所述分别利用每一个虚拟机监控节点获取每一个虚拟机中正在运行的任务数量,包括:
在当前虚拟机监控节点对应的虚拟机接收到对应第一目标任务的运行指令时,在当前虚拟机监控节点下创建对应所述第一目标任务的任务监控节点;
在当前虚拟机监控节点对应的虚拟机启动所述第一目标任务后,构建所述第一目标任务与所述心跳检测模块之间的心跳检测机制;
当所述第一目标任务未能根据所述心跳检测机制向所述心跳检测模块发送心跳信号时,删除对应所述第一目标任务的任务监控节点;
每一个虚拟机监控节点分别检测当前虚拟机监控节点下的任务监控节点数量,确定对应当前虚拟机监控节点的虚拟机下正在运行的任务数量。
进一步的,
所述创建每一个虚拟机分别对应的虚拟机监控节点,包括:创建对应所述目标应用的应用监控节点,以及,在所述应用监控节点下创建每一个虚拟机分别对应的虚拟机监控节点;
所述当存在至少一个第一目标虚拟机下正在运行的任务数量为0时,将每一个所述第一目标虚拟机的标识信息发送到外部云管理中心,使得外部云管理中心释放每一个所述第一目标虚拟机,包括:
分别利用每一个虚拟机监控节点将每一个虚拟机分别对应的任务数量存储到所述应用监控节点,以使得外部云管理中心通过查询所述应用监控节点以获取每一个虚拟机分别对应的任务数量,并释放对应任务数量为0的至少一个第一目标虚拟机。
进一步的,还包括:预先设置每一个虚拟机的平均资源消耗阀值;
在所述创建每一个虚拟机分别对应的虚拟机监控节点之后,还包括:
获取每一个虚拟机的平均资源消耗值;
当所述平均资源消耗值不小于所述平均资源消耗阀值时,向外部云管理中心发送虚拟机扩展请求指令,以使得外部云管理中心扩展一个用于部署所述目标应用的扩展虚拟机;
在所述应用监控节点下创建对应所述扩展虚拟机的虚拟机监控节点;
根据所述扩展虚拟机的虚拟机监控节点向所述扩展虚拟机发送对应第二目标任务的任务运行指令。
进一步的,还包括:
预先设置每一个虚拟机分别对应的释放阈值,其中,所述释放阈值包括硬件使用率阈值和/或时间阈值;
当存在至少一个第二目标虚拟机满足预先设置的释放阈值时,所述分别利用每一个虚拟机监控节点获取每一个虚拟机中正在运行的任务数量,包括:
利用对应第二目标虚拟机的虚拟机监控节点分别获取每一个第二目标虚拟机中正在运行的任务数量。
第二方面,本发明提供了一种虚拟机管理装置,包括:
第一获取单元,用于获取用于部署目标应用的至少一个虚拟机的标识信息;
构建单元,用于根据每一个虚拟机的标识信息创建每一个虚拟机分别对应的虚拟机监控节点;
至少一个虚拟机监控节点,用于获取每一个虚拟机中正在运行的任务数量,当存在至少一个第一目标虚拟机下正在运行的任务数量为0时,将每一个所述第一目标虚拟机的标识信息发送到外部云管理中心,使得外部云管理中心释放每一个所述第一目标虚拟机。
进一步的,还包括:
设置单元,用于预先设置心跳检测模块;
所述构建单元,进一步用于在当前虚拟机监控节点对应的虚拟机接收到对应第一目标任务的运行指令时,在当前虚拟机监控节点下创建对应所述第一目标任务的任务监控节点;在当前虚拟机监控节点对应的虚拟机启动所述第一目标任务后,构建所述第一目标任务与所述心跳检测模块之间的心跳检测机制;
处理单元,用于当所述第一目标任务未能根据所述心跳检测机制向所述心跳检测模块发送心跳信号时,删除对应所述第一目标任务的任务监控节点;
每一个所述虚拟机监控节点,分别用于检测当前虚拟机监控节点下的任务监控节点数量,确定对应当前虚拟机监控节点的虚拟机下正在运行的任务数量。
进一步的,
所述构建单元,用于创建对应所述目标应用的应用监控节点;以及,在所述应用监控节点下创建每一个虚拟机分别对应的虚拟机监控节点;
每一个所述虚拟机监控节点,分别用于将每一个虚拟机分别对应的任务数量存储到所述应用监控节点,以使得外部云管理中心通过查询所述应用监控节点以获取每一个虚拟机分别对应的任务数量,并释放对应任务数量为0的至少一个第一目标虚拟机。
进一步的,
所述设置单元,进一步用于预先设置每一个虚拟机的平均资源消耗阀值;
还包括:
第二获取单元,用于获取每一个虚拟机的平均资源消耗值;
指令发送单元,用于当所述第二获取单元获取到的平均资源消耗值不小于所述平均资源消耗阀值时,向外部云管理中心发送虚拟机扩展请求指令,以使得外部云管理中心扩展一个用于部署所述目标应用的扩展虚拟机;
所述构建单元,进一步用于在所述应用监控节点下创建对应所述扩展虚拟机的虚拟机监控节点;
任务调度单元,用于根据所述扩展虚拟机的虚拟机监控节点向所述扩展虚拟机发送对应第二目标任务的任务运行指令。
进一步的,
所述设置单元,进一步用于预先设置每一个虚拟机分别对应的释放阈值,其中,所述释放阈值包括硬件使用率阈值和/或时间阈值;
所述至少一个虚拟机监控节点,用于当存在至少一个第二目标虚拟机满足预先设置的释放阈值时,获取每一个第二目标虚拟机中正在运行的任务数量。
本发明实施例提供了一种虚拟机管理方法及装置,针对用于部署目标应用的至少一个虚拟机,分别根据每一个虚拟机的标识信息构建对应的虚拟机监控节点,利用不同的虚拟机监控节点分别对对应的虚拟机进行监控,以获取每一个虚拟机中正在运行的任务数量,并将正在运行的任务数量为0的第一目标虚拟机的标识信息发送到云管理中心,云管理中心即可根据接收到的标识信息对相应的第一目标虚拟机进行释放处理;可见,通过本发明的技术方案,可确保云管理中心释放的虚拟机中没有正在运行的对应目标应用的任务,不会影响目标应用的正常工作。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种虚拟机管理方法;
图2是本发明一实施例提供的另一种虚拟机管理方法;
图3是本发明一实施例提供的一种虚拟机管理装置;
图4是本发明一实施例提供的另一种虚拟机管理装置。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种虚拟机管理方法,该方法可以包括以下步骤:
S1:获取用于部署目标应用的至少一个虚拟机的标识信息;
S2:根据每一个虚拟机的标识信息创建每一个虚拟机分别对应的虚拟机监控节点;
S3:分别利用每一个虚拟机监控节点获取每一个虚拟机中正在运行的任务数量,当存在至少一个第一目标虚拟机下正在运行的任务数量为0时,将每一个所述第一目标虚拟机的标识信息发送到外部云管理中心,使得外部云管理中心释放每一个所述第一目标虚拟机。
本发明一实施例中,针对用于部署目标应用的至少一个虚拟机,分别根据每一个虚拟机的标识信息构建对应的虚拟机监控节点,利用不同的虚拟机监控节点分别对对应的虚拟机进行监控,以获取每一个虚拟机中正在运行的任务数量,并将正在运行的任务数量为0的第一目标虚拟机的标识信息发送到云管理中心,云管理中心即可根据接收到的标识信息对相应的第一目标虚拟机进行释放处理;可见,通过本发明实施例的技术方案,可确保云管理中心释放的虚拟机中没有正在运行的对应目标应用的任务,不会影响目标应用的正常工作。
进一步的,为了使每一个虚拟机监控节点均可获取对应的虚拟机下正在运行的任务数量,本发明一个优选实施例中,
还包括:预先设置心跳检测模块;
所述分别利用每一个虚拟机监控节点获取每一个虚拟机中正在运行的任务数量,包括:
在当前虚拟机监控节点对应的虚拟机接收到对应第一目标任务的运行指令时,在当前虚拟机监控节点下创建对应所述第一目标任务的任务监控节点;
在当前虚拟机监控节点对应的虚拟机启动所述第一目标任务后,构建所述第一目标任务与所述心跳检测模块之间的心跳检测机制;
当所述第一目标任务未能根据所述心跳检测机制向所述心跳检测模块发送心跳信号时,删除对应所述第一目标任务的任务监控节点;
每一个虚拟机监控节点分别检测当前虚拟机监控节点下的任务监控节点数量,确定对应当前虚拟机监控节点的虚拟机下正在运行的任务数量。
本发明一实施例中,当任一虚拟机接收到对应第一目标任务的运行指令时,则在对应的虚拟机监控节点下构建对应该第一目标任务的任务监控节点,相应的,通过构建运行中的第一目标任务与预先设置的心跳检测模块之间的心跳检测机制,可确定对应的第一目标任务在对应的虚拟机上是否运行完毕,具体地,当对应的第一目标任务未能根据设定的心跳检测机制周期性的向预先设置的心跳检测模块发送心跳信号包时,则说明该第一目标任务已在对应的虚拟机下运行完毕,相应的删除对应该第一目标任务的任务监控节点;可见,每一个虚拟机监控节点下的任务监控节点的数量即为对应的虚拟机下正在运行的任务数量。
进一步的,由于云管理中心需要为大量的应用分别分配多个虚拟机,为了方便对不同应用分别对应的多个虚拟机进行管理,本发明一个优选实施例中,
所述创建每一个虚拟机分别对应的虚拟机监控节点,包括:创建对应所述目标应用的应用监控节点,以及,在所述应用监控节点下创建每一个虚拟机分别对应的虚拟机监控节点;
所述当存在至少一个第一目标虚拟机下正在运行的任务数量为0时,将每一个所述第一目标虚拟机的标识信息发送到外部云管理中心,使得外部云管理中心释放每一个所述第一目标虚拟机,包括:
分别利用每一个虚拟机监控节点将每一个虚拟机分别对应的任务数量存储到所述应用监控节点,以使得外部云管理中心通过查询所述应用监控节点以获取每一个虚拟机分别对应的任务数量,并释放对应任务数量为0的至少一个第一目标虚拟机。
本发明一实施例中,虚拟机监控节点为应用监控节点的子节点,结合上述实施例中所述的任务监控节点,任务监控节点为对应的虚拟机监控节点的子节点,可见,应用监控节点、虚拟机监控节点及任务监控节点构建3级树形监控节点,外部云管理中心可直接针对父节点(即应用监控节点)进行相应的业务操作以对应用监控节点、虚拟机监控节点及任务监控节点进行相应的管理。
进一步的,为了实现对用于部署目标应用的虚拟机进行弹性扩展,即用于部署目标应用的虚拟机负载较高时,扩展用于部署目标应用的扩展虚拟机,以将目标应用的部分任务调度到新分配的扩展虚拟机下,本发明一个优选实施例中,
还包括:预先设置每一个虚拟机的平均资源消耗阀值;
在所述创建每一个虚拟机分别对应的虚拟机监控节点之后,还包括:
获取每一个虚拟机的平均资源消耗值;
当所述平均资源消耗值不小于所述平均资源消耗阀值时,向外部云管理中心发送虚拟机扩展请求指令,以使得外部云管理中心扩展一个用于部署所述目标应用的扩展虚拟机;
在所述应用监控节点下创建对应所述扩展虚拟机的虚拟机监控节点;
根据所述扩展虚拟机的虚拟机监控节点向所述扩展虚拟机发送对应第二目标任务的任务运行指令。
进一步的,本发明一个优选实施例中,还包括:
预先设置每一个虚拟机分别对应的释放阈值,其中,所述释放阈值包括硬件使用率阈值和/或时间阈值;
当存在至少一个第二目标虚拟机满足预先设置的释放阈值时,所述分别利用每一个虚拟机监控节点获取每一个虚拟机中正在运行的任务数量,包括:
利用对应第二目标虚拟机的虚拟机监控节点分别获取每一个第二目标虚拟机中正在运行的任务数量。
本发明一实施例中,可结合利用预先设置释放阈值的形式确保虚拟机管理的准确性;举例来说,为了防止一部分当前时刻并没有正在运行的任务,但是在未来的时间段内可能运行新任务的虚拟机被非正常释放,可通过设置释放虚拟机的时间阈值,即设置虚拟机有效工作时间,当存在对应的虚拟机不在有效工作时间内时,才通过确定对应的虚拟机下正在运行的任务数量来确定该虚拟机是否可以释放。
为使本发明的目的、技术方案和优点更加清楚,下面结合附图及具体实施例对本发明作进一步地详细描述。
如图2所示,本发明实施例提供了另一种虚拟机管理方法,该方法可以包括以下步骤:
步骤201,获取用于部署目标应用的至少一个虚拟机的标识信息。
步骤202,设置心跳检测模块,每一个虚拟机的平均资源消耗阀值以及每一个虚拟机分别对应的释放阈值。
本发明一实施例中,心跳检测模块用于对每一个虚拟机上正在运行的任务进行心跳检测;平均资源消耗阀值可以包括用于部署目标应用的多个虚拟机的平均处理器使用率,释放阈值可以包括每一个虚拟机分别对应的硬件资源消耗阈值以及时间阈值等,具体的,阀值及阈值的类型、大小均可根据实际业务需求合理设置;举例来说,可设置平均资源消耗阀值为平均处理器使用率80%,可设置每一个虚拟机分别对应的释放阈值为处理器使用率30%。
步骤203,创建对应目标应用的应用监控节点,以及,在应用监控节点下创建每一个虚拟机分别对应的虚拟机监控节点。
本发明一实施例中,对应目标应用的每一个虚拟机监控节点创建在对应的应用监控节点下,将虚拟机监控节点作为应用监控节点的子节点,方便管理。
这里,每一个应用监控节点的命名名称可以包括对应的虚拟机的标识信息。
步骤204,当对应的虚拟机接收到对应第一目标任务的运行指令时,在对应的虚拟机监控节点下创建对应第一目标任务的任务监控节点。
步骤205,当对应的虚拟机运行第一目标任务后,构建第一目标任务与心跳检测模块之间的心跳检测机制。
步骤206,当第一目标任务未能根据心跳检测机制向心跳检测模块发送心跳信号时,删除对应第一目标任务的任务监控节点。
步骤204至步骤206中,利用心跳检测模块周期性的检测运行在相应虚拟机中的每一个第一目标任务是否还在正常运行,当心跳检测模块在大于一个信号周期的时间段内没有收到该第一目标任务发送的心跳信号包时,则说明该第一目标任务已在对应的虚拟机中结束运行。
本发明一实施例中,通过心跳检测模块监控每一个虚拟机下的任务运行情况,根据任务运行情况在对应的虚拟机监控节点下增加或删除对应的任务监控节点,相应的,每一个虚拟机监控节点下分别对应的任务监控节点数量即为对应的虚拟机下分别正在运行的任务数量。
步骤207,获取每一个虚拟机的平均资源消耗值,当平均资源消耗值不小于预先设置的平均资源消耗阀值时,则向云管理中心发送用于部署目标应用的虚拟机扩展请求。
步骤208,在云管理中心为目标应用扩展相应的扩展虚拟机后,相应的在应用监控节点下创建对应该扩展虚拟机的虚拟机监控节点,并根据对应该扩展虚拟机的虚拟机监控节点向该扩展虚拟机发送对应第二目标任务的运行指令。
步骤207至步骤208中,部署目标应用的多个虚拟机的平均资源消耗值不小于预先设置的平均资源消耗阀值(比如,处理器使用率达到80%)时,可向云管理中心申请扩展一个扩展虚拟机以分担当前多个虚拟机的工作负载。
步骤209,当存在第二目标虚拟机满足预先设置的释放阈值时,利用每一个第二目标虚拟机分别对应的虚拟机监控节点检测当前虚拟机监控节点下的任务监控节点数量。
举例来说,当存在第二目标虚拟机的处理器使用率不大于预先设置的处理器使用率30%时,则可通过对应该第二目标虚拟机的虚拟机监控节点检测当前虚拟机监控节点下的任务监控节点数量,这里,当前虚拟机监控节点下的任务监控节点数量即为该第二目标虚拟机下正在运行的任务数量。
步骤210,利用对应第二目标虚拟机的虚拟机监控节点将第二目标虚拟机下正在运行的任务数量存储到应用监控节点中。
这里,应用监控节点用于记录每一个第二目标虚拟机分别对应的虚拟机监控节点下的任务监控节点数量;当然,在可能实现的情况下,应用监控节点也可以记录每一个虚拟机监控节点分别对应的任务监控节点数量。
步骤211,云管理中心通过查询应用监控节点以获取对应任务监控节点为0的至少一个虚拟机监控节点分别携带的标识信息,根据该标识信息释放每一个对应的第一目标虚拟机。
如图3所示,本发明实施例提供了一种虚拟机管理装置,包括:
第一获取单元301,用于获取用于部署目标应用的至少一个虚拟机的标识信息;
构建单元302,用于根据每一个虚拟机的标识信息创建每一个虚拟机分别对应的虚拟机监控节点303;
至少一个虚拟机监控节点303,用于获取每一个虚拟机中正在运行的任务数量,当存在至少一个第一目标虚拟机下正在运行的任务数量为0时,将每一个所述第一目标虚拟机的标识信息发送到外部云管理中心,使得外部云管理中心释放每一个所述第一目标虚拟机。
进一步的,为了使每一个虚拟机监控节点均可获取对应的虚拟机下正在运行的任务数量,如图4所示,本发明一个优选实施例中,还包括:
设置单元401,用于预先设置心跳检测模块;
所述构建单元302,进一步用于在当前虚拟机监控节点303对应的虚拟机接收到对应第一目标任务的运行指令时,在当前虚拟机监控节点303下创建对应所述第一目标任务的任务监控节点;在当前虚拟机监控节点303对应的虚拟机启动所述第一目标任务后,构建所述第一目标任务与所述心跳检测模块之间的心跳检测机制;
处理单元402,用于当所述第一目标任务未能根据所述心跳检测机制向所述心跳检测模块发送心跳信号时,删除对应所述第一目标任务的任务监控节点;
每一个所述虚拟机监控节点303,分别用于检测当前虚拟机监控节点303下的任务监控节点数量,确定对应当前虚拟机监控节点303的虚拟机下正在运行的任务数量。
进一步的,为了方便对不同应用分别对应的虚拟机进行管理,本发明一个优选实施例中,
所述构建单元302,用于创建对应所述目标应用的应用监控节点;以及,在所述应用监控节点下创建每一个虚拟机分别对应的虚拟机监控节点;
每一个所述虚拟机监控节点303,分别用于将每一个虚拟机分别对应的任务数量存储到所述应用监控节点,以使得外部云管理中心通过查询所述应用监控节点以获取每一个虚拟机分别对应的任务数量,并释放对应任务数量为0的至少一个第一目标虚拟机。
进一步的,为了实现对用于部署目标应用的虚拟机进行弹性扩展,如图4所示,本发明一个优选实施例中,
所述设置单元401,进一步用于预先设置每一个虚拟机的平均资源消耗阀值;
还包括:
第二获取单元403,用于获取每一个虚拟机的平均资源消耗值;
指令发送单元404,用于当所述第二获取单元403获取到的平均资源消耗值不小于所述平均资源消耗阀值时,向外部云管理中心发送虚拟机扩展请求指令,以使得外部云管理中心扩展一个用于部署所述目标应用的扩展虚拟机;
所述构建单元302,进一步用于在所述应用监控节点下创建对应所述扩展虚拟机的虚拟机监控节点;
任务调度单元405,用于根据所述扩展虚拟机的虚拟机监控节点向所述扩展虚拟机发送对应第二目标任务的任务运行指令。
进一步的,如图4所示,本发明一个优选实施例中,
所述设置单元401,进一步用于预先设置每一个虚拟机分别对应的释放阈值,其中,所述释放阈值包括硬件使用率阈值和/或时间阈值;
所述至少一个虚拟机监控节点303,用于当存在至少一个第二目标虚拟机满足预先设置的释放阈值时,获取每一个第二目标虚拟机中正在运行的任务数量。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明各个实施例至少具有如下有益效果:
1、针对用于部署目标应用的至少一个虚拟机,分别根据每一个虚拟机的标识信息构建对应的虚拟机监控节点,利用不同的虚拟机监控节点分别对对应的虚拟机进行监控,以获取每一个虚拟机中正在运行的任务数量,并将正在运行的任务数量为0的第一目标虚拟机的标识信息发送到云管理中心,云管理中心即可根据接收到的标识信息对相应的第一目标虚拟机进行释放处理;可见,通过本发明实施例的技术方案,可确保云管理中心释放的虚拟机中没有正在运行的对应目标应用的任务,不会影响目标应用的正常工作。
2、通过设置释放阈值,比如时间阈值等,防止当前时刻并没有任务运行,而在未来时间段内可能需要运行新任务的虚拟机被非正常释放,提高虚拟机管理的准确性。
3、在创建应用监控节点、至少一个虚拟机监控节点及每一个虚拟机监控节点分别对应的多个任务监控节点的过程中,以应用监控检点作为父节点,在应用监控节点下可以每一个虚拟机分别对应的标识信息构建对应的虚拟机监控节点,进而在对应的虚拟机监控节点下分别创建对应第一目标任务的任务监控节点,通过三级树形节点的形式,方便管理。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种虚拟机管理方法,其特征在于,包括:
获取用于部署目标应用的至少一个虚拟机的标识信息;
根据每一个虚拟机的标识信息创建每一个虚拟机分别对应的虚拟机监控节点;
分别利用每一个虚拟机监控节点获取每一个虚拟机中正在运行的任务数量,当存在至少一个第一目标虚拟机下正在运行的任务数量为0时,将每一个所述第一目标虚拟机的标识信息发送到外部云管理中心,使得外部云管理中心释放每一个所述第一目标虚拟机。
2.根据权利要求1所述的虚拟机管理方法,其特征在于,还包括:预先设置心跳检测模块;
所述分别利用每一个虚拟机监控节点获取每一个虚拟机中正在运行的任务数量,包括:
在当前虚拟机监控节点对应的虚拟机接收到对应第一目标任务的运行指令时,在当前虚拟机监控节点下创建对应所述第一目标任务的任务监控节点;
在当前虚拟机监控节点对应的虚拟机启动所述第一目标任务后,构建所述第一目标任务与所述心跳检测模块之间的心跳检测机制;
当所述第一目标任务未能根据所述心跳检测机制向所述心跳检测模块发送心跳信号时,删除对应所述第一目标任务的任务监控节点;
每一个虚拟机监控节点分别检测当前虚拟机监控节点下的任务监控节点数量,确定对应当前虚拟机监控节点的虚拟机下正在运行的任务数量。
3.根据权利要求1所述的虚拟机管理方法,其特征在于,
所述创建每一个虚拟机分别对应的虚拟机监控节点,包括:创建对应所述目标应用的应用监控节点,以及,在所述应用监控节点下创建每一个虚拟机分别对应的虚拟机监控节点;
所述当存在至少一个第一目标虚拟机下正在运行的任务数量为0时,将每一个所述第一目标虚拟机的标识信息发送到外部云管理中心,使得外部云管理中心释放每一个所述第一目标虚拟机,包括:
分别利用每一个虚拟机监控节点将每一个虚拟机分别对应的任务数量存储到所述应用监控节点,以使得外部云管理中心通过查询所述应用监控节点以获取每一个虚拟机分别对应的任务数量,并释放对应任务数量为0的至少一个第一目标虚拟机。
4.根据权利要求3所述的虚拟机管理方法,其特征在于,还包括:预先设置每一个虚拟机的平均资源消耗阀值;
在所述创建每一个虚拟机分别对应的虚拟机监控节点之后,还包括:
获取每一个虚拟机的平均资源消耗值;
当所述平均资源消耗值不小于所述平均资源消耗阀值时,向外部云管理中心发送虚拟机扩展请求指令,以使得外部云管理中心扩展一个用于部署所述目标应用的扩展虚拟机;
在所述应用监控节点下创建对应所述扩展虚拟机的虚拟机监控节点;
根据所述扩展虚拟机的虚拟机监控节点向所述扩展虚拟机发送对应第二目标任务的任务运行指令。
5.根据权利要求1至4中任一所述的虚拟机管理方法,其特征在于,还包括:
预先设置每一个虚拟机分别对应的释放阈值,其中,所述释放阈值包括硬件使用率阈值和/或时间阈值;
当存在至少一个第二目标虚拟机满足预先设置的释放阈值时,所述分别利用每一个虚拟机监控节点获取每一个虚拟机中正在运行的任务数量,包括:
利用对应第二目标虚拟机的虚拟机监控节点分别获取每一个第二目标虚拟机中正在运行的任务数量。
6.一种虚拟机管理装置,其特征在于,包括:
第一获取单元,用于获取用于部署目标应用的至少一个虚拟机的标识信息;
构建单元,用于根据每一个虚拟机的标识信息创建每一个虚拟机分别对应的虚拟机监控节点;
至少一个虚拟机监控节点,用于获取每一个虚拟机中正在运行的任务数量,当存在至少一个第一目标虚拟机下正在运行的任务数量为0时,将每一个所述第一目标虚拟机的标识信息发送到外部云管理中心,使得外部云管理中心释放每一个所述第一目标虚拟机。
7.根据权利要求6所述的虚拟机管理装置,其特征在于,还包括:
设置单元,用于预先设置心跳检测模块;
所述构建单元,进一步用于在当前虚拟机监控节点对应的虚拟机接收到对应第一目标任务的运行指令时,在当前虚拟机监控节点下创建对应所述第一目标任务的任务监控节点;在当前虚拟机监控节点对应的虚拟机启动所述第一目标任务后,构建所述第一目标任务与所述心跳检测模块之间的心跳检测机制;
处理单元,用于当所述第一目标任务未能根据所述心跳检测机制向所述心跳检测模块发送心跳信号时,删除对应所述第一目标任务的任务监控节点;
每一个所述虚拟机监控节点,分别用于检测当前虚拟机监控节点下的任务监控节点数量,确定对应当前虚拟机监控节点的虚拟机下正在运行的任务数量。
8.根据权利要求6所述的虚拟机管理装置,其特征在于,
所述构建单元,用于创建对应所述目标应用的应用监控节点;以及,在所述应用监控节点下创建每一个虚拟机分别对应的虚拟机监控节点;
每一个所述虚拟机监控节点,分别用于将每一个虚拟机分别对应的任务数量存储到所述应用监控节点,以使得外部云管理中心通过查询所述应用监控节点以获取每一个虚拟机分别对应的任务数量,并释放对应任务数量为0的至少一个第一目标虚拟机。
9.根据权利要求8所述的虚拟机管理装置,其特征在于,
所述设置单元,进一步用于预先设置每一个虚拟机的平均资源消耗阀值;
还包括:
第二获取单元,用于获取每一个虚拟机的平均资源消耗值;
指令发送单元,用于当所述第二获取单元获取到的平均资源消耗值不小于所述平均资源消耗阀值时,向外部云管理中心发送虚拟机扩展请求指令,以使得外部云管理中心扩展一个用于部署所述目标应用的扩展虚拟机;
所述构建单元,进一步用于在所述应用监控节点下创建对应所述扩展虚拟机的虚拟机监控节点;
任务调度单元,用于根据所述扩展虚拟机的虚拟机监控节点向所述扩展虚拟机发送对应第二目标任务的任务运行指令。
10.根据权利要求6至9中任一所述的虚拟机管理装置,其特征在于,
所述设置单元,进一步用于预先设置每一个虚拟机分别对应的释放阈值,其中,所述释放阈值包括硬件使用率阈值和/或时间阈值;
所述至少一个虚拟机监控节点,用于当存在至少一个第二目标虚拟机满足预先设置的释放阈值时,获取每一个第二目标虚拟机中正在运行的任务数量。
CN201610071324.3A 2016-02-01 2016-02-01 一种虚拟机管理方法及装置 Pending CN105740054A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610071324.3A CN105740054A (zh) 2016-02-01 2016-02-01 一种虚拟机管理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610071324.3A CN105740054A (zh) 2016-02-01 2016-02-01 一种虚拟机管理方法及装置

Publications (1)

Publication Number Publication Date
CN105740054A true CN105740054A (zh) 2016-07-06

Family

ID=56242070

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610071324.3A Pending CN105740054A (zh) 2016-02-01 2016-02-01 一种虚拟机管理方法及装置

Country Status (1)

Country Link
CN (1) CN105740054A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107704313A (zh) * 2017-11-02 2018-02-16 郑州云海信息技术有限公司 一种虚拟机管理方法及其装置
CN110764873A (zh) * 2019-10-21 2020-02-07 深圳金蝶账无忧网络科技有限公司 一种虚拟机资源管理方法、系统及相关设备
CN112395045A (zh) * 2020-11-13 2021-02-23 深圳力维智联技术有限公司 虚拟机回收及其资源调整方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110252137A1 (en) * 2008-12-31 2011-10-13 Sap Ag Systems and Methods for Dynamically Provisioning Cloud Computing Resources
CN102457512A (zh) * 2010-11-08 2012-05-16 中标软件有限公司 一种瘦客户端服务器虚拟化方法及虚拟瘦客户端服务器
CN102646062A (zh) * 2012-03-20 2012-08-22 广东电子工业研究院有限公司 一种云计算平台应用集群弹性扩容方法
CN103118124A (zh) * 2013-02-22 2013-05-22 桂林电子科技大学 一种基于分层多代理的云计算负载均衡方法
CN103605567A (zh) * 2013-10-29 2014-02-26 河海大学 面向实时性需求变化的云计算任务调度方法
CN104539708A (zh) * 2014-12-29 2015-04-22 杭州华为数字技术有限公司 一种云平台资源的缩容方法、装置与系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110252137A1 (en) * 2008-12-31 2011-10-13 Sap Ag Systems and Methods for Dynamically Provisioning Cloud Computing Resources
CN102457512A (zh) * 2010-11-08 2012-05-16 中标软件有限公司 一种瘦客户端服务器虚拟化方法及虚拟瘦客户端服务器
CN102646062A (zh) * 2012-03-20 2012-08-22 广东电子工业研究院有限公司 一种云计算平台应用集群弹性扩容方法
CN103118124A (zh) * 2013-02-22 2013-05-22 桂林电子科技大学 一种基于分层多代理的云计算负载均衡方法
CN103605567A (zh) * 2013-10-29 2014-02-26 河海大学 面向实时性需求变化的云计算任务调度方法
CN104539708A (zh) * 2014-12-29 2015-04-22 杭州华为数字技术有限公司 一种云平台资源的缩容方法、装置与系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107704313A (zh) * 2017-11-02 2018-02-16 郑州云海信息技术有限公司 一种虚拟机管理方法及其装置
CN110764873A (zh) * 2019-10-21 2020-02-07 深圳金蝶账无忧网络科技有限公司 一种虚拟机资源管理方法、系统及相关设备
CN110764873B (zh) * 2019-10-21 2022-09-27 深圳金蝶账无忧网络科技有限公司 一种虚拟机资源管理方法、系统及相关设备
CN112395045A (zh) * 2020-11-13 2021-02-23 深圳力维智联技术有限公司 虚拟机回收及其资源调整方法

Similar Documents

Publication Publication Date Title
CN107203552B (zh) 垃圾回收方法及装置
CN102043682B (zh) 一种工作流异常处理方法和系统
CN104780146B (zh) 资源管理方法及装置
US9697053B2 (en) System and method for managing excessive distribution of memory
CN104486445A (zh) 一种基于云平台的分布式可扩展资源监控系统及方法
CA2808239C (en) Determining equivalent subsets of agents to gather information for a fabric
CN107071005A (zh) 一种数据同步方法及系统
CN102724313B (zh) 基于云计算的集群式桥梁运营安全监控系统
CN109871290B (zh) 应用于Java的调用堆栈追踪方法、装置和存储介质
CN106170947A (zh) 一种告警信息处理方法、相关设备和系统
CN106294073A (zh) 服务调用方法及装置
CN103176892A (zh) 一种页面监控方法及系统
CN105740054A (zh) 一种虚拟机管理方法及装置
CN104917639A (zh) 基于集群监控分配数据业务方法及装置
CN109753593A (zh) 喷洒作业任务调度方法及无人机
JP5268589B2 (ja) 情報処理装置及び情報処理装置の運用方法
JP5740338B2 (ja) 仮想環境運用支援システム
CN106777019B (zh) 一种HBase系统的监控方法及监控服务器
CN104991814A (zh) 获取任务执行结果的方法及系统
Abid et al. A novel scheme for node failure recovery in virtualized networks
CN108154343B (zh) 一种企业级信息系统的应急处理方法及系统
CN110209497A (zh) 一种主机资源动态扩缩容的方法及系统
WO2002007385A1 (fr) Dispositif de commande de surveillance
CN109542841A (zh) 集群中创建数据快照的方法及终端设备
CN113762668B (zh) 生成任务单的方法的和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160706