CN109522096B - 信息处理方法及其装置 - Google Patents

信息处理方法及其装置 Download PDF

Info

Publication number
CN109522096B
CN109522096B CN201811478472.2A CN201811478472A CN109522096B CN 109522096 B CN109522096 B CN 109522096B CN 201811478472 A CN201811478472 A CN 201811478472A CN 109522096 B CN109522096 B CN 109522096B
Authority
CN
China
Prior art keywords
virtual machine
cloud platform
running state
tasks
running
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
CN201811478472.2A
Other languages
English (en)
Other versions
CN109522096A (zh
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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201811478472.2A priority Critical patent/CN109522096B/zh
Publication of CN109522096A publication Critical patent/CN109522096A/zh
Application granted granted Critical
Publication of CN109522096B publication Critical patent/CN109522096B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

Landscapes

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

Abstract

本公开提供了一种信息处理方法,应用于虚拟机,虚拟机包括特定虚拟设备,方法包括:通过特定虚拟设备获得虚拟机的运行状态信息,以使得云平台能够基于运行状态信息向监控设备发送控制指令,其中,控制指令用于控制虚拟机继续启动或暂停启动,监控设备能够为虚拟机提供监控服务;以及在运行状态信息发生改变的情况下,更新虚拟机的运行状态信息到特定虚拟设备。本公开还提供了一种应用于虚拟机的信息处理装置。

Description

信息处理方法及其装置
技术领域
本公开涉及一种信息处理方法及其装置。
背景技术
在云平台上批量创建虚拟机(Virtual Machine,简称为VM)或批量启动VM时,会产生爆发式的磁盘和网络输入输出(Input/Output,简称为I/O),例如VM启动阶段加载程序,动态主机设置协议(Dynamic Host Configutation Protocal,简称为DHCP)获取IP地址,对下游服务或存储将造成很大的压力,延长VM的实际启动时间,由于资源争用有可能会影响其他业务,甚至由于IO异常导致程序或者虚拟机崩溃,因此,需要优化在云平台上批量创建VM或批量启动VM的方法。
现有技术可以根据实际的业务场景和规模堆叠硬件资源,软件层面使用负载均衡等技术分担批量创建或批量启动带来的压力,也可以设置时间间隔,分批次启动VM。
在实现本公开构思的过程中,发明人发现相关技术中至少存在以下缺陷:无论是需要额外的经济开销的硬件资源堆叠,软件负载均衡,还是依赖于人为经验设置时间间隔的分批次启动VM,均无法有效解决批量创建或启动VM时产生的爆发式的磁盘和网络IO问题。
发明内容
本公开的一个方面提供了一种信息处理方法,应用于虚拟机,上述虚拟机包括特定虚拟设备,上述方法包括:通过上述特定虚拟设备获得上述虚拟机的运行状态信息,以使得云平台能够基于上述运行状态信息向监控设备发送控制指令,其中,上述控制指令用于控制上述虚拟机继续启动或暂停启动,上述监控设备能够为上述虚拟机提供监控服务;以及在上述运行状态信息发生改变的情况下,更新上述虚拟机的运行状态信息到上述特定虚拟设备。
本公开的一个方面提供了一种信息处理方法,应用于云平台,包括:通过能够为虚拟机提供监控服务的监控设备获得上述虚拟机的运行状态信息;获取上述云平台的负载信息;基于上述虚拟机的运行状态信息和上述云平台的负载信息,生成控制上述虚拟机继续启动或暂停启动的控制指令;以及向上述监控设备发送控制指令,以使得上述监控设备能够基于上述控制指令控制上述虚拟机继续启动或暂停启动。
可选地,上述基于上述虚拟机的运行状态信息和上述云平台的负载信息,生成控制上述虚拟机继续启动或暂停启动的控制指令包括:获取上述云平台中运行任务数量阈值;获得上述云平台当前处于运行状态的任务数量;检测上述虚拟机的继续启动是否使得当前处于运行状态的任务数量不超过上述运行任务数量阈值;以及在上述虚拟机的继续启动使得当前处于运行状态的任务数量不超过上述运行任务数量阈值的情况下,生成控制上述虚拟机继续启动的控制指令。
可选地,上述方法还包括:在上述虚拟机的继续启动使得当前处于运行状态的任务数量超过上述运行任务数量阈值的情况下,生成控制上述虚拟机暂停启动的控制指令。
可选地,上述获取上述云平台中运行任务数量阈值包括:获取上述云平台的性能指标;以及基于上述性能指标,调整上述云平台中运行任务数量阈值。
本公开的一个方面提供了一种信息处理装置,应用于虚拟机,上述虚拟机包括特定虚拟设备,上述装置包括:第一获取模块,用于通过上述特定虚拟设备获得上述虚拟机的运行状态信息,以使得云平台能够基于上述运行状态信息向监控设备发送控制指令,其中,上述控制指令用于控制上述虚拟机继续启动或暂停启动,上述监控设备能够为上述虚拟机提供监控服务;以及更新模块,用于在上述运行状态信息发生改变的情况下,更新上述虚拟机的运行状态信息到上述特定虚拟设备。
本公开的一个方面提供了一种信息处理装置,应用于云平台,包括:第二获取模块,用于通过能够为虚拟机提供监控服务的监控设备获得上述虚拟机的运行状态信息;第三获取模块,用于获取上述云平台的负载信息;生成模块,用于基于上述虚拟机的运行状态信息和上述云平台的负载信息,生成控制上述虚拟机继续启动或暂停启动的控制指令;以及发送模块,用于向上述监控设备发送控制指令,以使得上述监控设备能够基于上述控制指令控制上述虚拟机继续启动或暂停启动。
可选地,上述生成模块包括:第一获取子模块,用于获取上述云平台中运行任务数量阈值;第二获取子模块,用于获得上述云平台当前处于运行状态的任务数量;检测子模块,用于检测上述虚拟机的继续启动是否使得当前处于运行状态的任务数量不超过上述运行任务数量阈值;以及第一控制子模块,用于在上述虚拟机的继续启动使得当前处于运行状态的任务数量不超过上述运行任务数量阈值的情况下,生成控制上述虚拟机继续启动的控制指令。
可选地,上述的装置还包括:第二生成子模块,用于在上述虚拟机的继续启动使得当前处于运行状态的任务数量超过上述运行任务数量阈值的情况下,生成控制上述虚拟机暂停启动的控制指令。
可选地,上述第一获取子模块包括:获取单元,用于获取上述云平台的性能指标;以及调整单元,用于基于上述性能指标,调整上述云平台中运行任务数量阈值。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1A示意性示出了根据本公开实施例的信息处理方法及其装置的系统架构;
图1B示意性示出了根据本公开实施例的信息处理方法及其装置的应用场景;
图2示意性示出了根据本公开实施例的应用于虚拟机的信息处理方法的流程图;
图3示意性示出了根据本公开实施例的应用于云平台的信息处理方法的流程图;
图4示意性示出了根据本公开实施例的生成控制所述虚拟机继续启动或暂停启动的控制指令的流程图;
图5示意性示出了根据本公开另一实施例的生成控制虚拟机继续启动或暂停启动的控制指令的流程图;
图6示意性示出了根据本公开实施例的获取云平台中运行任务数量阈值的流程图;
图7示意性示出了根据本公开实施例的应用于虚拟机的信息处理装置的框图;
图8示意性示出了根据本公开实施例的应用于云平台的信息处理装置的框图;
图9示意性示出了根据本公开实施例的生成模块的框图;
图10示意性示出了根据本公开另一实施例的生成模块的框图;
图11示意性示出了根据本公开实施例的第一获取子模块的框图;以及
图12示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机系统的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程信息处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。
本公开提供了一种信息处理方法,应用于虚拟机,虚拟机包括特定虚拟设备,方法包括:通过特定虚拟设备获得虚拟机的运行状态信息,以使得云平台能够基于运行状态信息向监控设备发送控制指令,其中,控制指令用于控制虚拟机继续启动或暂停启动,监控设备能够为虚拟机提供监控服务;以及在运行状态信息发生改变的情况下,更新虚拟机的运行状态信息到特定虚拟设备。
图1A示意性示出了根据本公开实施例的信息处理方法及其装置的应用场景。需要注意的是,图1A所示仅为可以应用本公开实施例的场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1A所示,本公开实施例的信息处理方法及其装置的应用场景100可以包括虚拟机(以下简称为VM)101,云平台102以及物理机103。虚拟机101运行在物理机103上,物理机103也称为宿主机(Host),指的是安装虚拟机软件的计算机,虚拟机101也称为客户机(Guest),指的是利用虚拟机工具构造出来的,有一整套硬件设备,有自己的操作系统(Operating System,简称为OS),应用软件等。云平台102允许开发者们或是将写好的程序放在“云”里运行,或是使用“云”里提供的服务,或是两者皆是,在本公开实施例中云平台101可以提供对虚拟机101的管理和控制。根据实际需要可以在云平台102上批量创建VM101或批量启动VM101。但是在云平台上批量创建VM或批量启动VM,可能会产生爆发式的磁盘访问和网络输入输出,例如VM启动阶段加载程序,动态主机设置协议获取IP地址,对下游服务或存储将造成很大的压力,延长VM的实际启动时间,由于资源争用有可能会影响其他业务,甚至由于IO异常导致程序或者虚拟机崩溃。
图1B示意性示出了根据本公开实施例的信息处理方法及其装置的应用场景。
如图1B所示,本公开实施例的信息处理方法及其装置的应用场景110中,云平台控制模块提供存储、网络和云平台服务等,虚拟机运行在物理机上,物理机通过运行在物理服务器和操作系统之间的中间软件层,即监控设备对虚拟机进行监控,协调访问服务器上的所有物理设备和虚拟机,也称为虚拟监视器,如Hypervisor,可以非中断地支持多工作负载,当服务器启动并执行Hypervisor时,会给每一台虚拟机分配适量的内存、处理器、网络和磁盘,并加载所有虚拟机的客户操作系统。虚拟机包括特定虚拟设备,通过特定虚拟设备可以获得虚拟机的运行状态信息,以使得云平台能够基于运行状态信息向监控设备发送控制指令,其中,控制指令用于控制虚拟机继续启动或暂停启动,监控设备能够为虚拟机提供监控服务;以及在运行状态信息发生改变的情况下,更新虚拟机的运行状态信息到特定虚拟设备,可以有效解决批量创建或启动VM时产生的爆发式的磁盘和网络IO问题。
图2示意性示出了根据本公开实施例的应用于虚拟机的信息处理方法的流程图。
如图2所示,该方法包括操作S210和S220。其中:
在操作S210,通过特定虚拟设备获得虚拟机的运行状态信息,以使得云平台能够基于运行状态信息向监控设备发送控制指令。
在操作S220,在运行状态信息发生改变的情况下,更新虚拟机的运行状态信息到特定虚拟设备。
根据本公开的实施例,特定虚拟设备可以包括但不限于虚拟机中的某个虚拟设备,可以是虚拟电源管理模块,也可以是虚拟设备管理模块,还可以是其他管理模块。本公开实施例将以虚拟电源管理模块为例,进行说明,使用虚拟电源管理模块来实现有以下优势:虚拟电源模块是标准模块,可以实现对虚拟硬件的生命周期/状态进行管理,通过该模块进一步获取Guest OS的运行状态,更加的合理,并且虚拟电源模块默认支持hypervisor对其状态进行读取,从而获取VM的电源状态,不需要对hypervisor进行任何修改。在虚拟机中,可以通过标准的电源管理接口对电源状态进行设置,不需要访问额外的设备和添加驱动程序。
根据本公开的实施例,可以在VM OS中实现一个VM状态管理模块,检测获得VM当前的运行状态,如OS booting,xx service starting,dhcp,can login等。在VM状态改变时,VM状态管理模块可以调用标准的虚拟设备接口,将VM状态更新到虚拟设备上。
通过本公开的实施例,通过所述虚拟机的操作系统获得所述虚拟机的运行状态信息,无需新增硬件,节省资源,并在所述运行状态信息发生改变的情况下,将所述虚拟机的运行状态信息更新到特定虚拟设备中,实现控制所述虚拟机继续或暂停启动,动态错峰启动VM,缩短虚拟机的启动时间。
图3示意性示出了根据本公开实施例的应用于云平台的信息处理方法的流程图。
如图3所示,该方法包括操作S310~S340。其中:
在操作S310,通过能够为虚拟机提供监控服务的监控设备获得虚拟机的运行状态信息。
在操作S320,获取云平台的负载信息。
在操作S330,基于虚拟机的运行状态信息和云平台的负载信息,生成控制虚拟机继续启动或暂停启动的控制指令。
在操作S340,向监控设备发送控制指令,以使得监控设备能够基于控制指令控制虚拟机继续启动或暂停启动。
根据本公开的实施例,通过能够为虚拟机提供监控服务的监控设备,如Hypervisor可以定期读取firmware中虚拟设备的状态,从而获取到当前VM中OS的实际运行状态。云平台控制模块通过向hypervisor注册,可以获得VM启动的状态信息,云平台控制模块根据已获取的VM启动状态信息和云平台的负载信息,如存储、网络、云平台服务(如DHCPserver)的状态信息,可以生成控制虚拟机继续启动或暂停启动的控制指令,向Hypervisor下发控制指令,控制VM继续启动或暂停启动。
通过本公开的实施例,基于所述虚拟机的实际运行状态信息和所述云平台的负载信息,可以有效避免资源争用导致虚拟机启动过慢的技术问题,达到错峰启动的技术效果,宏观上缩短虚拟机启动时间。
图4示意性示出了根据本公开实施例的生成控制所述虚拟机继续启动或暂停启动的控制指令的流程图。
如图4所示,该方法包括操作S410~S440。其中:
在操作S410,获取云平台中运行任务数量阈值。
在操作S420,获得云平台当前处于运行状态的任务数量。
在操作S430,检测虚拟机的继续启动是否使得当前处于运行状态的任务数量不超过运行任务数量阈值。
在操作S440,在虚拟机的继续启动使得当前处于运行状态的任务数量不超过运行任务数量阈值的情况下,生成控制虚拟机继续启动的控制指令。
根据本公开的实施例,运行任务数量阈值通常以任务窗口的形式展示,窗口值的大小代表云平台最多可以运行的虚拟机的数量。当发生VM批量创建或启动时,可以基于获取的当前云平台中运行任务数量阈值以及处于运行状态的任务数量,对虚拟机的进行继续启动或暂停启动的控制。
具体地,可以根据存储的当前窗口值,持续启动或暂停启动虚拟机,可以通过控制继续启动或暂停启动处于OS booting状态的VM,调整启动任务数以适应窗口值,达到在现有处于运行状态的虚拟机的基础上,继续启动VM之后,运行的虚拟机数量不超过运行任务数量阈值的技术效果。同理,也可以通过控制继续启动或暂停启动处于DHCP状态的VM调整启动任务数以适应窗口值,达到在现有处于运行状态的虚拟机的基础上,继续启动VM之后,运行的虚拟机数量不超过运行任务数量阈值的技术效果。
根据本公开的实施例,虚拟机的继续启动使得当前处于运行状态的任务数量不超过运行任务数量阈值的情况下,表明云平台除了能够使得处于运行状态的任务数量正常运行之外,还尚有一定的运行空间,允许更多的运行任务,因此,生成控制虚拟机继续启动的控制指令,使得云平台继续启动处于OS booting状态的VM或处于DHCP状态的VM。
需要说明的是,在存在多个虚拟机继续启动任务的情况下,可以按照预设的优先级顺序控制多个虚拟机中各虚拟机的启动顺序,优先级可以根据批量启动的虚拟机的实际情况自行设定,本公开不做限定,如优先级可以包括但不限于虚拟机的创建时间,如较早创建的虚拟机优先于较晚创建的虚拟机启动。
通过本公开的实施例,通过细粒度的VM启动状态信息及云平台负载信息,在所述虚拟机的继续启动使得当前处于运行状态的任务数量不超过所述运行任务数量阈值的情况下,控制所述虚拟机继续启动,动态错峰启动VM,可以在宏观上缩短虚拟机启动时间。
图5示意性示出了根据本公开另一实施例的生成控制虚拟机继续启动或暂停启动的控制指令的流程图。
如图5所示,该方法除了包括前述操作S410~S440之外,还可以包括操作S510:在虚拟机的继续启动使得当前处于运行状态的任务数量超过运行任务数量阈值的情况下,生成控制虚拟机暂停启动的控制指令。
根据本公开的实施例,虚拟机的继续启动使得当前处于运行状态的任务数量超过运行任务数量阈值的情况下,表明云平台除了能够使得处于运行状态的任务数量正常运行之外,没有能力提供富裕的运行空间,以允许更多的VM运行,因此,生成控制虚拟机暂停启动的控制指令,使得云平台暂停启动处于OS booting状态的VM或处于DHCP状态的VM。
需要说明的是,在存在多个虚拟机继续启动任务的情况下,可以按照预设的优先级顺序控制多个虚拟机中各虚拟机的暂停顺序,此处不再赘述。
通过本公开的实施例,通过细粒度的VM启动状态信息及云平台负载信息,在所述虚拟机的继续启动使得当前处于运行状态的任务数量超过所述运行任务数量阈值的情况下,控制虚拟机暂停启动,动态错峰启动VM,可以在宏观上缩短虚拟机启动时间。
图6示意性示出了根据本公开实施例的获取云平台中运行任务数量阈值的流程图。
如图6所示,该方法可以包括操作S610和S620。其中:
在操作S610,获取云平台的性能指标。
在操作S620,基于性能指标,调整云平台中运行任务数量阈值。
根据本公开的实施例,根据云平台的运行状态,该运行任务数量阈值是实时变化的。可以根据存储等性能指标实时调整任务窗口大小,云平台的任务数量阈值可以实时调整,使得云平台一直处于较为健康的运行状态。
需要说明的是,云平台的性能指标可以包括但不限于计算、网络和存储,任何影响云平台运行的指标都可以作为调整云平台中运行任务数量阈值的参考指标。
通过本公开的实施例,实时调整云平台中运行任务数量阈值,使得在批量创建或批量启动VM时,可以基于最可靠最新的云平台信息,控制虚拟机的继续启动或暂停启动,有利于维持云平台的健康运行。
图7示意性示出了根据本公开实施例的应用于虚拟机的信息处理装置的框图。
如图7所示,该信息处理装置700可以包括第一获取模块710以及更新模块720。其中:
第一获取模块710,例如执行前述操作S210,用于通过特定虚拟设备获得虚拟机的运行状态信息,以使得云平台能够基于运行状态信息向监控设备发送控制指令,其中,控制指令用于控制虚拟机继续启动或暂停启动,监控设备能够为虚拟机提供监控服务。
更新模块720,例如执行前述操作S220,用于在运行状态信息发生改变的情况下,更新虚拟机的运行状态信息到特定虚拟设备。
通过本公开的实施例,通过所述虚拟机的操作系统获得所述虚拟机的运行状态信息,无需新增硬件,节省资源,并在所述运行状态信息发生改变的情况下,将所述虚拟机的运行状态信息更新到能够为所述虚拟机提供监控服务的监控设备的特定虚拟设备中,实现控制所述虚拟机继续或暂停启动,动态错峰启动VM,缩短虚拟机的启动时间。
图8示意性示出了根据本公开实施例的应用于云平台的信息处理装置的框图。
如图8所示,该装置800可以包括第二获取模块810,第三获取模块820,生成模块830以及发送模块840。其中:
第二获取模块810,例如执行前述操作S310,用于通过能够为虚拟机提供监控服务的监控设备获得虚拟机的运行状态信息。
第三获取模块820,例如执行前述操作S320,用于获取云平台的负载信息。
生成模块830,例如执行前述操作S330,用于基于虚拟机的运行状态信息和云平台的负载信息,生成控制虚拟机继续启动或暂停启动的控制指令。
发送模块840,例如执行前述操作S340,用于向监控设备发送控制指令,以使得监控设备能够基于控制指令控制虚拟机继续启动或暂停启动。
通过本公开的实施例,基于所述虚拟机的实际运行状态信息和所述云平台的负载信息,可以有效避免资源争用导致虚拟机启动过慢的技术问题,达到错峰启动的技术效果,宏观上缩短虚拟机启动时间。
图9示意性示出了根据本公开实施例的生成模块的框图。
如图9所示,生成模块830可以包括第一获取子模块910,第二获取子模块920,检测子模块930以及第一生成子模块940。其中:
第一获取子模块910,例如执行前述操作S410,用于获取云平台中运行任务数量阈值。
第二获取子模块920,例如执行前述操作S420,用于获得云平台当前处于运行状态的任务数量。
检测子模块930,例如执行前述操作S430,用于检测虚拟机的继续启动是否使得当前处于运行状态的任务数量不超过运行任务数量阈值。
第一生成子模块940,例如执行前述操作S440,用于在虚拟机的继续启动使得当前处于运行状态的任务数量不超过运行任务数量阈值的情况下,生成控制虚拟机继续启动的控制指令。
通过本公开的实施例,通过细粒度的VM启动状态信息及云平台负载信息,在所述虚拟机的继续启动使得当前处于运行状态的任务数量不超过所述运行任务数量阈值的情况下,控制所述虚拟机继续启动,动态错峰启动VM,可以在宏观上缩短虚拟机启动时间。
图10示意性示出了根据本公开另一实施例的生成模块的框图。
如图10所示,生成模块830除了可以包括第一获取子模块910,第二获取子模块920,检测子模块930以及第一生成子模块940之外,还可以包括第二生成子模块1010,例如执行前述操作S510,用于在虚拟机的继续启动使得当前处于运行状态的任务数量超过运行任务数量阈值的情况下,生成控制虚拟机暂停启动的控制指令。
通过本公开的实施例,通过细粒度的VM启动状态信息及云平台负载信息,在所述虚拟机的继续启动使得当前处于运行状态的任务数量超过所述运行任务数量阈值的情况下,控制虚拟机暂停启动,动态错峰启动VM,可以在宏观上缩短虚拟机启动时间。
图11示意性示出了根据本公开实施例的第一获取子模块的框图。
如图11所示,第一获取子模块910可以包括获取单元1110以及调整单元1120。其中:
获取单元1110,用于获取云平台的性能指标。
调整单元1120,用于基于性能指标,调整云平台中运行任务数量阈值。
通过本公开的实施例,实时调整云平台中运行任务数量阈值,使得在批量创建或批量启动VM时,可以基于最可靠最新的云平台信息,控制虚拟机的继续启动或暂停启动,有利于维持云平台的健康运行。
根据本公开的实施例的模块中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,第一获取模块710以及更新模块720中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,第一获取模块710以及更新模块720中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一获取模块710以及更新模块720中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图12示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机系统的框图。图12示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图12所示,计算机系统1200包括处理器1210、计算机可读存储介质1220。该计算机系统1200可以执行根据本公开实施例的方法。
具体地,处理器1210例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器1210还可以包括用于缓存用途的板载存储器。处理器1210可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
计算机可读存储介质1220,例如可以是非易失性的计算机可读存储介质,具体示例包括但不限于:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;等等。
计算机可读存储介质1220可以包括计算机程序1221,该计算机程序1221可以包括代码/计算机可执行指令,其在由处理器1210执行时使得处理器1210执行根据本公开实施例的方法或其任何变形。
计算机程序1221可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序1221中的代码可以包括一个或多个程序模块,例如包括1221A、模块1221B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器1210执行时,使得处理器1210可以执行根据本公开实施例的方法或其任何变形。
根据本发明的实施例,第一获取模块710、更新模块720中的至少一个可以实现为参考图12描述的计算机程序模块,其在被处理器1210执行时,可以实现上面描述的相应操作。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。

Claims (8)

1.一种信息处理方法,应用于虚拟机,所述虚拟机包括特定虚拟设备,所述方法包括:
通过所述特定虚拟设备获得所述虚拟机的运行状态信息,以使得云平台能够基于所述运行状态信息向监控设备发送控制指令,其中,所述控制指令用于控制所述虚拟机继续启动或暂停启动,所述监控设备能够为所述虚拟机提供监控服务;以及
在所述运行状态信息发生改变的情况下,更新所述虚拟机的运行状态信息到所述特定虚拟设备;
通过所述监控设备向所述云平台发送所述虚拟机的运行状态信息,以便云平台根据所述虚拟机的运行状态信息和所述云平台的负载信息,生成控制所述虚拟机继续启动或暂停启动的控制指令;
其中,所述根据所述虚拟机的运行状态信息和所述云平台的负载信息,生成控制所述虚拟机继续启动或暂停启动的控制指令包括:
获取所述云平台中运行任务数量阈值;
获得所述云平台当前处于运行状态的任务数量;
检测所述虚拟机的继续启动是否使得当前处于运行状态的任务数量不超过所述运行任务数量阈值;以及
在所述虚拟机的继续启动使得当前处于运行状态的任务数量不超过所述运行任务数量阈值的情况下,生成控制所述虚拟机继续启动的控制指令。
2.一种信息处理方法,应用于云平台,包括:
通过能够为虚拟机提供监控服务的监控设备获得所述虚拟机的运行状态信息;
获取所述云平台的负载信息;
基于所述虚拟机的运行状态信息和所述云平台的负载信息,生成控制所述虚拟机继续启动或暂停启动的控制指令;以及
向所述监控设备发送控制指令,以使得所述监控设备能够基于所述控制指令控制所述虚拟机继续启动或暂停启动;
所述基于所述虚拟机的运行状态信息和所述云平台的负载信息,生成控制所述虚拟机继续启动或暂停启动的控制指令包括:
获取所述云平台中运行任务数量阈值;
获得所述云平台当前处于运行状态的任务数量;
检测所述虚拟机的继续启动是否使得当前处于运行状态的任务数量不超过所述运行任务数量阈值;以及
在所述虚拟机的继续启动使得当前处于运行状态的任务数量不超过所述运行任务数量阈值的情况下,生成控制所述虚拟机继续启动的控制指令。
3.根据权利要求2所述的方法,还包括:
在所述虚拟机的继续启动使得当前处于运行状态的任务数量超过所述运行任务数量阈值的情况下,生成控制所述虚拟机暂停启动的控制指令。
4. 根据权利要求2所述的方法,其中,所述获取所述云平台中运行任务数量阈值包括:
获取所述云平台的性能指标;以及
基于所述性能指标,调整所述云平台中运行任务数量阈值。
5. 一种信息处理装置,应用于虚拟机,所述虚拟机包括特定虚拟设备,所述装置包括:
第一获取模块,用于通过所述特定虚拟设备获得所述虚拟机的运行状态信息,以使得云平台能够基于所述运行状态信息向监控设备发送控制指令,其中,所述控制指令用于控制所述虚拟机继续启动或暂停启动,所述监控设备能够为所述虚拟机提供监控服务;以及
更新模块,用于在所述运行状态信息发生改变的情况下,更新所述虚拟机的运行状态信息到所述特定虚拟设备;
通过所述监控设备向所述云平台发送所述虚拟机的运行状态信息,以便云平台根据所述虚拟机的运行状态信息和所述云平台的负载信息,生成控制所述虚拟机继续启动或暂停启动的控制指令;
其中,所述根据所述虚拟机的运行状态信息和所述云平台的负载信息,生成控制所述虚拟机继续启动或暂停启动的控制指令包括:
获取所述云平台中运行任务数量阈值;
获得所述云平台当前处于运行状态的任务数量;
检测所述虚拟机的继续启动是否使得当前处于运行状态的任务数量不超过所述运行任务数量阈值;以及
在所述虚拟机的继续启动使得当前处于运行状态的任务数量不超过所述运行任务数量阈值的情况下,生成控制所述虚拟机继续启动的控制指令。
6.一种信息处理装置,应用于云平台,包括:
第二获取模块,用于通过能够为虚拟机提供监控服务的监控设备获得所述虚拟机的运行状态信息;
第三获取模块,用于获取所述云平台的负载信息;
生成模块,用于基于所述虚拟机的运行状态信息和所述云平台的负载信息,生成控制所述虚拟机继续启动或暂停启动的控制指令;以及
发送模块,用于向所述监控设备发送控制指令,以使得所述监控设备能够基于所述控制指令控制所述虚拟机继续启动或暂停启动;
所述生成模块包括:
第一获取子模块,用于获取所述云平台中运行任务数量阈值;
第二获取子模块,用于获得所述云平台当前处于运行状态的任务数量;
检测子模块,用于检测所述虚拟机的继续启动是否使得当前处于运行状态的任务数量不超过所述运行任务数量阈值;以及
第一生成子模块,用于在所述虚拟机的继续启动使得当前处于运行状态的任务数量不超过所述运行任务数量阈值的情况下,生成控制所述虚拟机继续启动的控制指令。
7.根据权利要求6所述的装置,还包括:
第二生成子模块,用于在所述虚拟机的继续启动使得当前处于运行状态的任务数量超过所述运行任务数量阈值的情况下,生成控制所述虚拟机暂停启动的控制指令。
8. 根据权利要求6所述的装置,其中,所述第一获取子模块包括:
获取单元,用于获取所述云平台的性能指标;以及
调整单元,用于基于所述性能指标,调整所述云平台中运行任务数量阈值。
CN201811478472.2A 2018-12-04 2018-12-04 信息处理方法及其装置 Active CN109522096B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811478472.2A CN109522096B (zh) 2018-12-04 2018-12-04 信息处理方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811478472.2A CN109522096B (zh) 2018-12-04 2018-12-04 信息处理方法及其装置

Publications (2)

Publication Number Publication Date
CN109522096A CN109522096A (zh) 2019-03-26
CN109522096B true CN109522096B (zh) 2021-08-17

Family

ID=65794892

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811478472.2A Active CN109522096B (zh) 2018-12-04 2018-12-04 信息处理方法及其装置

Country Status (1)

Country Link
CN (1) CN109522096B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102427475A (zh) * 2011-12-08 2012-04-25 曙光信息产业(北京)有限公司 一种云计算环境中负载均衡调度的系统
CN106201650A (zh) * 2016-06-29 2016-12-07 联想(北京)有限公司 一种虚拟机控制方法和系统
CN107645410A (zh) * 2017-09-05 2018-01-30 郑州云海信息技术有限公司 一种基于OpenStack云平台的虚拟机管理系统及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10310883B2 (en) * 2015-07-06 2019-06-04 Purdue Research Foundation Integrated configuration engine for interference mitigation in cloud computing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102427475A (zh) * 2011-12-08 2012-04-25 曙光信息产业(北京)有限公司 一种云计算环境中负载均衡调度的系统
CN106201650A (zh) * 2016-06-29 2016-12-07 联想(北京)有限公司 一种虚拟机控制方法和系统
CN107645410A (zh) * 2017-09-05 2018-01-30 郑州云海信息技术有限公司 一种基于OpenStack云平台的虚拟机管理系统及方法

Also Published As

Publication number Publication date
CN109522096A (zh) 2019-03-26

Similar Documents

Publication Publication Date Title
US20210216360A1 (en) Virtual machine migration method and apparatus
US9172587B2 (en) Providing automated quality-of-service (‘QoS’) for virtual machine migration across a shared data center network
US20180232225A1 (en) Applying update to snapshots of virtual machine
US10404795B2 (en) Virtual machine high availability using shared storage during network isolation
US10353739B2 (en) Virtual resource scheduling for containers without migration
CN110720091B (zh) 用于与托管的应用/虚拟网络功能(vnf)协调基础设施升级的方法
EP2614436B1 (en) Controlled automatic healing of data-center services
US20120047357A1 (en) Methods and systems for enabling control to a hypervisor in a cloud computing environment
US20160378563A1 (en) Virtual resource scheduling for containers with migration
US10579437B2 (en) Migrating a logical partition with a native logical port
US10481932B2 (en) Auto-scaling virtual switches
US9558082B2 (en) VM availability during migration and VM network failures in host computing systems
KR20130022091A (ko) 클라우드 컴퓨팅 서버 시스템의 가상머신 제어 장치 및 방법
US20180060059A1 (en) Synchronizing configurations for container hosted applications
CN110874262A (zh) 云迁移
US11461120B2 (en) Methods and apparatus for rack nesting in virtualized server systems
RU2678513C2 (ru) Эффективная маршрутизация прерываний для многопоточного процесса
US9841983B2 (en) Single click host maintenance
US20150339144A1 (en) Maintaining virtual hardware device id in a virtual machine
CN113826072B (zh) 系统管理模式中的代码更新
US20180032361A1 (en) Virtual Machines Deployment in a Cloud
US10691479B2 (en) Virtual machine placement based on device profiles
US20190012184A1 (en) System and method for deploying cloud based computing environment agnostic applications
US10102024B2 (en) System and methods to create virtual machines with affinity rules and services asymmetry
US11106380B2 (en) Migration of storage for workloads between desktop and cloud environments

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