一种PAAS平台下的动态资源调度算法的制作方法

文档序号:12271023阅读:541来源:国知局

本发明涉及云计算技术领域,具体提供一种PAAS平台下的动态资源调度算法。



背景技术:

随着社会经济的不断发展,计算机逐渐成为人们日常生活中不可或缺的重要的工作及交流工具,并且随着时代的进步,人们对计算机各项性能的要求也越来越高。计算机的使用离不开网络,随着对计算机性能要求的提高,对网络的要求也有相应的提高,互联网技术迅猛发展起来。云计算是一种基于互联网的计算方式,通过该种方式,软硬件资源可以按需提供给服务使用者。而PASS平台作为云计算的重要组成部分,是在IAAS的基础上,向应用开发者提供应用托管运行环境、可供调用的能力组件以及各种相关的应用管理和应用支撑工具。云平台为用户提供的各类型的服务,以任务调度到合理的虚拟机上执行,在快速响应用户请求的同时提高资源的使用率。而这需要强大的资源调度技术的支持。当前的PASS平台的资源调度策略主要是依赖底层的IAAS平台进行,并且调度策略的优化目标单一。这种类型的调度策略不能客观正确的反映出云平台的真实的运行状态,存在一定的局限性。



技术实现要素:

本发明的技术任务是针对上述存在的问题,提供一种能客观正确的反应出云平台资源的使用状态,合理部署服务到对应的物理主机上,并同时对服务所在的物理主机进行监控,动态迁移综合利用率较低的服务,保持宿主机负载均衡的基础上,兼顾资源利用率的PAAS平台下的动态资源调度算法。

为实现上述目的,本发明提供了如下技术方案:

一种PAAS平台下的动态资源调度算法,利用PAAS平台的监控模块,根据宿主机的综合利用率模型,周期性的采集并计算虚拟机所在宿主机的CPU、内存及存储的利用率,并计算宿主机资源利用率,将服务部署在资源利用率最低的节点上,同时,利用PAAS平台的监控模块周期性的对运行在宿主机的服务进行监控,选择服务资源利用率最低的服务进行动态的虚拟机迁移;该动态资源调度算法的具体步骤为:

S1:利用PAAS平台监控模块周期性的采集并计算宿主机的CPU、内存及存储利用率;

S2:在随机时间t内,多次采集并计算宿主机的CPU、内存及存储利用率,由此计算宿主机的CPU、内存及存储的平均利用率;

S3:在步骤S2基础上计算宿主机的资源利用率,将服务部署在宿主机资源利用率最低的节点上;

S4:利用PAAS平台监控模块在周期T内计算服务所在宿主机的CPU、内存、存储及服务本身的平均利用率;

S5:在步骤S4基础上计算服务资源利用率;

S6:设置服务资源利用率告警阀值,当服务资源利用率小于服务资源利用率告警阀值时,产生虚拟机迁移告警,将服务迁移至资源利用率最低的宿主机上。

在分配虚拟机的时候启动调度策略,综合考虑宿主机的CPU、内存以及存储,通过周期性的采集并计算CPU、内存以及存储的平均利用率决定虚拟机的分配。利用PAAS平台监控模块提供的API,周期性的采集宿主机的CPU、内存以及存储的利用率,并由此计算出宿主机的CPU、内存以及存储的平均利用率,在此基础上计算出宿主机的资源利用率,将服务部署在宿主机资源利用率最低的节点上。服务在运行一段时间之后,会产生系统资源分配不足、利用率低下的问题。利用PAAS平台监控模块在周期T内再次采集服务所在宿主机的CPU、内存、存储及服务本身的平均利用率,并在此基础上计算服务资源利用率,当服务资源利用率小于资源利用率告警阀值时,产生虚拟机迁移告警,将该服务迁移至资源利用率最低的宿主机上。资源利用率最低的宿主机根据步骤S1、S2和S3确定。在保持宿主机负载均衡的基础上,兼顾了资源的利用率。

作为优选,步骤S1所述宿主机的CPU、内存及存储的利用率的计算方法分别为:

Host_CPUutil=CPU_Used/CPUTotal;

Host_Memutil=Mem_Used/MemTotal;

Host_Storageutil=Storage_Used/StorageTotal;

其中,Host_CPUutil表示宿主机的CPU利用率,CPU_Used表示当前宿主机中的运行CPU的数量,CPUTotal表示宿主机中总共的CPU的数量;Host_Memutil表示宿主机的内存利用率,Mem _Used表示当前宿主机中的运行内存的量,Mem Total表示宿主机中总共的内存的量;Host_Storageutil表示宿主机的存储利用率,Storage_Used表示当前宿主机中的运行存储的量,Storage Total表示宿主机中总共的存储的量。

作为优选,步骤S2所述宿主机的CPU、内存及存储的平均利用率的计算方法分别为:

CPU_Avgutil=Host_CPUutil/n

Mem_Avgutil=Host_Memutil/n

Storage_Avgutil=Host_Storage util/n,

其中,CPU_Avgutil、Mem_Avgutil、Storage_Avgutil分别表示CPU、内存、存储的平均利用率。

作为优选,步骤S3所述宿主机的资源利用率的计算方法为:

Host_Avgutil=1/(1- CPU_Avgutil)*(1- Mem_Avgutil)*(1- Storage_Avgutil),

其中, Host_Avgutil表示宿主机的资源利用率。

作为优选,步骤S4所述宿主机的CPU、内存及存储的利用率与步骤S1所述宿主机的CPU、内存及存储的利用率的计算方法相同,所述服务在周期T内的平均利用率的计算方法为:

Host_Serviceutil=Service_used_time/T

Service_ Avgutil=Host_Serviceutil/n;

其中,Host_Serviceutil表示时间T内,服务的利用率,Service_ Avgutil表示随机多次采集的时间内,服务本身的平均利用率。

作为优选,步骤S5所述服务资源利用率的计算方法为:

Host_Avgutil=1/(1- CPU_Avgutil)*(1- Mem_Avgutil)*(1- Storage_Avgutil)*(1- Service_Avgutil),其中,Host_Avgutil表示服务资源利用率

与现有技术相比,本发明的PAAS平台下的动态资源调度算法具有以下突出的有益效果:

(一)所述PAAS平台下的动态资源调度算法提供宿主机资源的综合利用率计算模型,更加完整、准确的反应出宿主机的资源使用情况,为虚拟机的动态分配提供理论模型;

(二)周期性的对服务所在的宿主机进行监控,在综合衡量CPU、内存以及存储的利用率的基础上,结合服务的利用率,对服务所在的宿主机服务资源利用率进行衡量,动态的迁移服务资源利用率较低的虚拟机,在保持宿主机负载均衡的基础上,兼顾了资源的利用率。

具体实施方式

下面将结合实施例,对本发明的PAAS平台下的动态资源调度算法作进一步详细说明。

实施例

本发明的PAAS平台下的动态资源调度算法,在分配虚拟机的时候启动调度策略,利用PAAS平台的监控模块提供的API,根据宿主机的综合利用率模型,周期性的采集并计算虚拟机所在宿主机的CPU、内存及存储的利用率,并由此计算出宿主机的CPU、内存以及存储的平均利用率,在此基础上计算宿主机资源利用率,将服务部署在资源利用率最低的节点上。服务在运行一段时间之后,会产生系统资源分配不足、利用率低下的问题。利用PAAS平台的监控模块在周期T内再次采集并计算服务所在宿主机的CPU、内存以、存储及服务本身的平均利用率,并在此基础上计算服务资源利用率,当服务资源利用率小于资源利用率告警阀值时,产生虚拟机迁移告警,将该服务迁移至资源利用率最低的宿主机上。资源利用率最低的宿主机根据步骤S1、S2和S3确定。

该动态资源调度算法的具体步骤为:

S1:利用PAAS平台监控模块周期性的采集宿主机的CPU、内存及存储利用率。

CPU、内存及存储利用率的计算方法分别为:Host_CPUutil=CPU_Used/CPUTotal;

Host_Memutil=Mem_Used/MemTotal;

Host_Storageutil=Storage_Used/StorageTotal。

其中,Host_CPUutil表示宿主机的CPU利用率,CPU_Used表示当前宿主机中的运行CPU的数量,CPUTotal表示宿主机中总共的CPU的个数;Host_Memutil表示宿主机的内存利用率,Mem _Used表示当前宿主机中的运行内存的量,Mem Total表示宿主机中总共的内存的量;Host_Storageutil表示宿主机的存储利用率,Storage_Used表示当前宿主机中的运行存储的量,Storage Total表示宿主机中总共的存储的量。

S2:在随机时间t内,多次采集并计算宿主机的CPU、内存及存储利用率,由此计算宿主机的CPU、内存及存储的平均利用率。

宿主机的CPU、内存及存储的平均利用率的计算方法分别为:

CPU_Avgutil=Host_CPUutil/n

Mem_Avgutil=Host_Memutil/n

Storage_Avgutil=Host_Storage util/n。

其中,CPU_Avgutil、Mem_Avgutil、Storage_Avgutil分别表示CPU、内存、存储的平均利用率。

S3:在步骤S2基础上计算宿主机的资源利用率,将服务部署在宿主机资源利用率最低的节点上。

宿主机的资源利用率的计算方法为:

Host_Avgutil=1/(1- CPU_Avgutil)*(1- Mem_Avgutil)*(1- Storage_Avgutil)。

其中,Host_Avgutil表示宿主机的资源利用率。

S4:利用PAAS平台监控模块在周期T内计算服务所在宿主机的CPU、内存、存储及服务本身的平均利用率。

宿主机的CPU、内存、存储的平均利用率的计算方法与步骤S2的相同,服务本身的平均利用率的计算方法为:

Host_Serviceutil=Service_used_time/T

Service_ Avgutil=Host_Serviceutil/n;

其中,Host_Serviceutil表示时间T内,服务的利用率,Service_ Avgutil表示随机多次采集的时间内,服务本身的平均利用率。

S5:在步骤S4基础上计算服务资源利用率。

服务资源利用率的计算方法为:

Host_Avgutil=1/(1- CPU_Avgutil)*(1- Mem_Avgutil)*(1- Storage_Avgutil)*(1- Service_Avgutil)。

其中,Host_Avgutil表示服务资源利用率。

S6:设置服务资源利用率告警阀值,当服务资源利用率小于服务资源利用率告警阀值时,产生虚拟机迁移告警,将服务迁移至资源利用率最低的宿主机上。

以上所述的实施例,只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

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