虚拟机调度方法和装置与流程

文档序号:11829099阅读:281来源:国知局
虚拟机调度方法和装置与流程

本发明涉及通信领域,尤其涉及一种虚拟机调度方法和装置。



背景技术:

云计算,是一种基于互联网的计算方式,通过这种计算方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。云计算的核心思想,是将大量用网络连接的虚拟机统一管理和调度,构成一个计算资源池向用户按需服务。随着近几年信息技术的飞速发展,企业应用服务器的用户量和业务访问量越来越大,如何在几分钟内对应用系统进行扩容,提升系统的快速响应能力,是提升应用系统性能的关键因素之一。与此同时,越来越多的应用服务器将其业务迁移到云数据中心,以解决用户量不均衡情况下应用系统如何快速响应用户操作的问题。然而传统数据中心应用服务器的部署在用户量不均衡的情况下,并发量突发上升,造成服务器资源严重缺乏,致使服务器会出现瘫痪的情况。



技术实现要素:

本发明的主要目的在于提供一种虚拟机调度方法及装置,旨在解决云计算应用在用户量不均衡的情况下,服务器瘫痪的问题。

为实现上述目的,本发明提供的一种虚拟机调度方法,包括步骤:

监测各个虚拟机的运行数据,判断所述运行数据是否超出预设的参数区间;

当所述运行数据超出预设的参数区间时,根据所述运行数据调度备用虚拟机资源。

优选地,所述监测各个虚拟机的运行数据,判断所述运行数据是否超出预设的参数区间的步骤之前,还包括:

获取待安装云计算应用的安装包;

基于所述安装包将所述待安装云计算应用安装至相应的虚拟机;

采用所述安装包中的配置信息配置安装所述云计算应用的虚拟机。

优选地,所述基于所述安装包将所述待安装云计算应用安装至相应的虚拟机的步骤包括:

获取未安装云计算应用的虚拟机作为可用虚拟机;

基于所述安装包将所述待安装云计算应用安装至所述可用虚拟机。

优选地,所述虚拟机调度方法还包括:

监测备用虚拟机资源,判断所述备用虚拟机资源是否充足;

当所述备用虚拟机资源不足时,创建新的虚拟机,将所述新的虚拟机设置为备用虚拟机;

当所述备用虚拟机资源充足时,继续监测所述备用虚拟机资源。

优选地,所述虚拟机调度方法,还包括:

定时对备用虚拟机资源进行调度。

此外,为实现上述目的,本发明还提供一种虚拟机调度装置,所述装置包括:

监测模块,用于监测虚拟机的运行数据;

判断模块,用于判断所述运行数据是否超出预设的参数区间;

调度模块,用于当所述运行数据超出预设的参数区间时,根据所述运行数据调度备用虚拟机资源。

优选地,所述的虚拟机调度装置还包括:

获取模块,用于获取待安装云计算应用的安装包;

安装模块,用于基于所述安装包将所述待安装云计算应用安装至相应的虚拟机;

配置模块,用于采用所述安装包中的配置信息配置安装所述云计算应用的虚拟机。

优选地,所述安装模块包括:

获取单元,用于获取未安装云计算应用的虚拟机作为可用虚拟机;

安装单元,用于基于所述安装包将所述待安装云计算应用安装至所述可用虚拟机。

优选地,所述监测模块,还用于监测备用虚拟机资源;所述判断模块,还用于判断所述备用虚拟机资源是否充足;所述虚拟机调度装置还包括创建模块,用于当所述备用虚拟机资源不足时,创建新的虚拟机,将所述新的虚拟机设置为备用虚拟机;所述监测模块,还用于当所述备用虚拟机资源充足时,继续监测所述备用虚拟机资源。

优选地,所述调度模块,还用于定时对备用虚拟机资源进行调度。

