Nothing Special   »   [go: up one dir, main page]

CN102724105B - 一种负载均衡方法和装置 - Google Patents

一种负载均衡方法和装置 Download PDF

Info

Publication number
CN102724105B
CN102724105B CN201110078347.4A CN201110078347A CN102724105B CN 102724105 B CN102724105 B CN 102724105B CN 201110078347 A CN201110078347 A CN 201110078347A CN 102724105 B CN102724105 B CN 102724105B
Authority
CN
China
Prior art keywords
server
querying server
querying
farm
service inquiry
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.)
Active
Application number
CN201110078347.4A
Other languages
English (en)
Other versions
CN102724105A (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.)
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201110078347.4A priority Critical patent/CN102724105B/zh
Publication of CN102724105A publication Critical patent/CN102724105A/zh
Application granted granted Critical
Publication of CN102724105B publication Critical patent/CN102724105B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种负载均衡方法和装置,该方法包括:业务查询机接收来自客户端的查询请求,确定可供选择的服务器群组;所述业务查询机根据从所述服务器群组中的各个查询服务器分别累计接收到的数据包量与向该查询服务器累计发送的数据包量之间的差值,分别确定各个查询服务器的可用配额,所述可用额度用于表征查询服务器的剩余处理能力;所述业务查询机根据各个查询服务器的可用配额从所述服务器群组中选择查询服务器,并向选择出的查询服务器发送查询请求。通过使用本发明,能够准确、快速地实现负载均衡。

Description

