CN103078806A - 一种基于q值法的负载均衡调度算法 - Google Patents
一种基于q值法的负载均衡调度算法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 89
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 39
- 230000003068 static effect Effects 0.000 claims abstract description 20
- 238000005070 sampling Methods 0.000 claims description 10
- 230000009466 transformation Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000009795 derivation Methods 0.000 description 2
- 239000012467 final product Substances 0.000 description 2
- 206010021703 Indifference Diseases 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000000205 computational method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
Landscapes
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于Q值法的负载均衡调度算法,将负载均衡问题与代表名额分配问题做类比,使用解决代表名额分配问题的Q值法进行负载调度,并针对负载均衡问题的特点,对Q值法加以推广。本发明可与现有的静态或动态权值配置方法结合使用,提高了负载调度的均衡性。
Description
技术领域
本发明属于网络集群服务器技术领域,具体为一种基于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,那么集群系统达到负载均衡时有:
2、代表名额分配问题与Q值法
代表名额分配问题,其背景是美国众议院如何根据各州人口的比例分配众议院议员的名额。
在代表名额分配问题上,已有较为成熟的Q值法。
Q值法也称Huntington-Hill算法,是1941年Edward Huntington与Joseph Hill提出的解决代表名额分配问题的算法。其理论基础如下:
考虑两个州的问题,当总议员数增加一个时,增加的名额应给州1还是州2,应比较两种方案分别对州2与州1的吃亏程度。
设增加的一个名额应给州1,则有
以上可直接推广到多个州的情况。对代表名额分配问题,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上的活动连接数。
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值法是一种基于代表名额分配问题的通用方法。
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)
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)
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 | 南京富士通南大软件技术有限公司 | 智能化局域网数据采集方法 |
-
2013
- 2013-01-11 CN CN201310011222.9A patent/CN103078806B/zh not_active Expired - Fee Related
Patent Citations (3)
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)
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)
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 |