本发明通过监测各个虚拟机的运行数据,判断所述运行数据是否超出预设的参数区间;当所述运行数据超出预设的参数区间时,根据所述运行数据调度备用虚拟机资源。通过虚拟化和应用集群技术,快速提升云计算应用系统的响应能力,解决了用户量不均衡的情况下,服务器瘫痪的问题,实现了动态调度虚拟机资源。

附图说明

图1为本发明虚拟机调度方法的第一实施例的流程示意图;

图2为本发明虚拟机调度方法的第二实施例的流程示意图;

图3为图2中步骤S02的细化流程示意图;

图4为本发明虚拟机调度方法的第三实施例的流程示意图;

图5为本发明虚拟机调度方法的第四实施例的流程示意图;

图6为本发明虚拟机调度装置的第一实施例的功能模块示意图;

图7为本发明虚拟机调度装置的第二实施例的功能模块示意图;

图8为图7中安装模块的细化功能模块示意图;

图9为本发明虚拟机调度装置的第三实施例的功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例的主要解决方案是:监测各个虚拟机的运行数据,判断所述运行数据是否超出预设的参数区间;当所述运行数据超出预设的参数区间时,根据所述运行数据调度备用虚拟机资源。通过虚拟化和应用集群技术,快速提升云计算应用系统的响应能力,解决了用户量不均衡的情况下,服务器瘫痪的问题,实现动态调度虚拟机资源。

由于现有数据中心应用服务器的部署在用户量不均衡的情况下,并发量突发上升,造成服务器资源严重缺乏,如果按照传统数据中心的应用部署方式,添加新服务器资源并部署应用,等部署应用完成之后,服务器已经出现瘫痪。

基于上述问题,本发明提供一种虚拟机调度方法

参照图1,图1为本发明虚拟机调度方法的第一实施例的流程示意图.

在本实施例中,所述虚拟机调度方法包括:

步骤S10,监测各个虚拟机的运行数据,判断所述运行数据是否超出预设的参数区间;

步骤S20,当所述运行数据超出预设的参数区间时,根据所述运行数据调度备用虚拟机资源。

云计算应用的服务器中含有监听器,通过所述监听器定时监测各个虚拟机运行数据,即定时或实时监测所述各个虚拟机运行数据,所述运行数据包括但不限于CPU利用率、内存使用率等。判断所述运行数据是否超过预设的参数区间。如果连续N个采样周期,某个虚拟机运行数据都超过其预设的参数区间,则判断所述虚拟机运行数据超过预设的参数区间。采样周期个数和采样时间间隔可以根据所述虚拟机的配置和需要设置,如根据自身的性能调优结果,设置合适的采 样周期个数和采样时间间隔。在本实施例中,优选地,设置采样周期个数为3个,采样时间间隔为5秒。即虚拟机每隔5秒进行一次采样,在连续3个采样周期内采集到的所述虚拟机CPU利用率都超过90%时,判断所述虚拟机CPU利用率超过预设的参数区间的上限值,发出告警信号。接收到所述告警信号后,生成云计算应用的性能告警事件,根据所述告警事件的类型和所述云计算应用设置的调度策略,即根据所述事件调度策略对所述云计算应用中的备用虚拟机资源进行调度。如当所述云计算应用的用户量达到一个高峰,即所述云计算应用所在的虚拟机已达到性能高峰时,将从云计算应用系统的资源池中调度可用的备用虚拟机资源,以供所述云计算应用的用户量分到其它虚拟机中,使所述虚拟机运行数据在一个正常的范围内;如果所述云计算应用所在的虚拟机达到了性能低谷,如所述虚拟机每隔5秒进行一次采样,在连续3个采样周期内采集到的所述虚拟机CPU利用率都低过10%时,判断所述虚拟机CPU利用率低于预设的参数区间的下限值,即所述云计算应用所在的虚拟机性能达到低谷,则将所述备用虚拟机资源进行回收。同时,调用所述云计算应用中的负载均衡器的配置接口,通过所述负载均衡器的配置接口,发起负载均衡动态配置请求,更新所述云计算应用的负载均衡配置。即根据所述云计算应用所在的备用虚拟机IP地址、端口以及上下文等信息,动态更改所述云计算应用的负载均衡器配置信息,使所述云计算应用可以使用所述备用虚拟机资源。

