一种虚拟机控制方法和系统与流程

文档序号:11949724阅读:249来源:国知局
一种虚拟机控制方法和系统与流程

本发明属于虚拟机管理与控制技术领域,尤其涉及一种虚拟机控制方法和系统。



背景技术:

目前,在云计算环境下的虚拟机应用中,用户对虚拟机生命周期的所有管理或控制操作,如创建,启动,关闭,销毁等,都需要通过管理员来进行,具体需要向管理员提单,然后由管理员依据具体的提单请求执行相应操作。

此种方式增加了管理员的负担,且使用不便;除此之外,用户往往会在无需使用虚拟机的情况下,因未及时进行相应的暂停、关闭或销毁等类型的提单,而导致虚拟机长期处于空闲状态,从而在造成网络资源(如网络服务器为虚拟机分配的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(Internet Control 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 Control 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)对虚拟机整个生命周期的控制,基于用户使用行为进行自动化处理,减轻了管理员的负担;

2)对虚拟机生命周期的整个控制过程对用户完全透明,不影响用户的正常使用;在用户的虚拟机暂停或关闭情况下,虚拟机的IP仍可使用,相应网络请求(如ping等)也能得到响应(虚拟机模拟器替代虚拟机处理);

3)可以降低用户的使用成本;

4)可以提高整个网络资源利用率。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

为了描述的方便,描述以上系统或装置时以功能分为各种模块或单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。

最后,还需要说明的是,在本文中,诸如第一、第二、第三和第四等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1