CN106201650B - 一种虚拟机控制方法和系统 - Google Patents

一种虚拟机控制方法和系统 Download PDF

Info

Publication number
CN106201650B
CN106201650B CN201610500476.0A CN201610500476A CN106201650B CN 106201650 B CN106201650 B CN 106201650B CN 201610500476 A CN201610500476 A CN 201610500476A CN 106201650 B CN106201650 B CN 106201650B
Authority
CN
China
Prior art keywords
virtual machine
condition information
control
user
starting
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
CN201610500476.0A
Other languages
English (en)
Other versions
CN106201650A (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 CN201610500476.0A priority Critical patent/CN106201650B/zh
Publication of CN106201650A publication Critical patent/CN106201650A/zh
Application granted granted Critical
Publication of CN106201650B publication Critical patent/CN106201650B/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • 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/45575Starting, stopping, suspending or resuming virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请公开一种虚拟机控制方法和系统,所述方法获取用户对虚拟机的访问情况信息,以及获取虚拟机的运行情况信息,并基于所述访问情况信息及所述运行情况信息,对虚拟机进行控制。可见,本申请无需通过用户提单,管理员依据具体提单请求执行相应操作的方式实现对虚拟机进行控制,对虚拟机的管理或控制过程无需用户及管理员参与,可基于本申请方案自动执行,从而本申请解决了现有技术存在的上述问题,可有效降低网络资源浪费及用户的使用成本,同时减轻了管理员的负担。

Description

一种虚拟机控制方法和系统
技术领域
本发明属于虚拟机管理与控制技术领域,尤其涉及一种虚拟机控制方法和系统。
背景技术
目前,在云计算环境下的虚拟机应用中,用户对虚拟机生命周期的所有管理或控制操作,如创建,启动,关闭,销毁等,都需要通过管理员来进行,具体需要向管理员提单,然后由管理员依据具体的提单请求执行相应操作。
此种方式增加了管理员的负担,且使用不便;除此之外,用户往往会在无需使用虚拟机的情况下,因未及时进行相应的暂停、关闭或销毁等类型的提单,而导致虚拟机长期处于空闲状态,从而在造成网络资源(如网络服务器为虚拟机分配的CPU、内存等)浪费的同时还提高了用户的使用成本。
发明内容
有鉴于此,本发明的目的在于提供一种虚拟机控制方法和系统,旨在解决上述问题,以减轻管理员的负担,降低网络资源浪费以及降低用户的使用成本。
为此,本发明公开如下技术方案:
一种虚拟机控制方法,包括:
获取用户对虚拟机的访问情况信息;
获取虚拟机的运行情况信息;
基于所述访问情况信息及所述运行情况信息,对虚拟机进行控制。
上述方法,优选的,所述获取用户对虚拟机的访问情况信息包括:
获取用户对虚拟机的访问频率、最近一次的访问时间、访问虚拟机时使用的网络协议及端口。
上述方法,优选的,所述获取虚拟机的运行情况信息包括:
获取虚拟机的当前的输入或输出情况信息、虚拟机的相关进程信息及端口信息。
上述方法,优选的,所述基于所述访问情况信息及所述运行情况信息,对虚拟机进行控制包括:
基于预先设定的决策规则,对所述访问情况信息及所述运行情况信息进行分析,确定需采用的控制类型;
依据所述控制类型,对虚拟机进行控制。
上述方法,优选的,所述控制类型包括:创建、启动、暂停、关闭、销毁,则所述依据所述控制类型,对虚拟机进行控制包括:
当所述控制类型为暂停或关闭时,启动一预先创建的虚拟机模拟器,并控制虚拟机暂停或关闭,以使得节省网络资源;其中,所述虚拟机模拟器用于在所述虚拟机暂停或关闭期间,处理分配至所述虚拟机的网络请求。
上述方法,优选的,所述依据所述控制类型,对虚拟机进行控制还包括:
当所述控制类型为启动时,则启动虚拟机,并关闭所述虚拟机模拟器。
一种虚拟机控制系统,包括:
第一获取模块,用于获取用户对虚拟机的访问情况信息;
第二获取模块,用于获取虚拟机的运行情况信息;
控制模块,用于基于所述访问情况信息及所述运行情况信息,对虚拟机进行控制。
上述系统,优选的,所述第一获取模块具体用于获取用户对虚拟机的访问频率、最近一次的访问时间、访问虚拟机时使用的网络协议及端口。
上述系统,优选的,所述第二获取模块具体用于获取虚拟机的当前的输入或输出情况信息、虚拟机的相关进程信息及端口信息。
上述系统,优选的,所述控制模块包括:
确定单元,用于基于预先设定的决策规则,对所述访问情况信息及所述运行情况信息进行分析,确定需采用的控制类型;
控制单元,用于依据所述控制类型,对虚拟机进行控制。
上述系统,优选的,所述控制类型包括:创建、启动、暂停、关闭、销毁,则所述控制单元包括:第一控制子单元,用于在所述控制类型为暂停或关闭时,启动一预先创建的虚拟机模拟器,并控制虚拟机暂停或关闭,以使得节省网络资源;其中,所述虚拟机模拟器用于在所述虚拟机暂停或关闭期间,处理分配至所述虚拟机的网络请求。
上述系统,优选的,所述控制单元还包括:第二控制子单元,用于在所述控制类型为启动时,则启动虚拟机,并关闭所述虚拟机模拟器。
由以上方案可知,本申请公开了一种虚拟机控制方法和系统,所述方法获取用户对虚拟机的访问情况信息,以及获取虚拟机的运行情况信息,并基于所述访问情况信息及所述运行情况信息,对虚拟机进行控制。可见,本申请无需通过用户提单、管理员依据具体提单请求执行相应操作的方式实现对虚拟机进行控制,对虚拟机的管理或控制过程无需用户及管理员参与,可基于本申请方案自动执行,从而本申请解决了现有技术存在的上述问题,可有效降低网络资源浪费及用户的使用成本,同时减轻了管理员的负担。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是现有技术中用户控制及使用虚拟机的原理图;
图2是本申请提供的一种虚拟机控制方法实施例一的流程图;
图3是本申请实施例一实现虚拟机控制的控制原理示意图;
图4是本申请提供的一种虚拟机控制方法实施例二的流程图;
图5是本申请实施例二实现虚拟机控制的控制原理示意图;
图6是本申请提供的一种虚拟机控制方法实施例三的流程图;
图7是本申请实施例三实现虚拟机控制的控制原理示意图;
图8是本申请提供的一种虚拟机控制系统实施例四的结构示意图;
图9是本申请提供的一种虚拟机控制系统实施例五的结构示意图;
图10是本申请提供的一种虚拟机控制系统实施例六的结构示意图。
具体实施方式
为了引用和清楚起见,下文中使用的技术名词、简写或缩写总结解释如下:
Nat模块:即网络地址转换模块,设置在网络服务器中,一般来说,每个虚拟机均对应一个内网IP以及一外网IP(EIP),Nat模块中存放各虚拟机的EIP与其内网IP间的对应关系表,从而当用户/终端访问虚拟机时,Nat模块将用户/终端访问的EIP转换为相应的内部IP,并将用户/终端的访问请求转发至该内部IP对应的虚拟机,虚拟机处理请求得到响应信息后,继续基于Nat模块的网络地址转换作用,由Nat模块将响应信息转发至用户/终端。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本申请提供一种虚拟机控制方法,在对本申请方法进行说明之前,首先对现有技术中用户对虚拟机的控制及使用过程进行介绍。参考图1示出的现有技术中用户控制及使用虚拟机的原理图,如果用户需对虚拟机进行相应的管理/控制,如创建、启动、暂停、关闭、销毁虚拟机等,则需要向管理员提单,管理员会基于具体的提单请求在管理模块1执行相应操作实现对虚拟机2进行所需的管理/控制。在虚拟机2运行过程中,当用户访问需虚拟机2时,Nat(Network Address Translation,网络地址转换)模块3根据用户所需访问的虚拟机2的EIP(External IP,外网IP)将访问请求转发给对应的虚拟机2,虚拟机2在收到用户请求后进行相应处理,并通过Nat模块3将响应信息返回给用户。
本申请方法的主要构思包括基于监控用户对虚拟机的使用情况,并结合监控虚拟机的运行情况,对虚拟机生命周期的各个阶段进行自动控制,该方法适用于在云计算等环境下对虚拟机生命周期的各个阶段进行自动控制,以用于克服现有技术因需通过用户提单、管理员依据具体提单请求执行相应操作来实现对虚拟机进行控制的这一方式,所存在的网络资源利用率低、管理员负担重以及用户使用成本高、操作不便等各种弊端。
接下来对本申请方法实现对虚拟机进行自动控制的控制过程进行详细阐述,参考图2,图2示出了本申请提供的一种虚拟机控制方法实施例一的流程图,所述方法具体可以包括以下步骤:
S201:获取用户对虚拟机的访问情况信息。
本步骤获取的所述访问情况信息,可以包括用户对虚拟机进行访问的访问频率、最近一次的访问时间、访问虚拟机时使用的网络协议及端口等一系列访问情况相关信息。
上述一系列访问情况信息的获取,具体可通过对网络中用户访问虚拟机的实际情况进行监控来实现,例如,参考图3示出的本实施例实现虚拟机控制的控制原理示意图,本实施例通过在网络中设置一网络监控模块4实现对用户对虚拟机的访问情况进行监控,如图3所示,具体可通过在Nat模块3及管理模块1之间设置一网络监控模块4,并利用设置的该网络监控模块4读取Nat模块3所接收的用户访问信息(如用户发出的服务请求、网络请求等),实现对用户的访问情况信息进行监控、获取。
在本发明其他可能的实现方式中,还可以在用户终端与Nat模块之间设置一监控模块,并通过截获(不影响用户请求至Nat模块的传输)用户请求的方式实现用户访问情况信息的监控及获取。具体实施本申请时,本领域技术人员可基于实际需求选择适宜采用的实现方式,本申请对此不作限定。
S202;获取虚拟机的运行情况信息。
所述虚拟机的运行情况信息,可以包括虚拟机当前的输入或输出情况信息、虚拟机的相关进程信息及端口信息等一系列信息。
虚拟机的一系列运行情况信息,可通过对虚拟机的运行情况进行监控来获取,例如,再次参考图3,本实施例具体通过在虚拟机2与管理模块1之间设置一虚拟机监控模块5实现对虚拟机的运行情况进行监控,以此得到虚拟机当前的输入或输出情况信息、虚拟机的相关进程信息及端口信息等一系列信息。
需要说明的是,用户访问情况信息及虚拟机运行情况信息的获取顺序,不限于本实施例所示出的先后次序,具体实施时,本领域技术人员可自行选择先获取用户访问情况信息后获取虚拟机运行情况信息,或先获取虚拟机运行情况信息后获取用户访问情况信息,或两者同时获取等方式中的任一方式进行信息获取。
S203:基于所述访问情况信息及所述运行情况信息,对虚拟机进行控制。
在监控并获取用户对虚拟机的上述访问情况信息及虚拟机的运行信息基础上,可对所述访问情况信息及虚拟机的运行情况信息进行综合分析,并基于分析结果确定用户对虚拟机的控制需求,最终基于用户控制需求对虚拟机进行所需的控制,从而实现了对虚拟机生命周期的各个阶段进行自动管理/控制,由于可基于用户的使用行为及时对虚拟机进行暂停或关机等控制,因此可有效降低虚拟机的网络资源浪费,提升网络资源利用率。
由以上方案可知,本申请公开了一种虚拟机控制方法,所述方法获取用户对虚拟机的访问情况信息,以及获取虚拟机的运行情况信息,并基于所述访问情况信息及所述运行情况信息,对虚拟机进行控制。可见,本申请无需通过用户提单、管理员依据具体提单请求执行相应操作的方式实现对虚拟机进行控制,对虚拟机的管理或控制过程无需用户及管理员参与,可基于本申请方案自动执行,从而本申请解决了现有技术存在的上述问题,可有效降低网络资源浪费及用户的使用成本,同时减轻了管理员的负担。
实施例二
本实施例二提供基于监控信息(包括用户的访问情况信息、虚拟机的运行情况信息)进行虚拟机控制的一种可能的实现方式,具体地,参考图4示出的本申请提供的一种虚拟机控制方法实施例二的流程图,本实施例中,所述步骤S103具体可以通过以下步骤实现:
S2031:基于预先设定的决策规则,对所述访问情况信息及所述运行情况信息进行分析,确定需采用的控制类型;
S2032:依据所述控制类型,对虚拟机进行控制
即,具体地,在通过相应监控手段获取用户的访问情况信息、虚拟机的运行情况信息等相关监控信息之后,可利用预先设定的决策规则,对所述访问情况信息及虚拟机的运行情况信息进行综合分析,确定出当前是否需要对虚拟机进行控制,以及需要控制时对应需采用的控制类型,所述控制类型可以是与虚拟机生命周期中任一阶段相对应的控制类型,例如可以是创建、启动、暂停、关机或销毁等控制类型;在此基础上,对虚拟机进行与所述控制类型相对应的控制,以此实现对虚拟机生命周期的各个阶段进行自动管理/控制。
参考图5示出的本实施例二实现虚拟机控制的控制原理示意图,本实施例具体在网络监控模块4及虚拟机监控模块5与管理模块1之间设置一决策模块6,通过设置的该决策模块6实现基于预先设定的决策规则,对上传自网络监控模块4的用户访问情况信息,及上传自虚拟机监控模块5的虚拟机运行情况信息进行综合分析及决策,得出决策结果,并基于决策结果生成相应控制指令下发至管理模块1,由管理模块1执行该指令实现对虚拟机进行控制。
例如,假设依据用户最近一次访问虚拟机的时间分析出用户超出第一预设时长(暂停控制所对应的时长)未访问虚拟机,且虚拟机当前闲置,如不存在输入/输出任务、不存在端口占用、所有进程结束等(表征虚拟机当前状态支持即将面临的暂停控制),则可确定出当前需对虚拟机进行暂停控制;如果用户超出所述第一预设时长未访问虚拟机,但虚拟机当前未闲置,如当前存在相关进程正在执行等,则需进行延时等待,至少需等待至虚拟机执行结束时或采用预设干预机制对虚拟机正在执行的任务进行干预结束时才能对虚拟机进行控制,此时,如果用户未访问的时长未达到设定的第二预设时长(关机控制对应的时长),则对虚拟机进行暂停控制,否则,如果达到所述第二预设时长,则对虚拟机进行关机控制。
其中,所采用的决策规则可以是用户或管理员依据实际需求自行设定的规则,也可以是系统/网络服务器基于监控用户访问情况及服务器运行情况,在总结/学习出用户访问规律及服务器运行规律基础上所制定的规则(之后还可通过动态学习过程对决策规则进行动态更新),例如,基于用户访问虚拟机的频率,制定对虚拟机进行暂停控制或关机控制分别需采用的所述第一预设时长、所述第二预设时长,基于用户访问虚拟机时采用的网络协议及端口,确定用户所需服务的服务类型,进一步确定进行启机控制时具体指向的虚拟机等。实施本发明时,本领域技术人员可基于实际需求选取所述决策规则的实现方式,本申请对此不作限定。
实施例三
本实施例三提供基于监控信息(包括用户的访问情况信息、虚拟机的运行情况信息)进行虚拟机控制的另一种可能的实现方式,该方式具体是在实施例二的方式的基础上,对实施例二方式的进一步完善及改进。参考图6示出的本申请提供的一种虚拟机控制方法实施例三的流程图,本实施例中,所述步骤S1032具体可以包括以下步骤:
S1033:当所述控制类型为暂停或关闭时,启动一预先创建的虚拟机模拟器,并控制虚拟机暂停或关闭,以使得节省网络资源;其中,所述虚拟机模拟器用于在所述虚拟机暂停或关闭期间,处理分配至所述虚拟机的网络请求。
S1034:当所述控制类型为启动时,则启动虚拟机,并关闭所述虚拟机模拟器。
本实施例预先创建一虚拟机模拟器,该虚拟机模拟器用于在虚拟机未运行状况下,如虚拟机暂停或关机状况下,模拟虚拟机的处理过程来处理一些网络请求,该网络请求可以是用户发出的请求,也可以是来自网络中其他来源的请求,如ping,ICMP(InternetControl Message Protocol,网络控制报文协议)请求等,以实现替代虚拟机响应服务请求之外的一些简单网络请求,即对于一些诸如ping,ICMP等简单的网络请求,不必启动虚拟机,可由所述虚拟机模拟器替代处理,从而可进一步降低网络资源浪费。
基于此,当需对虚拟机进行暂停或关闭控制时,需首先启动所述虚拟机模拟器,之后控制虚拟机暂停或关闭,从而在虚拟机暂停或关闭期间,所启动的虚拟机模拟器可替代虚拟机处理一些诸如ping,ICMP请求等网络请求;而在需对虚拟机进行启动控制时,如监控到用户发出服务请求,需由虚拟机处理时,则在启动虚拟机后,需关闭所述虚拟机模拟器,之后由虚拟机处理并响应网络分配的请求信息,如用户的服务请求、网络请求,以及网络中其他来源的网络请求等。
参考图7示出的本实施例三实现虚拟机控制的控制原理示意图,本实施例具体在Nat模块3与决策模块6之间设置一虚拟机模拟器7,并在需要对虚拟机进行暂停/关机控制或启动控制时,对应启动或关闭所述虚拟机模拟器7,实现在虚拟机未运行状况下,利用所述虚拟机模拟器7替代执行网络中的一些网络请求(来自用户或其他来源)。
其中,当在启动或关闭所述虚拟机模拟器7时,同时需对NAT模块3中存储的地址对应关系表进行相应修改,具体地,当启动所述虚拟机模拟器7时,需将被控(暂停、关闭等)虚拟机的EIP与其内部IP间的映射关系,修改为被控虚拟机的EIP与所述虚拟机模拟器标识间的映射关系;当关闭所述虚拟机模拟器7时,则需将被控(启动)虚拟机的EIP与所述虚拟机模拟器标识间的映射关系,修改为被控虚拟机的EIP与其内部IP的对应关系,以实现为请求信息及响应信息的正常转发提供支持。
本实施例通过设置一虚拟机模拟器,并在虚拟机未运行状况下,利用所述虚拟机模拟器替代虚拟机执行一些网络请求(来自用户或其他来源),实现了在网络中存在一些诸如ping,ICMP等网络请求时,不必启动虚拟机,从而进一步降低了网络资源的浪费。
实施例四
本申请提供一种虚拟机控制系统,在对本申请系统进行说明之前,首先对现有技术中用户对虚拟机的控制及使用过程进行介绍。参考图1示出的现有技术中用户控制及使用虚拟机的原理图,如果用户需对虚拟机进行相应的管理/控制,如创建、启动、暂停、关闭、销毁虚拟机等,则需要向管理员提单,管理员会基于具体的提单请求在管理模块1执行相应操作实现对虚拟机2进行所需的管理/控制。在虚拟机2运行过程中,当用户需访问虚拟机2时,Nat模块3根据用户所需访问的虚拟机2的EIP将访问请求转发给对应的虚拟机2,虚拟机2在收到用户请求后进行相应处理,并通过Nat模块3将响应信息返回给用户。
本申请系统的主要构思包括基于监控用户对虚拟机的使用情况,并结合监控虚拟机的运行情况,对虚拟机生命周期的各个阶段进行自动控制,具体适用于在云计算等环境下对虚拟机生命周期的各个阶段进行自动控制,以用于克服现有技术因需通过用户提单、管理员依据具体提单请求执行相应操作来实现对虚拟机进行控制的这一方式,所存在的网络资源利用率低、管理员负担重以及用户使用成本高、操作不便等各种弊端。
接下来将对本申请系统实现对虚拟机进行自动控制的控制过程进行详细阐述,参考图8,图8示出了本申请提供的一种虚拟机控制系统实施例四的结构示意图,所述系统可以包括第一获取模块100、第二获取模块200和控制模块300。
第一获取模块100,用于获取用户对虚拟机的访问情况信息。
本模块获取的所述访问情况信息,可以包括用户对虚拟机进行访问的访问频率、最近一次的访问时间、访问虚拟机时使用的网络协议及端口等一系列访问情况相关信息。
上述一系列访问情况信息的获取,具体可通过对网络中用户访问虚拟机的实际情况进行监控来实现,例如,参考图3示出的本实施例实现虚拟机控制的控制原理示意图,本实施例通过在网络中设置一网络监控模块4实现对用户对虚拟机2的访问情况进行监控,如图3所示,具体可通过在Nat模块3及管理模块1之间设置一网络监控模块4,并利用设置的该网络监控模块4读取Nat模块3所接收的用户访问信息(如用户发出的服务请求、网络请求等),实现对用户的访问情况信息进行监控、获取。
在本发明其他可能的实现方式中,还可以在用户终端与Nat模块之间设置一监控模块,并通过截获(不影响用户请求至Nat模块的传输)用户请求的方式实现用户访问情况信息的监控及获取。具体实施本申请时,本领域技术人员可基于实际需求选择适宜采用的实现方式,本申请对此不作限定。
第二获取模块200,用于获取虚拟机的运行情况信息。
所述虚拟机的运行情况信息,可以包括虚拟机当前的输入或输出情况信息、虚拟机的相关进程信息及端口信息等一系列信息。
虚拟机的一系列运行情况信息,可通过对虚拟机的运行情况进行监控来获取,例如,再次参考图3,本实施例具体通过在虚拟机2与管理模块1之间设置一虚拟机监控模块5实现对虚拟机的运行情况进行监控,以此得到虚拟机当前的输入或输出情况信息、虚拟机的相关进程信息及端口信息等一系列信息。
需要说明的是,用户访问情况信息及虚拟机运行情况信息的获取顺序,不限于本实施例所示出的先后次序,具体实施时,本领域技术人员可自行选择先获取用户访问情况信息后获取虚拟机运行情况信息,或先获取虚拟机运行情况信息后获取用户访问情况信息,或两者同时获取等方式中的任一方式进行信息获取。
控制模块300,用于基于所述访问情况信息及所述运行情况信息,对虚拟机进行控制。
在监控并获取用户对虚拟机的上述访问情况信息及虚拟机的运行信息基础上,可对所述访问情况信息及虚拟机的运行情况信息进行综合分析,并基于分析结果确定用户对虚拟机的控制需求,最终基于用户控制需求对虚拟机进行所需的控制,从而实现了对虚拟机生命周期的各个阶段进行自动管理/控制,由于可基于用户的使用行为及时对虚拟机进行暂停或关机等控制,因此可有效降低虚拟机的网络资源浪费,提升网络资源利用率。
由以上方案可知,本申请公开了一种虚拟机控制系统,所述系统获取用户对虚拟机的访问情况信息,以及获取虚拟机的运行情况信息,并基于所述访问情况信息及所述运行情况信息,对虚拟机进行控制。可见,本申请无需通过用户提单、管理员依据具体提单请求执行相应操作的方式实现对虚拟机进行控制,对虚拟机的管理或控制过程无需用户及管理员参与,可基于本申请方案自动执行,从而本申请解决了现有技术存在的上述问题,可有效降低网络资源浪费及用户的使用成本,同时减轻了管理员的负担。
实施例五
本实施例五提供基于监控信息(包括用户的访问情况信息、虚拟机的运行情况信息)进行虚拟机控制的一种可能的实现方式,具体地,参考图9示出的本申请提供的一种虚拟机控制系统实施例五的结构示意图,本实施例中,所述控制模块可以通过以下的确定单元301、控制单元302实现:
确定单元301,用于基于预先设定的决策规则,对所述访问情况信息及所述运行情况信息进行分析,确定需采用的控制类型;
控制单元302,用于依据所述控制类型,对虚拟机进行控制。
即,具体地,在通过相应监控手段获取用户的访问情况信息、虚拟机的运行情况信息等相关监控信息之后,可利用预先设定的决策规则,对所述访问情况信息及虚拟机的运行情况信息进行综合分析,确定出当前是否需要对虚拟机进行控制,以及需要控制时对应需采用的控制类型,所述控制类型可以是与虚拟机生命周期中任一阶段相对应的控制类型,例如可以是创建、启动、暂停、关机或销毁等控制类型;在此基础上,对虚拟机进行与所述控制类型相对应的控制,以此实现对虚拟机生命周期的各个阶段进行自动管理/控制。
参考图5示出的本实施例五实现虚拟机控制的控制原理示意图,本实施例具体在网络监控模块4及虚拟机监控模块5与管理模块1之间设置一决策模块6,通过设置的该决策模块6实现基于预先设定的决策规则,对上传自网络监控模块4的用户访问情况信息,及上传自虚拟机监控模块5的虚拟机运行情况信息进行综合分析及决策,得出决策结果,并基于决策结果生成相应控制指令下发至管理模块1,由管理模块1执行该指令实现对虚拟机进行控制。
例如,假设依据用户最近一次访问虚拟机的时间分析出用户超出第一预设时长(暂停控制所对应的时长)未访问虚拟机,且虚拟机当前闲置,如不存在输入/输出任务、不存在端口占用、所有进程结束等(表征虚拟机当前状态支持即将面临的暂停控制),则可确定出当前需对虚拟机进行暂停控制;如果用户超出所述第一预设时长未访问虚拟机,但虚拟机当前未闲置,如当前存在相关进程正在执行等,则需进行延时等待,至少需等待至虚拟机执行结束时或采用预设干预机制对虚拟机正在执行的任务进行干预结束时才能对虚拟机进行控制,此时,如果用户未访问的时长未达到设定的第二预设时长(关机控制对应的时长),则对虚拟机进行暂停控制,否则,如果达到所述第二预设时长,则对虚拟机进行关机控制。
其中,所采用的决策规则可以是用户或管理员依据实际需求自行设定的规则,也可以是系统/网络服务器基于监控用户访问情况及服务器运行情况在总结/学习出用户访问规律及服务器运行规律基础上所制定的规则(之后还可通过动态学习过程对决策规则进行动态更新),例如,基于用户访问虚拟机的频率,制定对虚拟机进行暂停控制或关机控制分别需采用的所述第一预设时长、所述第二预设时长,基于用户访问虚拟机时采用的网络协议及端口,确定用户所需服务的服务类型,进一步确定进行启机控制时具体指向的虚拟机等。实施本发明时,本领域技术人员可基于实际需求选取所述决策规则的实现方式,本申请对此不作限定。
实施例六
本实施例六提供基于监控信息(包括用户的访问情况信息、虚拟机的运行情况信息)进行虚拟机控制的另一种可能的实现方式,该方式具体是在实施例五的方式的基础上,对实施例五方式的进一步完善及改进。参考图10示出的本申请提供的一种虚拟机控制系统实施例六的结构示意图,本实施例中,所述控制单元302可以包括:
第一控制子单元3021,用于在所述控制类型为暂停或关闭时,启动一预先创建的虚拟机模拟器,并控制虚拟机暂停或关闭,以使得节省网络资源;其中,所述虚拟机模拟器用于在所述虚拟机暂停或关闭期间,处理分配至所述虚拟机的网络请求。
第二控制子单元3022,用于在所述控制类型为启动时,则启动虚拟机,并关闭所述虚拟机模拟器。
本实施例预先创建一虚拟机模拟器,该虚拟机模拟器用于在虚拟机未运行状况下,如虚拟机暂停或关机状况下,模拟虚拟机处理一些网络请求,该网络请求可以是用户发出的请求,也可以是来自网络中其他来源的请求,如ping,ICMP(Internet ControlMessage Protocol,网络控制报文协议)请求等,以实现替代虚拟机响应服务请求之外的一些简单网络请求,即对于一些诸如ping,ICMP等简单的网络请求,不必启动虚拟机,可由所述虚拟机模拟器替代处理,从而可进一步降低网络资源浪费。
基于此,当需对虚拟机进行暂停或关闭控制时,需首先启动所述虚拟机模拟器,之后控制虚拟机暂停或关闭,从而在虚拟机暂停或关闭期间,所启动的虚拟机模拟器可替代虚拟机处理一些诸如ping,ICMP请求等网络请求;而在需对虚拟机进行启动控制时,如监控到用户发出服务请求,需由虚拟机处理时,则在启动虚拟机后,需关闭所述虚拟机模拟器,之后由虚拟机处理并响应网络分配的请求信息,如用户的服务请求、网络请求,以及网络中其他来源的网络请求等。
参考图7示出的本实施例六实现虚拟机控制的控制原理示意图,本实施例具体在Nat模块3与决策模块6之间设置一虚拟机模拟器7,并在需要对虚拟机进行暂停/关机控制或启动控制时,对应启动或关闭所述虚拟机模拟器7,实现在虚拟机未运行状况下,利用所述虚拟机模拟器7替代执行网络中的一些网络请求(来自用户或其他来源)。
其中,当在启动或关闭所述虚拟机模拟器7时,同时需对NAT模块3中存储的地址对应关系表进行相应修改,具体地,当启动所述虚拟机模拟器7时,需将被控(暂停、关闭等)虚拟机的EIP与其内部IP间的映射关系,修改为被控虚拟机的EIP与所述虚拟机模拟器标识间的映射关系;当关闭所述虚拟机模拟器7时,则需将被控(启动)虚拟机的EIP与所述虚拟机模拟器标识间的映射关系,修改为被控虚拟机的EIP与其内部IP的对应关系,以实现为请求信息及响应信息的正常转发提供支持。
本实施例通过设置一虚拟机模拟器,并在虚拟机未运行状况下,利用所述虚拟机模拟器替代虚拟机执行一些网络请求(来自用户或其他来源),实现了在网络中存在一些诸如ping,ICMP等网络请求时,不必启动虚拟机,从而进一步降低了网络资源的浪费。
基于以上阐述,本申请具有以下优势:
1)对虚拟机整个生命周期的控制,基于用户使用行为进行自动化处理,减轻了管理员的负担;
2)对虚拟机生命周期的整个控制过程对用户完全透明,不影响用户的正常使用;在用户的虚拟机暂停或关闭情况下,虚拟机的IP仍可使用,相应网络请求(如ping等)也能得到响应(虚拟机模拟器替代虚拟机处理);
3)可以降低用户的使用成本;
4)可以提高整个网络资源利用率。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
为了描述的方便,描述以上系统或装置时以功能分为各种模块或单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
最后,还需要说明的是,在本文中,诸如第一、第二、第三和第四等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (12)