本实施例通过监测各个虚拟机的运行数据,判断所述运行数据是否超出预设的参数区间;当所述运行数据超出预设的参数区间时,根据所述运行数据调度备用虚拟机资源。通过虚拟化和应用集群技术,快速提升云计算应用系统的响应能力,解决了用户量不均衡的情况下,服务器瘫痪的问题,实现动态调度虚拟机资源。

参照图2,图2为本发明虚拟机调度方法的第二实施例的流程示意图。基于第一实施例提出本发明虚拟机调度方法第二实施例,在本实施例中,所述步骤S10之前,还包括:

步骤S30,获取待安装云计算应用的安装包;

步骤S40,基于所述安装包将所述待安装云计算应用安装至相应的虚拟机;

步骤S50,采用所述安装包中的配置信息配置安装所述云计算应用的虚拟机。

具体地,参照图3,步骤S40包括:

步骤S41,获取未安装云计算应用的虚拟机作为可用虚拟机;

步骤S42,基于所述安装包将所述待安装云计算应用安装至所述可用虚拟机。

获取待安装云计算应用的安装包,即上传所述云计算应用的部署包,并设置动态调度策略。所述动态调度策略包括但不限于定时调度策略和事件调度策略。所述定时调度策略,即以时间为单位进行虚拟机资源调度,如可以设置按月或天进行定时调度,如设置按10天为单位进行虚拟机资源调度,即所述云计算应用每隔10天就自动进行虚拟机资源调度。所述事件调度策略,可以设置CPU的利用率、内存使用率以及端口并发连接数等阈值,通过监测所述云计算应用的虚拟机资源使用情况,根据不同的阈值,动态调用所述云计算应用的备用虚拟机资源,如所述云计算应用当前所在的虚拟机内存使用率已达87%,而所述内存使用率的阈值是85%,在这种情况下,就要调用所述备用虚拟机资源,减轻所述云计算应用所在虚拟机内存负担。

获取未安装云计算应用的虚拟机作为可用虚拟机,基于所述安装包将所述待安装云计算应用安装至所述可用虚拟机。即发布所述云计算应用之后,向所述云计算应用系统发起应用部署请求,即安装所述云计算应用的请求,当接收到所述请求之后,将所述部署包上传到所述云计算应用系统中,并远程执行所述部署包的应用部署和配置脚本,完成所述云计算应用的部署,即完成所述云计算应用的安装。

当完成对所述云计算应用的安装之后,调用所述负载均衡器的配置接口,根据所述可用的云计算应用的部署的相关信息,动态更改所述可用云计算的负载均衡配置信息。所述相关信息包括但不限于云计算应用的部署的服务器的IP地址、端口以及上下文信息。当动态更 改所述可用云计算的负载均衡配置信息之后,发起性能的采集请求,远程登陆到虚拟机系统中,启动所述云计算应用的监控代理的守护进程,定时监测所述虚拟机运行指标。

本实施例通过部署云计算应用至虚拟机中,实现了自动部署和配置云计算应用,提高云计算应用部署的效率。

参照图4,图4为本发明虚拟机调度方法的第三实施例的流程示意图。基于第一或第二实施例提出本发明虚拟机调度方法的第三实施例,在本实施例中,所述虚拟机调度方法还包括:

步骤S60,监测备用虚拟机资源,判断所述备用虚拟机资源是否充足;

步骤S70,当所述备用虚拟机资源不足时,创建新的虚拟机,将所述新的虚拟机设置为备用虚拟机;

步骤S80,当所述备用虚拟机资源充足时,继续监测所述备用虚拟机资源。