一种负载均衡方法和装置
技术领域
本发明涉及通信技术领域,特别是涉及一种负载均衡方法和装置。
背景技术
随着网络业务量的提高、访问量和数据流量的快速增长,现有网络的各个核心部分的处理能力和计算强度也相应地增大,使得单一的服务器设备无法承担。为适应以上场景,可以通过负载均衡技术将负载(工作任务)平衡、分摊到多个操作单元上,从而共同完成工作任务。负载均衡技术建立在现有网络结构之上,能够扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
负载均衡技术中常用的算法包括轮询调度算法和WLC(WeightedLeast-Connection,加权最小连接)调度算法,轮询调度算法是一种无状态调度,可以按照从1到n(服务器的总数)的顺序,将用户的请求轮流分配给各个服务器,并在分配一遍后重新进行轮流分配。算法非常简洁,无需记录服务器的当前连接的状态。
在实际应用中,由于每台服务器的配置不同,其处理能力也会不一样,因此,WLC调度算法根据各个服务器的处理能力,为服务器分配相应的权值,在调度新连接时,将新接收到的服务请求发送给加权连接数最小或者响应时间最短的服务器,尽可能地使服务器的已建立的连接数和其权值成比例。
具体地,假设在服务器组s={si,i=1,2,…,n}中,每台服务器的权值为wi,已建立的连接数为li,服务器组的已建立的连接数的总和M=∑li,当服务器sj满足(li/M)/wj=min{(li/M)/wj}的条件时,当前的新连接请求将被发送至服务器sj
在实现本发明的过程中,发明人发现现有技术至少存在如下问题:
轮询调度算法假设服务器组中的所有服务器的处理性能都相同,不关心每台服务器的当前连接数和响应速度,仅适合于服务器组中的所有服务器都有相同的软硬件配置且接收到的服务请求相对均衡的情况,当接收到的服务请求的间隔时间变化较大时,容易导致服务器间的负载不平衡。WLC调度算法只考虑服务器当前的连接数,并没有考虑每个连接请求所需的服务器系统资源和服务时间,如果在一段时间内新接收到的服务请求比较多,会破坏集群系统的负载均衡;此外,WLC调度算法需要频繁收集节点的负载状态信息,会增加系统资源开销。
发明内容
本发明的目的在于提供一种负载均衡方法和装置,以准确、快速地实现负载均衡,为此,本发明采用如下技术方案:
一种负载均衡方法,包括:
业务查询机接收来自客户端的查询请求,确定可供选择的服务器群组;
所述业务查询机根据从所述服务器群组中的各个查询服务器分别累计接收到的数据包量与向该查询服务器累计发送的数据包量之间的差值,分别确定各个查询服务器的可用配额,所述可用额度用于表征查询服务器的剩余处理能力;
所述业务查询机根据各个查询服务器的可用配额从所述服务器群组中选择查询服务器,并向选择出的查询服务器发送查询请求。
一种负载均衡装置,包括:
接收模块,用于接收来自客户端的查询请求;
群组确定模块,用于确定可供选择的服务器群组;
配额确定模块,用于根据从所述服务器群组中的各个查询服务器分别累计接收到的数据包量与向该查询服务器累计发送的数据包量之间的差值,分别确定各个查询服务器的可用配额,所述可用额度用于表征查询服务器的剩余处理能力;
选择模块,用于根据各个查询服务器的可用配额从所述服务器群组中选择查询服务器;
发送模块,用于向选择出的查询服务器发送查询请求。
本发明的实施例包括以下优点,因为根据从各个查询服务器累计接收到的数据包量与向该查询服务器累计发送的数据包量之间的差值,确定各个查询服务器的可用配额,并根据各个查询服务器的可用配额从服务器群组中选择接入的查询服务器,能够直接、快速、准确地确定查询服务器的状态,进而实现负载均衡;由于不需要收集查询服务器的负载信息,能够有效地降低系统资源开销。当然,实施本发明的实施例的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
图1为本发明实施例中的负载均衡系统架构图;
图2为本发明实施例中的负载均衡方法流程图;
图3为本发明实施例中的可用配额的衰减曲线示意图;
图4为本发明实施例中的更新从查询服务器累计接收到的数据包量的方法流程图;
图5为本发明实施例中的负载均衡装置的结构示意图。
具体实施方式
下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明实施例中的负载均衡系统架构图,包括配置服务器、业务查询机、查询服务器和数据库。其中,业务查询机中包括负载均衡API(ApplicationProgrammingInterface,应用程序编程接口),以API的形式向各业务提供负载均衡查询接口,从配置服务器上获取可供选择的服务器群组,并在本地使用负载均衡API提供的调度算法,从上述服务器群组中选择查询服务器,向选择出的查询服务器发送查询请求。查询服务器用于接收业务查询机发送的查询请求,根据该查询请求从数据库中获取相应的查询数据,并将查询数据返回给业务查询机。
配置服务器用于向业务查询机提供可用的服务器群组,服务器群组包括多个查询服务器。具体地,配置服务器可以将查询服务器si的权值记为w(si),根据查询服务器所在的地域、运营商等条件将查询服务器划分为以下五种类型,并分别分配不同的权值:
A1:与业务查询机位于同一网络机房的查询服务器,权值w(A1)=100;
A2:与业务查询机使用同一IDC(InternetDataCenter,互联网数据中心)的查询服务器,权值w(A2)=95;
A3:与业务查询机同城且同运营商的查询服务器,权值w(A3)=50;
A4:与业务查询机同城的查询服务器,权值w(A4)=20;
A5:其他类型的查询服务器,权值w(A5)=5。
业务查询机可以每隔预设时间(例如,10分钟)从配置服务器获取当前的服务器群组,具体地,业务查询机可以遍历上述各个类型的查询服务器,并按照每种类型的查询服务器的所需数量选取查询服务器。如果所需类型服务器的数量不够,可以随机选取其它类型的查询服务器补足。例如,当服务器群组中包括10台查询服务器时,可以随机选取3台A1类型的查询服务器、3台A2类型的查询服务器、2台A3类型的查询服务器、1台A4类型的查询服务器和1台A5类型的查询服务器作为当前的服务器群组。
基于上述系统架构,本发明实施例中的负载均衡方法流程图,如图2所示,包括以下步骤:
步骤201,业务查询机接收来自客户端的查询请求。
步骤202,业务查询机判断当前的服务器群组是否在有效期内,如果不在,则执行步骤203;否则,执行步骤204。
其中,当前的服务器群组可以为预先配置在业务查询机上的服务器群组,也可以为业务查询机上一次选择查询服务器时所使用的服务器列表。当查询服务器所在的地域、运营商等条件的发生变化时,该查询服务器的类型也会发生变化,而服务器列表中的配置服务器是根据类型选取得到的,因此,配置服务器需要对服务器群组设定对应的有效期,该有效期用于判断服务器群组是否有效。
步骤203,业务查询机从配置服务器获取更新后的服务器群组。
具体地,业务查询机可以向配置服务器发送服务器群组获取请求,并接收配置服务器返回的更新后的服务器群组。
步骤204,业务查询机确定服务器群组中的各个查询服务器的可用配额,并根据可用配额确定各个查询服务器对应的配额区间。
具体地,可以将查询服务器的处理能力量化为配额,查询服务器si的可用配额qleft(si)用于表征查询服务器si的剩余处理能力,其初始值为预先设定的最大配额qmax(si),qmax(si)可以根据查询服务器si的配置和性能提前设定。例如,假设服务器群组中的查询服务器的配置和性能都基本一致,可以设定每台查询服务器的最大配额qmax(si)=10000。
业务查询机可以根据从查询服务器si累计接收到的数据包量rcnt(si)与向该查询服务器si累计发送的数据包量scnt(si)之间的差值△cnt=scnt(si)-rcnt(si),调整该查询服务器si的可用配额,如公式[1]所示:
…[1]
其中,qleft(si)为查询服务器si的可用配额,△cnt为所述业务查询机从查询服务器si累计接收到的数据包量与所述业务查询机向该查询服务器si累计发送的数据包量之间的差值,qmax(si)为查询服务器si的最大配额。
当△cnt很小时,可以确定查询服务器si处于正常工作状态,qleft(si)随着△cnt的增大而进行较少的衰减;随着△cnt的增大,可以确定查询服务器si不能提供正常服务,qleft(si)的衰减速度加快,直到降为1,如图3所示。
如果查询服务器si在故障后恢复服务,由于△cnt可能远大于,为使该查询服务器si重新进入负载均衡系统,业务查询机可以对从该查询服务器si累计接收到的数据包量rcnt(si)进行重置。具体地,为防止负载均衡系统产生剧烈的波动,业务查询机并不立刻重置rcnt(si),而是在从该查询服务器si连续接收到预设数量个(例如,20个)数据包后,确认该查询服务器si恢复服务,重置rcnt(si)=scnt(si)-ε,其中,ε可以取。在重置rcnt(si)之后,业务查询机每从查询服务器si接收到一个数据包,则对rcnt(si)累加一个大于1的数字,例如,令rcnt(si)=rcnt(si)+2,直到rcnt(si)等于scnt(si)。
在确定服务器群组中的各个查询服务器的可用配额后,可以确定查询服务器si对应的配额区间,其中,sj为服务器组群中的查询服务器,qleft(sj)为查询服务器sj的可用配额,w(sj)为查询服务器sj的权值。
步骤205,业务查询机根据生成的随机数,查找该随机数所在的配额区间,如果查找到,则执行步骤206;如果查找不到,则执行步骤207。
其中,业务查询机生成的随机数r满足:0≤r≤qsum,qsum为系统总配额,用于反映了当前系统的整体处理能力和负载情况,其取值为服务器群组中的所有查询服务器的可用配额与权值的乘积的总和,即:
……………………[2]
根据随机数r和服务器群组中的各个查询服务器对应的配额区间,可以确定随机数r所在的配额区间。由于随机数r是随机生成的,查询服务器si的可用配额qleft(si)越大,则随机数r落在该查询服务器si对应的配额区间的概率的可能性越大。
步骤206,业务查询机向查找到的配额区间所对应的查询服务器发送查询请求。
步骤207,业务查询机向服务器群组中的任一查询服务器发送查询请求。
需要说明的是,在本发明的其他实施方式中,业务查询机也可以采用其他的方式从服务器群组中选择查询服务器,例如,选择可用配额与权值的乘积最大的查询服务器;也可以不配置查询服务器的权值,仅根据查询服务器的可用配额确定查询服务器si对应的配额区间,相应地,系统总配额,业务查询机可以根据随机数所在的配额区间选择查询服务器,也可以从服务器群组中选择可用配额最大的查询服务器。以上实施方式同样可以实现本发明的发明目的。
另外,上述步骤202和步骤203为本发明实施例的优选步骤,通过判断当前的服务器群组是否在有效期内,能够提高服务器群组的有效性和合理性。在本发明的其他实施方式中,也可以不执行步骤202和步骤203,业务查询机从预设的服务器群组中选择查询服务器,同样可以实现本发明的发明目的。
此外,上述步骤207也是本发明实施例的优选步骤,在查找不到随机数所在的配额区间时,通过向服务器群组中的任一查询服务器发送查询请求,能够提高业务查询机与查询服务器之间的连接成功率。在本发明的其他实施方式中,也可以不执行步骤207,业务查询机在查找不到随机数所在的配额区间时,不向服务器群组中的查询服务器发送查询请求,同样可以实现本发明的发明目的。
在本发明实施例中,业务查询机可以根据向查询服务器si发送的数据包(例如,查询请求),更新向查询服务器si累计发送的数据包量scnt(si),即,每向查询服务器si发送一个数据包,则对scnt(si)加1。
业务查询机还可以根据从查询服务器接收到的数据包,更新从该查询服务器累计接收到的数据包量,具体流程如图4所示,包括以下步骤:
步骤401,业务查询机接收查询服务器si发送的数据包。
步骤402,业务查询机判断△cnt是否大于第一门限,如果大于,则执行步骤403;否则,执行步骤407。
步骤403,业务查询机判断自身在查询服务器si恢复服务后从该查询服务器si累计接收到的数据包量cnt是否大于或等于第二门限,当判断结果为是时,则执行步骤405;否则,执行步骤404。
步骤404,业务查询机对cnt加1,对rcnt(si)加1。
需要说明的是,在执行步骤404之后,可以结束流程。
步骤405,业务查询机对rcnt(si)进行重置,将快速恢复变量置位。
其中,快速恢复变量bReset用于表示查询服务器是否进入快速恢复阶段,可以为全局变量,初始时可以为复位状态,表示查询服务器没有进入快速恢复阶段;bReset为置位状态时,表示查询服务器进入快速恢复阶段。例如,bReset的初始取值为false,置位后的取值为true。
步骤406,业务查询机判断快速恢复变量bReset是否已置位,如果已置位,则执行步骤407;否则,执行步骤410。
步骤407,业务查询机判断rcnt(si)是否小于scnt(si)-1,如果小于,则执行步骤408;否则,执行步骤409。
步骤408,业务查询机对rcnt(si)进行快速恢复。
具体地,业务查询机每从查询服务器si接收到一个数据包,可以对rcnt(si)累加一个大于1的数字,例如,rcnt(si)=rcnt(si)+2。
需要说明的是,在执行步骤408之后,可以结束流程。
步骤409,业务查询机将bReset复位,将cnt置为0,对rcnt(si)加1。
需要说明的是,在执行步骤409之后,可以结束流程。
步骤410,业务查询机对rcnt(si)加1。
本发明实施例的技术方案可以应用于URL(Uniform/UniversalResourceLocator,统一资源定位符)查询系统,通过选取业务查询机对各个查询服务器的实际查询量,并对实际查询量和理论查询量进行对比,可以对本发明实施例的技术方案进行性能评估,其中,理论查询量为根据业务查询机的总查询量和各个查询服务器的权重计算得到的查询量。性能评估的结果。如表1所示:
表1性能评估表
从表1可以看出,业务查询机对各个查询服务器的实际查询量接近按权重分配的理论查询量,因此,本发明实施例的技术方案能够合理有效地实现负载均衡。
本发明的实施例包括以下优点,因为根据从各个查询服务器累计接收到的数据包量与向该查询服务器累计发送的数据包量之间的差值,确定各个查询服务器的可用配额,并根据各个查询服务器的可用配额从服务器群组中选择接入的查询服务器,能够直接、快速、准确地确定查询服务器的状态,进而实现负载均衡;由于不需要收集查询服务器的负载信息,能够有效地降低系统资源开销;此外,本发明的实施例支持全局负载均衡,按地域、IDC等信息选取服务器群组,可以在保证查询响应速度的同时,实现全局容灾。当然,实施本发明的实施例的任一产品并不一定需要同时达到以上所述的所有优点。
根据上述实施方式中提供的负载均衡方法,本发明实施例还提供了应用上述负载均衡方法的装置。
如图5所示,为本发明实施例中的负载均衡装置的结构示意图,包括:
接收模块510,用于接收来自客户端的查询请求。
群组确定模块520,用于确定可供选择的服务器群组。
上述群组确定模块520,具体用于判断当前的服务器群组是否在有效期内,如果在,则将当前的服务器群组作为可供选择的服务器群组;否则,从配置服务器获取更新后的服务器群组。
具体地,当前的服务器群组可以为预先配置在负载均衡装置上的服务器群组,也可以为负载均衡装置上一次选择查询服务器时所使用的服务器列表。如果当前的服务器群组不在有效期内,群组确定模块520可以向配置服务器发送服务器群组获取请求,并接收配置服务器返回的更新后的服务器群组。
配额确定模块530,用于根据从群组确定模块520确定出的服务器群组中的各个查询服务器分别累计接收到的数据包量与向该查询服务器累计发送的数据包量之间的差值,分别确定各个查询服务器的可用配额,该可用额度用于表征查询服务器的剩余处理能力。
具体地,上述配额确定模块530,具体用于按照以下公式确定查询服务器si的可用配额:
其中,qleft(si)为查询服务器si的可用配额,△cnt为接收模块510从查询服务器si累计接收到的数据包量与发送模块550向该查询服务器si累计发送的数据包量之间的差值,qmax(si)为查询服务器si的最大配额。
选择模块540,用于根据各个查询服务器的可用配额从服务器群组中选择查询服务器。
具体地,上述选择模块540,具体用于根据各个查询服务器的可用配额确定各个查询服务器对应的配额区间;生成随机数,确定该随机数所在的配额区间,并选择该配额区间对应的查询服务器。
其中,查询服务器si对应的配额区间为:
其中,sj为服务器组群中的查询服务器,qleft(sj)为查询服务器sj的可用配额,w(sj)为查询服务器sj的权值。
上述选择模块540,还用于在随机数在所有查询服务器对应的配额区间之外时,选择服务器群组中的任一查询服务器。
发送模块550,用于向选择模块540选择出的查询服务器发送查询请求。
优选地,上述负载均衡装置,还可以进一步包括:
更新模块560,用于根据从查询服务器接收到的数据包,更新从该查询服务器累计接收到的数据包量;根据向查询服务器发送的数据包,更新向该查询服务器累计发送的数据包量。
上述更新模块560,具体用于在接收模块510在查询服务器恢复服务后从该查询服务器累计接收到预设数量个数据包后,对从该查询服务器累计接收到的数据包量进行重置;之后,每从所述查询服务器接收到一个数据包,对所述累计接收到的数据包量累加一个大于1的数字,直到所述累计接收到的数据包量等于累计发送的数据包量。
本发明的实施例包括以下优点,因为根据从各个查询服务器累计接收到的数据包量与向该查询服务器累计发送的数据包量之间的差值,确定各个查询服务器的可用配额,并根据各个查询服务器的可用配额从服务器群组中选择接入的查询服务器,能够直接、快速、准确地确定查询服务器的状态,进而实现负载均衡;由于不需要收集查询服务器的负载信息,能够有效地降低系统资源开销;此外,本发明的实施例支持全局负载均衡,按地域、IDC等信息选取服务器群组,可以在保证查询响应速度的同时,实现全局容灾。当然,实施本发明的实施例的任一产品并不一定需要同时达到以上所述的所有优点。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。

