一种基于SLA的多租户虚拟机资源分配方法组成比例

技术编号:14860838 阅读:78 留言:0更新日期:2017-03-19 13:56
本发明专利技术涉及云计算技术领域,特别是一种基于SLA的多租户虚拟机资源分配方法。本发明专利技术首先在应用发出资源请求后,根据请求中虚拟机的数量和配置,计算出整个应用对每种资源类别的使用量;然后按照每种资源的类别对应用的资源使用量以及物理机的空闲资源量逐一比较;最后如果应用请求的任意一项资源无法满足则将请求放入等待队列中,等待队列的调度机制进行资源分配;否则为请求分配资源创建虚拟机。本发明专利技术解决了虚拟机合理分配资源和快速响应的问题;可以用于多租户虚拟机资源分配。

【技术实现步骤摘要】

本专利技术涉及云计算
,特别是一种基于SLA的多租户虚拟机资源分配方法
技术介绍
在私有云环境下,由于资源的有限性以及需要同时满足与多租户签订的SLA的强制性要求,一个新的应用请求部署到云平台前,应该对私有云环境的空闲资源进行检查。如果空闲资源无法满足应用的需求,那么应该暂缓给这个应用分配资源,同时把请求放入等待队列,等到私有云平台能够为其提供足够的资源时再从请求等待队列中将该请求取出并分配相应的虚拟机资源。传统方法采用先进先出的方法对请求队列进行管理,存在如下不足:1、某些应用的部署请求可能由于资源需求量较大,导致等待时间过长,应用迟迟无法部署而影响用户体验。2、虚拟机资源的有限性与应用规模的可扩展性存在矛盾的情况下,无法根据与用户签订的SLA既保证服务水平又合理分配虚拟机资源。
技术实现思路
本专利技术解决的技术问题在于一种基于SLA的多租户虚拟机资源分配方法;解决前述现有技术的问题。本专利技术解决上述技术问题的技术方案是:所述的方法包括以下步骤:步骤1:应用发出资源请求后,根据请求中虚拟机的数量和配置,计算出整个应用对每种资源类别的使用量;步骤2:按照每种资源的类别对应用的资源使用量以及物理机的空闲资源量逐一比较;步骤3:如果应用请求的任意一项资源无法满足则将请求放入等待队列中,等待队列的调度机制进行资源分配;步骤4:否则为请求分配资源创建虚拟机。所述资源类别指的是租户SLA中用于描述虚拟机配置的参数,包括CPU核数、内存大小及硬盘大小;物理机空闲资源指的是物理机中剩余可供虚拟机使用的物理资源,也包括CPU核数、内存大小及硬盘大小;资源类别中的参数与物理机空闲资源为一一对应关系。所述队列调度机制的步骤包括:步骤1:有应用撤销而删除虚拟机时,计算物理机的空闲资源;步骤2:判断等待队列队头的请求是否等待轮次超标;如果是,执行步骤3,否则执行步骤4;步骤3:取出队头的请求,判断该请求是否与物理机的空闲资源匹配,如果是,执行步骤6,否则,执行步骤7;步骤4:取出队头请求的后一个请求,判断该请求是否与物理机的空闲资源匹配,如果是,执行步骤5;否则,检查队列中后一个请求是否已达到队尾,如果是,那么执行步骤7,否则,执行步骤4;步骤5:将队列中此请求前的所有请求的等待轮次加1;步骤6:为请求分配资源用于创建虚拟机;步骤7:继续等待应用撤销释放空闲资源。所述等待轮次指的是等待队列中请求等待空闲资源的次数,等到轮次超标指的是等待轮次超过某一个阈值,该阈值由用户指定,超过该阈值表示应用等待部署的时间过长。本专利技术的方法能产生如下的有益效果:1、本专利技术方法能在满足SLA承诺与合理分配资源之间获得平衡;2、本专利技术方法在资源不足是具有较好的用户体验,既可以在短时间内响应小需求用户的请求,又不会使大需求用户的请求等待时间过长。附图说明下面结合附图对本专利技术进一步说明:图1为本专利技术的流程图;图2为本专利技术的队列调度流程图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。见图1、2所示,本专利技术首先实现对请求的初次处理:输入参数:应用资源请求AppRequest,应用请求包括两个内容分别为,应用所属用户user,所需资源数组ResArray。输出值:true为可以为其分配资源,false为不能。主机监控函数来获得数据。对应用请求的每项资源指标和空闲资源的每项资源数据进行比较后如果能够满足就返回true,如果不能满足根据type来放入相应的请求等待队列。然后实现队列中请求的调度:输入参数:type为已经释放资源来自于何种类型的资源池,flag为队列中等待最长轮次的阈值输出值:true为分配了一个新的资源请求,false为继续等待。flag为等待轮次的阈值。当响应应用退出事件的时候将会使用到本算法。首先在等待队列Queue中遍历,AppRequest.wait为某个请求的等待轮次,如果等待轮次超过了flag则此时必须要为这个请求分配资源,对这个请求运行请求鉴别算法即可算出这个请求所需的资源是否可以被满足,如果不能满足则算法结束,继续等待新的空闲资源。如果没有应用的等待轮次超过flag,逐个对Queue中的AppRequest运行请求鉴别算法,如果可以分配资源则分配相应的虚拟机资源,如果不能则将当前的AppRequest.wait加一,再遍历下一个请求。本文档来自技高网...

【技术保护点】
一种基于SLA的多租户虚拟机资源分配方法,其特征在于,所述的方法包括以下步骤:步骤1:应用发出资源请求后,根据请求中虚拟机的数量和配置,计算出整个应用对每种资源类别的使用量;步骤2:按照每种资源的类别对应用的资源使用量以及物理机的空闲资源量逐一比较;步骤3:如果应用请求的任意一项资源无法满足则将请求放入等待队列中,等待队列的调度机制进行资源分配;步骤4:否则为请求分配资源创建虚拟机。

【技术特征摘要】
1.一种基于SLA的多租户虚拟机资源分配方法,其特征在于,所述的方法
包括以下步骤:
步骤1:应用发出资源请求后,根据请求中虚拟机的数量和配置,计算出整
个应用对每种资源类别的使用量;
步骤2:按照每种资源的类别对应用的资源使用量以及物理机的空闲资源量
逐一比较;
步骤3:如果应用请求的任意一项资源无法满足则将请求放入等待队列中,
等待队列的调度机制进行资源分配;
步骤4:否则为请求分配资源创建虚拟机。
2.根据权利要求1所述的方法,其特征在于,所述资源类别指的是租户SLA
中用于描述虚拟机配置的参数,包括CPU核数、内存大小及硬盘大小;物理机
空闲资源指的是物理机中剩余可供虚拟机使用的物理资源,也包括CPU核数、
内存大小及硬盘大小;资源类别中的参数与物理机空闲资源为一一对应关系。
3.根据权利要求1或2所述的方法,其特征在于,所述队列调度机制的步
骤包括:...

【专利技术属性】
技术研发人员:莫展鹏杨松季统凯
申请(专利权)人:国云科技股份有限公司
类型:发明
国别省市:广东;44

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

1