一种基于SLA服务等级的云计算Web应用资源负载均衡算法

文档序号:9649069阅读:376来源:国知局
一种基于SLA服务等级的云计算Web应用资源负载均衡算法
【技术领域】
[0001] 本发明设及云计算负载均衡领域,特别是一种基于SLA服务等级的云计算Web应 用资源负载均衡算法。
【背景技术】
[0002] 随着云计算的发展,尤其是SaaS模式的普及,云计算应用的开发模式也发生了显 著的变化。目前,插件开发者采用云服务供应商提供的API能开发出运行在云平台上的应 用;可是,应用的交付尤其是Web应用的交付已经与原有交付模式不同,插件开发者提交的 插件并不是完整的目标代码,而是构成应用的一部分。遵循云计算按需使用的特性,云计算 下的Web应用也支持负载均衡的特性,目前云计算下Web应用负载均衡采用传统Web集群 的负载均衡技术会带来W下的问题:
[0003] 1、当大型节点上部署了一个对资源服务能力需求较低的插件实例时,当插件负载 较大时,依然只消耗很小的资源服务能力,节点负载率自然较低。此时请求依然有较大的概 率分配给此节点进行执行,造成构件满载甚至崩溃。
[0004] 2、当节点上部署若干资源服务能力需求较大的插件实例,W及一个资源服务能力 较小的插件实例时,即使后者处于空载状态,节点的负载率依然很高,当请求该实例类型插 件的任务请求转发时,只会有很小的概率转发至该节点,造成资源的浪费。

【发明内容】

[0005] 本发明解决的技术问题在于提供一种可靠性、高效的针对SLA服务等级的云计算 Web应用资源负载均衡算法,解决现有算法在云计算Web应用资源负载均衡方面因不考虑 服务等级需求而出现的效率低的问题。
[0006] 本发明解决上述技术问题的技术方案是:
[0007] 包括W下步骤:
[0008] 步骤1 :开始一个新的数据采集周期T;
[0009] 步骤2 :向节点采集负载信息,W及节点上部署插件实例的负载信息;
[0010] 步骤3 :判断是否有服务请求到达,如果有服务请求R到达,执行步骤4,否则执行 步骤8;
[0011] 步骤4 :根据服务请求R选择候选节点,即部署了执行服务请求R的插件实例的节 占. '?、、,
[0012] 步骤5 :计算候选节点的负载指数;
[001引步骤6 :轮赌法选择执行服务请求的节点;
[0014] 步骤7 :将服务请求分配给该节点上插件实例执行,执行步骤3 ;
[0015] 步骤8 :判断采集周期结束是否结束,是则采集周期结束;否则行步骤3。
[0016] 所述SLA指的是服务等级协议,是云服务提供商与租户确定的针对服务所能达到 的目标和质量;
[0017] 所述节点指的是云服务提供商提供Web服务的资源基础,在节点自身服务能力的 约束下,云服务提供商将Web应用插件部署在节点上;
[0018] 所述插件指的是由一个或多个功能组成的一个目标代码;所述插件实例是插件的 实例化,是功能特征描述的功能的具体执行者;一个插件根据租户需求,可能部署一个或多 个实例,根据负载的情况决定。
[0019] 所述服务请求是指租户对云计算资源的请求;
[0020] 在用户与Web应用平台方已签订SLA的情况下每一个服务请求都可W看作一个二 元组:
[0021] R= (AC,Level)
[0022] 式中AC-一处理服务请求的插件类型;
[0023] Level--该用户与Web应用提供方签订的SLA中规定的服务等级Level,Level 用正整数表示,服务等级越高,服务质量越高。
[0024] 所述负载指数是指待节点对服务请求的响应能力的计算值;
[00巧]部署插件类型AC的节点实例的节点集合为
[0026] N= (Nodei,Nodes,…,NodeJ
[0027] ,则节点Nodei的负载指数化1的求解公式如下:
[0029] 式中1:沒1|拓一一插件类型AC请求的资源服务能力;
[0030] Co謂。39一一节点Nodei提供能资源服务能力; 阳〇31] L加始t--Node;的负载利用率; 阳03引 LASi一一Nodei上部署的插件类型AC的插件实例的负载利用率。
[0033] 所述插件类型AC请求的资源服务能力,本发明选取CPU、内存、存储、I/O、带宽五 个指标表示节点的服务能力,因此某节点Node,提供的服务能力记为
阳的5] 式中P--提供服务能力标识。
[0036] 某类型插件ACy对节点服务能力的需求记为
[0038] 式中r--服务能力需求标识。
[0039] 某节点Node,的剩余服务能力为
[0041] 式中f一一剩余服务能力标识。
[0042] 所述插件实例负载利用率的计算方法为:设某构件实例Ac的插件类型为ACi,某 时刻构件处理的并发请求数为r,由定义4可得,插件实例负载利用率La。的计算公式为:
[0044] 式中MaXi-一插件类型A。的负载上限。
[0045] 所述节点负载利用率的计算方法为:
阳047] 所述轮赌法选择执行服务请求的节点指的是计算服务请求R分配给节点Node;进 行处理的概率,公式为:
[0049] 本发明的方法能产生如下的有益效果:
[0050] 1、本发明的算法综合考虑节点负载、插件负载、租户服务等级,是一种针对云计算 Web应用的全面的算法;
[0051] 2、本发明算法在参考节点负载作为选取节点依据的同时还考虑的节点上插件实 例的负载情况,从而避免插件实例负载较大但所在节点负载较低时,服务请求仍然被分配 给该插件进行处理的情况。可W满足不同租户对服务等级的不同需求。能最大限度地利用 资源,避免浪费。
【附图说明】
[0052] 下面结合附图对本发明进一步说明:
[0053] 图1为本发明的流程图。
【具体实施方式】
[0054]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。 阳化5] 本发明的算法包括W下步骤:
[0056] 步骤1 :开始一个新的数据采集周期T;
[0057] 步骤2:向节点采集负载信息,W及节点上部署插件实例的负载信息;
[005引步骤3 :判断是否有服务请求到达,如果有服务请求R到达,执行步骤4,否则执行 步骤8;
[0059]步骤4 :根据服务请求R选择候选节点,即部署了执行服务请求R的插件实例的节 占. W60] 步骤5 :计算候选节点的负载指数;
[0061] 步骤6 :轮赌法选择执行服务请求的节点;
[0062] 步骤7 :将服务请求分配给该节点上插件实例执行,执行步骤3 ;
[0063] 步骤8 :判断采集周期结束是否结束,是则采集周期结束;否则行步骤3。
[0064] 前述SLA指的是服务等级协议,是云服务提供商与租户确定的针对服务所能达到 的目标和质量。节点指的是云服务提供商提供Web服务的资源基础,在节点自身服务能力 的约束下,云服务提供商将Web应用插件部署在节点上。插件指的是由一个或多个功能组 成的一个目标代码;所述插件实例是插件的实例化,是功能特征描述的功能的具体执行者; 一个插件根据租户需求,可能部署一个或多个实例,根据负载的情况决定。 阳0化]所述服务请求是指租户对云计算资源的请求;
[0066] 在用户与Web应用平台方已签订SLA的情况下每一个服务请求都可W看作一个二 元组:
[0067] R= (AC,L
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1