Claims (14)

1.一种负载均衡方法,其特征在于,包括:
业务查询机接收来自客户端的查询请求,确定可供选择的服务器群组;
所述业务查询机根据从所述服务器群组中的各个查询服务器分别累计接收到的数据包量与向该查询服务器累计发送的数据包量之间的差值,分别确定各个查询服务器的可用配额,所述可用额度用于表征查询服务器的剩余处理能力;
所述业务查询机根据各个查询服务器的可用配额从所述服务器群组中选择查询服务器,并向选择出的查询服务器发送查询请求;
其中,所述业务查询机按照以下公式确定查询服务器si的可用配额:
其中,qleft(si)为查询服务器si的可用配额,△cnt为所述业务查询机从查询服务器si累计接收到的数据包量与所述业务查询机向该查询服务器si累计发送的数据包量之间的差值,qmax(si)为查询服务器si的最大配额。
2.如权利要求1所述的方法,其特征在于,所述业务查询机根据各个查询服务器的可用配额从所述服务器群组中选择查询服务器,具体为:
所述业务查询机根据各个查询服务器的可用配额确定各个查询服务器对应的配额区间;
所述业务查询机根据生成的随机数,确定该随机数所在的配额区间,并选择该配额区间对应的查询服务器。
3.如权利要求2所述的方法,其特征在于,查询服务器si对应的配额区间为:
其中,sj为所述服务器组群中的查询服务器,qleft(sj)为查询服务器sj的可用配额,w(sj)为查询服务器sj的权值。
4.如权利要求2所述的方法,其特征在于,还包括:
当所述随机数在所有查询服务器对应的配额区间之外时,所述业务查询机选择所述服务器群组中的任一查询服务器,并向该查询服务器发送查询请求。
5.如权利要求1所述的方法,其特征在于,所述业务查询机确定可供选择的服务器群组,包括:
所述业务查询机判断当前的服务器群组是否在有效期内,如果在,则将所述当前的服务器群组作为可供选择的服务器群组;否则,从配置服务器获取更新后的服务器群组。
6.如权利要求1所述的方法,其特征在于,还包括:
所述业务查询机根据从查询服务器接收到的数据包,更新从该查询服务器累计接收到的数据包量;根据向查询服务器发送的数据包,更新向该查询服务器累计发送的数据包量。
7.如权利要求6所述的方法,其特征在于,所述业务查询机根据从查询服务器接收到的数据包,更新从该查询服务器累计接收到的数据包量,包括:
当所述业务查询机在查询服务器恢复服务后从该查询服务器累计接收到预设数量个数据包后,所述业务查询机对从该查询服务器累计接收到的数据包量进行重置;之后,
所述业务查询机每从所述查询服务器接收到一个数据包,对所述累计接收到的数据包量累加一个大于1的数字,直到所述累计接收到的数据包量等于累计发送的数据包量。
8.一种负载均衡装置,其特征在于,包括:
接收模块,用于接收来自客户端的查询请求;
群组确定模块,用于确定可供选择的服务器群组;
配额确定模块,用于根据从所述服务器群组中的各个查询服务器分别累计接收到的数据包量与向该查询服务器累计发送的数据包量之间的差值,分别确定各个查询服务器的可用配额,所述可用额度用于表征查询服务器的剩余处理能力,所述配额确定模块,具体用于按照以下公式确定查询服务器si的可用配额:
其中,qleft(si)为查询服务器si的可用配额,△cnt为所述接收模块从查询服务器si累计接收到的数据包量与所述发送模块向该查询服务器si累计发送的数据包量之间的差值,qmax(si)为查询服务器si的最大配额;
选择模块,用于根据各个查询服务器的可用配额从所述服务器群组中选择查询服务器;
发送模块,用于向选择出的查询服务器发送查询请求。
9.如权利要求8所述的装置,其特征在于,
所述选择模块,具体用于根据各个查询服务器的可用配额确定各个查询服务器对应的配额区间;生成随机数,确定该随机数所在的配额区间,并选择该配额区间对应的查询服务器。
10.如权利要求9所述的装置,其特征在于,查询服务器si对应的配额区间为:
其中,sj为所述服务器组群中的查询服务器,qleft(sj)为查询服务器sj的可用配额,w(sj)为查询服务器sj的权值。
11.如权利要求9所述的装置,其特征在于,
所述选择模块,还用于在所述随机数在所有查询服务器对应的配额区间之外时,选择所述服务器群组中的任一查询服务器。
12.如权利要求8所述的装置,其特征在于,
所述群组确定模块,具体用于判断当前的服务器群组是否在有效期内,如果在,则将所述当前的服务器群组作为可供选择的服务器群组;否则,从配置服务器获取更新后的服务器群组。
13.如权利要求8所述的装置,其特征在于,还包括:
更新模块,用于根据从查询服务器接收到的数据包,更新从该查询服务器累计接收到的数据包量;根据向查询服务器发送的数据包,更新向该查询服务器累计发送的数据包量。
14.如权利要求13所述的装置,其特征在于,
所述更新模块,具体用于在所述接收模块在查询服务器恢复服务后从该查询服务器累计接收到预设数量个数据包后,对从该查询服务器累计接收到的数据包量进行重置;之后,每从所述查询服务器接收到一个数据包,对所述累计接收到的数据包量累加一个大于1的数字,直到所述累计接收到的数据包量等于累计发送的数据包量。
CN201110078347.4A 2011-03-30 2011-03-30 一种负载均衡方法和装置 Active CN102724105B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110078347.4A CN102724105B (zh) 2011-03-30 2011-03-30 一种负载均衡方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110078347.4A CN102724105B (zh) 2011-03-30 2011-03-30 一种负载均衡方法和装置