将云计算应用系统的资源池初始化,当在初始化时,启动一个并行的守护进程,进行实时或定时监控所述资源池中的备用虚拟机资源,判断所述备用虚拟机资源是否充足。当所述资源池的备用虚拟机资源不足时,如当资源池中的备用虚拟机资源全部都已经被云计算应用使用,且所述被云计算应用的备用虚拟机资源的内存利用率已达50%,判断所述资源池中云计算应用的备用虚拟机资源不足。这时将调用云计算应用系统中的虚拟机创建接口,自动根据所述云计算应用的服务模板信息动态创建出新的虚拟机,云计算应用服务器的系统基础环境全部通过脚本自动配置完成。调用所述云计算应用系统的应用部署接口,上传所述部署包到所述虚拟机上,并远程执行应用部署脚本和配置,并将所述虚拟机设置为所述云计算应用的备用虚拟机资源。调用所述云计算应用系统性能采集配置接口,将性能采集信息以及监控代理脚本上传到所述备用虚拟机上,并远程启动守护进程,定时或实时监测各个云计算应用在其备用虚拟机中的运行数据。当所述备用虚拟机资源充足时,继续监测所述云计算的备用虚拟机资源。

本实施例通过监测备用虚拟机资源,实现动态增加所述备用虚拟机资源。

参照图5,图5为本发明虚拟机调度方法的第四实施例的流程示意图。基于第一、第二或第三实施例提出本发明虚拟机调度方法的第四实施例,在本实施例中,所述虚拟机调度方法还包括::

步骤S90,定时对备用虚拟机资源进行调度。

当云计算应用系统所采用的资源调度策略为定时调度时,确定所述云计算应用调度备用虚拟机资源的时间,并监测所述云计算应用系统的当前时间,判断所述当前时间是否是所述调度备用虚拟机资源的时间,当所述当前时间是调度所述备用虚拟机资源的时间时,对所述备用虚拟机资源进行调度,当所述当前时间不是调度所述备用虚拟机资源的时间时,继续监测所述云计算应用系统的当前时间。如确定所述云计算应用启动备用虚拟机资源的时间为当前时间的10天之后,回收所述备用虚拟机资源的时间为当前时间的15天后。如果当前时间为2015年4月5号8时,则所述云计算应用启动所述备用虚拟机资源的时间为2015年4月15号8时,回收所述备用虚拟机资源的时间为2015年4月20号8时。监测所述云计算应用的当前时间,如果监测到所述云计算应用的当前时间为2015年4月15号14时时,启动所述备用虚拟机资源,如果监测到所述云计算应用的当前时间为2015年4月20号14时时,回收所述备用虚拟机资源;如监测到所述云计算应用的当前时间为2015年4月11号14时时,则继续监测所述云计算应用系统的当前时间。

本实施例通过在所述云计算应用使用定时调度策略调度备用虚拟机资源,快速提升云计算应用系统的响应能力,解决了用户量不均衡的情况下,服务器瘫痪的问题。

本发明进一步提供一种虚拟机调度装置。

参照图6,图6为本发明虚拟机调度装置的第一实施例的功能模块示意图。

在本实施例中,所述装置包括:

监测模块10,用于监测各个虚拟机的运行数据;

判断模块20,用于判断所述运行数据是否超出预设的参数区间;

调度模块30,用于当所述运行数据超出预设的参数区间时,根据所述运行数据调度备用虚拟机资源。

