CN102541655A - 一种实现动态负载均衡的方法和装置 - Google Patents
一种实现动态负载均衡的方法和装置 Download PDFInfo
- Publication number
- CN102541655A CN102541655A CN2010106193870A CN201010619387A CN102541655A CN 102541655 A CN102541655 A CN 102541655A CN 2010106193870 A CN2010106193870 A CN 2010106193870A CN 201010619387 A CN201010619387 A CN 201010619387A CN 102541655 A CN102541655 A CN 102541655A
- Authority
- CN
- China
- Prior art keywords
- weight
- scope
- servers
- random number
- interval
- 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
本发明提供在分布式系统中实现动态负载均衡的方法,该分布式系统包括多个服务器,该方法通过以下步骤在所述多个服务器中确定用于处理请求的服务器:为所述多个服务器的分别设置权重;根据所述权重计算每一个服务器的范围区间并且计算总权重W;在范围1至W中产生随机数R;判断所述随机数R所落入的范围区间M并且反向映射所述范围区间M以确定用于处理请求的服务器。
Description
技术领域
本发明涉及分布式计算,并且尤其涉及实现动态负载均衡的方法和装置。
背景技术
在分布式计算领域中,实现负载均衡的方法直接影响着服务器集群系统的整体性能。在现有技术中,基于随机数或者基于轮询的负载均衡方法把计算任务尽可能的平均地分布到每个服务器,以发挥集群系统的最大潜力。例如,在基于轮询的负载均衡方法中,在一个任务队列里,队列的每个服务器(节点)都具有相同的地位,轮询法简单地在这组成员中顺序轮转选择,每个节点被选择的机会是1/N,因此节点的负载分布是平均的。又例如,在基于随机数的负载均衡方法中,在产生随机数时未对随机范围做特殊处理,仅通过随机数产生模块计算随机数,随机范围内的各个节点被分配到计算任务的概率基本一致。
然而,上述两种方法仅适用于集群中所有节点的处理能力和性能均相同的情况。由于上述两种方法不考虑各节点服务器之间的差异,不能保证在不同的服务器间达到负载均衡,因此不适合异构的集群系统。
为解决上述技术问题,需要一种能动态调整随机分布情况的方法和装置来平衡各节点服务器之间负载能力的差异。
发明内容
为解决上述问题,本发明提供一种在分布式系统中实现动态负载均衡的方法,该分布式系统包括多个服务器,该方法通过以下步骤在所述多个服务器中确定用于处理请求的服务器:
为所述多个服务器的每一个设置权重;
根据所述权重计算每一个服务器的范围区间并且计算总权重W;
在范围1至W中产生随机数R;
判断所述随机数R所落入的范围区间M并且反向映射所述范围区间M以确定用于处理请求的服务器。
优选地,上述方法根据权重参数为所述多个服务器的每一个设置权重。
优选地,所述权重参数包括线程使用率、CPU使用率、内存使用率、正在处理的任务请求数量和处理完毕的上一个请求的信息中的一个或多个。
优选地,在范围1至W中使用C标准库函数rand()产生所述随机数R。
根据本发明的另一个目的,提供了一种在分布式系统中实现动态负载均衡的装置,该分布式系统包括多个服务器,所述装置用于在所述多个服务器中确定用于处理请求的服务器,所述装置包括:
权重计算模块,用于为所述多个服务器的每一个设置权重;
范围映射模块,用于根据所述权重计算每一个服务器的范围区间并且计算总权重W;
随机数产生模块,用于在范围1至W中产生随机数R;
其中,所述范围映射模块进一步被配置成判断所述随机数R所落入的范围区间M并且反向映射所述范围区间M以确定用于处理请求的服务器。
优选地,该装置还包括权重参数存取模块用于给所述权重计算模块提供权重参数,所述权重计算模块根据权重参数为所述多个服务器的每一个设置权重。
本发明通过引入权重的概念,设计了范围映射模块、权重计算模块、权重参数存取模块,并在随机数产生模块的基础上进行了封装,使得这种新的负载均衡装置具备了调整随机数分布情况的能力。本发明通过对设定不同的权重值来调整随机数的分布情况,既保持了方法的随机性,又解决了常用技术方案随机数分布均匀的局限性,具有更高的灵活性。
附图说明
在参照附图阅读了本发明的具体实施方式以后,本领域技术人员将会更清楚地了解本发明的各个方面。本领域技术人员应当理解的是,这些附图仅仅用于配合具体实施方式说明本发明的技术方案,而并非意在对本发明的保护范围构成限制。其中,
图1是根据本发明实施例的实现动态负载均衡的方法的示意图。
图2是根据本发明实施例的实现动态负载均衡的装置的示意图。
具体实施方式
下面参照附图,对本发明的具体实施方式作进一步的详细描述。
如图1所示,是根据本发明实施例的实现动态负载均衡的方法的示意图。图中,标识X1...Xn分别表示分布式系统中的n个服务器节点。常规的负载均衡的实现的例子,例如在区间[X1,Xn]中使用均匀分布的随机函数产生其中某一标识Xi并且使用该标识X对应的服务器处理相应的业务,其中X1到Xn为连续的自然数。如前所述,利用这种分布均匀的随机数产生的服务器来处理业务的方法不能动态地调整业务分布的情况。因此本发明为各个节点X1...Xn分别设置了权重W1...Wn。根据本发明的下述方法步骤,可以根据各个服务器节点所对应的各自权重值确定各个节点被选中的概率,因此可以为处理能力不同的服务器设置特定的权重以确定该服务器被使用的概率。本领域的技术人员可以理解的是,还可以根据总体系统资源的使用情况,基于特定的负载均衡策略来为节点配置权重。以下参照附图1,详细描述各步骤:
在步骤(1)中,根据权重参数为n个服务器X1...Xn分别设置n个权重W1...Wn,其中n是自然数。可以理解的是,这里的权重参数可以服务器的线程使用率、CPU使用率、内存使用率、正在处理的任务请求数量和处理完毕的上一个请求的信息中的一个或多个。还可以根据需要动态地指定权重参数。应当理解,本发明还可以为各个服务器直接设置权重,从而当期望服务器X1被选择执行任务的概率为X2的2倍时,可以简单地将W1设置为W2的2倍。
在步骤(2)中,根据配置的权重为每个服务器确定唯一的范围区间以及计算总的权重值。其中,如图1所示,与服务器Xi对应的范围区间可以通过以下计算获得:
Xi的范围区间下限=W1+W2+...+Wi-1+1;
Xi的范围区间上限=W1+W2+...+Wi-1+Wi;
其中1≤i≤n,并且i是自然数;
总权重W=W1+W2+...+Wi-1+Wn。
在该实施例中,权重W1...Wn的值为自然数。如此,所得到的各个服务器的范围区间在范围1到W之间形成连续的自然数区间,其中[1,W]是总范围区间。
在步骤(3)中,在范围1至W中产生随机数R,可以理解的是,可以利用C标准库函数rand()产生所述随机数R,还可以使用本领域技术人员所熟知的其它均匀随机数产生方法;
在步骤(4)中,判断所述随机数R所落入的范围区间M。
在步骤(5)中,反向映射所述范围区间M,即根据范围区间与各服务器一一对应的关系确定要选择的服务器。所述选择的服务器被用于处理请求。
通过上述步骤基于权重并且按照不均匀分布的概率选择要执行计算任务的服务器实现了负载的动态随机分配。
参考图2,其示出了是根据本发明实施例的实现动态负载均衡的装置的示意图。该装置可以包括以下四个模块:
权重计算模块,用于为多个服务器的每一个设置权重。
权重参数存取模块,负责存储权重参数,权重计算模块可以调用该权重参数存取模块获得权重参数。可以理解的是,该权重参数存取模块是可选的,权重计算模块可以直接设置各个服务器的权重。
范围映射模块,用于在原始范围(例如,服务器标识的集合)和加权重后的各个服务器的范围区间之间进行双向映射。其中,按照上述方法步骤的描述计算每一个服务器的范围区间并且计算总权重W。
随机数产生模块,用于在范围1至W中产生随机数R。
然后范围映射模块判断所述随机数R所落入的范围区间M并且反向映射所述范围区间M以确定用于处理请求的服务器。
以下参考图2简述各模块的处理过程:
1.输入范围到范围映射模块,这里的范围表示分布式系统中承担计算任务的服务器的集合;
2.范围映射模块调用权重计算模块,请求获取各个服务器(节点)对应的权重值;
3.权重计算模块调用权重参数存取模块,获得权重参数;
4.权重计算模块进行计算,并将计算结果(权重值)返回给范围映射模块。应当注意到,权重计算模块可以不依赖于权重参数存取模块而直接输入各个权重;
5.范围映射模块根据权重进行范围映射,得对应于各个节点的唯一的范围区间和总范围区间[1,W]。然后调用随机数产生模块,获取随机数;
6.随机数产生模块根据总范围区间[1,W]产生出随机数R,并返回给范围映射模块;
7.范围映射模块得到随机数R后,将随机数R反向映射为原始范围,输出反向映射得到的服务器作为承担技术任务的服务器。
通过以上实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件结合硬件平台的方式来实现,当然也可以全部通过硬件来实施。本领域中的普通技术人员能够理解,在不偏离本发明的精神和范围的情况下,还可以对本发明的具体实施方式作各种变更和替换。这些变更和替换都落在本发明权利要求书所限定的范围内。
Claims (7)
1.一种在分布式系统中实现动态负载均衡的方法,其特征在于,该分布式系统包括多个服务器,该方法通过以下步骤在所述多个服务器中确定用于处理请求的服务器:
为所述多个服务器的每一个设置权重;
根据所述权重计算每一个服务器的范围区间并且计算总权重W;
在范围1至W中产生随机数R;
判断所述随机数R所落入的范围区间M并且反向映射所述范围区间M以确定用于处理请求的服务器。
2.如权利要求1所述的方法,其特征在于,根据权重参数为所述多个服务器的每一个设置权重。
3.如权利要求2所述的方法,其特征在于,所述权重参数包括线程使用率、CPU使用率、内存使用率、正在处理的任务请求数量和处理完毕的上一个请求的信息中的一个或多个。
4.如权利要求1所述的方法,其特征在于,在范围1至W之间使用C标准库函数rand()产生所述随机数R。
5.一种在分布式系统中实现动态负载均衡的装置,其特征在于,该分布式系统包括多个服务器,所述装置用于在所述多个服务器中确定用于处理请求的服务器,所述装置包括:
权重计算模块,用于为所述多个服务器的每一个设置权重;
范围映射模块,用于根据所述权重计算每一个服务器的范围区间并且计算总权重W;
随机数产生模块,用于在范围1至W中产生随机数R;
其中,所述范围映射模块进一步被配置成判断所述随机数R所落入的范围区间M并且反向映射所述范围区间M以确定用于处理请求的服务器。
6.如权利要求5所述的装置,其特征在于,该装置还包括权重参数存取模块用于给所述权重计算模块提供权重参数,所述权重计算模块根据权重参数为所述多个服务器的每一个设置权重。
7.如权利要求5所述的装置,其特征在于,所述权重参数包括线程使用率、CPU使用率、内存使用率、正在处理的任务请求数量和处理完毕的上一个请求的信息中的一个或多个。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010106193870A CN102541655A (zh) | 2010-12-31 | 2010-12-31 | 一种实现动态负载均衡的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010106193870A CN102541655A (zh) | 2010-12-31 | 2010-12-31 | 一种实现动态负载均衡的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102541655A true CN102541655A (zh) | 2012-07-04 |
Family
ID=46348611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010106193870A Pending CN102541655A (zh) | 2010-12-31 | 2010-12-31 | 一种实现动态负载均衡的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102541655A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685056A (zh) * | 2014-01-14 | 2014-03-26 | 互联网域名系统北京市工程研究中心有限公司 | 负载均衡方法及其系统 |
CN103984545A (zh) * | 2014-04-24 | 2014-08-13 | 北京掌阔移动传媒科技有限公司 | 一种移动终端广告请求方法和装置 |
CN104780210A (zh) * | 2015-04-13 | 2015-07-15 | 杭州华三通信技术有限公司 | 负载均衡方法以及装置 |
CN106020977A (zh) * | 2016-05-16 | 2016-10-12 | 深圳市中业智能系统控制有限公司 | 用于监控系统的分布式任务调度方法及装置 |
CN106506608A (zh) * | 2016-10-19 | 2017-03-15 | 北京华云网际科技有限公司 | 分布式块数据的访问方法和装置 |
CN108093009A (zh) * | 2016-11-21 | 2018-05-29 | 百度在线网络技术(北京)有限公司 | 一种服务器的负载均衡方法和装置 |
CN108667882A (zh) * | 2017-04-01 | 2018-10-16 | 北京京东尚科信息技术有限公司 | 基于动态权重调整的负载均衡方法、装置和电子设备 |
CN110502347A (zh) * | 2019-08-28 | 2019-11-26 | 中国银行股份有限公司 | 任务负载调度方法及装置 |
CN110750614A (zh) * | 2019-07-25 | 2020-02-04 | 卫宁健康科技集团股份有限公司 | 医院智慧服务的测评方法、系统、设备及存储介质 |
CN111182011A (zh) * | 2018-11-09 | 2020-05-19 | 中移(杭州)信息技术有限公司 | 一种服务集分配方法及装置 |
CN112199043A (zh) * | 2020-09-30 | 2021-01-08 | 深圳壹账通智能科技有限公司 | 一种服务器选择方法、装置、电子设备和存储介质 |
CN113220491A (zh) * | 2021-07-07 | 2021-08-06 | 中邮消费金融有限公司 | 远程调用自适应负载均衡方法、装置、系统及计算机装备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101557344A (zh) * | 2009-05-21 | 2009-10-14 | 南昌航空大学 | 一种基于空间地理位置的动态负载均衡方法 |
CN101753444A (zh) * | 2009-12-31 | 2010-06-23 | 卓望数码技术(深圳)有限公司 | 一种负载均衡方法和负载均衡装置 |
-
2010
- 2010-12-31 CN CN2010106193870A patent/CN102541655A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101557344A (zh) * | 2009-05-21 | 2009-10-14 | 南昌航空大学 | 一种基于空间地理位置的动态负载均衡方法 |
CN101753444A (zh) * | 2009-12-31 | 2010-06-23 | 卓望数码技术(深圳)有限公司 | 一种负载均衡方法和负载均衡装置 |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685056A (zh) * | 2014-01-14 | 2014-03-26 | 互联网域名系统北京市工程研究中心有限公司 | 负载均衡方法及其系统 |
CN103984545A (zh) * | 2014-04-24 | 2014-08-13 | 北京掌阔移动传媒科技有限公司 | 一种移动终端广告请求方法和装置 |
CN103984545B (zh) * | 2014-04-24 | 2017-05-17 | 北京掌阔移动传媒科技有限公司 | 一种移动终端广告请求方法和装置 |
CN104780210A (zh) * | 2015-04-13 | 2015-07-15 | 杭州华三通信技术有限公司 | 负载均衡方法以及装置 |
CN106020977B (zh) * | 2016-05-16 | 2019-09-13 | 深圳市中业智能系统控制有限公司 | 用于监控系统的分布式任务调度方法及装置 |
CN106020977A (zh) * | 2016-05-16 | 2016-10-12 | 深圳市中业智能系统控制有限公司 | 用于监控系统的分布式任务调度方法及装置 |
CN106506608A (zh) * | 2016-10-19 | 2017-03-15 | 北京华云网际科技有限公司 | 分布式块数据的访问方法和装置 |
CN108093009A (zh) * | 2016-11-21 | 2018-05-29 | 百度在线网络技术(北京)有限公司 | 一种服务器的负载均衡方法和装置 |
CN108667882A (zh) * | 2017-04-01 | 2018-10-16 | 北京京东尚科信息技术有限公司 | 基于动态权重调整的负载均衡方法、装置和电子设备 |
CN108667882B (zh) * | 2017-04-01 | 2021-04-30 | 北京京东尚科信息技术有限公司 | 基于动态权重调整的负载均衡方法、装置和电子设备 |
CN111182011A (zh) * | 2018-11-09 | 2020-05-19 | 中移(杭州)信息技术有限公司 | 一种服务集分配方法及装置 |
CN111182011B (zh) * | 2018-11-09 | 2022-06-10 | 中移(杭州)信息技术有限公司 | 一种服务集分配方法及装置 |
CN110750614A (zh) * | 2019-07-25 | 2020-02-04 | 卫宁健康科技集团股份有限公司 | 医院智慧服务的测评方法、系统、设备及存储介质 |
CN110750614B (zh) * | 2019-07-25 | 2020-12-22 | 卫宁健康科技集团股份有限公司 | 医院智慧服务的测评方法、系统、设备及存储介质 |
CN110502347A (zh) * | 2019-08-28 | 2019-11-26 | 中国银行股份有限公司 | 任务负载调度方法及装置 |
CN110502347B (zh) * | 2019-08-28 | 2022-05-27 | 中国银行股份有限公司 | 任务负载调度方法及装置 |
CN112199043A (zh) * | 2020-09-30 | 2021-01-08 | 深圳壹账通智能科技有限公司 | 一种服务器选择方法、装置、电子设备和存储介质 |
CN113220491A (zh) * | 2021-07-07 | 2021-08-06 | 中邮消费金融有限公司 | 远程调用自适应负载均衡方法、装置、系统及计算机装备 |
CN113220491B (zh) * | 2021-07-07 | 2021-10-29 | 中邮消费金融有限公司 | 远程调用自适应负载均衡方法、装置、系统及计算机装备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102541655A (zh) | 一种实现动态负载均衡的方法和装置 | |
CN109218355B (zh) | 负载均衡引擎,客户端,分布式计算系统以及负载均衡方法 | |
CN108268317B (zh) | 一种资源分配方法及装置 | |
CN103188345A (zh) | 分布式动态负载管理系统和方法 | |
CN105740051A (zh) | 基于改进的遗传算法的云计算资源调度实现方法 | |
CN102469126B (zh) | 一种应用调度系统、方法和相关装置 | |
CN103401947A (zh) | 多个服务器的任务分配方法和装置 | |
CN111694663B (zh) | 服务器集群的负载均衡方法、装置及系统 | |
CN104618269A (zh) | 基于能耗要求的云系统利用率最大化资源分配方法 | |
CN105656973A (zh) | 一种分布式节点组内任务调度方法及系统 | |
CN102611735A (zh) | 一种应用服务的负载均衡方法及系统 | |
CN103368864A (zh) | 一种基于c/s架构的智能负载均衡方法 | |
CN103763343A (zh) | 一种业务访问处理方法及装置 | |
US11496413B2 (en) | Allocating cloud computing resources in a cloud computing environment based on user predictability | |
CN103731372A (zh) | 一种混合云环境下服务提供者的资源供应方法 | |
CN102110014A (zh) | 虚拟机负载均衡处理的方法 | |
CN106998340B (zh) | 一种板卡资源的负载均衡方法及装置 | |
CN104994145A (zh) | 一种基于kvm虚拟化集群的负载均衡方法 | |
CN106293533A (zh) | 一种基于存储多路径间的负载均衡方法及系统 | |
CN103902384A (zh) | 为虚拟机分配物理机的方法及装置 | |
US9106482B1 (en) | Systems and methods for proxy-less load balancing | |
Chekired et al. | Multi-tier fog architecture: A new delay-tolerant network for IoT data processing | |
Khodar et al. | New scheduling approach for virtual machine resources in cloud computing based on genetic algorithm | |
CN103678000A (zh) | 基于可靠性和合作博弈的计算网格均衡任务调度方法 | |
CN109600402A (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120704 |