1.一种虚拟机控制方法,其特征在于,包括:
获取用户对虚拟机的访问情况信息;
获取虚拟机的运行情况信息;
基于所述访问情况信息及所述运行情况信息,对虚拟机生命周期的各个阶段进行控制,以使得虚拟机进入其生命周期中与所述访问情况信息及运行情况信息相匹配的阶段;
其中,在需控制虚拟机进入其生命周期中的暂停阶段或关机阶段的情况下,启动一预先创建的虚拟机模拟器,并控制虚拟机暂停或关闭;若接收到网络请求,利用所述虚拟机模拟器处理所述网络请求,且不启动虚拟机,若接收到服务请求,则启动虚拟机,并利用虚拟机处理所述服务请求。
2.根据权利要求1所述的方法,其特征在于,所述获取用户对虚拟机的访问情况信息包括:
获取用户对虚拟机的访问频率、最近一次的访问时间、访问虚拟机时使用的网络协议及端口。
3.根据权利要求1所述的方法,其特征在于,所述获取虚拟机的运行情况信息包括:
获取虚拟机的当前的输入或输出情况信息、虚拟机的相关进程信息及端口信息。
4.根据权利要求1-3任意一项所述的方法,其特征在于,所述基于所述访问情况信息及所述运行情况信息,对虚拟机进行控制包括:
基于预先设定的决策规则,对所述访问情况信息及所述运行情况信息进行分析,确定需采用的控制类型;
依据所述控制类型,对虚拟机进行控制。
5.根据权利要求4所述的方法,其特征在于,所述控制类型包括:创建、启动、暂停、关闭、销毁,则所述依据所述控制类型,对虚拟机进行控制包括:
当所述控制类型为暂停或关闭时,启动所述虚拟机模拟器,并控制虚拟机暂停或关闭,以使得节省网络资源。
6.根据权利要求5所述的方法,其特征在于,所述依据所述控制类型,对虚拟机进行控制还包括:
当所述控制类型为启动时,则启动虚拟机,并关闭所述虚拟机模拟器。
7.一种虚拟机控制系统,其特征在于,包括:
第一获取模块,用于获取用户对虚拟机的访问情况信息;
第二获取模块,用于获取虚拟机的运行情况信息;
控制模块,用于基于所述访问情况信息及所述运行情况信息,对虚拟机生命周期的各个阶段进行控制,以使得虚拟机进入其生命周期中与所述访问情况信息及运行情况信息相匹配的阶段;
在需控制虚拟机进入其生命周期中的暂停阶段或关机阶段的情况下,所述控制模块具体用于:启动一预先创建的虚拟机模拟器,并控制虚拟机暂停或关闭;若接收到网络请求,利用所述虚拟机模拟器处理所述网络请求,且不启动虚拟机,若接收到服务请求,则启动虚拟机,并利用虚拟机处理所述服务请求。
8.根据权利要求7所述的系统,其特征在于,所述第一获取模块具体用于获取用户对虚拟机的访问频率、最近一次的访问时间、访问虚拟机时使用的网络协议及端口。
9.根据权利要求7所述的系统,其特征在于,所述第二获取模块具体用于获取虚拟机的当前的输入或输出情况信息、虚拟机的相关进程信息及端口信息。
10.根据权利要求7-9任意一项所述的系统,其特征在于,所述控制模块包括:
确定单元,用于基于预先设定的决策规则,对所述访问情况信息及所述运行情况信息进行分析,确定需采用的控制类型;
控制单元,用于依据所述控制类型,对虚拟机进行控制。
11.根据权利要求10所述的系统,其特征在于,所述控制类型包括:创建、启动、暂停、关闭、销毁,则所述控制单元包括:第一控制子单元,用于在所述控制类型为暂停或关闭时,启动所述虚拟机模拟器,并控制虚拟机暂停或关闭,以使得节省网络资源。
12.根据权利要求11所述的系统,其特征在于,所述控制单元还包括:第二控制子单元,用于在所述控制类型为启动时,则启动虚拟机,并关闭所述虚拟机模拟器。
CN201610500476.0A 2016-06-29 2016-06-29 一种虚拟机控制方法和系统 Active CN106201650B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610500476.0A CN106201650B (zh) 2016-06-29 2016-06-29 一种虚拟机控制方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610500476.0A CN106201650B (zh) 2016-06-29 2016-06-29 一种虚拟机控制方法和系统

