CN103036975B - 虚拟机控制方法及装置 - Google Patents
虚拟机控制方法及装置 Download PDFInfo
- Publication number
- CN103036975B CN103036975B CN201210539439.2A CN201210539439A CN103036975B CN 103036975 B CN103036975 B CN 103036975B CN 201210539439 A CN201210539439 A CN 201210539439A CN 103036975 B CN103036975 B CN 103036975B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- control command
- network parameter
- applicative notifications
- instruction
- 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
Abstract
本发明涉及一种虚拟机控制方法及装置,包括:获取虚拟机对应的网络参数和/或应用通知;获取控制指令配置;根据所述网络参数和/或应用通知在所述控制指令配置中获取对应的控制指令;根据所述控制指令控制所述虚拟机。此外,还包括一种虚拟机控制装置。上述虚拟机控制方法及装置可以更加合理地为虚拟机分配计算资源,提高了计算资源分配的准确度。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种虚拟机控制方法及装置。
背景技术
现有的计算机技术中,单一的服务器的性能已经不能满足应用的需求,通常采用服务器集群以分布式并行处理的方式提供计算服务。而为了充分利用服务器集群的计算资源,通常通过虚拟化技术将服务器集群虚拟化成多个虚拟机并发地处理任务。当服务器集群计算资源不足时,则可通过添加服务器来补充计算资源。
为了使服务器集群的计算资源能够合理地分配给各个虚拟机,通常还需要对虚拟机进行控制。传统技术中的虚拟机控制方法通常获取虚拟机在服务器集群中的内存占用大小以及CPU占用率,并根据上述参数在虚拟机负载增大时通过在服务器集群的服务器之间重新分布虚拟机来自动为其分配更多资源。
然而,传统技术仅依据内存占用和CPU占用来对虚拟机进行控制,使得控制结果并不能完全满足虚拟机的工作需求,从而造成了计算资源分配的准确度较低。
发明内容
基于此,有必要提供一种能提高计算资源分配准确度的虚拟机控制方法。
一种虚拟机控制方法,包括:
获取虚拟机对应的网络参数和/或应用通知;
获取控制指令配置;
根据所述网络参数和/或应用通知在所述控制指令配置中获取对应的控制指令;
根据所述控制指令控制所述虚拟机。
在其中一个实施例中,所述方法还包括:
获取输入的控制指令定义,以及与控制指令对应的网络参数定义和/或应用通知定义;
根据所述控制指令定义与所述网络参数定义和/或应用通知定义生成控制指令配置。
在其中一个实施例中,所述网络参数包括流量、带宽、丢包率和连接数中的至少一种。
在其中一个实施例中,所述应用通知包括死循环通知、内存泄漏通知和异常通知中的至少一种。
在其中一个实施例中,所述控制指令包括启动指令、关闭指令、重启指令、服务器分布更新指令中的至少一种。
此外,还有必要提供一种能提高计算资源分配的准确度的虚拟机控制装置。
一种虚拟机控制装置,包括:
参数采集模块,用于获取虚拟机对应的网络参数和/或应用通知;
配置获取模块,用于获取控制指令配置;
指令获取模块,用于根据所述网络参数和/或应用通知在所述控制指令配置中获取对应的控制指令;
指令执行模块,用于根据所述控制指令控制所述虚拟机。
在其中一个实施例中,所述装置还包括配置生成模块,用于获取输入的控制指令定义,以及与控制指令对应的网络参数定义和/或应用通知定义,根据所述控制指令定义与所述网络参数定义和/或应用通知定义生成控制指令配置。
在其中一个实施例中,所述网络参数包括流量、带宽、丢包率和连接数中的至少一种。
在其中一个实施例中,所述应用通知包括死循环通知、内存泄漏通知和异常通知中的至少一种。
在其中一个实施例中,所述控制指令包括启动指令、关闭指令、重启指令、服务器分布更新指令中的至少一种。
上述虚拟机控制方法及装置中,通过采集虚拟机对应的网络参数和/或应用通知,根据该网络参数和/或应用通知在控制指令配置中获取对应的控制指令,并根据获取到的控制指令控制虚拟机。使得在对虚拟机进行控制时,可针对具体的网络环境变化和/或虚拟机上的应用的运行情况更改控制指令,调整控制策略,从而提高了计算资源分配的准确度。
附图说明
图1为一个实施例中虚拟机控制方法的流程图;
图2为一个实施例中虚拟机控制装置的结构示意图;
图3为另一个实施例中虚拟机控制装置的结构示意图。
具体实施方式
在一个实施例中,如图1所示,一种虚拟机控制方法,包括如下步骤:
步骤S102,获取虚拟机对应的网络参数和/或应用通知。
虚拟机对应的网络参数即为虚拟机对应的服务器在网络环境中的使用参数。在一个实施例中,网络参数包括流量、带宽、丢包率和连接数中的至少一种。在本实施例中,支撑虚拟机运行的服务器可包括网络负载均衡服务器,可通过检测网络负载均衡服务器的流量、带宽、丢包率和连接数等参数来获取网络参数。
应用通知即虚拟机上运行的应用程序的通知消息。在一个实施例中,应用通知可包括死循环通知、内存泄漏通知和异常通知中的至少一种。
死循环通知即虚拟机上的应用在运行过程中进入死循环时发出的通知;内存泄漏通知即应用发生内存泄漏时发出的通知;异常通知即应用出现异常时发出的通知。
在一个实施例中,虚拟机上的应用可实现通用接口,通过通用接口在进入死循环,发生内存泄漏或出现异常时发出相应的通知。
在另一个实施例中,还可对虚拟机运行的进程或内存区域进行检测,在虚拟机对应的应用进入死循环,发生内存泄漏或出现异常时发出相应的通知。
步骤S104,获取控制指令配置。
控制指令配置中记录有网络参数和/或应用通知与控制指令的对应关系。
在一个实施例中,虚拟机控制方法还包括:
获取输入的控制指令定义,与控制指令对应的网络参数定义和/或应用通知定义,根据控制指令定义与网络参数定义和/或应用通知定义生成控制指令配置。
控制指令定义即控制指令的定义信息。例如,若控制指令定义对应的字符串为“restart”,则其对应的操作可为重启操作。网络参数定义可包括网络参数的浮动范围的信息。例如,“连接数大于10”即连接数的浮动范围。应用通知定义即应用通知对应的定义信息。例如,应用发生内存泄漏时发出的通知对应的应用通知定义可以是字符串“exception:stackoverflow”。
也就是说,用户可预先定义采集到何种网络参数和/或应用通知则对应执行何种控制指令,并可将此定义通过配置文件存储。
例如,若用户希望在连接数大于10时执行启动操作,则可在控制指令配置中配置为:“<itemmax-connections=’10’>start</item>”;若用户希望在发生内存泄漏时执行重启操作,则可在控制指令配置中配置为:“<itemexception=‘stackoverflow’>restart</item>”。其中item表示控制指令配置中的一条配置记录,max-connections表示最大连接数的数值,exception表示应用通知,stackoverflow表示应用通知为内存泄漏,start表示启动指令,restart表示重启指令。
在本实施例中,生成的控制指令配置存储在配置文件中。获取控制指令配置的步骤可具体为:通过读取配置文件获取控制指令配置。
步骤S106,根据网络参数和/或应用通知在控制指令配置中获取对应的控制指令。
可根据采集到的网络参数和/或应用通知在控制指令配置中通过条件比对进行查找,若采集到的网络参数和/或应用通知符合控制指令配置中的网络参数定义和/或应用通知定义,则获取其对应的控制指令。否则,不做操作。
步骤S108,根据控制指令控制虚拟机。
在一个实施例中,控制指令包括启动指令、关闭指令、重启指令、服务器分布更新指令中的至少一种。
启动指令对应启动虚拟机的操作。例如,若当前网络流量大于阈值,需要启动虚拟机进行分流处理时,可执行启动指令启动虚拟机。
关闭指令对应关闭虚拟机的操作。例如,在虚拟机的连接数在预设时长内均为0时(即无任务处理状态),为了减少虚拟机的维护开销,可执行关闭指令关闭虚拟机。
重启指令对应重启虚拟机的操作。例如,若应用通知为死循环通知,即虚拟机上运行的应用陷入死循环时,可执行重启指令重启虚拟机来规避死循环。
服务器分布更新指令对应更新虚拟机在服务器上的分布的指令。例如,若采集到的网络参数中显示带宽过小,则可执行服务器分布更新指令,自动为虚拟机分配服务器资源,从而增加带宽。
在一个实施例中,获取虚拟机对应的网络参数和/或应用通知的步骤之后还可展示获取到的网络参数和/或应用通知。
虚拟机控制方法还可包括:
获取输入的手动控制指令,并根据手动控制指令控制虚拟机。
也就是说,在采集到虚拟机对应的网络参数和/或应用通知之后,可通过显示界面直观地展示给用户。用户可通过显示界面观察得到虚拟机对应的网络参数和/或应用通知,然后即可通过控制台手动输入控制指令控制虚拟机启动、关闭、重启以及更新虚拟机的服务器分布。
添加手动操作方式,可使用户在临时状况下,不用修改控制指令配置而方便地控制虚拟机,从而提高了操作的便利性。
在一个实施例中,如图2所示,一种虚拟机控制装置,包括参数采集模块102、配置获取模块104、指令获取模块106和指令执行模块108,其中:
参数采集模块102,用于获取虚拟机对应的网络参数和/或应用通知。
虚拟机对应的网络参数即与虚拟机对应的服务器在网络环境中的使用参数。在一个实施例中,网络参数包括流量、带宽、丢包率和连接数中的至少一种。在本实施例中,支撑虚拟机运行的服务器可包括网络负载均衡服务器,参数采集模块102可用于通过检测网络负载均衡服务器的流量、带宽、丢包率和连接数等参数来获取网络参数。
应用通知即虚拟机上运行的应用程序的通知消息。在一个实施例中,应用通知可包括死循环通知、内存泄漏通知和异常通知中的至少一种。
死循环通知即虚拟机上的应用在运行过程中进入死循环时发出的通知;内存泄漏通知即应用发生内存泄漏时发出的通知;异常通知即应用出现异常时发出的通知。
在一个实施例中,虚拟机上的应用可实现通用接口,通过通用接口在进入死循环,发生内存泄漏或出现异常时发出相应的通知。
在另一个实施例中,还参数采集模块102可用于对虚拟机运行的进程或内存区域进行检测,在虚拟机对应的应用进入死循环,发生内存泄漏或出现异常时发出相应的通知。
配置获取模块104,用于获取控制指令配置。
控制指令配置中记录有网络参数和/或应用通知与控制指令的对应关系。
在一个实施例中,如图3所示,虚拟机控制装置还包括配置生成模块110,用于获取输入的控制指令定义,与控制指令对应的网络参数定义和/或应用通知定义,根据控制指令定义与网络参数定义和/或应用通知定义生成控制指令配置。
控制指令定义即控制指令的定义信息。例如,若控制指令定义对应的字符串为“restart”,则其对应的操作可为重启操作。网络参数定义可包括网络参数的浮动范围的信息。例如,“连接数大于10”即连接数的浮动范围。应用通知定义即应用通知对应的定义信息。例如,应用发生内存泄漏时发出的通知对应的应用通知定义可以是字符串“exception:stackoverflow”。
也就是说,用户可预先定义采集到何种网络参数和/或应用通知则对应执行何种控制指令,并可将此定义通过配置文件存储。
例如,若用户希望在连接数大于10时执行启动操作,则可在控制指令配置中配置为:“<itemmax-connections=’10’>start</item>”;若用户希望在发生内存泄漏时执行重启操作,则可在控制指令配置中配置为:“<itemexception=‘stackoverflow’>restart</item>”。其中item表示控制指令配置中的一条配置记录,max-connections表示最大连接数的数值,exception表示应用通知,stackoverflow表示应用通知为内存泄漏,start表示启动指令,restart表示重启指令。
在本实施例中,生成的控制指令配置存储在配置文件中。获取控制指令配置的步骤可具体为:通过读取配置文件获取控制指令配置。
指令获取模块106,用于根据网络参数和/或应用通知在控制指令配置中获取对应的控制指令。
指令获取模块106可用于根据采集到的网络参数和/或应用通知在控制指令配置中通过条件比对进行查找,若采集到的网络参数和/或应用通知符合控制指令配置中的网络参数定义和/或应用通知定义,则获取其对应的控制指令。否则,不做操作。
指令执行模块108,用于根据控制指令控制虚拟机。
在一个实施例中,控制指令包括启动指令、关闭指令、重启指令、服务器分布更新指令中的至少一种。
启动指令对应启动虚拟机的操作。例如,若当前网络流量大于阈值,需要启动虚拟机进行分流处理时,可执行启动指令启动虚拟机。
关闭指令对应关闭虚拟机的操作。例如,在虚拟机的连接数在预设时长内均为0时(即无任务处理状态),为了减少虚拟机的维护开销,可执行关闭指令关闭虚拟机。
重启指令对应重启虚拟机的操作。例如,若应用通知为死循环通知,即虚拟机上运行的应用陷入死循环时,可执行重启指令重启虚拟机来规避死循环。
服务器分布更新指令对应更新虚拟机在服务器上的分布的指令。例如,若采集到的网络参数中显示带宽过小,则可执行服务器分布更新指令,自动为虚拟机分配服务器资源,从而增加带宽。
在一个实施例中,虚拟机控制装置还包括信息展示模块(图中未标示),用于展示获取到的网络参数和/或应用通知。
虚拟机控制装置还包括手动控制模块,用于获取输入的手动控制指令,并根据手动控制指令控制虚拟机。
也就是说,在采集到虚拟机对应的网络参数和/或应用通知之后,可通过显示界面直观地展示给用户。用户可通过显示界面观察得到虚拟机对应的网络参数和/或应用通知,然后即可通过控制台手动输入控制指令控制虚拟机启动、关闭、重启以及更新虚拟机的服务器分布。
添加手动操作方式,可使用户在临时状况下,不用修改控制指令配置而方便地控制虚拟机,从而提高了操作的便利性。
上述虚拟机控制方法及装置中,通过采集虚拟机对应的网络参数和/或应用通知,根据该网络参数和/或应用通知在控制指令配置中获取对应的控制指令,并根据获取到的控制指令控制虚拟机,使得在对虚拟机进行控制时,可针对具体的网络环境变化和/或虚拟机上的应用的运行情况更改控制指令,调整控制策略,从而提高了计算资源分配的准确度。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种虚拟机控制方法,包括:
获取虚拟机对应的网络参数和/或应用通知,所述网络参数包括流量、带宽、丢包率和连接数中的至少一种,支撑所述虚拟机运行的服务器为网络负载均衡服务器,通过检测所述网络负载均衡服务器的流量、带宽、丢包率和连接数获取所述网络参数,所述虚拟机上的应用实现了通用接口,通过所述通用接口在进入死循环,发送内存泄漏或出现异常时发出相应的通知;
获取控制指令配置;根据所述网络参数和/或应用通知在所述控制指令配置中获取对应的控制指令;
根据所述控制指令控制所述虚拟机;
所述在获取虚拟机对应的网络参数和/或应用通知的步骤之后还包括:展示获取到的网络参数和/或应用通知;
虚拟机控制方法还可包括:
获取输入的手动控制指令,并根据手动控制指令控制虚拟机。
2.根据权利要求1所述的虚拟机控制方法,其特征在于,所述方法还包括:
获取输入的控制指令定义,以及与控制指令对应的网络参数定义和/或应用通知定义;
根据所述控制指令定义与所述网络参数定义和/或应用通知定义生成控制指令配置。
3.根据权利要求1或2所述的虚拟机控制方法,其特征在于,所述应用通知包括死循环通知、内存泄漏通知和异常通知中的至少一种。
4.根据权利要求1或2所述的虚拟机控制方法,其特征在于,所述控制指令包括启动指令、关闭指令、重启指令、服务器分布更新指令中的至少一种。
5.一种虚拟机控制装置,其特征在于,包括:
参数采集模块,用于获取虚拟机对应的网络参数和/或应用通知,所述网络参数包括流量、带宽、丢包率和连接数中的至少一种,支撑所述虚拟机运行的服务器为网络负载均衡服务器,通过检测所述网络负载均衡服务器的流量、带宽、丢包率和连接数获取所述网络参数,所述虚拟机上的应用实现了通用接口,通过所述通用接口在进入死循环,发送内存泄漏或出现异常时发出相应的通知;
配置获取模块,用于获取控制指令配置;
指令获取模块,用于根据所述网络参数和/或应用通知在所述控制指令配置中获取对应的控制指令;
指令执行模块,用于根据所述控制指令控制所述虚拟机;
信息展示模块,用于展示获取到的网络参数和/或应用通知;
虚拟机控制装置还包括手动控制模块,用于获取输入的手动控制指令,并根据手动控制指令控制虚拟机。
6.根据权利要求5所述的虚拟机控制装置,其特征在于,所述装置还包括配置生成模块,用于获取输入的控制指令定义,以及与控制指令对应的网络参数定义和/或应用通知定义,根据所述控制指令定义与所述网络参数定义和/或应用通知定义生成控制指令配置。
7.根据权利要求5或6所述的虚拟机控制装置,其特征在于,所述应用通知包括死循环通知、内存泄漏通知和异常通知中的至少一种。
8.根据权利要求5或6所述的虚拟机控制装置,其特征在于,所述控制指令包括启动指令、关闭指令、重启指令、服务器分布更新指令中的至少一种。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210539439.2A CN103036975B (zh) | 2012-12-13 | 2012-12-13 | 虚拟机控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210539439.2A CN103036975B (zh) | 2012-12-13 | 2012-12-13 | 虚拟机控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103036975A CN103036975A (zh) | 2013-04-10 |
CN103036975B true CN103036975B (zh) | 2016-03-09 |
Family
ID=48023447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210539439.2A Active CN103036975B (zh) | 2012-12-13 | 2012-12-13 | 虚拟机控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103036975B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123170B (zh) * | 2013-04-23 | 2018-02-09 | 杭州迪普科技股份有限公司 | 一种虚拟机控制装置和方法 |
CN105721325B (zh) * | 2014-12-04 | 2019-05-10 | 中国移动通信集团广东有限公司 | 一种多用户虚拟机流量优化方法、装置、控制器及虚拟机 |
CN105357038B (zh) * | 2015-10-26 | 2019-05-07 | 北京百度网讯科技有限公司 | 监控虚拟机集群的方法和系统 |
CN108123890A (zh) * | 2016-11-30 | 2018-06-05 | 阿里巴巴集团控股有限公司 | 一种负载均衡系统中的链路检测方法、装置及电子设备 |
CN107707424A (zh) * | 2017-09-11 | 2018-02-16 | 厦门集微科技有限公司 | 负载状态的控制方法及系统 |
CN110248138B (zh) * | 2018-03-08 | 2021-06-29 | 华为技术有限公司 | 进行音视频会议的方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101097526A (zh) * | 2006-06-29 | 2008-01-02 | 联想(北京)有限公司 | 一种虚拟机系统及硬件设备的访问控制方法 |
CN101739113A (zh) * | 2008-11-20 | 2010-06-16 | 国际商业机器公司 | 在虚拟化集群系统中进行能效管理的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7318141B2 (en) * | 2002-12-17 | 2008-01-08 | Intel Corporation | Methods and systems to control virtual machines |
-
2012
- 2012-12-13 CN CN201210539439.2A patent/CN103036975B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101097526A (zh) * | 2006-06-29 | 2008-01-02 | 联想(北京)有限公司 | 一种虚拟机系统及硬件设备的访问控制方法 |
CN101739113A (zh) * | 2008-11-20 | 2010-06-16 | 国际商业机器公司 | 在虚拟化集群系统中进行能效管理的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103036975A (zh) | 2013-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103036975B (zh) | 虚拟机控制方法及装置 | |
CN111061484B (zh) | 代码编译方法、装置、服务器、用户终端及可读介质 | |
EP2878139B1 (en) | Methods and apparatuses for facilitating utilization of cloud services | |
KR101565865B1 (ko) | 멀티 프로세서 코어 시스템 내의 프로세서 코어를 스케줄링 하기 위한 방법, 장치, 및 시스템 | |
EP2977854B1 (en) | Method, apparatus, and user terminal for removing malicious power consuming application | |
EP3073373B1 (en) | Method for interruption affinity binding of virtual network interface card, and computer device | |
CN110677305B (zh) | 一种云计算环境下的自动伸缩方法和系统 | |
CN103428241B (zh) | 服务部署方法及系统 | |
WO2016041468A1 (zh) | 一种唤醒方法、装置及终端 | |
CN102546256B (zh) | 用于对云计算服务进行监控的系统及方法 | |
JP5842646B2 (ja) | 情報処理システム,仮想マシン管理プログラム,仮想マシン管理方法 | |
CN105045369A (zh) | 一种基于用户交互历史信息的cpu动态调频方法 | |
CN104991803A (zh) | 对android应用程序在特定条件下自启动的管控系统及方法 | |
CN103188277A (zh) | 负载能耗管理系统、方法和服务器 | |
CN101576829B (zh) | 嵌入式Linux系统中应用进程的托管方法及系统 | |
CN102882909A (zh) | 云计算服务监控系统及方法 | |
CN103176842A (zh) | 后台进程管理方法及其移动终端 | |
CN105868004B (zh) | 一种基于云计算的业务系统的调度方法及调度装置 | |
US10452402B2 (en) | Operation instruction response control method and terminal for human-machine interface | |
CN107920117B (zh) | 一种资源管理方法、控制设备和资源管理系统 | |
CN105704785A (zh) | 一种网络搜索方法、装置及移动终端 | |
CN103780428A (zh) | 应用于云架构的集中式资源管理方法及系统 | |
CN104270430A (zh) | 一种适用于云计算的服务器远程调度方法 | |
CN107306230B (zh) | 一种网络资源部署的方法、装置、控制器及核心网设备 | |
CN106911741B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200616 Address after: Nanshan District Xueyuan Road in Shenzhen city of Guangdong province 518000 No. 1001 Nanshan Chi Park building A1 layer Patentee after: SANGFOR TECHNOLOGIES Inc. Address before: 518051 room 410, technology innovation service center, 1 Qilin Road, Shenzhen, Guangdong, Nanshan District Patentee before: Shenxin network technology (Shenzhen) Co.,Ltd. |