云计算应用的服务器中含有监听器,通过所述监听器定时监测各个虚拟机运行数据,即定时或实时监测所述各个虚拟机运行数据,所述运行数据包括但不限于CPU利用率、内存使用率等。判断所述运行数据是否超过预设的参数区间。如果连续N个采样周期,某个虚拟机运行数据都超过其预设的参数区间,则判断所述虚拟机运行数据超过预设的参数区间。采样周期个数和采样时间间隔可以根据所述虚拟机的配置和需要设置,如根据自身的性能调优结果,设置合适的采样周期个数和采样时间间隔。在本实施例中,优选地,设置采样周期个数为3个,采样时间间隔为5秒。即虚拟机每隔5秒进行一次采样,在连续3个采样周期内采集到的所述虚拟机CPU利用率都超过90%时,判断所述虚拟机CPU利用率超过预设的参数区间的上限值,发出告警信号。接收到所述告警信号后,生成云计算应用的性能告警事件,根据所述告警事件的类型和所述云计算应用设置的调度策略,即根据所述事件调度策略对所述云计算应用中的备用虚拟机资源进行调度。如当所述云计算应用的用户量达到一个高峰,即所述云计算应用所在的虚拟机已达到性能高峰时,将从云计算应用系统的资源池中调度可用的备用虚拟机资源,以供所述云计算应用的用户量分到其它虚拟机中,使所述虚拟机运行数据在一个正常的范围内;如果所述云计算应用所在的虚拟机达到了性能低谷,如所述虚拟机每隔5秒进行一次采样,在连续3个采样周期内采集到的所述虚拟机CPU利用率都低过10%时,判断所述虚拟机CPU利用率低于预设的参数区间的下限值,即所述云计算应用所在的虚拟机性能达到低谷,则将所述备用虚拟机资源进行回收。同时,调用所述云计算应用中的负载均衡器的配置接口,通过所述负载均衡器的配置接口,发起负载均衡动态配置请求,更新所述云计算应用的负载均衡配置。即根据所述云计算应 用所在的备用虚拟机IP地址、端口以及上下文等信息,动态更改所述云计算应用的负载均衡器配置信息,使所述云计算应用可以使用所述备用虚拟机资源。

本实施例通过监测各个虚拟机的运行数据,判断所述运行数据是否超出预设的参数区间;当所述运行数据超出预设的参数区间时,根据所述运行数据调度备用虚拟机资源。通过虚拟化和应用集群技术,快速提升云计算应用系统的响应能力,解决了用户量不均衡的情况下,服务器瘫痪的问题,实现动态调度虚拟机资源。

参照图7,图7为本发明虚拟机调度装置的第二实施例的功能模块示意图。基于第一实施例提出本发明虚拟机调度装置第二实施例,在本实施例中,所述虚拟机调度装置还包括:

获取模块40,用于获取待安装云计算应用的安装包;

安装模块50,用于基于所述安装包将所述待安装云计算应用安装至相应的虚拟机;

配置模块60,用于采用更新后的配置信息配置所述云计算应用的虚拟机。

具体地,参照图8,所述安装模块50包括:

获取单元51,用于获取未安装云计算应用的虚拟机作为可用虚拟机;

安装单元52,用于基于所述安装包将所述待安装云计算应用安装至所述可用虚拟机。

获取待安装云计算应用的安装包,即上传所述云计算应用的部署包,并设置动态调度策略。所述动态调度策略包括但不限于定时调度策略和事件调度策略。所述定时调度策略,即以时间为单位进行虚拟机资源调度,如可以设置按月或天进行定时调度,如设置按10天为单位进行虚拟机资源调度,即所述云计算应用每隔10天就自动进行虚拟机资源调度。所述事件调度策略,可以设置CPU的利用率、内存使用率以及端口并发连接数等阈值,通过监测所述云计算应用的虚拟机资源使用情况,根据不同的阈值,动态调用所述云计算应用的备 用虚拟机资源,如所述云计算应用当前所在的虚拟机内存使用率已达87%,而所述内存使用率的阈值是85%,在这种情况下,就要调用所述备用虚拟机资源,减轻所述云计算应用所在虚拟机内存负担。

获取未安装云计算应用的虚拟机作为可用虚拟机,基于所述安装包将所述待安装云计算应用安装至所述可用虚拟机。即发布所述云计算应用之后,向所述云计算应用系统发起应用部署请求,即安装所述云计算应用的请求,当接收到所述请求之后,将所述部署包上传到所述云计算应用系统中,并远程执行所述部署包的应用部署和配置脚本,完成所述云计算应用的部署,即完成所述云计算应用的安装。

