CN110233866A - 一种负载均衡方法及负载均衡器 - Google Patents
一种负载均衡方法及负载均衡器 Download PDFInfo
- Publication number
- CN110233866A CN110233866A CN201810184607.8A CN201810184607A CN110233866A CN 110233866 A CN110233866 A CN 110233866A CN 201810184607 A CN201810184607 A CN 201810184607A CN 110233866 A CN110233866 A CN 110233866A
- Authority
- CN
- China
- Prior art keywords
- weight
- member server
- record
- load flow
- access request
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1029—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
Abstract
本发明实施例提供一种负载均衡方法及负载均衡器。所述方法包括:获取记录负载流量、各个成员服务器的权重和用户的访问请求;根据所述权重确定所述访问请求对应的成员服务器,将所述访问请求分配至所述成员服务器;计算所述访问请求对应的访问负载流量;根据所述访问负载流量和所述记录负载流量,更新所述记录负载流量和所述成员服务器的权重。本发明实施例提供的负载均衡方法,基于每个成员服务器处理的访问负载流量,计算成员服务器的权重,根据权重向对应的成员服务器分配访问请求,确保各成员服务器处理的负载流量基本均衡。
Description
技术领域
本发明实施例涉及通信技术领域,具体涉及一种负载均衡方法及负载均衡器。
背景技术
负载均衡(LoadBalance,又称为负载分担)建立在现有网络结构之上,将负载(工作任务)进行平衡,然后分摊到多个操作单元上执行,例如,分配到Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等执行,从而共同完成工作任务。负载均衡方法能够扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
早期的负载均衡方法选择服务器的方式相对单一,不够灵活。例如轮询方法就是将服务器排成一个序列,依次向它们分配负载。源地址算法则会在轮询算法的基础上,记录客户访问的源地址,相同源地址的客户请求则由同一台服务器处理。后来又发展出最小连接算法,记录每个服务器当前存在的连接数,将新的请求分配给连接数最小的服务器。
现有的负载均衡方法中也有许多为后端成员服务器设置了权重值。例如加权轮询算法允许用户自行为各个服务器设置权重值,权重值越大则处理的请求越多。权值的加入,使负载均衡方法更加灵活。
然而,目前的负载均衡方法只是将处理请求进行均衡分配,容易造成负载流量分担的不均衡,影响负载均衡效率。
发明内容
针对现有技术中的缺陷,本发明实施例提供了一种负载均衡方法及负载均衡器。
第一方面,本发明实施例提供一种负载均衡方法,包括:
获取记录负载流量、各个成员服务器的权重和用户的访问请求;
根据所述权重确定所述访问请求对应的成员服务器,将所述访问请求分配至所述成员服务器;
计算所述访问请求对应的访问负载流量;
根据所述访问负载流量和所述记录负载流量,更新所述记录负载流量和所述成员服务器的权重。
第二方面,本发明实施例提供一种负载均衡器,包括:
获取模块,用于获取记录负载流量、各个成员服务器的权重和用户的访问请求;
分配模块,用于根据所述权重确定所述访问请求对应的成员服务器,将所述访问请求分配至所述成员服务器;
计算模块,用于计算所述访问请求对应的访问负载流量;
更新模块,用于根据所述访问负载流量和所述记录负载流量,更新所述记录负载流量和所述成员服务器的权重。
第三方面,本发明实施例提供一种电子设备,包括:
存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如下方法:获取记录负载流量、各个成员服务器的权重和用户的访问请求;根据所述权重确定所述访问请求对应的成员服务器,将所述访问请求分配至所述成员服务器;计算所述访问请求对应的访问负载流量;根据所述访问负载流量和所述记录负载流量,更新所述记录负载流量和所述成员服务器的权重。
第四方面,本发明实施例提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如下方法:获取记录负载流量、各个成员服务器的权重和用户的访问请求;根据所述权重确定所述访问请求对应的成员服务器,将所述访问请求分配至所述成员服务器;计算所述访问请求对应的访问负载流量;根据所述访问负载流量和所述记录负载流量,更新所述记录负载流量和所述成员服务器的权重。
本发明实施例提供的负载均衡方法,基于每个成员服务器处理的访问负载流量,计算成员服务器的权重,根据权重向对应的成员服务器分配访问请求,确保各成员服务器处理的负载流量基本均衡。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的负载均衡方法流程示意图;
图2为本发明实施例提供的负载均衡系统的结构示意图;
图3为本发明实施例提供的负载均衡器的结构示意图;
图4为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的负载均衡方法流程示意图,如图1所示,该方法包括:
步骤S11、获取记录负载流量、各个成员服务器的权重和用户的访问请求;
具体地,图2为本发明实施例提供的负载均衡系统的结构示意图,如图2所示,当用户发送访问请求之后,负载均衡器首先接收到该访问请求,然后负载均衡器将该访问请求分配给对应的成员服务器,之后被分配的成员服务器处理该访问请求。为了将负载流量均衡,首先负载均衡器存储记录负载流量和各个成员服务器的权重,记录负载流量用于存储当前成员服务器处理的访问请求对应的负载流量信息,由于负载均衡器本地存储了负载流量信息,负载均衡器不需要向各成员服务器发出请求,通过成员服务器获取最新处理的负载流量信息,减少了对网络带宽的占用。当获取到用户的访问请求之后,负载均衡器从本地存储的数据中获取当前存储的记录负载流量和各个成员服务器的权重。例如,负载均衡器获取访问请求,确定记录负载流量为10M,与负载均衡器关联的三个成员服务器的权重分别为1、0和2。
步骤S12、根据所述权重确定所述访问请求对应的成员服务器,将所述访问请求分配至所述成员服务器;
具体地,负载均衡器根据每个成员服务器的权重,确定当前访问请求对应的成员服务器,将该访问请求分配至该成员服务器。例如,成员服务器1的权重为1,成员服务器2的权重为0,成员服务器3的权重为1,负载根据三个成员服务器的权重,将当前访问请求分配给成员服务器2。
步骤S13、计算所述访问请求对应的访问负载流量;
具体地,一次访问请求结束后,负载均衡器基于对访问请求占用的流量统计,计算本次访问请求对应的访问负载流量,即每个后端成员服务器处理的负载流量数据量,例如,负载均衡器通过抓包工具确定本次访问请求对应的数据包总数,根据数据包总数确定本次访问请求对应的访问负载流量。
步骤S14、根据所述访问负载流量和所述记录负载流量,更新所述记录负载流量和所述成员服务器的权重。
具体地,负载均衡器计算出本次访问请求对应的访问负载流量之后,根据访问负载流量与本地存储的记录负载流量,更新记录负载流量和本次访问请求对应的成员服务器的权重,其他成员服务器的权重保持不变。例如,当访问请求结束之后,直接将访问请求对应的访问负载流量增加到记录负载流量中,作为更新后的记录负载流量。根据访问负载流量的大小设置当前成员服务器的权重等。例如,访问负载流量为10M,则设置处理了该访问请求的成员服务器的权重为0.1等。当负载均衡器接收到下一个访问请求时,本地存储的记录负载流量和各个成员服务器的权重为更新后的数值,并且这些数值是根据访问负载流量确定的,这样负载均衡器通过权重将负载流量均衡分配。
本发明实施例提供的负载均衡方法,基于每个成员服务器处理的访问负载流量,计算成员服务器的权重,根据权重向对应的成员服务器分配访问请求,确保各成员服务器处理的负载流量基本均衡。
在上述实施例的基础上,进一步地,所述获取用户的访问请求之前,还包括:
初始化记录负载流量和各个成员服务器的权重。
具体地,在获取第一个访问请求之前,负载服务器对本地存储的记录负载流量和各个成员服务器的权重进行初始化处理,例如令初始的记录负载流量为0,令各个成员服务器的初始权重为0。
当获取到第一个访问请求后,由于记录负载流量和各个成员服务器的权重都为0,负载均衡器可以随机选择一个成员服务器,向其分配第一个访问请求。
本发明实施例提供的负载均衡方法,基于每个成员服务器处理的访问负载流量,计算成员服务器的权重,根据权重向对应的成员服务器分配访问请求,确保了各成员服务器处理的负载流量基本均衡。
在上述各实施例的基础上,进一步地,所述根据所述权重确定所述访问请求对应的成员服务器,将所述访问请求分配至所述成员服务器,包括:
若判断获知所述权重中的最小值对应的成员服务器数量为1,则确定所述最小值对应的成员服务器为所述访问请求对应的成员服务器;
将所述访问请求分配至所述成员服务器。
具体地,负载均衡器获取到各个成员服务器的权重之后,对所有权重进行比较,确定权重最小值,若权重最小值对应的成员服务器数量为1,则负载均衡器将该成员服务器作为本次访问请求对应的成员服务器,将访问请求分配至该成员服务器,之后该成员服务器处理本次访问请求。之后在下一次访问请求到来之后,负载均衡器仍然选择权重最小的成员服务器处理该访问请求。
例如,负载均衡器获取用户的访问请求,与之对应的当前记录负载流量值为10M,成员服务器1的权重为1,成员服务器2的权重为0,成员服务器3的权重为1,由于成员服务器2的权重最小,负载均衡器将访问请求分配至成员服务器2,成员服务器2处理该访问请求。
本发明实施例提供的负载均衡方法,基于每个成员服务器处理的访问负载流量,计算成员服务器的权重,向权重值最小的一个成员服务器分配访问请求,进一步确保了各成员服务器处理的负载流量均衡。
在上述各实施例的基础上,进一步地,所述根据所述权重确定所述访问请求对应的成员服务器,将所述访问请求分配至所述成员服务器,包括:
若判断获知所述权重中的最小值对应的成员服务器数量大于1,则根据轮询方法从所述最小值对应的成员服务器中确定所述访问请求对应的成员服务器;
将所述访问请求分配至所述成员服务器。
具体地,负载均衡器获取到各个成员服务器的权重之后,对所有权重进行比较,确定权重最小值,若权重最小值对应的成员服务器数量大于1,即存在多个权重相同且最小的成员服务器,则负载均衡器按照轮询方法从权重最小值对应的成员服务器中选择一个成员服务器作为本次访问请求对应的成员服务器,将访问请求分配至该成员服务器,之后该成员服务器处理本次访问请求。之后在下一次访问请求到来之后,负载均衡器仍然选择权重最小的成员服务器处理该访问请求。
例如,负载均衡器获取用户的访问请求,与之对应的当前记录负载流量值为10M,成员服务器1的权重为1,成员服务器2的权重为2,成员服务器3的权重为1,由于成员服务器1和成员服务器3的权重是最小的,负载均衡器按照轮询方法,将该访问请求分配至成员服务器1,成员服务器1处理该访问请求。
本发明实施例提供的负载均衡方法,基于每个成员服务器处理的访问负载流量,计算成员服务器的权重,向权重值最小的一个成员服务器分配访问请求,当存在多个权重最小的成员服务器时,按照轮询方法分配成员服务器,进一步确保了各成员服务器处理的负载流量均衡。
在上述各实施例的基础上,进一步地,所述根据所述访问负载流量和所述记录负载流量,更新所述记录负载流量和所述成员服务器的权重,包括:
若判断获知所述访问负载流量大于所述记录负载流量,则根据下述公式确定更新后的记录负载流量和所述成员服务器对应的权重:
record(i+1)=new(i)-record(i)
weight(i+1)=weight(i)+1
其中,new(i)为所述访问请求对应的访问负载流量,record(i)为所述记录负载流量,record(i+1)为更新后的记录负载流量,weight(i)为所述访问请求对应的成员服务器的权重,weight(i+1)为更新后的所述成员服务器的权重。
具体地,首先负载均衡器初始化记录负载流量和各个后端成员服务器的权重,令记录负载流量record(0)和权重值weight(0)都为0。然后负载均衡器获取第一个访问请求,负载均衡器选择一个权重值为0的成员服务器提供服务。如果有多个服务器权重值相同,则按照轮询方法,轮流选择。本次访问请求结束,基于对访问请求占用的流量统计,均衡负载器计算本次的访问负载流量new(i)。然后,负载服务器将本次处理的访问负载流量new(i)与负载均衡器中存储的记录负载流量record(i)对比,计算出新的记录负载流量。若本次访问负载流量new(i)大于记录负载流量record(i),则record(i+1)=new(i)-record(i),weight(i+1)=weight(i)+1。其中,record(i+1)为更新后的记录负载流量,weight(i)为访问请求对应的成员服务器的权重,weight(i+1)为更新后的该成员服务器的权重,其他成员服务器的权重保持不变。这表明,在处理下一次访问请求时,在同一权重水平线,上一次处理的成员服务器已经处理了new(i)-record(i)的负载流量。当下一次访问请求到来时,记录负载流量和权重都发生了改变,并且权重值是与负载流量相关的,能够均衡负载流量分配。并且,记录负载流量并不是单一地将成员服务器处理的负载流量进行累加,记录数据总量不会越来越大,容易检索对比,占用存储空间小且不影响分配效率。
本发明实施例提供的负载均衡方法,基于每个成员服务器处理的访问负载流量,计算成员服务器的权重,向权重值最小的一个成员服务器分配访问请求,并在访问结束后,根据本次访问负载流量,更新记录负载流量和权重,使得记录负载流量占用负载器空间较小,并且进一步确保了各成员服务器处理的负载流量均衡。
在上述各实施例的基础上,进一步地,所述根据所述访问负载流量和所述记录负载流量,更新所述记录负载流量和所述成员服务器的权重,包括:
若判断获知所述访问负载流量小于或等于所述记录负载流量,则根据下述公式确定更新后的记录负载流量和所述成员服务器对应的权重:
record(i+1)=record(i)-new(i)
weight(i+1)=weight(i)
其中,new(i)为所述访问请求对应的访问负载流量,record(i)为所述记录负载流量,record(i+1)为更新后的记录负载流量,weight(i)为所述访问请求对应的成员服务器的权重,weight(i+1)为更新后的所述成员服务器的权重。
具体地,首先负载均衡器初始化记录负载流量和各个后端成员服务器的权重,令记录负载流量record(0)和权重值weight(0)都为0。然后负载均衡器获取第一个访问请求,负载均衡器选择一个权重值为0的成员服务器提供服务。如果有多个服务器权重值相同,则按照轮询方法,轮流选择。本次访问请求结束,基于对访问请求占用的流量统计,均衡负载器获取本次的访问负载流量new(i)。然后,负载服务器将本次处理的访问负载流量new(i)与负载均衡器中存储的记录负载流量record(i)对比,计算出新的记录负载流量。若本次访问负载流量new(i)小于或等于记录负载流量record(i),则record(i+1)=record(i)-new(i),weight(i+1)=weight(i)。其中,record(i+1)为更新后的记录负载流量,weight(i)为访问请求对应的成员服务器的权重,weight(i+1)为更新后的该成员服务器的权重,即所有成员服务器的权重保持不变。这表明,当前成员服务器与上次处理访问请求的成员服务器处理的负载流量相比,还差record(i)-new(i),即当前服务器至少需要处理record(i)-new(i)负载流量之后,才能更新权重,这样,当下一次访问请求到来时,上一次处理的成员服务器依然是权重最小的成员服务器,该成员服务器就可以继续处理访问请求,从而将负载流量均衡分配给各个成员服务器。当下一次访问请求到来时,记录负载流量和权重都发生了改变,并且权重值是与负载流量相关的,能够均衡负载流量分配。并且,记录负载流量并不是单一地将成员服务器处理的负载流量进行累加,记录数据总量不会越来越大,容易检索对比,占用存储空间小且不影响分配效率。
本发明实施例提供的负载均衡方法,基于每个成员服务器处理的访问负载流量,计算成员服务器的权重,向权重值最小的一个成员服务器分配访问请求,并在访问结束后,根据本次访问负载流量,更新记录负载流量和权重,使得记录负载流量占用负载器空间较小,并且进一步确保了各成员服务器处理的负载流量均衡。
在上述各实施例的基础上,进一步地,所述方法还包括:
若判断获知所述各个成员服务器的权重都等于预设权重阈值;
则初始化所述各个成员服务器的权重。
具体地,为了进一步减少占用负载均衡器的存储空间,还可以设置预设权重阈值,当各个成员服务器的权重都等于预设权重阈值时,初始化每个成员服务器的权重,将权重值清0。例如,设置预设权重阈值为1,这样每个成员服务器的权重为0或1,极大减少了存储权重值的空间。这样,当负载均衡器获取到访问请求时,只需查找权重为0的成员服务器,若只有一个权重为0的成员服务器,则将该访问请求分配至该成员服务器,若有多个权重为0的成员服务器,则按照轮询方法选择其中一个成员服务器分配访问请求,当所有成员服务器的权重都为1时,对权重进行清0处理。
假设负载均衡器有3台后端成员服务器,外部用户的访问请求到达负载均衡器,再由负载均衡器选择一台成员服务器进行处理。模拟10次访问请求,请求到达时的记录负载流量及各成员服务器的权重值如表1所示。负载均衡器根据权重值选择成员服务器。请求结束后,将本次访问负载流量new(i)与记录负载流量record(i)对比,计算下次请求开始时的权重weight(i+1)及record(i+1)。
表1记录负载流量及各服务器的权重值对比表
由表1可以看出,当第一次访问请求到达时,负载均衡器要选择权重值最低的一台成员服务器来处理请求,而由于此时成员服务器权重值均为0,按照轮询算法,选择成员服务器1处理请求。请求结束后,统计本次请求流量数据new(1)=10M,new(1)>record(1),更新record(2)=new(1)-record(1)=10M,成员服务器1的权重值weight(1,2)=1。其中weight(1,2)表示成员服务器1第2次访问请求对应的权重值。
第二次访问请求到达时,成员服务器1的权重值为1,成员服务器2和成员服务器3的权重值均为0,选择成员服务器2。请求结束后,new(2)=20M,new(2)>record(2),record(3)=new(2)-record(2)=10M,成员服务器2权重值weight(2,3)=1。
第三次访问请求到达时,只有成员服务器3的权重值为0,选择成员服务器3。请求结束后,new(3)=5M,new(3)<record(3),record(4)=record(3)-new(3)=5M,成员服务器权重值均保持不变。
第四次访问请求到达时,依然只有成员服务器3权重值为0,选择成员服务器3。请求结束后,new(4)=5M,new(4)=record(4),record(5)=record(4)-new(4)=0,成员服务器权重值均不变。
第五次访问请求到达时,选择成员服务器3。请求结束后,new(5)=10M,new(5)>record(5),record(6)=new(5)-record(5)=10M,成员服务器3权重值weight(3,6)=1。此时所有成员服务器权重值均为1,将全部权重值重置为0。
第六次访问请求到达时,成员服务器权重值均为0,按照轮询算法,选择成员服务器1。请求结束后,new(6)=10M,new(6)≤record(6),record(7)=record(6)-new(6)=0,成员服务器权重值不变。
第七次访问请求到达时,按照轮询算法选择成员服务器2。请求结束后,new(7)=10M,new(7)>record(7),record(8)=new(7)-record(7)=10M,成员服务器2权重值weight(2,8)=1。
第八次访问请求到达时,成员服务器2权重值为1,成员服务器1和成员服务器3权重值为0,选择成员服务器1。请求结束后,new(8)=20M,new(8)>record(8),record(9)=new(8)-record(8)=10M,成员服务器1权重值weight(1,9)=1。
第九次访问请求到达时,成员服务器1和2权重值为1,成员服务器3权重值为0,选择成员服务器3。请求结束后,new(9)=10M,new(9)≤record(9),record(10)=record(9)-new(9)=0,成员服务器权重值不变。
第十次访问请求到达时,选择成员服务器3。请求结束后,new(10)=10M,new(10)>record(10),record(11)=new(10)-record(10)=10M,成员服务器3权重值weight(3,11)=1。此时所有成员服务器权重值均为1,将全部权重值重置为0。
模拟10次访问后,成员服务器1、成员服务器2和成员服务器3分别提供了3、2和5次服务,处理的负载流量数据分别为40M、30M和40M。
如果按照轮询算法来提供服务,则成员服务器1、成员服务器2和成员服务器3分别提供了4、3和3次服务,处理的负载流量数据分别为35M、50M和25M。
由此可见,使用本发明实施例提供的负载均衡方法,可以将请求的负载流量尽量均衡地分配到各成员服务器上。
本发明实施例提供的负载均衡方法,基于每个成员服务器处理的访问负载流量,计算成员服务器的权重,确保成员服务器处理的流量数据尽量均衡的基础上,加入了对成员服务器权值的计算和使用,向权重值最小的一个成员服务器分配访问请求,使负载均衡方法更加灵活可用,并在访问结束后,根据本次访问负载流量,更新记录负载流量和权重,降低了现有方案中对网络资源和存储资源的占用。
图3为本发明实施例提供的负载均衡器的结构示意图,如图3所示,该负载均衡器包括:获取模块31、分配模块32、计算模块33和更新模块34,其中:
获取模块31用于获取记录负载流量、各个成员服务器的权重和用户的访问请求;分配模块32用于根据所述权重确定所述访问请求对应的成员服务器,将所述访问请求分配至所述成员服务器;计算模块33用于计算所述访问请求对应的访问负载流量;更新模块34用于根据所述访问负载流量和所述记录负载流量,更新所述记录负载流量和所述成员服务器的权重。
具体地,获取模块31获取到用户的访问请求之后,从本地存储的数据中获取当前存储的记录负载流量和各个成员服务器的权重。分配模块32根据每个成员服务器的权重,确定当前访问请求对应的成员服务器,将该访问请求分配至该成员服务器。一次访问请求结束后,计算模块33基于对访问请求占用的流量统计,获取本次访问请求对应的访问负载流量,即每个后端成员服务器处理的负载流量数据量,更新模块34根据访问负载流量与本地存储的记录负载流量,更新记录负载流量和本次访问请求对应的成员服务器的权重,其他成员服务器的权重保持不变。本发明实施例提供的装置,用于实现上述方法,其功能具体参照上述方法实施例,此处不再赘述。
本发明实施例提供的负载均衡器,基于每个成员服务器处理的访问负载流量,计算成员服务器的权重,根据权重向对应的成员服务器分配访问请求,确保各成员服务器处理的负载流量基本均衡。
图4为本发明实施例提供的电子设备的结构示意图,如图4所示,所述设备包括:处理器(processor)41、存储器(memory)42和总线43;
其中,处理器41和存储器42通过所述总线43完成相互间的通信;
处理器41用于调用存储器42中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:获取记录负载流量、各个成员服务器的权重和用户的访问请求;根据所述权重确定所述访问请求对应的成员服务器,将所述访问请求分配至所述成员服务器;计算所述访问请求对应的访问负载流量;根据所述访问负载流量和所述记录负载流量,更新所述记录负载流量和所述成员服务器的权重。
本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:获取记录负载流量、各个成员服务器的权重和用户的访问请求;根据所述权重确定所述访问请求对应的成员服务器,将所述访问请求分配至所述成员服务器;计算所述访问请求对应的访问负载流量;根据所述访问负载流量和所述记录负载流量,更新所述记录负载流量和所述成员服务器的权重。
本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:获取记录负载流量、各个成员服务器的权重和用户的访问请求;根据所述权重确定所述访问请求对应的成员服务器,将所述访问请求分配至所述成员服务器;计算所述访问请求对应的访问负载流量;根据所述访问负载流量和所述记录负载流量,更新所述记录负载流量和所述成员服务器的权重。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上各实施例仅用以说明本发明的实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明的实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明的实施例各实施例技术方案的范围。
Claims (10)
1.一种负载均衡方法,其特征在于,包括:
获取记录负载流量、各个成员服务器的权重和用户的访问请求;
根据所述权重确定所述访问请求对应的成员服务器,将所述访问请求分配至所述成员服务器;
计算所述访问请求对应的访问负载流量;
根据所述访问负载流量和所述记录负载流量,更新所述记录负载流量和所述成员服务器的权重。
2.根据权利要求1所述的方法,其特征在于,所述获取用户的访问请求之前,还包括:
初始化记录负载流量和各个成员服务器的权重。
3.根据权利要求1所述的方法,其特征在于,所述根据所述权重确定所述访问请求对应的成员服务器,将所述访问请求分配至所述成员服务器,包括:
若判断获知所述权重中的最小值对应的成员服务器数量为1,则确定所述最小值对应的成员服务器为所述访问请求对应的成员服务器;
将所述访问请求分配至所述成员服务器。
4.根据权利要求1所述的方法,其特征在于,所述根据所述权重确定所述访问请求对应的成员服务器,将所述访问请求分配至所述成员服务器,包括:
若判断获知所述权重中的最小值对应的成员服务器数量大于1,则根据轮询方法从所述最小值对应的成员服务器中确定所述访问请求对应的成员服务器;
将所述访问请求分配至所述成员服务器。
5.根据权利要求1所述的方法,其特征在于,所述根据所述访问负载流量和所述记录负载流量,更新所述记录负载流量和所述成员服务器的权重,包括:
若判断获知所述访问负载流量大于所述记录负载流量,则根据下述公式确定更新后的记录负载流量和所述成员服务器对应的权重:
record(i+1)=new(i)-record(i)
weight(i+1)=weight(i)+1
其中,new(i)为所述访问请求对应的访问负载流量,record(i)为所述记录负载流量,record(i+1)为更新后的记录负载流量,weight(i)为所述访问请求对应的成员服务器的权重,weight(i+1)为更新后的所述成员服务器的权重。
6.根据权利要求1所述的方法,其特征在于,所述根据所述访问负载流量和所述记录负载流量,更新所述记录负载流量和所述成员服务器的权重,包括:
若判断获知所述访问负载流量小于或等于所述记录负载流量,则根据下述公式确定更新后的记录负载流量和所述成员服务器对应的权重:
record(i+1)=record(i)-new(i)
weight(i+1)=weight(i)
其中,new(i)为所述访问请求对应的访问负载流量,record(i)为所述记录负载流量,record(i+1)为更新后的记录负载流量,weight(i)为所述访问请求对应的成员服务器的权重,weight(i+1)为更新后的所述成员服务器的权重。
7.根据权利要求1-6任一所述的方法,其特征在于,所述方法还包括:
若判断获知所述各个成员服务器的权重都等于预设权重阈值;
则初始化所述各个成员服务器的权重。
8.一种负载均衡器,其特征在于,包括:
获取模块,用于获取记录负载流量、各个成员服务器的权重和用户的访问请求;
分配模块,用于根据所述权重确定所述访问请求对应的成员服务器,将所述访问请求分配至所述成员服务器;
计算模块,用于计算所述访问请求对应的访问负载流量;
更新模块,用于根据所述访问负载流量和所述记录负载流量,更新所述记录负载流量和所述成员服务器的权重。
9.一种电子设备,其特征在于,包括:
存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至7任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810184607.8A CN110233866B (zh) | 2018-03-06 | 2018-03-06 | 一种负载均衡方法及负载均衡器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810184607.8A CN110233866B (zh) | 2018-03-06 | 2018-03-06 | 一种负载均衡方法及负载均衡器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110233866A true CN110233866A (zh) | 2019-09-13 |
CN110233866B CN110233866B (zh) | 2021-12-07 |
Family
ID=67862258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810184607.8A Active CN110233866B (zh) | 2018-03-06 | 2018-03-06 | 一种负载均衡方法及负载均衡器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110233866B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112394960A (zh) * | 2020-11-23 | 2021-02-23 | 中国农业银行股份有限公司 | 业务流量的控制方法、装置、电子设备和计算机存储介质 |
CN112947843A (zh) * | 2019-12-10 | 2021-06-11 | 北京金山云网络技术有限公司 | 存储系统的配置、调度方法、装置及电子设备 |
CN113596149A (zh) * | 2021-07-28 | 2021-11-02 | 马上消费金融股份有限公司 | 流量控制方法、装置、设备及存储介质 |
CN113783919A (zh) * | 2020-11-26 | 2021-12-10 | 北京京东拓先科技有限公司 | 访问请求分流方法、系统、设备及存储介质 |
CN115150399A (zh) * | 2022-07-25 | 2022-10-04 | 深圳爱换电科技有限公司 | 负载均衡方法、负载均衡装置、处理系统及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110104339A (ko) * | 2010-03-16 | 2011-09-22 | 주식회사 영원사이클 | 온라인 네트워크를 이용한 실시간 자전거 주행 데이터 관리 및 운영 시스템 |
CN102394931A (zh) * | 2011-11-04 | 2012-03-28 | 北京邮电大学 | 一种基于云的用户访问请求调度方法 |
CN102611735A (zh) * | 2011-12-21 | 2012-07-25 | 奇智软件(北京)有限公司 | 一种应用服务的负载均衡方法及系统 |
CN104902001A (zh) * | 2015-04-07 | 2015-09-09 | 杭州电子科技大学 | 基于操作系统虚拟化的Web请求负载均衡方法 |
CN106612310A (zh) * | 2015-10-23 | 2017-05-03 | 腾讯科技(深圳)有限公司 | 一种服务器调度方法、装置和系统 |
US9832113B2 (en) * | 2013-10-17 | 2017-11-28 | International Business Machines Corporation | Transaction distribution with an independent workload advisor |
CN108667878A (zh) * | 2017-03-31 | 2018-10-16 | 北京京东尚科信息技术有限公司 | 服务器负载均衡方法及装置、存储介质、电子设备 |
-
2018
- 2018-03-06 CN CN201810184607.8A patent/CN110233866B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110104339A (ko) * | 2010-03-16 | 2011-09-22 | 주식회사 영원사이클 | 온라인 네트워크를 이용한 실시간 자전거 주행 데이터 관리 및 운영 시스템 |
CN102394931A (zh) * | 2011-11-04 | 2012-03-28 | 北京邮电大学 | 一种基于云的用户访问请求调度方法 |
CN102611735A (zh) * | 2011-12-21 | 2012-07-25 | 奇智软件(北京)有限公司 | 一种应用服务的负载均衡方法及系统 |
US9832113B2 (en) * | 2013-10-17 | 2017-11-28 | International Business Machines Corporation | Transaction distribution with an independent workload advisor |
CN104902001A (zh) * | 2015-04-07 | 2015-09-09 | 杭州电子科技大学 | 基于操作系统虚拟化的Web请求负载均衡方法 |
CN106612310A (zh) * | 2015-10-23 | 2017-05-03 | 腾讯科技(深圳)有限公司 | 一种服务器调度方法、装置和系统 |
CN108667878A (zh) * | 2017-03-31 | 2018-10-16 | 北京京东尚科信息技术有限公司 | 服务器负载均衡方法及装置、存储介质、电子设备 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112947843A (zh) * | 2019-12-10 | 2021-06-11 | 北京金山云网络技术有限公司 | 存储系统的配置、调度方法、装置及电子设备 |
CN112394960A (zh) * | 2020-11-23 | 2021-02-23 | 中国农业银行股份有限公司 | 业务流量的控制方法、装置、电子设备和计算机存储介质 |
CN113783919A (zh) * | 2020-11-26 | 2021-12-10 | 北京京东拓先科技有限公司 | 访问请求分流方法、系统、设备及存储介质 |
CN113596149A (zh) * | 2021-07-28 | 2021-11-02 | 马上消费金融股份有限公司 | 流量控制方法、装置、设备及存储介质 |
CN115150399A (zh) * | 2022-07-25 | 2022-10-04 | 深圳爱换电科技有限公司 | 负载均衡方法、负载均衡装置、处理系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110233866B (zh) | 2021-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110233866A (zh) | 一种负载均衡方法及负载均衡器 | |
US11159406B2 (en) | Load balancing web service by rejecting connections | |
US10044797B2 (en) | Load balancing of distributed services | |
US20110078303A1 (en) | Dynamic load balancing and scaling of allocated cloud resources in an enterprise network | |
CN104756444B (zh) | 云中的cdn负载平衡 | |
CN108463988A (zh) | 负载均衡的网络文件访问 | |
Liu et al. | Minimum-cost cloud storage service across multiple cloud providers | |
US9098343B2 (en) | Method and system for managing allocation of tasks to be crowdsourced | |
CN108259603A (zh) | 一种负载均衡方法及装置 | |
CN109032800A (zh) | 一种负载均衡调度方法、负载均衡器、服务器及系统 | |
CN107645520A (zh) | 一种负载均衡方法、装置以及系统 | |
US20090313633A1 (en) | Method and System for Managing a Workload in a Cluster of Computing Systems with Multi-Type Operational Resources | |
CN110661719A (zh) | 流量负载均衡方法和装置 | |
CN116909735A (zh) | 算力调度方法及装置、服务器和存储介质 | |
CN110460650A (zh) | 多边缘服务器场景下计算卸载的决策方法及装置 | |
US9501321B1 (en) | Weighted service requests throttling | |
US11025712B1 (en) | Load balancer employing slow start, weighted round robin target selection | |
CN109995818A (zh) | 一种服务器负载均衡的方法及装置 | |
CN117311973A (zh) | 计算设备调度方法、装置、非易失性存储介质及电子设备 | |
CN108063814A (zh) | 一种负载均衡方法及装置 | |
CN103905473B (zh) | 云计算系统、负载均衡系统、负载均衡方法及装置 | |
CN109040283A (zh) | 一种基于差值反馈式的改进型负载均衡算法 | |
CN115580618A (zh) | 一种负载均衡方法、装置、设备及介质 | |
CN114816755A (zh) | 调度方法及调度装置、处理核、电子设备、可读介质 | |
CN113132133B (zh) | 分发用户配置数据的方法、装置、计算设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |