当前位置: 首页 > 专利查询>山东大学专利>正文

基于超轻量虚拟机的云计算动态资源调度系统及方法技术方案

技术编号:13903227 阅读:102 留言:0更新日期:2016-10-26 00:20
本发明专利技术公开了一种基于超轻量虚拟机的云计算动态资源调度系统及方法,从云计算环境中收集各应用实例的虚拟资源指标,通过拟合函数和使用误差最小的预测函数作为该应用实例的预测函数,以预测一个应用实例的虚拟资源到达使用率上限的时间;根据预测的上限时间和签订的SLA协议,对进行资源动态分配的各个应用实例进行任务排序;按照排序的顺序,将任务排队模块中选取的应用实例调度给需求者,回收应用虚拟资源使用率已经超出下限的虚拟资源,实现资源的动态分配。本发明专利技术更高效实现资源均衡使用,实现在低耗下获得满意的负载均衡,提高资源调度的综合效率。

【技术实现步骤摘要】

本专利技术涉及一种基于超轻量虚拟机的云计算动态资源调度系统及方法
技术介绍
在超轻量虚拟机Docker(以下简称Docker)发展之前,如我们所知,要对公司人员进行一项上机培训,需要先寻找合适的机房,购买必需的设备,再为该设备安装所需培训的内容,然后才能进行正常培训。设备及培训的内容在这里就是整个培训过程依赖的环境,公司人员与环境是强相关的。假如环境由运维工程师维护,一旦环境有所变化,直接导致运维工程师需要重新更换设备或培训内容,运维成本高,内耗与风险大。Docker的发展,创造性的解决了这个难题。它把应用实例及其依赖环境打包到一个可移植容器中,可以发布到任何流行的Linux机器上。当下已有Swarm、kubernetes等基于Docker的容器管理工具,都是官方封装的实现固定功能的工具,适合于公司企业开发严格规范的大型项目。有了Docker,开发、运维人员就可以以容器为单位整体式地管控整个开发、运维流程,帮助开发过程中实现一处开发、多处运行。虽然Docker有效解决上述问题,但在实际应用过程中又引入另一个问题,即Docker本身并不具备资源调度的功能,然而在现实中资源调度又是不可或缺的。例如在B2C(Business-to-Customer)业务场景下,当用户大量访问网页时,数据库将执行大量查询、插入、删除等操作。基于互联网的访问请求是不可预测的,如果所有的应用实例分配的资源不再改变,那么在访问达到峰值时,资源因为消耗的快速增长,而造成网页访问延迟,用户体验下降等负面影响。实际中,一个应用实例的资源利用率是时刻变化的,若分配的资源一成不变,必然导致资源利用率不高的后果,类似访问网页的应用实例就会出现延迟响应速度。因此要求应用实例的资源不应该是一成不变的,必须是可调度、可再分配的。如何实现这一要求,成为本领域一个急需解决的问题。
技术实现思路
本专利技术为了解决上述问题,提出了一种基于超轻量虚拟机的云计算动态资源调度系统及方法,本专利技术可有效解决现有技术中存在的虚拟机的资源可调度、可再分配的效果不理想,资源利用率低等问题。为了实现上述目的,本专利技术采用如下技术方案:一种基于超轻量虚拟机的云计算动态资源调度系统,包括资源预测模块、任务排队模块和资源调度模块,其中:所述资源预测模块,从云计算环境中收集各应用实例的虚拟资源指标,通过拟合函数和使用误差最小的预测函数作为该应用实例的预测函数,以预测一个应用实例的虚拟资源到达使用率上限的时间;所述任务排队模块,根据预测的上限时间和签订的SLA协议,对进行资源动态分配的各个应用实例进行任务排序;所述资源调度模块,包括交替进行操作的资源动态分配模块和资源回收模块,所述资源动态分配模块,按照排序的顺序,将任务排队模块中选取的应用实例调度给需求者,所述资源回收模块,回收应用虚拟资源使用率已经超出下限的虚拟资源,实现资源的动态分配。所述资源动态分配模块对于应用实例的调度包括节点内调度,即同一节点之内,在该节点的资源足够满足资源动态分配任务需求的资源的情况下,就在节点内执行资源动态分配。所述资源动态分配模块对于应用实例的调度包括节点之间调度,不同节点之内,在该节点的资源无法满足资源动态分配任务需求的资源的情况下,就将该应用实例在另一个空闲的节点上执行。所述虚拟资源包括虚拟处理机和虚拟内存。所述节点为每个安装有超轻量虚拟机的物理机。所述每一个应用实例的虚拟资源都有使用率上限和下限。使用率是指应用实例使用的虚拟资源占用分配给应用实例的虚拟资源的百分比。上限是指虚拟资源使用率的最大值。下限是指虚拟资源使用率的最小值。一种基于超轻量虚拟机的云计算动态资源调度方法,包括以下步骤:(1)根据从云计算环境中收集各应用实例的虚拟资源指标,通过拟合函数和使用误差最小的预测函数作为该应用实例的预测函数,预测一个应用实例的虚拟资源到达使用率上限的时间;(2)根据预测的上限时间和签订的SLA协议,对进行资源动态分配的各个应用实例进行任务排序;(3)按照排序顺序,根据从云计算环境中收集各应用实例的虚拟资源指标,将任务排队模块中选取的应用实例调度给需求者,回收应用虚拟资源使用率已经超出下限的虚拟资源,实现资源的动态分配。所述步骤(1)中,实时获取应用实例在一段时间之内各项虚拟资源指标,根据拟合函数计算预测值与真实值之间的误差,选择误差最小的预测函数作为最终使用的预测函数,通过选定的预测函数,计算应用实例虚拟资源到达使用率上限的时间,按照时间对所有应用实例进行排序。优选的,所述步骤(1)中,对于虚拟处理机和虚拟内存两种不同的虚拟资源,进行不同的预测,计算应用实例相应的虚拟资源到达使用率上限的时间。所述步骤(1)中,对于虚拟处理机的资源预测过程具体包括:(1-1)记录每个时刻采样的每个应用实例的虚拟处理机的使用率,通过线性拟合构造虚拟处理机使用率与时间的线性拟合函数,计算每个应用实例的虚拟处理机使用率的观察值和预测值的误差之和;(1-2)通过二次拟合来求出应用实例的虚拟处理机使用率与时间的拟合函数,计算应用实例的虚拟处理机使用率的观察值和预测值的误差之和;(1-3)比较两个误差之和,选择误差之和较小的结果所对应的拟合函数为最终预测函数;(1-4)利用拟合函数预测每个应用实例虚拟处理机使用率到达使用率上限的时间,对所有应用实例,按照求取的时间进行从小到大的排序。所述步骤(1)中,对于虚拟内存的资源预测过程具体步骤包括:(1.1)通过线性拟合求出每个应用实例的虚拟内存使用率与时间的线性拟合函数,计算应用实例的虚拟内存使用率的观察值和预测值的误差之和;(1.2)通过二次拟合来求出应用实例的虚拟内存使用率与时间的拟合函数,计算应用实例的虚拟内存使用率的观察值和预测值的误差之和;(1.3)比较两个误差之和,选择误差之和较小的结果所对应的拟合函数为最终预测函数,以预测各个应用实例的虚拟内存使用率到达使用率上限的时间;(1.4)对所有应用实例按照求取的时间进行从小到大的排序。所述步骤(1)中,对虚拟处理机的资源预测结果和虚拟内存的资源预测结果进行整合,确认最终的排序方案。所述步骤(2)中,根据SLA协议,考虑当应用实例遇到资源问题时处理的优先级,对形成的排序方案进行重新的排序,确定最终的资源动态分配的顺序。所述步骤(3)中,在排序方案中选择顺序排在第一位的应用实例作为资源动态分配任务的目标应用,根据各个应用实例虚拟资源使用率的下限,判断是否存在应用实例可被回收资源。所述步骤(3)中,若存在某应用实例的虚拟处理机的使用率下限大于其一段时间之内的平均虚拟处理机使用率,且该应用实例的虚拟内存使用率大于其在一段时间之内的平均虚拟内存使用率,则资源回收的准则为:cid<=(Ci-ΔC)/Ci<=ciumid<=(Mi-ΔM)/Mi<=miuCi代表已经分配给应用实例i的虚拟处理机资源大小,Mi代表已经分配给应用实例i的虚拟内存资源大小,ΔC代表应用实例i要被回收的处理机资源大小,ΔM代表应用实例i要被回收的内存资源大小,ciu代表应用实例i的虚拟cpu使用率上限,miu代表应用实例i的虚拟内存使用率上限,cid代表应用实例i的虚拟cpu使用率下限,mid代表应用实例i的虚拟内存使用率下限。所述步骤(3)中,获取每个节点的可本文档来自技高网
...

【技术保护点】
一种基于超轻量虚拟机的云计算动态资源调度系统,其特征是:包括资源预测模块、任务排队模块和资源调度模块,其中:所述资源预测模块,从云计算环境中收集各应用实例的虚拟资源指标,通过拟合函数和使用误差最小的预测函数作为该应用实例的预测函数,以预测一个应用实例的虚拟资源到达使用率上限的时间;所述任务排队模块,根据预测的上限时间和签订的SLA协议,对进行资源动态分配的各个应用实例进行任务排序;所述资源调度模块,包括交替进行操作的资源动态分配模块和资源回收模块,所述资源动态分配模块,按照排序的顺序,将任务排队模块中选取的应用实例调度给需求者,所述资源回收模块,回收应用虚拟资源使用率已经超出下限的虚拟资源,实现资源的动态分配。

【技术特征摘要】
1.一种基于超轻量虚拟机的云计算动态资源调度系统,其特征是:包括资源预测模块、任务排队模块和资源调度模块,其中:所述资源预测模块,从云计算环境中收集各应用实例的虚拟资源指标,通过拟合函数和使用误差最小的预测函数作为该应用实例的预测函数,以预测一个应用实例的虚拟资源到达使用率上限的时间;所述任务排队模块,根据预测的上限时间和签订的SLA协议,对进行资源动态分配的各个应用实例进行任务排序;所述资源调度模块,包括交替进行操作的资源动态分配模块和资源回收模块,所述资源动态分配模块,按照排序的顺序,将任务排队模块中选取的应用实例调度给需求者,所述资源回收模块,回收应用虚拟资源使用率已经超出下限的虚拟资源,实现资源的动态分配。2.如权利要求1所述的一种基于超轻量虚拟机的云计算动态资源调度系统,其特征是:所述资源动态分配模块对于应用实例的调度包括节点内调度,即同一节点之内,在该节点的资源足够满足资源动态分配任务需求的资源的情况下,就在节点内执行资源动态分配;所述资源动态分配模块对于应用实例的调度包括节点之间调度,不同节点之内,在该节点的资源无法满足资源动态分配任务需求的资源的情况下,就将该应用实例在另一个空闲的节点上执行;所述虚拟资源包括虚拟处理机和虚拟内存。3.一种基于超轻量虚拟机的云计算动态资源调度方法,其特征是:包括以下步骤:(1)根据从云计算环境中收集各应用实例的虚拟资源指标,通过拟合函数和使用误差最小的预测函数作为该应用实例的预测函数,预测一个应用实例的虚拟资源到达使用率上限的时间;(2)根据预测的上限时间和签订的SLA协议,对进行资源动态分配的各个应用实例进行任务排序;(3)按照排序顺序,根据从云计算环境中收集各应用实例的虚拟资源指标,将任务排队模块中选取的应用实例调度给需求者,回收应用虚拟资源使用率已经超出下限的虚拟资源,实现资源的动态分配。4.如权利要求3所述的一种基于超轻量虚拟机的云计算动态资源调度方法,其特征是:所述步骤(1)中,实时获取应用实例在一段时间之内各项虚拟资源指标,根据拟合函数计算预测值与真实值之间的误差,选择误差最小的预测函数作为最终使用的预测函数,通过选定的预测函数,计算应用实例虚拟资源到达使用率上限的时间,按照时间对所有应用实例进行排序。5.如权利要求3所述的一种基于超轻量虚拟机的云计算动态资源调度方法,其特征是:所述步骤(1)中,对于虚拟处理机的资源预测过程具体包括:(1-1)记录每个时刻采样的每个应用实例的虚拟处理机的使用率,通过线性拟合构造虚拟处理机使用率与时间的线性拟合函数,计算每个应用实例的虚拟处理机使用率的观察值和预测值的误差之和;(1-2)通过二次拟合来求出应用实例的虚拟处理机使用率与时间的拟合函数,计算应用实例的虚拟处理机使用率的观察值和预测值的误差之和;(1-3)比较两个误差之和,选择误差之和较小的结果所对应的拟合函数为最终预测函数;(1-4)利用拟合函数预测每个应用实例虚拟处理机使用率到达使用率上限的时间,对所有应用实例,按照求取的时间进行从小到大的排序。6.如权利要求3所述的一种基于超轻量虚拟机的云计算动态资源调度方法,其特征是:所述步骤(1)中,对于虚拟内存的资源预测过程具体步骤包括:(1.1)通过线性拟合求出每个应用实例的虚拟内存使用率与时间的线性拟合函数,计算应用实例的虚拟内存使用率的观察值和预测值的误差之和;(1.2)通过二次拟合来求出应用实例的虚拟内存使用率与时间的拟合函数,计算应用实例的虚拟内存使用率的观察值和预测值的误差之和;(1.3)比较两个误差之和,选择误差之和较小的结果所对应的拟合函数为最终预测函数,以预测各个应用实例的虚拟内存使用...

【专利技术属性】
技术研发人员:崔立真闵新平边俊峰李庆忠
申请(专利权)人:山东大学
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1