Publications (2)

Publication Number Publication Date
CN102724105A CN102724105A (zh) 2012-10-10
CN102724105B true CN102724105B (zh) 2016-03-09

Family

ID=46949770

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110078347.4A Active CN102724105B (zh) 2011-03-30 2011-03-30 一种负载均衡方法和装置

Country Status (1)

Country Link
CN (1) CN102724105B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104125202B (zh) * 2013-04-26 2019-03-05 深圳市腾讯计算机系统有限公司 权重调整方法、装置和终端设备
CN103634144B (zh) * 2013-11-15 2017-06-13 新浪网技术(中国)有限公司 多idc集群的配置文件管理方法、系统和设备
CN105991741B (zh) * 2015-03-02 2020-03-06 阿里巴巴集团控股有限公司 显示负载请求的方法、装置及网络服务器
CN106708826A (zh) * 2015-07-30 2017-05-24 中兴通讯股份有限公司 数据处理及查询方法、装置
CN106973368A (zh) * 2016-01-14 2017-07-21 阿里巴巴集团控股有限公司 业务处理方法和装置
CN107368500B (zh) * 2016-05-13 2020-03-03 北京京东尚科信息技术有限公司 数据抽取方法及系统
CN109936589B (zh) * 2017-12-15 2021-09-03 中国移动通信集团浙江有限公司 基于api热度值的动态负载均衡方法、装置及平台
CN118235115A (zh) * 2021-12-24 2024-06-21 北京小米移动软件有限公司 一种人工智能ai服务提供方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101533417A (zh) * 2009-04-28 2009-09-16 阿里巴巴集团控股有限公司 一种实现etl调度的方法及系统
CN101534244A (zh) * 2009-02-09 2009-09-16 华为技术有限公司 负载分发方法、装置和系统
CN101945433A (zh) * 2009-07-10 2011-01-12 中国移动通信集团上海有限公司 一种选择移动交换中心服务器的方法、系统及设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101534244A (zh) * 2009-02-09 2009-09-16 华为技术有限公司 负载分发方法、装置和系统
CN101533417A (zh) * 2009-04-28 2009-09-16 阿里巴巴集团控股有限公司 一种实现etl调度的方法及系统
CN101945433A (zh) * 2009-07-10 2011-01-12 中国移动通信集团上海有限公司 一种选择移动交换中心服务器的方法、系统及设备

Also Published As

Publication number Publication date
CN102724105A (zh) 2012-10-10

Similar Documents

Publication Publication Date Title
CN102724105B (zh) 一种负载均衡方法和装置
CN109040259B (zh) 一种基于mec的cdn节点分配方法和系统
CN102918813B (zh) 用于数据负载均衡的设备和方法
CN109547517B (zh) 一种带宽资源调度方法和装置
US20040249939A1 (en) Methods and apparatus for dynamic and optimal server set selection
EP3547625B1 (en) Method and system for sending request for acquiring data resource
CN103401947A (zh) 多个服务器的任务分配方法和装置
CN109548155B (zh) 一种分布式非平衡边缘云网络接入与资源分配方法
CN103797463A (zh) 用于在云环境中指派虚拟资源的方法和设备
CN110086886B (zh) 动态会话保持方法及装置
CN104243405A (zh) 一种请求处理方法、装置及系统
CN108055338B (zh) 一种iscsi访问负载均衡方法
US8156217B2 (en) Dynamically balancing load for servers
US20220318071A1 (en) Load balancing method and related device
CN103001892B (zh) 基于云计算的网络资源分配方法及系统
CN109151009A (zh) 一种基于mec的cdn节点分配方法和系统
CN109510775A (zh) 定向流量的调度方法、鉴权装置、网络设备及存储介质
CN110233866B (zh) 一种负载均衡方法及负载均衡器
CN102904824A (zh) 服务提供实体选择方法及装置
CN103401799A (zh) 负载均衡的实现方法和装置
KR20170014804A (ko) 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템 및 방법
CN102404133B (zh) 一种ip网络数据交互的方法和装置
CN108900314A (zh) 一种网络加速服务的请求数计费方法和装置
CN1625109A (zh) 虚拟化网络资源的方法和装置
CN110366194A (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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180928

Address after: 100086 Beijing Haidian District Zhichun Road 49 No. 3 West 309

Patentee after: Tencent cloud computing (Beijing) limited liability company

Address before: 518057 East 403 room, Sai Ge science and Technology Park, Futian District Zhenxing Road, Shenzhen, Guangdong, China, 2

Patentee before: Tencent Technology (Shenzhen) Co., Ltd.