Publications (2)

Publication Number Publication Date
CN106201650A CN106201650A (zh) 2016-12-07
CN106201650B true CN106201650B (zh) 2020-08-25

Family

ID=57463640

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610500476.0A Active CN106201650B (zh) 2016-06-29 2016-06-29 一种虚拟机控制方法和系统

Country Status (1)

Country Link
CN (1) CN106201650B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109522096B (zh) * 2018-12-04 2021-08-17 联想(北京)有限公司 信息处理方法及其装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092676A (zh) * 2013-01-04 2013-05-08 华为技术有限公司 虚拟机集群的模拟输入输出方法、装置及系统
CN103870312A (zh) * 2012-12-12 2014-06-18 华为技术有限公司 建立虚拟机共享存储缓存的方法及装置
CN103917957A (zh) * 2011-09-23 2014-07-09 谷歌公司 虚拟盘的带宽节制
CN104407910A (zh) * 2014-10-29 2015-03-11 华南理工大学 一种虚拟化服务器性能的监测方法及系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103235735A (zh) * 2012-11-16 2013-08-07 佳都新太科技股份有限公司 一种基于xen虚拟机系统架构中的利用率资源控制模型
CN104657215A (zh) * 2013-11-19 2015-05-27 南京鼎盟科技有限公司 云计算中虚拟化节能系统
CN103870341A (zh) * 2014-03-12 2014-06-18 汉柏科技有限公司 一种调整虚拟机资源的方法和系统
US9298518B2 (en) * 2014-07-09 2016-03-29 International Business Machine Corporation Safe consolidation and migration
CN105468429A (zh) * 2014-08-19 2016-04-06 西安慧泽知识产权运营管理有限公司 一种高效虚拟化集群管理方法和集群节点
CN104283946B (zh) * 2014-09-26 2017-08-25 东北大学 一种单物理机下多虚拟机的资源自适应调整系统及方法
US9886297B2 (en) * 2014-12-11 2018-02-06 Amazon Technologies, Inc. Systems and methods for loading a virtual machine monitor during a boot process
US9389897B1 (en) * 2014-12-18 2016-07-12 International Business Machines Corporation Exiting multiple threads of a simulation environment in a computer
CN104615480A (zh) * 2015-02-04 2015-05-13 上海交通大学 基于numa高性能网络处理器负载的虚拟处理器调度方法
CN105159798A (zh) * 2015-08-28 2015-12-16 浪潮集团有限公司 一种虚拟机的双机热备方法、双机热备管理服务器和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103917957A (zh) * 2011-09-23 2014-07-09 谷歌公司 虚拟盘的带宽节制
CN103870312A (zh) * 2012-12-12 2014-06-18 华为技术有限公司 建立虚拟机共享存储缓存的方法及装置
CN103092676A (zh) * 2013-01-04 2013-05-08 华为技术有限公司 虚拟机集群的模拟输入输出方法、装置及系统
CN104407910A (zh) * 2014-10-29 2015-03-11 华南理工大学 一种虚拟化服务器性能的监测方法及系统

