CN101873224A - 一种云计算负载均衡方法和设备 - Google Patents
一种云计算负载均衡方法和设备 Download PDFInfo
- Publication number
- CN101873224A CN101873224A CN 201010199455 CN201010199455A CN101873224A CN 101873224 A CN101873224 A CN 101873224A CN 201010199455 CN201010199455 CN 201010199455 CN 201010199455 A CN201010199455 A CN 201010199455A CN 101873224 A CN101873224 A CN 101873224A
- Authority
- CN
- China
- Prior art keywords
- service
- load
- server
- copy
- load capacity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种云计算负载均衡方法和设备,属于计算机网络技术领域。所述云计算负载均衡方法包括:根据用户提出的服务组合请求中各服务器的负载容率选择服务副本,及对服务器应用分布式服务路由方法建立服务路径,将用户提出的服务组合请求沿着服务路径传输,传递给用户。所述云计算负载均衡设备包括服务组合请求模块、服务副本选择模块、服务路径建立模块和服务路径建立模块。本发明根据服务器的负载波动情况获得服务器的负载容率,由于服务器的负载波动情况不断进行自适应调整,因而服务器的负载容率也是自适应变化的,本发明根据服务器的负载容率选择合适服务副本,能够保证各副本上的负载分布比较均匀,实现服务器的自适应负载均衡。
Description
技术领域
本发明涉及计算机网络技术领域,特别涉及一种云计算负载均衡方法和设备。
背景技术
云计算(Cloud Computing)是分布式计算(Distributed Computing)、并行计算(Parallel Computing)和网格计算(Grid Computing)的发展,其基本原理是将计算任务通过网络分配给多台计算机执行,每台计算机成为云计算网络的一个节点。云计算提供服务除公共计算和SaaS(Software-as-a-service,软件即服务)外,还包括网络服务、平台即服务以及MSP(Management Service Provider,管理服务提供商)等其他形式。云计算服务通过浏览器把程序传给成千上万的用户,“云”的优势在于其基础架构管理,日益成熟的虚拟技术为这种服务提供了强大的技术支持,使“云”能够通过自动部署、重新构建映像、重新均衡工作负载、监控并***地处理变更请求,以便管理并更好地利用底层资源。
现如今,虚拟化技术应用越来越广,数据中心虚拟化则是利用虚拟化技术帮助企业的数据中心实现更加高效、可管理性更高、资源配置更灵活的数据中心。在这一领域,存储虚拟化、服务器的虚拟化被更多的人关注和应用。在网络领域特别是利用负载均衡设备更能有效地帮助用户实现上述目标。目前的主流负载均衡设备大多着眼于更多的功能,更高的性能。这使得负载均衡设备日趋复杂,产品的价格、服务的开销也居高不下,这使得企业数据中心虚拟化中负载均衡的应用受到严重的制约。
现有的云计算负载均衡设备包括Google云计算负载均衡设备和亚马逊云计算负载均衡设备,由于Google云计算负载均衡设备是针对Google特定的网络应用程序设定的,不具备广泛意义的适用性,且Google云计算负载均衡设备无法支持任何非GFS***开发的软件,也就是说多数windows平台和unix环境下的软件得不到Google云计算负载均衡设备的支持。亚马逊云计算负载均衡设备必须基于Linux环境,而不支持Windows或其他操作***,且其运行的必须是Web在线业务,并不支持一般的C/S服务器。
为完成云计算的负载均衡,寻求传输服务组合请求的服务路径是必要步骤,现有技术中使用LIAC(least-inverse-available-capacity)测度构建服务路径(简称为LIAC方法),LIAC方法的基本思想是:对于用户请求组合的k个服务,将覆盖网络图复制k+1次,并在用户所请求的服务之间添加垂直边,形成多层转换图;然后,根据服务器的最大负载和当前负载信息,在垂直边上设置权重。这样,只需使用Diikstra算法在带权多层转换图上寻找一条从顶层到底层的最短路径,就是服务负载最轻的一条路径。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
1、LIAC方法的多层转换图需要将覆盖网络图复制k+1次,存储空间开销和计算时间开销比较大;
2、LIAC方法构造多层转换图时需要知道服务覆盖网的全局拓扑结构,LIAC测度的计算需要知道每台服务器的当前负载和最大负载值,在实际网络环境中,服务器的最大负载量往往是难以预先估算,服务器的当前负载也是难以测定的。
3、每个服务器需要维护全局的网络拓扑和负载信息,一个服务器加入或退出***,会导致整个多层转换图的拓扑结构发生改变,LIAC方法需要重新进行计算,开销较大。LIAC方法实际上适用于一种集中式计算环境,并不适用于大规模网络中服务节点动态加入和退出的情况。
发明内容
为了降低覆盖网络图的存储空间开销和计算时间开销,本发明实施例提供了一种云计算负载均衡方法和设备。所述云计算负载均衡方法的技术方案如下:
用户向服务覆盖网络图中节点提出服务组合请求,所述服务组合请求中的每个服务有多个服务副本部署在不同的服务器上;
对所述服务组合请求中每个服务选择负载容率最大的服务副本,所述服务副本的负载容率为部署该服务副本的服务器的负载容率;
对上述选择的部署服务副本的服务器应用分布式服务路由方法建立服务路径;
将所述服务组合请求沿着所述服务路径传输给用户。
同时,本发明提供了一种云计算负载均衡设备,包括:
服务组合请求模块,用于向服务覆盖网图中节点提出服务组合请求,所述服务组合请求中的每个服务有多个服务副本,所述多个服务副本部署在不同的服务器上;
服务副本选择模块,用于对所述服务组合请求中每个服务选择负载容率最大的服务副本,所述服务副本的负载容率为部署该服务副本的服务器的负载容率;
服务路径建立模块,用于对选择的部署服务副本的服务器应用分布式服务路由方法建立服务路径;
传输服务组合请求模块,用于将服务组合请求沿着服务路径传输给用户。
本发明实施例提供的技术方案带来如下有益效果:
1、本发明实施例应用于云计算平台的同时,能够广泛应用于集群式计算环境,更适用于大规模网络环境下服务节点动态加入和退出的情况。
2、本发明实施例只需对覆盖网络图应用分布式服务路由方法,减小了存储空间开销和计算时间开销,且只需知道服务节点的负载波动情况,也就是服务器在一段时间内结束的服务数量,这对于服务器来说是可以准确测量的。
3、本发明实施例使用分布式的服务路由,若一个服务节点的状态发生改变,只需对分布式路由表的部分项进行修改,重新计算CL表中该节点的测度值即可。本方法具有高可用性,若一个服务节点失效,它的任务可以传递给其他节点,能够有效防止单点失效。
4、本发明实施例通过改进负载均衡方法和负载均衡设备中的参数,能够适用于各种集群式计算环境,具有高扩展性。
5、本发明实施例提供的云计算负载均衡方法具有高性能和高性价比,***允许接入更多的用户,可以采用廉价的符合工业标准的硬件构造高性能的***。
附图说明
图1是本发明实施例1中提供的冠实广泛应用型云计算平台的服务覆盖网络图;
图2是本发明实施例1中提供的负载均衡方法的流程示意图;
图3是本发明实施例3中提供的服务器上服务副本的负载量随时间变化的曲线图;
图4是本发明实施例3中提供的平均负载距离与波动因子的关系图;
图5是本发明实施例3中提供的非均匀用户访问的负载变化图;
图6是本发明实施例3中提供的使用CL测度和最短路径测度获得服务路径的累积分布图;
图7是本发明实施例3中提供的平均负载距离与路径因子的关系图;
图8是本发明实施例3中提供的路径因子取不同值时的服务路径的累积分布图;
图9是本发明实施例4中提供的负载均衡设备的结构示意图;
图10是本发明实施例4中提供的负载均衡设备二的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
服务覆盖网(Service Overlay Network)中的服务组合问题是冠实广泛应用型云计算平台的主体部分。服务覆盖网是由服务节点(即服务器)构成的覆盖网络图,服务提供者可以在服务节点上部署相应的服务,每类服务都可以有多个实例(或称为服务副本),提供相同或不同级别的服务质量,实现覆盖网络中负载均衡并提供有弹性的容错。服务组合通过选择一组所需的服务副本,在服务覆盖网络图中形成服务路径,将现有的简单服务集合形成复杂服务,如将多个简单的web服务灵活构建功能强大的复杂的web服务,将现在多样分散的异构web服务通过服务组合有机地组织成新的服务,以及将各种异构的硬件设备(如PC,PDA等)和网络服务访问方式(如有线,无线等)以一种新方式组合提供新的服务,对网络资源的重用和协同具有重要意义。
图1是本发明实施例1中提供的冠实广泛应用型云计算平台的服务覆盖网络图,用户可以向服务覆盖网络图中任意一个节点提出服务组合请求,该节点称为出口节点,所述服务组合请求中的每个服务有多个服务副本,所述多个服务副本部署在不同的服务器上。图1显示了4种服务及多个服务副本的部署情况,用户请求组合服务0和服务2,建立一条服务路径,经过服务0和服务2两种服务组件,为用户提供新的服务。服务路径中允许存在非操作服务,非操作服务节点只作服务组合请求数据的转发,不进行任何处理。对该服务组合请求中每个服务选择负载容率最大的服务副本,服务副本的负载容率为部署该服务副本的服务器的负载容率;对选择的部署服务副本的服务器应用分布式服务路由方法建立服务路径;服务组合请求沿着该服务路径传输,最后到达出口节点,传递给用户。
一个服务组合可以由多条服务路径来实现,服务路径由服务组件和服务组件之间的网络构成,服务组合的性能严重依赖于服务组合过程中所选择的各服务组件的副本。为了提高服务质量,在建立服务路径时,要避免某些服务副本负载过重而另一些服务副本负载很轻的情况。服务组合用于根据用户的服务请求,寻找一条最佳服务路径满足用户请求,同时使每种服务的各服务副本上的负载尽可能分布均衡。
对于服务组合的负载均衡,服务器负载均衡只需选择一台服务器提供服务,而服务组合需要选择一组服务副本,服务之间存在某种次序和依赖关系,形成服务路径;且服务实例的选择必须是动态的,因为组合服务往往是持续一段时间的软实时应用(比如多媒体流),这一点与接受短时间会话请求(如Web页面访问)的Web服务器不同。
本发明实施例提出一种基于负载容率的云计算负载均衡(Cloud Load BalancingAlgorithm,简称CLBA)方法,其流程如图2所示,具体为:
步骤101,用户向服务覆盖网络图中节点提出服务组合请求,所述服务组合请求中的每个服务有多个服务副本,所述多个服务副本部署在不同的服务器上;
步骤102,对所述服务组合请求中每个服务选择负载容率最大的服务副本,所述服务副本的负载容率为部署该服务副本的服务器的负载容率;
步骤103,对上述选择的部署服务副本的服务器应用分布式服务路由方法建立服务路径;
步骤104,将所述服务组合请求沿着所述服务路径传输给用户。
本发明实施例通过建立分布式路由及当服务有多个服务副本时,根据各服务节点的负载波动情况自适应选择服务副本,确定服务路径,达到良好的负载均衡效果。
本发明实施例提出的CLBA方法,在服务覆盖网络图的每个服务节点上维护两张表:服务路由表和负载容率(Cloud Load,简称CL)表。服务路由表用于服务的查找和数据转发,CL表则用于为服务副本的选择提供决策。
(1)在服务覆盖网中,为了实现服务的组合和服务之间的数据转发,建立服务路由表,服务路由表记录服务覆盖网中部署的每个服务节点的路由信息,即本服务器到达其他服务副本的路由信息,所述路由信息包括服务节点到其他节点的最短路径的长度和该服务节点的转发邻居节点的信息,根据最短路径长度确定服务节点之间的最短服务路径,根据转发邻居节点的信息将服务组合请求转发到目标节点。
本发明采用分布式路由的方法建立服务路由,如基于Floyd方法的简单的分布式路由方法和Merlin-Segall方法和Chandy-Misra方法等改进的分布式路由方法。通过建立服务路由,服务覆盖网中的一个服务节点可以选择一个邻居服务节点,将服务组合请求转发到目标节点。
本发明实施例通过采用Chandy-Misra方法建立分布式服务路由,上述步骤103可以具体为:根据源服务节点到其他节点间的最短路径的长度确定转发邻居节点,以所述转发邻居节点为源服务节点进行扩散,直到所述转发邻居节点为目标节点,所述转发邻居节点用于将所述源服务节点的服务组合请求转发到目标节点。
(2)在服务覆盖网中,为了根据各服务节点的负载波动情况,自适应选择服务副本,建立CL表,所述CL表记录服务覆盖网中各服务节点(即各服务器)的CL值,负载容率CL是表示当前服务器还能容纳多少负载量的一个测度,CL越大,表示服务器的负载容纳能力越大,说明服务器当前负载还比较轻,可以接纳更多的客户;反之,说明服务器负载较重,应该减少接纳的客户。服务器能够容纳多少负载量是动态变化的,因此CL的值是根据服务器的负载波动情况不断进行自适应调整的。
使用CL测度来表征服务器的当前负载状况,从而根据CL值选择一条合适的服务路径,保证各服务副本的负载分布比较均匀。CL值根据服务器的负载波动情况不断进行自适应的调整,为服务副本的选择提供决策。
上述步骤102可以具体为:在服务组合请求中的第一服务的服务副本集合中选择负载容率最大的第一服务副本,在服务组合请求中的第二服务的服务副本集合中选择负载容率最大的第二服务副本,并依次在服务组合请求中的每个服务的服务副本集合中选择负载容率最大的服务副本。
服务副本的负载容率根据部署该服务副本的服务器的负载波动率获得,因服务器的负载容率CL值与服务器的负载波动率Δ的密切相关,首先介绍服务器的负载波动率Δ。一台服务器的负载波动率定义为两次接入用户请求时,服务器的负载变化与时间变化的比值。假设服务器u接入一个用户请求时,时间为T1,负载为Lu(T1),而该服务器上一次接入用户请求时,时间为T2,负载为Lu(T2),则负载波动率定义为:
事实上,如果在T2到T1这段时间内没有服务结束,则服务器在本次接入请求和上一次接入请求之间负载增量必然为1。考虑到在T2到T1这段时间内会有已接入的服务运行结束,因此,这段时间内负载的变化量等于1减去这段时间内结束的服务数量,即Lu(T1)-Lu(T2)=1-expired(T2,T1)。其中,expired(T2,T1)表示在T2到T1时间段内结束的服务数量(负载增量可为负值,表明这段时间内结束的服务数量大于接入的服务数量)。上述负载波动率改写为如下:
从公式(2)可见,要获得服务器的负载波动率Δ,并不需要知道服务器的最大负载信息和当前负载信息,只需要知道在两次用户接入的时间间隔内结束的服务数量。对于服务器来说,它的最大负载量一般很难预先估算,当前负载量也很难准确测量,但一段时间内结束的服务数量却是很容易计算的。
每个服务节点用一个负载容率CL测度来估算它的相对负载状况,服务器能够容纳多少负载量是动态变化的,因此CL值是根据服务器的负载波动情况不断进行自适应调整的。CL值的取值范围在0~1之间。假设CL的初始值为1,表示服务器运行开始时服务节点负载为空,每接入一个客户,CL值进行相应调整,CL更新公式为:
CL=f((1-αΔ)CL) (3)
上述CL公式中,f是一个门限函数,用于将CL的值限定在0~1之间。f(x)定义为:
α是一个取值在0~1之间的数,称为波动因子,它反映了随负载波动对CL进行调整的幅度。由公式(3)可见,当服务节点的负载以恒定的速率增加时,Δ恒定,CL是一个指数衰减函数,它的值由1逐渐衰减,趋于0。事实上,负载波动率Δ不是恒定的。从公式(2)可见,两次接入客户的时间间隔越短,Δ就越大,CL也就衰减得越快。但是,如果在一段时间内结束的服务数量大于接入的客户数量,Δ的值就是负值,表明服务器有了空余的服务能力,这样,CL的值就会由小而大地递增。α是控制衰减和递增速率的参数,α取不同的值有不同的负载均衡的效果。本发明将在后面详细说明α取值对于负载均衡的影响。
实施例2
下面通过一个具体的实施例来说明本发明的负载均衡方法
1、建立分布式服务路由的方法
服务覆盖网可以用一个无向连通图来表示,每一个节点表示一个服务器,建立网络中各服务器的服务路由的本质是找到服务覆盖网中任意两个节点之间的最短路径。本发明实施例给出采用Chandy-Misra分布式路由方法来建立服务路由的方法。
假设服务覆盖网部署有N个服务节点,建立长度为N的服务路由表,V为服务覆盖网中所有服务节点的集合。服务路由表的每一项包含该服务节点到其他节点的最短路径的长度和转发邻居的信息。对于服务节点u,用Ru表示它的服务路由信息,Neighu为服务节点u的所有邻居节点的集合。Ru[i].hops表示服务节点u到节点i的最短路径的长度,本发明实施例用转发的跳数hops来表示路径长度,Ru[i].next表示服务节点u到节点i的转发邻居节点,u到i的数据都经过该转发邻居节点转发。本发明实施例使用Chandy-Misra方法计算到达目的节点v0的服务路由的过程如下:
Initialization:
begin
forall v∈Vdo
If v=u then begin Ru[v].hops:=0;Ru[v].next:=null end
else begin Ru[v].hops:=∞;Ru[v].next:=null end
end
For node v0 only:
begin
forallω∈Neighu do send message(v0,0)to ω;
end
Processing a message(v0,d)from neighborωby u:
begin
receive message(v0,d)fromω;
if d+1<Ru[v0].hops then
begin
Ru[v0].hops:=d+1;
Ru[v0].next:=ω;
forall x∈Neighu do if x≠ωthen send message(v0,Ru[v0].hops)to x;
end
end
上述Chandy-Misra方法利用了扩散计算(diffusing computation),设u为源服务节点,确定源服务节点的转发邻居节点后,以该转发邻居节点为源服务节点进行扩散,即由一个节点初始化,其他节点一接到消息后就加入。对于服务覆盖网中的每个服务节点,都要作为目标节点,服务覆盖网中的每个服务节点均经过上述方法计算后,形成完整的服务路由表。Chandy-Misra方法中,每一信道交换消息复杂度为O(N2),该方法的消息复杂度为O(N2·|E|),其中,|E|表示覆盖网络中边的总数。
2、根据各服务节点的负载波动情况,自适应地选择服务副本的方法
(1)假设服务覆盖网中的一个服务器(即服务节点)u接收到用户的一个服务组合请求Req:=(S1,S2,...,Sk),上述k个服务的所有服务副本集合表示为Replica(S);
(2)对于用户请求的第1个服务S1,选择其服务副本集合中CL值最大的服务副本S提供服务
max_CL:=-1;S:=null;
forall x∈Replica(S1)do
begin
if(CLu(x)>max_CL then begin max_CL:=CLu(x);S:=x end
end
if S=null exit
(3)使用上述公式(2)、(3)和(4)更新服务节点u的CL表CLu(S):=MAX(0,MIN(1,(1-α×ΔS)×CLu(S)));Δs表示服务副本S的负载波动率;
(4)查询服务路由表,将用户的其他服务请求转发给服务S所在的服务器,由S选择下一个服务副本,形成服务路径:Req:=(S2,...,Sk);request_forward(u,S,Req);所述request_forward(u,S,Req)的功能是查找服务路由表,将请求Req由源节点u转发给目标节点S。
实施例3
下面主要给出采用本发明云计算负载均衡方法实现负载均衡的实验数据及实验效果
本发明实施例通过模拟实验来验证CLBA方法的负载均衡性能,使用网络仿真工具GT-ITM生成物理网络拓扑,并在生成的物理网络上随机选择100个节点作为服务覆盖网的节点,在这些节点之间定义了117条链接。设置10个不同的服务S0~S9,每个服务有4个服务副本,在服务覆盖网的100个节点上随机选择40个节点来部署这些服务副本,每个节点的最大负载量设为1500。假设每使用一次服务副本消耗1个单位的负载。设置每个会话的持续时间为70s~90s,会话请求的到达速率设为20次/秒。每个会话随机包含2个服务。一次实验处理10000个会话。每个会话到达后,可以使用不同的方式选择出口节点。根据不同的实验目的,将使用随机和非随机两种方式选择出口节点。
1、假设用户的请求是随机向服务覆盖网的100个节点发送
令波动因子α=0.1,表1显示了当10000个会话全部建立后,每种服务的4个服务副本所接入的会话总数。从表1可以看出,每种服务的4个副本所接入的负载总量相差不太大,表明使用本发明的负载均衡方法,各服务副本在一个时间段内所接入的负载总量是均衡的。
Replica S0 S1 S2 S3 S4 S5 S6 S7 S8 S9
number
0 452 493 503 476 474 473 502 496 491 473
1 527 536 540 510 488 513 539 516 493 510
2 496 510 501 485 477 499 493 504 545 506
3 487 501 513 533 470 448 492 511 505 519
表1服务副本的负载分布表
为了研究各服务副本的负载随时间变化的情况,本实验每隔15秒测量一次各服务副本的负载量,验证本发明的负载均衡方法的性能。图3为本发明实施例3提供的服务器上服务副本的负载量随时间变化的曲线图,其中α=0.1,时间以秒为单位,即一个服务S0在不同服务器上的4个副本,即副本0、副本1、副本2和副本3的负载量随时间变化的曲线图,其他服务的副本负载变化情况也类似。如图3所示,4条曲线相互越靠近,表明分布在4个服务副本上的负载越均衡。CLBA方法是一种分布式方法,它使用的CL测度是一个根据服务器负载波动估算的测度,并不是真正的服务器负载信息。同时,CL测度是自适应调整的,当几个服务副本之间的负载差异比较大时,CL值会自动调整,使各副本的负载趋于均匀。从图3所示,虽然在有些点,4条曲线的距离比较大,但通过CL测度的调整会逐渐趋于靠近。在实际的网络应用环境中,并不要求各服务副本的负载在任何时刻都严格保持均衡,各服务副本之间的载只要相差在一定的范围内,都是可以接受的。从图3来看,大部分情况下4个服务副本之间的负载相差不超过20。因此,CLBA方法能够适用于真实网络环境中的服务组合应用。
2、波动因子α对负载均衡的影响
波动因子α的取值对负载均衡有着重要的影响,适当地选取α的值可以获得更好的负载均衡效果。为了衡量负载均衡的效果,本实施例引入LD(Load Distance,负载距离)来表示4条负载曲线之间相互靠近的程度。在任一时刻,LD定义为4条负载曲线上各点两两距离的总和。4条负载曲线相互越靠近,LD越小,表明负载越均衡。假设σ为负载观测点的集合,sum为观测点的总数。设P为一个观测点,则在P点处观测到4个服务副本的负载值L0,L1,L2,L3。在P点处的负载距离LDp定义为:
本实施例用平均负载距离来衡量整体的负载均衡效果。平均负载距离定义为在所有观测点上的负载距离的平均值。平均负载距离的计算公式为
为了考察波动因子α对平均负载距离LD的影响,将α分别取值为0.1,0.2,...,0.9,并对每个α计算相应的平均负载距离,得到如图4所示的平均负载距离与波动因子的关系图,图4中曲线在α=0.3和α=0.6附近各有一个极小值,即负载距离越小,整体的负载均衡效果最好,即表明α取值在0.3或0.6附近时,整体的负载均衡效果最好。
3、负载均衡方法对非均匀用户访问的负载均衡效果
在实际中,用户对各服务器的访问请求往往不是均匀的。如用户对Web页面的访问服从Zipf-like分布,即大部分用户请求集中在小部分的“热点”数据上。因此,下面给出用户请求符合Zipf-like分布时,使用CLBA方法的负载均衡效果。
为了产生符合Zipf-like分布的用户访问序列,本发明实施例假设μ为用户请求的对象总数,i表示第i个热门的对象的ID,Pμ(i)表示该对象被请求的概率;
令μ=100,产生10000个符合Zipf-like分布的用户访问序列。取α=0.3,得到如图5所示的非均匀用户访问的负载变化图。由图5可见,4条负载曲线比较接近,各服务副本的负载在大部分时间相差不超过20。这说明,对于非均匀的用户访问请求,虽然大部分访问请求集中在小部分节点上,但是使用CLBA方法,通过对CL测度的自适应调整,仍然可以使负载均衡地分布在服务的各副本上。
4、服务路径长度对负载均衡的影响
在实际中,根据CL测度选择出来的服务路径虽然可以保证各服务副本的负载相对均匀,但服务路径长度很长时,服务组合要经过服务覆盖网的多跳,造成客户访问的延时较长,同时会浪费网络的带宽资源,使网络的整体服务质量下降。
本发明实施例分别使用CL测度和最短路径测度来进行服务路径选择。图6给出了使用这两种测度选择出来的服务路径长度的CDF(cumulative distribution function,累积分布)图。从图中两条曲线的比较可见,当使用最短路径测度时,80%的服务路径长度在10跳之内;而当使用CL测度时,只有不到40%的服务路径在10跳之内。由于CL测度没有考虑服务路径长度因素,故选择出来的服务路径长度并不理想。
实际中,通常希望在保证负载均衡的同时选择较短的服务路径,以减少用户访问延迟。因此,在负载容率CL中加入路径长度的影响。假设用两个服务节点之间的跳数(hops)来表示两节点之间的路径长度,此处改进的副本选择原则是,当两个服务副本的负载比较接近时,选择服务路径较短的一个副本为用户提供服务。这样,CL的更新公式可以改写如下:
其中,β是路径因子,它表示路径长度因素对于服务路径选择的影响。β越大,表明路径长度的影响越大,越趋近于最短路径。但β的值不能选得太大,β越大,负载波动的相对影响越小,这样,CL测度也就越不能反映服务副本的负载状况,从而造成负载不均衡的程度增大。
图7显示了平均负载距离与路径因子的关系图,图7中α取值为0.3,路径因子β越大,平均负载距离越大,造成各服务副本之间的负载越不均匀。为了保证负载均衡,β的取值不能过大。例如,希望服务的任意两个副本之间的负载距离不超过20,那么平均负载距离LD应控制在小于120的范围内。由图7可见,β取值应在0~0.2之间。为了研究β的取值对于所选择的服务路径长度的影响,将β分别取值0,0.05,0.1,0.15和0.2,研究这几种情况下使用CLBA方法建立的服务路径长度,并与最短路径进行比较。图8显示了路径因子取不同值时的服务路径长度图,可见,随着β的增大,CDF曲线越来越接近于最短服务路径。但是,从负载均衡的角度,β尽可能小,负载会更均衡。两者要取得折衷。从图8所示,当β>0.1时,β取值为0.1,0.15和0.2这3条CDF曲线比较接近,表明当β>0.1时,β的增大对于缩短服务路径长度的影响已经很小。因此,β的值取为0.1时可以获得较短的服务路径,同时保证负载比较均衡。
实施例4
本发明第4实施例提出了一种云计算负载均衡设备,其结构示意图如图9所示,包括:
服务组合请求模块,用于向服务覆盖网图中节点提出服务组合请求,所述服务组合请求中的每个服务有多个服务副本,所述多个服务副本部署在不同的服务器上;
服务副本选择模块,用于对所述服务组合请求中每个服务选择负载容率最大的服务副本,所述服务副本的负载容率为部署该服务副本的服务器的负载容率;
服务路径建立模块,用于对选择的部署服务副本的服务器应用分布式服务路由方法建立服务路径;
传输服务组合请求模块,用于将服务组合请求沿着服务路径传输给用户。
本发明通过服务副本选择模块和服务路径建立模块,选择部署该服务组合请求中的服务副本,同时用分布式服务路由方法对选择的服务副本建立服务路径,从而实现服务器的分布式负载均衡。
如图10所示的云计算负载均衡设备二的结构示意图,本发明实施例还包括一用于计算服务器负载容率的负载容率计算模块,服务副本选择模块根据该负载容率计算模块计算出服务器的负载容率,选择负载容率最大的服务副本;该负载容率模块为第一负载容率计算单元,或第二负载容率计算单元,或第三负载容率计算单元,或第四负载容率计算单元。
第一负载容率计算单元,用于根据CL=f((1-αΔ)CL)计算服务器的负载容率,其中f是用于将CL值限定在0-1之间的门限函数,α是取值在0-1之间的波动因子,Δ是服务器u的负载波动率,所述负载波动率为服务器两次接入服务请求时,服务器的负载差值对两次接入服务请求时间差的比值;
第二负载容率计算单元,用于根据CL=f((1-αΔ)CL)计算服务器的负载容率,其中f是用于将CL值限定在0-1之间的门限函数,α是取值在0-1之间的波动因子,Δ是服务器u的负载波动率,所述负载波动率为服务器两次接入服务请求时,1减去两次接入服务请求之间的时间内服务器结束的服务数量与两次接入服务请求时间差的比值;
第三负载容率计算单元,用于根据计算服务器的负载容率,其中f是用于将CL值限定在0-1之间的门限函数,α是取值在0-1之间的波动因子,Δ是服务器u的负载波动率,所述负载波动率为服务器两次接入服务请求时,服务器的负载差值对两次接入服务请求时间差的比值,β是路径因子,用于表示路径长度因素对于服务路径选择的影响,hops为两个服务节点之间的跳数,用于表示两个服务节点之间的路径长度;
第四负载容率计算单元,用于根据计算服务器的负载容率,其中f是用于将CL值限定在0-1之间的门限函数,α是取值在0-1之间的波动因子,Δ是服务器u的负载波动率,所述负载波动率为服务器两次接入服务请求时,1减去两次接入服务请求之间的时间内服务器结束的服务数量与两次接入服务请求时间差的比值,β是路径因子,用于表示路径长度因素对于服务路径选择的影响,hops为两个服务节点之间的跳数,用于表示两个服务节点之间的路径长度。
以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存储在可读取的存储介质中,存储介质例如:计算机中的硬盘、光盘或软盘。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种云计算负载均衡方法,其特征在于,所述方法包括:
用户向服务覆盖网络图中节点提出服务组合请求,所述服务组合请求中的每个服务有多个服务副本,所述多个服务副本部署在不同的服务器上;
对所述服务组合请求中每个服务选择负载容率最大的服务副本,所述服务副本的负载容率为部署该服务副本的服务器的负载容率;
对上述选择的部署服务副本的服务器应用分布式服务路由方法建立服务路径;
将所述服务组合请求沿着所述服务路径传输给用户。
2.如权利要求1所述的一种云计算负载均衡方法,其特征在于,对所述服务组合请求中每个服务选择负载容率最大的服务副本具体为:在所述服务组合请求中的第一服务的服务副本集合中选择负载容率最大的第一服务副本,在所述服务组合请求中的第二服务的服务副本集合中选择负载容率最大的第二服务副本,并依次在服务组合请求中的每个服务的服务副本集合中选择负载容率最大的服务副本,所述服务副本的负载容率根据部署该服务副本的服务器的负载波动率获得。
3.如权利要求1所述的一种云计算负载均衡方法,其特征在于,对上述选择的部署服务副本的服务器应用分布式服务路由方法建立服务路径具体为:根据源服务节点到其他节点间的最短路径的长度确定转发邻居节点,以所述转发邻居节点为源服务节点进行扩散,直到所述转发邻居节点为目标节点,所述转发邻居节点用于将所述源服务节点的服务组合请求转发到目标节点。
4.如权利要求2所述的一种云计算负载均衡方法,其特征在于,根据CL=f((1-αΔ)CL)计算服务器的负载容率,其中f是用于将CL值限定在0-1之间的门限函数,α是取值在0-1之间的波动因子,Δ是服务器u的负载波动率,所述负载波动率为服务器两次接入服务请求时,服务器的负载差值对两次接入服务请求时间差的比值。
5.如权利要求2所述的一种云计算负载均衡方法,其特征在于,根据CL=f((1-αΔ)CL)计算服务器的负载容率,其中f是用于将CL值限定在0-1之间的门限函数,α是取值在0-1之间的波动因子,Δ是服务器u的负载波动率,所述负载波动率为服务器两次接入服务请求时,1减去两次接入服务请求之间的时间内服务器结束的服务数量与两次接入服务请求时间差的比值。
6.如权利要求2所述的一种云计算负载均衡方法,其特征在于,所述各服务器的负载容率与服务路径长度相关。
7.如权利要求6所述的一种云计算负载均衡方法,其特征在于,根据计算服务器的负载容率,其中f是用于将CL值限定在0-1之间的门限函数,α是取值在0-1之间的波动因子,Δ是服务器u的负载波动率,所述负载波动率为服务器两次接入服务请求时,服务器的负载差值对两次接入服务请求时间差的比值,β是路径因子,用于表示路径长度因素对于服务路径选择的影响,hops为两个服务节点之间的跳数,用于表示两个服务节点之间的路径长度。
9.一种云计算负载均衡设备,其特征在于,所述设备包括:
服务组合请求模块,用于向服务覆盖网图中节点提出服务组合请求,所述服务组合请求中的每个服务有多个服务副本,所述多个服务副本部署在不同的服务器上;
服务副本选择模块,用于对所述服务组合请求中每个服务选择负载容率最大的服务副本,所述服务副本的负载容率为部署该服务副本的服务器的负载容率;
服务路径建立模块,用于对选择的部署服务副本的服务器应用分布式服务路由方法建立服务路径;
服务路径建立模块,用于将服务组合请求沿着服务路径传输给用户。
10.如权利要求9所述的一种云计算负载均衡设备,其特征在于,所述设备还包括一负载容率计算模块,所述负载容率计算模块为第一负载容率计算单元、第二负载容率计算单元、第三负载容率计算单元或第四负载容率计算单元;
所述第一负载容率计算单元,根据CL=f((1-αΔ)CL)计算服务器的负载容率,其中f是用于将CL值限定在0-1之间的门限函数,α是取值在0-1之间的波动因子,Δ是服务器u的负载波动率,所述负载波动率为服务器两次接入服务请求时,服务器的负载差值对两次接入服务请求时间差的比值;
所述第二负载容率计算单元,根据CL=f((1-αΔ)CL)计算服务器的负载容率,其中f是用于将CL值限定在0-1之间的门限函数,α是取值在0-1之间的波动因子,Δ是服务器u的负载波动率,所述负载波动率为服务器两次接入服务请求时,1减去两次接入服务请求之间的时间内服务器结束的服务数量与两次接入服务请求时间差的比值;
所述第三负载容率计算单元,根据计算服务器的负载容率,其中f是用于将CL值限定在0-1之间的门限函数,α是取值在0-1之间的波动因子,Δ是服务器u的负载波动率,所述负载波动率为服务器两次接入服务请求时,服务器的负载差值对两次接入服务请求时间差的比值,β是路径因子,用于表示路径长度因素对于服务路径选择的影响,hops为两个服务节点之间的跳数,用于表示两个服务节点之间的路径长度;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010199455 CN101873224A (zh) | 2010-06-07 | 2010-06-07 | 一种云计算负载均衡方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010199455 CN101873224A (zh) | 2010-06-07 | 2010-06-07 | 一种云计算负载均衡方法和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101873224A true CN101873224A (zh) | 2010-10-27 |
Family
ID=42997900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010199455 Pending CN101873224A (zh) | 2010-06-07 | 2010-06-07 | 一种云计算负载均衡方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101873224A (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102012808A (zh) * | 2010-11-10 | 2011-04-13 | 上海光芒科技有限公司 | 云计算环境下的基于soa的可扩展的分布式架构 |
CN102055801A (zh) * | 2010-12-13 | 2011-05-11 | 彭浩明 | 自适应增量传输的控制方法 |
CN102063339A (zh) * | 2010-12-21 | 2011-05-18 | 北京高森明晨信息科技有限公司 | 基于云计算***的资源负载均衡的方法和设备 |
CN102111337A (zh) * | 2011-03-14 | 2011-06-29 | 浪潮(北京)电子信息产业有限公司 | 任务调度方法和*** |
CN102255957A (zh) * | 2011-06-24 | 2011-11-23 | 宇龙计算机通信科技(深圳)有限公司 | 一种云计算方法及装置 |
CN102369714A (zh) * | 2011-08-31 | 2012-03-07 | 华为技术有限公司 | 云计算***中云终端访问云服务器的方法及云计算*** |
CN102647468A (zh) * | 2012-04-01 | 2012-08-22 | 成都静水飞云科技有限责任公司 | 云计算负载均衡评估***及评估方法 |
CN102801766A (zh) * | 2011-11-18 | 2012-11-28 | 北京安天电子设备有限公司 | 一种云服务器负载均衡及数据冗余备份的方法及*** |
CN102882943A (zh) * | 2012-09-12 | 2013-01-16 | 北京航空航天大学 | 服务副本读写方法及*** |
CN102981440A (zh) * | 2012-11-02 | 2013-03-20 | 武汉理工大学 | 基于SaaS的智能设备监控管理*** |
CN103475709A (zh) * | 2013-09-09 | 2013-12-25 | 国家电网公司 | 一种面向云计算平台的副本动态控制方法及其*** |
CN103765408A (zh) * | 2011-08-25 | 2014-04-30 | 英派尔科技开发有限公司 | 利用真实数据中心测试的服务质量感知捕获型聚集 |
CN105991741A (zh) * | 2015-03-02 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 显示负载请求的方法、装置及网络服务器 |
CN107306289A (zh) * | 2016-04-21 | 2017-10-31 | ***通信集团重庆有限公司 | 一种基于云计算的负载均衡方法及设备 |
CN108551487A (zh) * | 2018-04-26 | 2018-09-18 | Oppo广东移动通信有限公司 | PaaS平台的应用部署方法、装置、服务器及存储介质 |
CN105429938B (zh) * | 2015-10-23 | 2018-11-06 | 深圳前海达闼云端智能科技有限公司 | 一种资源配置方法及装置 |
CN109600421A (zh) * | 2018-11-16 | 2019-04-09 | 国网江苏省电力有限公司南京供电分公司 | 一种无线云计算***中分布式计算资源的选择方法 |
US10491758B2 (en) | 2017-08-16 | 2019-11-26 | Wipro Limited | Method and system for optimizing image data for data transmission |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101635635A (zh) * | 2009-08-25 | 2010-01-27 | 北京原力创新科技有限公司 | 云模式流媒体服务平台 |
CN101667187A (zh) * | 2009-09-23 | 2010-03-10 | 南京邮电大学 | 一种基于对等计算技术的复合知识云方法 |
-
2010
- 2010-06-07 CN CN 201010199455 patent/CN101873224A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101635635A (zh) * | 2009-08-25 | 2010-01-27 | 北京原力创新科技有限公司 | 云模式流媒体服务平台 |
CN101667187A (zh) * | 2009-09-23 | 2010-03-10 | 南京邮电大学 | 一种基于对等计算技术的复合知识云方法 |
Non-Patent Citations (1)
Title |
---|
《软件学报》 20060531 李文中等 服务组合中一种自适应的负载均衡算法 第17卷, 第5期 2 * |
Cited By (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102012808B (zh) * | 2010-11-10 | 2013-06-19 | 上海光芒科技有限公司 | 云计算环境下的基于soa的可扩展的分布式架构 |
CN102012808A (zh) * | 2010-11-10 | 2011-04-13 | 上海光芒科技有限公司 | 云计算环境下的基于soa的可扩展的分布式架构 |
CN102055801B (zh) * | 2010-12-13 | 2013-08-07 | 彭浩明 | 自适应增量传输的控制方法 |
CN102055801A (zh) * | 2010-12-13 | 2011-05-11 | 彭浩明 | 自适应增量传输的控制方法 |
CN102063339A (zh) * | 2010-12-21 | 2011-05-18 | 北京高森明晨信息科技有限公司 | 基于云计算***的资源负载均衡的方法和设备 |
CN102063339B (zh) * | 2010-12-21 | 2013-03-27 | 北京高森明晨信息科技有限公司 | 基于云计算***的资源负载均衡的方法和设备 |
CN102111337A (zh) * | 2011-03-14 | 2011-06-29 | 浪潮(北京)电子信息产业有限公司 | 任务调度方法和*** |
CN102111337B (zh) * | 2011-03-14 | 2013-05-15 | 浪潮(北京)电子信息产业有限公司 | 任务调度方法和*** |
CN102255957A (zh) * | 2011-06-24 | 2011-11-23 | 宇龙计算机通信科技(深圳)有限公司 | 一种云计算方法及装置 |
CN103765408B (zh) * | 2011-08-25 | 2016-05-25 | 英派尔科技开发有限公司 | 利用真实数据中心测试的服务质量感知捕获型聚集 |
CN103765408A (zh) * | 2011-08-25 | 2014-04-30 | 英派尔科技开发有限公司 | 利用真实数据中心测试的服务质量感知捕获型聚集 |
WO2012149718A1 (zh) * | 2011-08-31 | 2012-11-08 | 华为技术有限公司 | 云计算***中云终端访问云服务器的方法及云计算*** |
CN102369714A (zh) * | 2011-08-31 | 2012-03-07 | 华为技术有限公司 | 云计算***中云终端访问云服务器的方法及云计算*** |
CN102801766A (zh) * | 2011-11-18 | 2012-11-28 | 北京安天电子设备有限公司 | 一种云服务器负载均衡及数据冗余备份的方法及*** |
CN102801766B (zh) * | 2011-11-18 | 2015-01-07 | 北京安天电子设备有限公司 | 一种云服务器负载均衡及数据冗余备份的方法及*** |
CN102647468A (zh) * | 2012-04-01 | 2012-08-22 | 成都静水飞云科技有限责任公司 | 云计算负载均衡评估***及评估方法 |
CN102882943A (zh) * | 2012-09-12 | 2013-01-16 | 北京航空航天大学 | 服务副本读写方法及*** |
CN102882943B (zh) * | 2012-09-12 | 2015-10-21 | 北京航空航天大学 | 服务副本读写方法及*** |
CN102981440A (zh) * | 2012-11-02 | 2013-03-20 | 武汉理工大学 | 基于SaaS的智能设备监控管理*** |
CN102981440B (zh) * | 2012-11-02 | 2014-10-29 | 武汉理工大学 | 基于SaaS的智能设备监控管理*** |
CN103475709B (zh) * | 2013-09-09 | 2017-01-04 | 国家电网公司 | 一种面向云计算平台的副本动态控制方法及其*** |
CN103475709A (zh) * | 2013-09-09 | 2013-12-25 | 国家电网公司 | 一种面向云计算平台的副本动态控制方法及其*** |
CN105991741A (zh) * | 2015-03-02 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 显示负载请求的方法、装置及网络服务器 |
CN105991741B (zh) * | 2015-03-02 | 2020-03-06 | 阿里巴巴集团控股有限公司 | 显示负载请求的方法、装置及网络服务器 |
CN105429938B (zh) * | 2015-10-23 | 2018-11-06 | 深圳前海达闼云端智能科技有限公司 | 一种资源配置方法及装置 |
CN107306289A (zh) * | 2016-04-21 | 2017-10-31 | ***通信集团重庆有限公司 | 一种基于云计算的负载均衡方法及设备 |
CN107306289B (zh) * | 2016-04-21 | 2020-11-27 | ***通信集团重庆有限公司 | 一种基于云计算的负载均衡方法及设备 |
US10491758B2 (en) | 2017-08-16 | 2019-11-26 | Wipro Limited | Method and system for optimizing image data for data transmission |
CN108551487A (zh) * | 2018-04-26 | 2018-09-18 | Oppo广东移动通信有限公司 | PaaS平台的应用部署方法、装置、服务器及存储介质 |
CN108551487B (zh) * | 2018-04-26 | 2021-02-09 | Oppo广东移动通信有限公司 | PaaS平台的应用部署方法、装置、服务器及存储介质 |
CN109600421A (zh) * | 2018-11-16 | 2019-04-09 | 国网江苏省电力有限公司南京供电分公司 | 一种无线云计算***中分布式计算资源的选择方法 |
CN109600421B (zh) * | 2018-11-16 | 2021-02-26 | 国网江苏省电力有限公司南京供电分公司 | 一种无线云计算***中分布式计算资源的选择方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101873224A (zh) | 一种云计算负载均衡方法和设备 | |
Cardellini et al. | A game-theoretic approach to computation offloading in mobile cloud computing | |
Ramezani et al. | Task scheduling optimization in cloud computing applying multi-objective particle swarm optimization | |
Sonbol et al. | EdgeKV: Decentralized, scalable, and consistent storage for the edge | |
Feng et al. | Topology-aware virtual network embedding based on multiple characteristics | |
CN103347068B (zh) | 一种基于代理集群网络缓存加速方法 | |
CN109358971B (zh) | 动态网络环境中快速且负载均衡的服务功能链部署方法 | |
CN102281290A (zh) | 一种PaaS云平台的仿真***及方法 | |
CN104917659B (zh) | 一种基于虚拟网络连接特性的虚拟网络映射方法 | |
CN101645919B (zh) | 一种基于流行度的副本等级计算方法及其副本放置方法 | |
Jahromi et al. | Online VNF placement and chaining for value-added services in content delivery networks | |
CN107483355B (zh) | 面向数据中心的在线场景低带宽开销流量调度方案 | |
CN112214328A (zh) | 一种用于同构多链中交易处理的负载均衡方法 | |
Liao et al. | Live: learning and inference for virtual network embedding | |
CN117749697A (zh) | 云网融合预调度方法、装置、***及存储介质 | |
Shefu et al. | Fruit fly optimization algorithm for network-aware web service composition in the cloud | |
CN110430236A (zh) | 一种部署业务的方法以及调度装置 | |
JP6944156B2 (ja) | オーケストレータ装置、プログラム、情報処理システム、及び制御方法 | |
Liao et al. | Edgesfg: a matching game mechanism for service function graph deployment in industrial edge computing environment | |
CN115062868B (zh) | 一种预聚类的车辆配送路径规划方法和装置 | |
Lin et al. | Scheduling algorithms for time-constrained big-file transfers in the Internet of Vehicles | |
Filelis-Papadopoulos et al. | Simulating large vCDN networks: A parallel approach | |
Wang et al. | Virtual network embedding with pre‐transformation and incentive convergence mechanism | |
Liu et al. | Online Virtual Network Embedding for Both the Delay Sensitive and Tolerant Services in SDN-enabled Satellite-Terrestrial Networks | |
Guan et al. | Multidimensional resource fragmentation-aware virtual network embedding for IoT applications in MEC networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20101027 |