当完成对所述云计算应用的安装之后,调用所述负载均衡器的配置接口,根据所述可用的云计算应用的部署的相关信息,动态更改所述可用云计算的负载均衡配置信息。所述相关信息包括但不限于云计算应用的部署的服务器的IP地址、端口以及上下文信息。当动态更改所述可用云计算的负载均衡配置信息之后,发起性能的采集请求,远程登陆到虚拟机系统中,启动所述云计算应用的监控代理的守护进程,定时监测所述虚拟机运行指标。

进一步地,所述调度模块30,还用于定时对备用虚拟机资源进行调度。

当云计算应用系统所采用的资源调度策略为定时调度时,确定所述云计算应用调度备用虚拟机资源的时间,并监测所述云计算应用系统的当前时间,判断所述当前时间是否是所述调度备用虚拟机资源的时间,当所述当前时间是调度所述备用虚拟机资源的时间时,对所述备用虚拟机资源进行调度,当所述当前时间不是调度所述备用虚拟机资源的时间时,继续监测所述云计算应用系统的当前时间。如确定所述云计算应用启动备用虚拟机资源的时间为当前时间的10天之后,回收所述备用虚拟机资源的时间为当前时间的15天后。如果当前时间为2015年4月5号8时,则所述云计算应用启动所述备用虚拟机资源的时间为2015年4月15号8时,回收所述备用虚拟机资源的时间为2015年4月20号8时。监测所述云计算应用的当前时间,如果监测到所述云计算应用的当前时间为2015年4月15号14时时,启 动所述备用虚拟机资源,如果监测到所述云计算应用的当前时间为2015年4月20号14时时,回收所述备用虚拟机资源;如监测到所述云计算应用的当前时间为2015年4月11号14时时,则继续监测所述云计算应用系统的当前时间。

本实施例通过部署云计算应用至虚拟机中,实现了自动部署和配置云计算应用,提高云计算应用部署的效率。并通过在所述云计算应用使用定时调度策略调度备用虚拟机资源,快速提升云计算应用系统的响应能力,解决了用户量不均衡的情况下,服务器瘫痪的问题。

参照图9,图9为本发明虚拟机调度装置的第三实施例的功能模块示意图。基于第一或第二实施例提出本发明虚拟机调度方法的第三实施例,在本实施例中,所述监测模块10,还用于监测备用虚拟机资源;所述判断模块20,还用于判断所述备用虚拟机资源是否充足;所述虚拟机调度装置还包括创建模块70,用于当所述备用虚拟机资源不足时,创建新的虚拟机,将所述新的虚拟机设置为备用虚拟机;所述监测模块10,还用于当所述备用虚拟机资源充足时,继续监测所述备用虚拟机资源。

将云计算应用系统的资源池初始化,当在初始化时,启动一个并行的守护进程,进行实时或定时监控所述资源池中的备用虚拟机资源,判断所述备用虚拟机资源是否充足。当所述资源池的备用虚拟机资源不足时,如当资源池中的备用虚拟机资源全部都已经被云计算应用使用,且所述被云计算应用的备用虚拟机资源的内存利用率已达50%,判断所述资源池中云计算应用的备用虚拟机资源不足。这时将调用云计算应用系统中的虚拟机创建接口,自动根据所述云计算应用的服务模板信息动态创建出新的虚拟机,云计算应用服务器的系统基础环境全部通过脚本自动配置完成。调用所述云计算应用系统的应用部署接口,上传所述部署包到所述虚拟机上,并远程执行应用部署脚本和配置,并将所述虚拟机设置为所述云计算应用的备用虚拟机资源。调用所述云计算应用系统性能采集配置接口,将性能采集信息以及监控代理脚本上传到所述备用虚拟机上,并远程启动守护进程,定 时或实时监测各个云计算应用在其备用虚拟机中的运行数据。当所述备用虚拟机资源充足时,继续监测所述云计算的备用虚拟机资源。

本实施例通过监测备用虚拟机资源,实现动态增加所述备用虚拟机资源。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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