Also Published As

Publication number Publication date
CN106201650A (zh) 2016-12-07

Similar Documents

Publication Publication Date Title
Beloglazov et al. OpenStack Neat: a framework for dynamic and energy‐efficient consolidation of virtual machines in OpenStack clouds
CN108694117B (zh) 基于容器技术的管理测试环境的方法和装置
CN107832100B (zh) 一种apk插件的加载方法及其终端
CN109582433B (zh) 一种资源调度方法、装置、云计算系统及存储介质
CN106534281B (zh) 一种数据请求的响应方法、装置及系统
US20150195138A1 (en) Cloud-Based Service Resource Provisioning Based on Network Characteristics
CN109684038B (zh) Docker服务容器日志的处理方法、装置和电子设备
CN110413595B (zh) 一种应用于分布式数据库的数据迁移方法和相关装置
CN104951694A (zh) 一种管理虚拟机的隔离方法及装置
CN110851234A (zh) 基于docker容器的日志处理方法及装置
KR20110083084A (ko) 가상화를 이용한 서버 운영 장치 및 방법
CN113890879B (zh) 数据访问的负载均衡方法、装置、计算机设备及介质
CN108519987A (zh) 一种数据持久化方法和装置
CN105302641A (zh) 虚拟化集群中进行节点调度的方法及装置
CN110795162B (zh) 生成容器镜像文件的方法和装置
CN106201650B (zh) 一种虚拟机控制方法和系统
CN109656683A (zh) 一种虚拟机管理系统及方法
CN110995489B (zh) 大数据平台服务器管理方法、装置、服务器及存储介质
CN112052163A (zh) 高并发网页压力测试方法、装置、电子设备以及存储介质
CN105511952B (zh) 基于云计算平台的资源自迁移方法及系统
US10089322B2 (en) Portable electronic device, method for sharing file between multiple operating systems, recording medium and computer program product
CN113434384B (zh) 一种压力测试方法和装置
CN110046319B (zh) 社交媒体信息采集方法、装置、系统、设备及存储介质
US11080079B2 (en) Autonomously reproducing and destructing virtual machines
CN113742104A (zh) 基于ai的rpa分身功能的生成方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant