CN103078806A - 一种基于q值法的负载均衡调度算法 - Google Patents

一种基于q值法的负载均衡调度算法 Download PDF

Info

Publication number
CN103078806A
CN103078806A CN2013100112229A CN201310011222A CN103078806A CN 103078806 A CN103078806 A CN 103078806A CN 2013100112229 A CN2013100112229 A CN 2013100112229A CN 201310011222 A CN201310011222 A CN 201310011222A CN 103078806 A CN103078806 A CN 103078806A
Authority
CN
China
Prior art keywords
server
value method
load
value
representatives
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.)
Granted
Application number
CN2013100112229A
Other languages
English (en)
Other versions
CN103078806B (zh
Inventor
陈拥权
李梁
张羽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hefei Huanjing Information Technology Co Ltd
Original Assignee
Hefei Huanjing Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hefei Huanjing Information Technology Co Ltd filed Critical Hefei Huanjing Information Technology Co Ltd
Priority to CN201310011222.9A priority Critical patent/CN103078806B/zh
Publication of CN103078806A publication Critical patent/CN103078806A/zh
Application granted granted Critical
Publication of CN103078806B publication Critical patent/CN103078806B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于Q值法的负载均衡调度算法,将负载均衡问题与代表名额分配问题做类比,使用解决代表名额分配问题的Q值法进行负载调度,并针对负载均衡问题的特点,对Q值法加以推广。本发明可与现有的静态或动态权值配置方法结合使用,提高了负载调度的均衡性。

Description

一种基于Q值法的负载均衡调度算法
技术领域
本发明属于网络集群服务器技术领域,具体为一种基于Q值法的负载均衡调度算法。
背景技术
负载均衡是集群服务器中的关键技术,它决定了集群分配器的请求分发策略,并且直接影响着服务器集群系统的整体性能。
集群负载均衡技术主要分静态信息和动态信息算法。静态算法主要适用于较小规模的、同构的、提供静态网页信息服务的系统;而动态算法适用于大规模的、异构的、提供动态网页信息服务的系统。
早期的负载均衡算法有随机(Random)算法和轮询(Round-Robin)算法,特别是轮询算法采用传统的轮转转发分配方式,计算简单、效率高,应用较广。但这两种算法不考虑后端服务器的差异,不能保证在不同的服务器间达到负载均衡,因此,不适合于异构的集群系统。另外还有基于服务器中当前活跃连接数(正在处理的请求连接)的最小连接数(Least Connections First)算法,选择当前正在处理的请求个数最少的服务器作为转发对象。但活跃请求连接个数并不能完全反映服务器处理负荷上的差异,如处理能力强的服务器在单位时间内可以处理更多的请求。此外,还可能在请求量少时将多个请求分配到同一台服务器。
为了适应异构集群系统的需求,出现了加权轮询(Weighted Round-Robin)算法和加权最小连接数(Weighted Least Connections First)算法,通过为不同的服务器配置不同的权值来平衡服务器间的差异,选取合适的转发对象。但随着动态、多媒体网络信息的大量应用,静态的权值信息不能表现动态的负载特征,随着系统运行时间增长,将导致集群负载分布的不平衡。
为了克服静态配置权值信息的缺点,提出了动态计算权值信息的方法。动态计算权值的负载均衡算法有基于轮询的(如WRR_time、WRR_num)和基于活跃连接数的(如Round_Trip、XimtByte)。它们都是通过周期性地获取服务器状态信息,动态地计算出当前每台服务器应具有的权值。权值的计算方法:第一种是用采样周期内每台服务器的平均响应产生时间(以请求转发到达服务器至第一个响应的比特输出为响应产生时间)来计算,如WRR_time(基于WRR)和Round-Trip(基于WLCF);第二种是用采样周期内每台服务器的活跃连接数来计算,如WRR_num(基于WRR);第三种是用采样周期内输出的字节流量来计算,如XimtByte(基于WLCF)。
由上可见,动态计算权值信息的方法,仅仅是对权值的动态计算以反映服务器的负载状况。在动态得到权值信息后,调度算法仍与传统算法类似,在调度算法层面上并没有本质改进。
发明内容
针对上述问题,本发明提供一种基于Q值法的负载均衡调度算法。该算法可以结合静态配置权值或动态配置权值的方法使用。
为了达到上述目的,本发明所采用的技术方案为:
一种基于Q值法的负载均衡调度算法,其特征在于:将网络中的负载均衡问题与代表名额分配问题相类比,借鉴代表名额分配问题中的Q值法,结合静态或动态权值配置方法以解决网络中的负载均衡问题。
所述的一种基于Q值法的负载均衡调度算法,其特征在于:Q值法结合静态权值配置方法时,按以下步骤进行:
(1)通过静态测试,确定网络中各服务器的负载特性;
(2)为利用Q值法,根据步骤(1)所测得的负载特性,计算出对应代表名额分配问题中的参数;
(3)步骤(2)中的参数保存在调度服务器上,当连接请求到达时,利用Q值法将连接请求分配到服务器。
所述的一种基于Q值法的负载均衡调度算法,其特征在于:Q值法结合动态权值配置方法时,按以下步骤进行:
(1)通过静态测试,确定网络中各服务器的负载特性;
(2)选择一种动态权值配置方法,周期性对服务器负载状况做采样检查;
(3)对步骤(2)的检查结果做适当变换,计算出对应代表名额分配问题中的参数;
(4)利用步骤(3)中求得的参数,使用Q值法依采样周期中新增连接到达次序,并将连接分配到服务器;重新启动采样周期。
所述的一种基于Q值法的负载均衡调度算法,其特征在于:所述Q值法是一种基于代表名额分配问题的通用方法。
本发明利用负载均衡问题与代表名额分配问题的相似性,利用Q值法解决负载均衡问题,与传统的wRR、wLCF等简单算法相比,提高了负载调度的均衡性。
具体实施方式
一种基于Q值法的负载均衡调度算法,将网络中的负载均衡问题与代表名额分配问题相类比,借鉴代表名额分配问题中的Q值法,结合静态或动态权值配置方法以解决网络中的负载均衡问题。
Q值法结合静态权值配置方法时,按以下步骤进行:
(1)通过静态测试,确定网络中各服务器的负载特性;
(2)为利用Q值法,根据步骤(1)所测得的负载特性,计算出对应代表名额分配问题中的参数;
(3)步骤(2)中的参数保存在调度服务器上,当连接请求到达时,利用Q值法将连接请求分配到服务器。
Q值法结合动态权值配置方法时,按以下步骤进行:
(1)通过静态测试,确定网络中各服务器的负载特性;
(2)选择一种动态权值配置方法,周期性对服务器负载状况做采样检查;
(3)对步骤(2)的检查结果做适当变换,计算出对应代表名额分配问题中的参数;
(4)利用步骤(3)中求得的参数,使用Q值法依采样周期中新增连接到达次序,并将连接分配到服务器;重新启动采样周期。
Q值法是一种基于代表名额分配问题的通用方法。
Q值法是为解决代表名额分配问题,而提出的一种传统、较为成熟的算法。负载均衡问题与名额分配问题有类似之处:名额分配问题的目的是尽量使各州所分配的议员人数与其人口数成正比,负载均衡问题的目的是尽量使各服务器所分配的连接与其处理能力成正比。但二者也有不同,在名额分配问题中,各州的人口保持不变,而且议员对所有州来说是无差异的;而在负载均衡问题中,随着服务器负载状况的变化,其权重可能变化,另外在每个服务器上新增连接的代价也是不均等的。为此将Q值法加以推广,以适应这种情况
本发明的理论基础如下:
1、负载均衡基础理论
集群系统的性能特征是由每台服务器的性能特征决定的。单台服务器处理请求任务的能力受到多个部件工作状况的综合影响,涉及到CPU、内存、总线、硬盘、网卡等。任何一个部件出现处理拥塞都会对服务器的性能造成影响,而单台服务器性能的下降又将造成集群整体性能的下降。
从理论上可以证明:一个集群系统只有在每台服务器所分配的负载与其固有的处理能力成比例时,整个系统达到负载均衡,此时系统工作效率最高。设集群中某台服务器Si(i=1,2,…,m)的固有处理能力为ωi,服务器当前的请求负载为Li,那么集群系统达到负载均衡时有:
L 1 ω 1 = . . . = L i ω i = . . . = L m ω m 理论推导和证明略。
将服务器Si的当前负载与其固有能力之比作为该服务器Si的当前负载权值,记为
Figure BDA00002729065000042
当集群系统达到负载均衡时,有:
Figure BDA00002729065000043
2、代表名额分配问题与Q值法
代表名额分配问题,其背景是美国众议院如何根据各州人口的比例分配众议院议员的名额。
记第i州人口数为pi,议员数为ni,则反映公平分配的数量指标,可用每个议员代表的人数
Figure BDA00002729065000044
表示。在理想情况下,如分配方案绝对公平,有:W1=W2=…=Wm
在代表名额分配问题上,已有较为成熟的Q值法。
Q值法也称Huntington-Hill算法,是1941年Edward Huntington与Joseph Hill提出的解决代表名额分配问题的算法。其理论基础如下:
考虑两个州,州1与州2,比较其每个议员代表的人数
Figure BDA00002729065000051
Figure BDA00002729065000052
引入以下指标表示州1相对州2的吃亏程度:
r 1 ( n 1 , n 2 ) = p 1 / n 1 - p 2 / n 2 p 2 / n 2 = p 1 n 2 p 2 n 1 - 1
考虑两个州的问题,当总议员数增加一个时,增加的名额应给州1还是州2,应比较两种方案分别对州2与州1的吃亏程度。
r 2 ( n 1 + 1 , n 2 ) = p 2 ( n 1 + 1 ) p 1 n 2 - 1    r 1 ( n 1 , n 2 + 1 ) = p 1 ( n 2 + 1 ) p 2 n 1 - 1
设增加的一个名额应给州1,则有
p 2 ( n 1 + 1 ) p 1 n 2 < p 1 ( n 2 + 1 ) p 2 n 1 , 经变换等效于
p 2 2 n 2 ( n 2 + 1 ) < p 1 2 n 1 ( n 1 + 1 )
因此,定义Q值为
Figure BDA00002729065000058
则增加的一个名额应分配给Q值较大的一方。
以上可直接推广到多个州的情况。对代表名额分配问题,Q值法的步骤如下:
(1)每个州从1个议员开始,并计算其Q值;
(2)取Q值最大的一个州,增加一名议员并更新其Q值;
(3)重复(2)增加议员,直到议员总数达到问题所要求总数为止。
3、负载均衡问题与代表名额分配问题的联系与区别,Q值法的推广
可以看到,负载均衡问题与代表名额分配问题很类似。代表名额分配问题的目的是尽量使各州所分配的议员数与其人口数成正比,而负载均衡问题的目的是尽量使各服务器所分配的负载与其处理能力成正比。由于议员名额为整数,通常达不到绝对的公平;在负载均衡问题上,由于各个负载的不同,通常也达不到绝对的均衡。同时,在负载均衡问题中,连接是逐个到达的,这与Q值法的逐个增加议员名额的方式完全一致。因此,Q值法可用于负载均衡调度。
例1:三台服务器A、B、C的最大处理能力分别为100、70、40,现有10个连接依次到达,则Q值法负载均衡调度步骤如下:
(1)前3个连接按轮询法分配给每台服务器各一个;
(2)三个服务器的Q值分别为10000/1(1+1)=5000,4900/1(1+1)=2450,1600/1(1+1)=800,第4个连接分配给A,并更新其Q值为10000/2(2+1)=1666.7;
(3)第5个连接分配给B,更新其Q值为4900/2(2+1)=816.67;
(4)第6个连接分配给A,更新其Q值为10000/3(3+1)=833.33;
(5)第7个连接分配给A,更新其Q值为10000/4(4+1)=500;
(6)第8个连接分配给B,更新其Q值为4900/3(3+1)=408.33;
(7)第9个连接分配给C,更新其Q值为1600/2(2+1)=266.67;
(8)第10个连接分配给A,更新其Q值为10000/5(5+1)=333.33。
目前分配状态为A上有5个连接,B上有3个,C上有2个。如新增连接到达时,继续分配到当前Q值最大的服务器上。如连接被释放时,重新更新其所在服务器的Q值即可。
然而,在实际的负载均衡问题中,并不一定直接适用如上Q值法。其原因有如下两点:(1)服务器在不同负载下的性能并不是固定不变的,在服务器负载达到一定程度时,往往新增连接的代价要比服务器空闲时更大,存在一个临界值,在负载均衡调度中应考虑这一因素。(2)每个连接的地位也并不是和议员一样平等的,不同连接所引入的负载不同。
为解决上述问题,采用两种方法。一种是将Q值法与静态权值配置方法相结合,取静态权值配置方法所得出的服务器权值作为pi的值。另一种是对Q值法做以下推广,其基本思想是对代表名额分配问题中的“分配议员”的概念做适当修正。通常服务器在连接数达到一定数目——临界值——后,对新增连接的响应性能就会出现明显的下降。对此可以建立一个简单的模型,设定服务器i的连接数达到临界值以后,新增的每个连接的代价相当于在服务器空闲时,新增σi个连接的代价。σi的值可以随不同的i而不同,根据Q值法的推导过程可知,σi的引入并不会影响Q值法的使用,只需将Q值的定义修改为在分配连接后将ni增加σi即可。更一般地,σi可以随当前ni、当前连接的性质以及当前连接与当前服务器的适合程度而变化,仍不影响Q值法的使用。σi的具体表达式则无一定之规,需要根据服务器与连接的具体状况而确定。
本发明所述负载均衡调度算法,同样可与动态权值配置方法结合使用。应用Q值法的关键在于,如何利用服务器的负载特性,定义代表名额分配问题的参数。根据代表名额分配问题的精神,pi与ωi对应,反映的是服务器的固有处理能力。动态权值配置方法中,对服务器状态做定期检查,得到的服务器权值表示各服务器新增连接的相对能力,因此这一权值就可直接作为pi,参与到Q值法中,此时pi在每个采样周期中是动态变化的。在实际中,还可根据动态权值配置方法的计算方式做简化计算。另外,此时不再需要设定σi,而ni仍为服务器i上的活动连接数。
例2:专利CN1434393A所述方法与本发明所述调度算法结合使用。专利CN1434393A所述动态负载均衡方法,其最终计算分配权值的方式,使用负载权值与当前连接数相结合的方式:
Figure BDA00002729065000072
Figure BDA00002729065000073
此分配权值
Figure BDA00002729065000074
直接表示连接被分配到各服务器上的概率,因此使用本发明所述调度算法,直接取
Figure BDA00002729065000075
更进一步地,从Q值的定义可知,pi不必做归一化,所有pi的同比例变化不影响最终的结果,因此可取
Figure BDA00002729065000076
进一步减少计算量。

Claims (4)

1.一种基于Q值法的负载均衡调度算法,其特征在于:将网络中的负载均衡问题与代表名额分配问题相类比,借鉴代表名额分配问题中的Q值法,结合静态或动态权值配置方法以解决网络中的负载均衡问题。
2.根据权利要求1所述的一种基于Q值法的负载均衡调度算法,其特征在于:Q值法结合静态权值配置方法时,按以下步骤进行:
(1)通过静态测试,确定网络中各服务器的负载特性;
(2)为利用Q值法,根据步骤(1)所测得的负载特性,计算出对应代表名额分配问题中的参数; 
(3)步骤(2)中的参数保存在调度服务器上,当连接请求到达时,利用Q值法将连接请求分配到服务器。
3.根据权利要求1所述的一种基于Q值法的负载均衡调度算法,其特征在于:Q值法结合动态权值配置方法时,按以下步骤进行:
(1)通过静态测试,确定网络中各服务器的负载特性;
(2)选择一种动态权值配置方法,周期性对服务器负载状况做采样检查;
(3)对步骤(2)的检查结果做适当变换,计算出对应代表名额分配问题中的参数;
(4)利用步骤(3)中求得的参数,使用Q值法依采样周期中新增连接到达次序,并将连接分配到服务器;重新启动采样周期。
4.根据权利要求1所述的一种基于Q值法的负载均衡调度算法,其特征在于:所述Q值法是一种基于代表名额分配问题的通用方法。
CN201310011222.9A 2013-01-11 2013-01-11 一种基于q值法的负载均衡调度算法 Expired - Fee Related CN103078806B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310011222.9A CN103078806B (zh) 2013-01-11 2013-01-11 一种基于q值法的负载均衡调度算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310011222.9A CN103078806B (zh) 2013-01-11 2013-01-11 一种基于q值法的负载均衡调度算法

Publications (2)

Publication Number Publication Date
CN103078806A true CN103078806A (zh) 2013-05-01
CN103078806B CN103078806B (zh) 2015-10-14

Family

ID=48155215

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310011222.9A Expired - Fee Related CN103078806B (zh) 2013-01-11 2013-01-11 一种基于q值法的负载均衡调度算法

Country Status (1)

Country Link
CN (1) CN103078806B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103401939A (zh) * 2013-08-08 2013-11-20 中国航天科工集团第三研究院第八三五七研究所 一种采用混合调度策略的负载均衡方法
CN110363380A (zh) * 2019-05-30 2019-10-22 大连理工大学 一种集装箱堆场双场桥动态协同调度方法
CN110401551A (zh) * 2018-04-24 2019-11-01 中国移动通信集团广东有限公司 基于S1u接口的互联网健康度评估方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101729573A (zh) * 2009-12-18 2010-06-09 四川长虹电器股份有限公司 网络入侵检测的动态负载均衡方法
WO2011143865A1 (zh) * 2010-05-19 2011-11-24 中兴通讯股份有限公司 支持云计算的移动终端侧负载平衡处理方法及装置
CN102801559A (zh) * 2012-08-03 2012-11-28 南京富士通南大软件技术有限公司 智能化局域网数据采集方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101729573A (zh) * 2009-12-18 2010-06-09 四川长虹电器股份有限公司 网络入侵检测的动态负载均衡方法
WO2011143865A1 (zh) * 2010-05-19 2011-11-24 中兴通讯股份有限公司 支持云计算的移动终端侧负载平衡处理方法及装置
CN102801559A (zh) * 2012-08-03 2012-11-28 南京富士通南大软件技术有限公司 智能化局域网数据采集方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
吴璇 隋红建: "分布式均衡算法在防火墙集群中的实现", 《计算机应用系统》, no. 8, 31 December 2006 (2006-12-31), pages 1 - 3 *
王若鹏: "席位公平分配问题Q值法的改进", 《北京石油化工学院学报》, vol. 19, no. 2, 30 June 2011 (2011-06-30), pages 1 - 5 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103401939A (zh) * 2013-08-08 2013-11-20 中国航天科工集团第三研究院第八三五七研究所 一种采用混合调度策略的负载均衡方法
CN103401939B (zh) * 2013-08-08 2017-04-26 中国航天科工集团第三研究院第八三五七研究所 一种采用混合调度策略的负载均衡方法
CN110401551A (zh) * 2018-04-24 2019-11-01 中国移动通信集团广东有限公司 基于S1u接口的互联网健康度评估方法及系统
CN110401551B (zh) * 2018-04-24 2022-05-13 中国移动通信集团广东有限公司 基于s1接口的互联网健康度评估方法及系统
CN110363380A (zh) * 2019-05-30 2019-10-22 大连理工大学 一种集装箱堆场双场桥动态协同调度方法

Also Published As

Publication number Publication date
CN103078806B (zh) 2015-10-14

Similar Documents

Publication Publication Date Title
CN107124375B (zh) Cdn网络带宽资源的错峰调度方法、系统以及服务器
CN110276182B (zh) Api分布式限流的实现方法
CN106385468B (zh) Web集群的可预测动态负载均衡方法
CN106445629B (zh) 一种负载均衡的方法及其装置
CN104902001B (zh) 基于操作系统虚拟化的Web请求负载均衡方法
CN105279027B (zh) 一种虚拟机部署方法及装置
CN102567080B (zh) 一种云计算环境中的面向负载均衡的虚拟机择位系统
CN103713956B (zh) 应用于云计算虚拟化管理环境中的智能加权负载均衡方法
CN102347876B (zh) 一种云计算网络多链路聚合控制装置
CN109104500A (zh) 一种动态调整的服务器负载均衡方法及装置
CN101841565B (zh) 数据库集群系统负载均衡方法和数据库集群系统
CN103699440A (zh) 一种云计算平台系统为任务分配资源的方法和装置
CN106533978B (zh) 一种网络负载均衡方法及系统
CN103338228A (zh) 基于双加权最小连接算法的云计算负载均衡调度算法
CN102035737A (zh) 一种基于认知网络的自适应负载均衡方法和装置
CA2532677A1 (en) Communications system providing server load balancing based upon weighted health metrics and related methods
CN104202254A (zh) 一种基于云计算平台服务器智能负载均衡方法
CN102110014A (zh) 虚拟机负载均衡处理的方法
CN104461748A (zh) 一种基于MapReduce的最优本地化任务调度方法
CN104994145A (zh) 一种基于kvm虚拟化集群的负载均衡方法
CN104580503A (zh) 一种高效动态负载均衡的处理大规模数据的系统及方法
CN102945185B (zh) 任务调度方法及装置
CN103078806B (zh) 一种基于q值法的负载均衡调度算法
CN102497421B (zh) 公平性好的Web服务器集群系统轮询调度负载均衡方法
CN105760227B (zh) 云环境下资源调度方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20151014

CF01 Termination of patent right due to non-payment of annual fee