CN107026907A - 一种负载均衡方法、负载均衡器及负载均衡*** - Google Patents

一种负载均衡方法、负载均衡器及负载均衡*** Download PDF

Info

Publication number
CN107026907A
CN107026907A CN201710204727.5A CN201710204727A CN107026907A CN 107026907 A CN107026907 A CN 107026907A CN 201710204727 A CN201710204727 A CN 201710204727A CN 107026907 A CN107026907 A CN 107026907A
Authority
CN
China
Prior art keywords
server
load
client
reference value
load reference
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
CN201710204727.5A
Other languages
English (en)
Other versions
CN107026907B (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.)
Guangdong red food technology Co., Ltd
Original Assignee
Shanghai Feixun Data Communication 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 Shanghai Feixun Data Communication Technology Co Ltd filed Critical Shanghai Feixun Data Communication Technology Co Ltd
Priority to CN201710204727.5A priority Critical patent/CN107026907B/zh
Publication of CN107026907A publication Critical patent/CN107026907A/zh
Application granted granted Critical
Publication of CN107026907B publication Critical patent/CN107026907B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种负载均衡方法,包括以下步骤:S20、根据客户端发送的连接请求信息,查找出客户端对应的目标服务器;S30、判断目标服务器的负载参考值是否小于第一预设阈值;S40、当负载参考值小于第一预设阈值时,则将客户端的连接请求信息分配给目标服务器;S50、当负载参考值大于等于第一预设阈值时,则进一步判断负载参考值是否小于第二预设阈值;S60、负载参考值小于第二预设阈值时,则将客户端的连接请求信息分配给服务器状态表中当前负载参考值最低的备选服务器。本发明中当目标服务器的负载太多时,将连接请求信息分配给备选服务器;在基本保证一个IP总是能分配给同一台服务器的前提下,使得服务器的负载更加均衡。

Description

一种负载均衡方法、负载均衡器及负载均衡***
技术领域
本发明属于负载均衡技术领域,涉及负载均衡方法、负载均衡器及负载均衡***。
背景技术
负载均衡建立在现有网络结构之上,廉价有效透明地扩展了网络设备、服务器的带宽,增加了吞吐量,加强了网络数据处理能力,以及提高了网络的灵活性和可用性。负载均衡,是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。
目前,主要有以下几种负载均衡方法:(一)静态负载均衡算法是按照固定规则将请求分配给服务器;例如按照轮询算法将第i次请求分配给第i mod n台服务器。(二)动态负载均衡算法是把请求分配给当前负载最低的服务器;服务器的负载程度基于活跃连接数,响应时间等。(三)源地址哈希法是客户端IP地址通过哈希函数计算得到一个数值,该数值对服务器列表的大小进行取模运算,得到客户端要访问服务器。同一个客户端每次都会映射到同一台后端服务器进行访问。
然而,静态负载均衡算法和源地址哈希法只能将请求分配给已设置好的服务器,不能考虑服务器的当前状态,容易导致服务器负载不均衡。其动态负载均衡算法容易导致频繁切换服务器。
发明内容
本发明提供的技术方案如下:
本发明提供一种负载均衡方法,包括以下步骤:S20、根据客户端发送的连接请求信息,查找出所述客户端对应的目标服务器;S30、判断所述目标服务器的负载参考值是否小于第一预设阈值;S40、当所述目标服务器的负载参考值小于第一预设阈值时,则将所述客户端的连接请求信息分配给所述目标服务器;S50、当所述目标服务器的负载参考值大于等于第一预设阈值时,则进一步判断所述目标服务器的负载参考值是否小于第二预设阈值;S60、所述目标服务器的负载参考值小于第二预设阈值时,则将所述客户端的连接请求信息分配给服务器状态表中当前负载参考值最低的备选服务器。
进一步,还包括以下步骤:S70、当所述目标服务器的负载参考值大于等于第二预设阈值时,则将所述客户端的连接请求信息分配给服务器状态表中当前负载参考值最低的备选服务器,且修改所述客户端对应的目标服务器为所述备选服务器。
进一步,所述步骤S20之前还包括:S01、根据所述客户端IP的散列值以及服务器的对应关系,预先生成散列值-服务器对照表;S02、预先生成含有每个服务器状态的服务器状态表,所述服务器状态包括所述服务器的资源占用率、异常连接次数、数据更新时间及负载参考值。
进一步,所述步骤S20之前还包括:S10、按照预设更新时间接收所述服务器发送的资源占用率、异常连接次数;所述资源占用率包括所述服务器的CPU占用率、内存占用率和宽带占用率;S11、在所述服务器状态表中更新所述服务器的状态,以及更新所述服务器状态表的数据更新时间。
进一步,所述步骤S20之前还包括:S12、根据所述服务器的资源占用率、数据更新时间、异常连接次数,按照预设计算时间计算出所述服务器的负载参考值。
进一步,所述步骤S20进一步包括:S21、根据客户端发送的连接请求信息,获取所述客户端的客户端IP;S22、利用散列算法计算出所述客户端IP对应的散列值;S23、根据散列值-服务器对照表,查找出所述客户端对应的目标服务器。
本发明还提供一种负载均衡器,包括:查找模块,用于根据客户端发送的连接请求信息,查找出所述客户端对应的目标服务器;判断模块,用于判断所述目标服务器的负载参考值是否小于第一预设阈值;分配控制模块,用于当所述目标服务器的负载参考值小于第一预设阈值时,则将所述客户端的连接请求信息分配给所述目标服务器;所述判断模块,还用于当所述目标服务器的负载参考值大于等于第一预设阈值时,则进一步判断所述目标服务器的负载参考值是否小于第二预设阈值;所述分配控制模块,还用于所述目标服务器的负载参考值小于第二预设阈值时,则将所述客户端的连接请求信息分配给服务器状态表中当前负载参考值最低的备选服务器。
进一步,还包括修改模块:当所述目标服务器的负载参考值大于等于第二预设阈值时,则所述分配控制模块用于将所述客户端的连接请求信息分配给服务器状态表中当前负载参考值最低的备选服务器,且所述修改模块用于修改所述客户端对应的目标服务器为所述备选服务器。
进一步,还包括:生成模块,用于根据所述客户端IP的散列值以及服务器的对应关系,预先生成散列值-服务器对照表;所述生成模块,还用于预先生成含有每个服务器状态的服务器状态表,所述服务器状态包括所述服务器的资源占用率、异常连接次数、数据更新时间及负载参考值。
本发明还提供一种负载均衡***,包括负载均衡器,还包括服务器:所述服务器,用于发送资源占用率、异常连接次数;所述资源占用率包括所述服务器的CPU占用率、内存占用率和宽带占用率。
与现有技术相比,本发明提供的一种负载均衡方法、负载均衡器及负载均衡***,具有以下有益效果:
1)本发明中每个客户端对应一个目标服务器,在客户端发送连接请求信息时,分析目标服务器的负载情况;当目标服务器的负载太多时,将连接请求信息分配给备选服务器;当目标服务器的负载不多时,将连接请求信息分配给目标服务器。在基本保证一个IP总是能分配给同一台服务器的前提下,使得服务器的负载更加均衡;并且不会频繁切换服务器。
2)本发明中目标服务器的负载过多时,将连接请求信息分配给备选服务器,并将目标服务器修改为备选服务器。再次发送连接请求信息时,其目标服务器为备选服务器,充分利用各个服务器,使得服务器的负载更加均衡。
附图说明
下面将以明确易懂的方式,结合附图说明优选实施方式,对一种负载均衡方法、负载均衡器及负载均衡***的上述特性、技术特征、优点及其实现方式予以进一步说明。
图1是本发明一种负载均衡方法的流程示意图;
图2是本发明另一种负载均衡方法的流程示意图;
图3是本发明中步骤S20的流程示意图;
图4是本发明又一种负载均衡方法的流程示意图;
图5是本发明一种负载均衡器的组成结构示意图;
图6是本发明另一种负载均衡方法的流程示意图。
附图标号说明:
11、生成模块,12、接收模块,13、更新模块,14、计算模块,15、获取模块,16、查找模块,17、判断模块,18、分配控制模块。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
如图1所示,根据本发明的一个实施例,一种负载均衡方法,包括以下步骤:S20、根据客户端发送的连接请求信息,查找出所述客户端对应的目标服务器;
S30、判断所述目标服务器的负载参考值是否小于第一预设阈值;
S40、当所述目标服务器的负载参考值小于第一预设阈值时,则将所述客户端的连接请求信息分配给所述目标服务器;
S50、当所述目标服务器的负载参考值大于等于第一预设阈值时,则进一步判断所述目标服务器的负载参考值是否小于第二预设阈值;
S60、所述目标服务器的负载参考值小于第二预设阈值时,则将所述客户端的连接请求信息分配给当前服务器状态表中负载参考值最低的备选服务器。
具体的,预先设置每个客户端对应一个目标服务器,当客户端A发送连接请求信息时,查找出客户端对应的目标服务器A。判断目标服务器A的负载参考值是否小于第一预设阈值;负载参考值越大,目标服务器A当前负载越多;负载参考值越小,目标服务器A当前负载越少。当目标服务器A的负载参考值小于第一预设阈值时,直接将连接请求信息分配给目标服务器A。当目标服务器A的负载参考值大于等于第一预设阈值、且小于第二预设阈值时,将连接请求信息不分配给目标服务器A,而是分配给服务器状态表中负载参考值最低的备选服务器,例如服务器B。在客户端下一次发送连接请求信息时,重复前述步骤。
如图2所示,根据本发明的另一个实施例,一种负载均衡方法,包括以下步骤:S20、根据客户端发送的连接请求信息,查找出所述客户端对应的目标服务器;
S30、判断所述目标服务器的负载参考值是否小于第一预设阈值;
S40、当所述目标服务器的负载参考值小于第一预设阈值时,则将所述客户端的连接请求信息分配给所述目标服务器;
S50、当所述目标服务器的负载参考值大于等于第一预设阈值时,则进一步判断所述目标服务器的负载参考值是否小于第二预设阈值;
S60、所述目标服务器的负载参考值小于第二预设阈值时,则将所述客户端的连接请求信息分配给当前服务器状态表中负载参考值最低的备选服务器。
S70、当所述目标服务器的负载参考值大于等于第二预设阈值时,则将所述客户端的连接请求信息分配给服务器状态表中当前负载参考值最低的备选服务器,且修改所述客户端对应的目标服务器为所述备选服务器。
具体的,当客户端A发送连接请求信息时,查找出客户端对应的目标服务器A。判断目标服务器A的负载参考值是否小于第一预设阈值;负载参考值越大,目标服务器A当前负载越多;负载参考值越小,目标服务器A当前负载越少。当目标服务器A的负载参考值小于第一预设阈值时,直接将连接请求信息分配给目标服务器A。当目标服务器A的负载参考值大于等于第一预设阈值、且小于第二预设阈值时,将连接请求信息不分配给目标服务器A,而是分配给服务器状态表中负载参考值最低的备选服务器,例如服务器B。当目标服务器A的负载参考值大于等于第二预设阈值时,将连接请求信息不分配给目标服务器A,而是分配给服务器状态表中负载参考值最低的备选服务器,例如服务器B;并将客户端对应的目标服务器A修改服务器B。在客户端下一次发送连接请求信息时,查找出客户端对应的目标服务器B后,重复上述步骤,分析目标服务器B的负载情况。
如图3、图4所示,根据本发明的再一个实施例,一种负载均衡方法,包括以下步骤:
S01、根据所述客户端IP的散列值以及服务器的对应关系,预先生成散列值-服务器对照表;所述散列值-服务器对照表包括设定长度(长度为10000)的数组,数组中第i个元素的值就是映射为i的客户端IP对应的目标服务器;初始化时,可以将散列值均摊到每个服务器上,也可以依据服务器性能分配散列值。
S02、预先生成含有每个服务器状态的服务器状态表,所述服务器状态包括资源占用率、异常连接次数、数据更新时间及负载参考值。所述异常连接次数存储在设定容量(例如容量为20)的异常连接数队列中,异常连接数队列仅保存最近20次更新的异常连接次数。当异常连接数队列存满时,放入新的异常连接次数时,移出异常连接数队列中最先存储的异常连接次数。
S10、按照预设更新时间接收所述服务器发送的资源占用率、异常连接次数;所述资源占用率包括所述服务器的CPU占用率、内存占用率和宽带占用率;其中,资源占用率指CPU占用率、内存占用率和宽带占用率三者中在设定统计次数中平均值较高的两者。
S11、在所述服务器状态表中更新所述服务器的状态,以及更新所述服务器状态表的数据更新时间。
优选的,还包括:S12、根据所述服务器的资源占用率、数据更新时间、异常连接次数,按照预设计算时间计算出所述服务器的负载参考值。
S20、根据客户端发送的连接请求信息,查找出所述客户端对应的目标服务器;
优选的,所述步骤S20进一步包括:S21、根据客户端发送的连接请求信息,获取所述客户端的客户端IP;
S22、利用散列算法计算出所述客户端IP对应的散列值;
S23、根据散列值-服务器对照表,查找出所述客户端对应的目标服务器。
S30、判断所述目标服务器的负载参考值是否小于第一预设阈值;
S40、当所述目标服务器的负载参考值小于第一预设阈值时,则将所述客户端的连接请求信息分配给所述目标服务器;
S50、当所述目标服务器的负载参考值大于等于第一预设阈值时,则进一步判断所述目标服务器的负载参考值是否小于第二预设阈值;
S60、所述目标服务器的负载参考值小于第二预设阈值时,则将所述客户端的连接请求信息分配给当前服务器状态表中负载参考值最低的备选服务器。
S70、当所述目标服务器的负载参考值大于等于第二预设阈值时,则将所述客户端的连接请求信息分配给服务器状态表中当前负载参考值最低的备选服务器,且修改所述客户端对应的目标服务器为所述备选服务器,即修改所述客户端IP对应的散列值。
具体的,利用散列算法将每个客户端IP映射为0~9999中的一个散列值并形成一个数组,数组中第i个元素就是散列值,第i个元素的值就是该散列值对应的服务器。
根据资源占用率、数据更新时间、异常连接次数,计算服务器的负载参考值。其中,资源占用率是指相邻两个数据更新时间之间,多次统计CPU占用率、内存占用率和宽带占用率,根据统计次数计算出CPU占用率、内存占用率和宽带占用率的平均值。三个CPU占用率、内存占用率和宽带占用率中平均值中较高的两个作为资源占用率。其中,异常连接次数是指相邻两个数据更新时间之间,统计异常连接的次数。资源占用率越高,负载参考值越大;数据更新时间越新,负载参考值越大;异常连接次数越多,负载参考值越大。
如图5所示,根据本发明的再一个实施例,一种负载均衡器,包括:生成模块11,用于根据所述客户端IP的散列值以及服务器的对应关系,预先生成散列值-服务器对照表;所述散列值-服务器对照表包括设定长度(长度为10000)的数组,数组中第i个元素的值就是映射为i的客户端IP对应的目标服务器;初始化时,可以将散列值均摊到每个服务器上,也可以依据服务器性能分配散列值。
所述生成模块11,还用于预先生成含有每个服务器状态的服务器状态表,所述服务器状态包括资源占用率、异常连接次数、数据更新时间及负载参考值。所述异常连接次数存储在设定容量(例如容量为20)的异常连接数队列中,异常连接数队列仅保存最近20次更新的异常连接次数。当异常连接数队列存满时,放入新的异常连接次数时,移出异常连接数队列中最先存储的异常连接次数。
接收模块12,用于按照预设更新时间接收所述服务器发送的资源占用率、异常连接次数;所述资源占用率包括所述服务器的CPU占用率、内存占用率和宽带占用率;其中,资源占用率指CPU占用率、内存占用率和宽带占用率三者中在设定统计次数中平均值较高的两者。
更新模块13,用于在所述服务器状态表中更新所述服务器的状态,以及更新所述服务器状态表的数据更新时间。
优选的,还包括:计算模块14,用于根据所述服务器的资源占用率、数据更新时间、异常连接次数,按照预设计算时间计算出所述服务器的负载参考值。
查找模块16,用于根据客户端发送的连接请求信息,查找出所述客户端对应的目标服务器。
优选的,获取模块15,用于根据客户端发送的连接请求信息,获取所述客户端的客户端IP。
所述计算模块14,还用于利用散列算法计算出所述客户端IP对应的散列值。
所述查找模块16,还用于根据散列值-服务器对照表,查找出所述客户端对应的目标服务器。
判断模块17,用于判断所述目标服务器的负载参考值是否小于第一预设阈值。
分配控制模块18,用于当所述目标服务器的负载参考值小于第一预设阈值时,则将所述客户端的连接请求信息分配给所述目标服务器。
所述判断模块17,还用于当所述目标服务器的负载参考值大于等于第一预设阈值时,则进一步判断所述目标服务器的负载参考值是否小于第二预设阈值。
所述分配控制模块18,还用于所述目标服务器的负载参考值小于第二预设阈值时,则将所述客户端的连接请求信息分配给当前服务器状态表中负载参考值最低的备选服务器。
所述分配控制模块18,还用于当所述目标服务器的负载参考值大于等于第二预设阈值时,则将所述客户端的连接请求信息分配给服务器状态表中当前负载参考值最低的备选服务器,且修改所述客户端对应的目标服务器为所述备选服务器,即修改所述客户端IP对应的散列值。
根据本发明的再一个实施例,一种负载均衡***,包括负载均衡器和服务器:所述负载均衡器包括:生成模块11,用于根据所述客户端IP的散列值以及服务器的对应关系,预先生成散列值-服务器对照表;所述散列值-服务器对照表包括设定长度(长度为10000)的数组,数组中第i个元素的值就是映射为i的客户端IP对应的目标服务器;初始化时,可以将散列值均摊到每个服务器上,也可以依据服务器性能分配散列值。
所述生成模块11,还用于预先生成含有每个服务器状态的服务器状态表,所述服务器状态包括资源占用率、异常连接次数、数据更新时间及负载参考值。所述异常连接次数存储在设定容量(例如容量为20)的异常连接数队列中,异常连接数队列仅保存最近20次更新的异常连接次数。当异常连接数队列存满时,放入新的异常连接次数时,移出异常连接数队列中最先存储的异常连接次数。
接收模块12,用于按照预设更新时间接收所述服务器发送的资源占用率、异常连接次数;所述资源占用率包括所述服务器的CPU占用率、内存占用率和宽带占用率;其中,资源占用率指CPU占用率、内存占用率和宽带占用率三者中在设定统计次数中平均值较高的两者。
更新模块13,用于在所述服务器状态表中更新所述服务器的状态,以及更新所述服务器状态表的数据更新时间。
优选的,还包括:计算模块14,用于根据所述服务器的资源占用率、数据更新时间、异常连接次数,按照预设计算时间计算出所述服务器的负载参考值。
查找模块16,用于根据客户端发送的连接请求信息,查找出所述客户端对应的目标服务器。
优选的,获取模块15,用于根据客户端发送的连接请求信息,获取所述客户端的客户端IP。
所述计算模块14,还用于利用散列算法计算出所述客户端IP对应的散列值。
所述查找模块16,还用于根据散列值-服务器对照表,查找出所述客户端对应的目标服务器。
判断模块17,用于判断所述目标服务器的负载参考值是否小于第一预设阈值。
分配控制模块18,用于当所述目标服务器的负载参考值小于第一预设阈值时,则将所述客户端的连接请求信息分配给所述目标服务器。
所述判断模块17,还用于当所述目标服务器的负载参考值大于等于第一预设阈值时,则进一步判断所述目标服务器的负载参考值是否小于第二预设阈值。
所述分配控制模块18,还用于所述目标服务器的负载参考值小于第二预设阈值时,则将所述客户端的连接请求信息分配给当前服务器状态表中负载参考值最低的备选服务器。
所述分配控制模块18,还用于当所述目标服务器的负载参考值大于等于第二预设阈值时,则将所述客户端的连接请求信息分配给服务器状态表中当前负载参考值最低的备选服务器,且修改所述客户端对应的目标服务器为所述备选服务器,即修改所述客户端IP对应的散列值。
所述服务器用于发送资源占用率、异常连接次数;所述资源占用率包括所述服务器的CPU占用率、内存占用率和宽带占用率;其中,资源占用率指CPU占用率、内存占用率和宽带占用率三者中在设定统计次数中平均值较高的两者。
根据本发明的一个实施例,一种负载均衡方法,包括以下步骤:负载均衡器按散列算法将客户端IP映射为一个0–9999的散列值,并且维护一张散列值-服务器对照表:一个长度为10000的数组,其第i个元素的值就是散列值i对应的服务器号。初始化时可以将散列值均摊到所有服务器上,也可以依据服务器性能分配散列值。
负载均衡器维护一张服务器状态表,其中包括服务器的资源占用率、异常连接数队列(容量为20)、最新更新时间及服务器负载值。
在服务器上运行一个低优先级进程,定时向均衡器发送服务器的资源占用率和从上一次发送结束到本次发送开始产生的异常连接数数量。其中资源占用率为服务器的CPU占用率,内存占用率和带宽占用率这三个值中最高的两个的平均值。
负载均衡器收到服务器发送的数据后更新服务器状态表,直接把资源占用率更新为服务器给出的值;将最新更新时间设为均衡器当前时间;将异常连接数push到异常连接数队列中,若队列已满则自动把队列第一个元素pop。即服务器状态表总是保留最近20次的异常连接数。
负载均衡器定时计算服务器的负载值,依据服务器的资源占用率,最新更新时间,异常连接数队列得到服务器的负载值评分(0-99),分数越高表明负荷越严重。
当负载均衡器收到某个客户端的请求时,首先计算该客户端IP的散列值,然后找出该散列值对应的目标服务器。当目标服务器的负载值低于第一阈值时均衡器选择直接将请求分配给目标服务器;当目标服务器的负载值高于第一阈值且低于第二阈值时均衡器选择将请求分配给当前负载最低的服务器;目标服务器的负载值高于第二阈值时均衡器选择将请求分配给当前负载最低的服务器,并且将请求IP的散列值对应的服务器修改为新的服务器。
具体的,负载均衡器依据规定的散列算法将客户端IP地址映射为一个散列值,再找出该散列值对应的目标服务器号。负载均衡器根据目标服务器号的负载值进行IP分配;若负载值低于阈值则直接将IP分配给目标服务器;否则将IP分配给当前负载值最低的服务器,并且将该散列值对应的目标服务器修改为新服务器。
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种负载均衡方法,其特征在于,包括以下步骤:
S20、根据客户端发送的连接请求信息,查找出所述客户端对应的目标服务器;
S30、判断所述目标服务器的负载参考值是否小于第一预设阈值;
S40、当所述目标服务器的负载参考值小于第一预设阈值时,则将所述客户端的连接请求信息分配给所述目标服务器;
S50、当所述目标服务器的负载参考值大于等于第一预设阈值时,则进一步判断所述目标服务器的负载参考值是否小于第二预设阈值;
S60、所述目标服务器的负载参考值小于第二预设阈值时,则将所述客户端的连接请求信息分配给服务器状态表中当前负载参考值最低的备选服务器。
2.如权利要求1所述的负载均衡方法,其特征在于,还包括以下步骤:
S70、当所述目标服务器的负载参考值大于等于第二预设阈值时,则将所述客户端的连接请求信息分配给服务器状态表中当前负载参考值最低的备选服务器,且修改所述客户端对应的目标服务器为所述备选服务器。
3.如权利要求1所述的负载均衡方法,其特征在于,所述步骤S20之前还包括:
S01、根据所述客户端IP的散列值以及服务器的对应关系,预先生成散列值-服务器对照表;
S02、预先生成含有每个服务器状态的服务器状态表,所述服务器状态包括所述服务器的资源占用率、异常连接次数、数据更新时间及负载参考值。
4.如权利要求1所述的负载均衡方法,其特征在于,所述步骤S20之前还包括:
S10、按照预设更新时间接收所述服务器发送的资源占用率、异常连接次数;所述资源占用率包括所述服务器的CPU占用率、内存占用率和宽带占用率;
S11、在所述服务器状态表中更新所述服务器的状态,以及更新所述服务器状态表的数据更新时间。
5.如权利要求4所述的负载均衡方法,其特征在于,所述步骤S20之前还包括:
S12、根据所述服务器的资源占用率、数据更新时间、异常连接次数,按照预设计算时间计算出所述服务器的负载参考值。
6.如权利要求1~5中任意一项所述的负载均衡方法,其特征在于,所述步骤S20进一步包括:
S21、根据客户端发送的连接请求信息,获取所述客户端的客户端IP;
S22、利用散列算法计算出所述客户端IP对应的散列值;
S23、根据散列值-服务器对照表,查找出所述客户端对应的目标服务器。
7.一种应用在如权利要求1~6中任意一项所述的负载均衡方法的负载均衡器,其特征在于,包括:
查找模块,用于根据客户端发送的连接请求信息,查找出所述客户端对应的目标服务器;
判断模块,用于判断所述目标服务器的负载参考值是否小于第一预设阈值;
分配控制模块,用于当所述目标服务器的负载参考值小于第一预设阈值时,则将所述客户端的连接请求信息分配给所述目标服务器;
所述判断模块,还用于当所述目标服务器的负载参考值大于等于第一预设阈值时,则进一步判断所述目标服务器的负载参考值是否小于第二预设阈值;
所述分配控制模块,还用于所述目标服务器的负载参考值小于第二预设阈值时,则将所述客户端的连接请求信息分配给服务器状态表中当前负载参考值最低的备选服务器。
8.如权利要求7所述的负载均衡器,其特征在于,还包括修改模块:
当所述目标服务器的负载参考值大于等于第二预设阈值时,则所述分配控制模块用于将所述客户端的连接请求信息分配给服务器状态表中当前负载参考值最低的备选服务器,且所述修改模块用于修改所述客户端对应的目标服务器为所述备选服务器。
9.如权利要求7所述的负载均衡器,其特征在于,还包括:
生成模块,用于根据所述客户端IP的散列值以及服务器的对应关系,预先生成散列值-服务器对照表;
所述生成模块,还用于预先生成含有每个服务器状态的服务器状态表,所述服务器状态包括所述服务器的资源占用率、异常连接次数、数据更新时间及负载参考值。
10.一种负载均衡***,包括如权利要求7~9中任意一项所述的负载均衡器,其特征在于,还包括服务器:
所述服务器,用于发送资源占用率、异常连接次数;所述资源占用率包括所述服务器的CPU占用率、内存占用率和宽带占用率。
CN201710204727.5A 2017-03-30 2017-03-30 一种负载均衡方法、负载均衡器及负载均衡*** Active CN107026907B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710204727.5A CN107026907B (zh) 2017-03-30 2017-03-30 一种负载均衡方法、负载均衡器及负载均衡***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710204727.5A CN107026907B (zh) 2017-03-30 2017-03-30 一种负载均衡方法、负载均衡器及负载均衡***

Publications (2)

Publication Number Publication Date
CN107026907A true CN107026907A (zh) 2017-08-08
CN107026907B CN107026907B (zh) 2020-08-14

Family

ID=59526340

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710204727.5A Active CN107026907B (zh) 2017-03-30 2017-03-30 一种负载均衡方法、负载均衡器及负载均衡***

Country Status (1)

Country Link
CN (1) CN107026907B (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107749931A (zh) * 2017-09-29 2018-03-02 携程旅游信息技术(上海)有限公司 互动式语音应答的方法、***、设备及存储介质
CN108173937A (zh) * 2017-12-28 2018-06-15 北京中电普华信息技术有限公司 访问控制方法和装置
WO2019041499A1 (zh) * 2017-08-28 2019-03-07 平安科技(深圳)有限公司 数据发送对象的选择方法、装置、计算机设备及存储介质
CN109522118A (zh) * 2018-11-08 2019-03-26 珠海格力电器股份有限公司 一种业务处理方法、装置、服务器及可读存储介质
CN109617807A (zh) * 2018-12-28 2019-04-12 深圳云天励飞技术有限公司 路由信息更新方法、装置、网关及存储介质
CN109670748A (zh) * 2018-12-13 2019-04-23 中国联合网络通信集团有限公司 库存资源管理方法、装置及存储介质
CN110401708A (zh) * 2019-07-23 2019-11-01 中南民族大学 基于服务器负载状态的会话处理***及方法
CN110933181A (zh) * 2019-12-11 2020-03-27 ***股份有限公司 一种路由方法、装置、***以及电子设备
CN110933136A (zh) * 2019-10-31 2020-03-27 北京浪潮数据技术有限公司 一种服务节点选择方法、装置、设备及可读存储介质
CN111338793A (zh) * 2020-02-14 2020-06-26 拉扎斯网络科技(上海)有限公司 集群任务分发方法、装置、设备及存储介质
CN111556154A (zh) * 2020-04-27 2020-08-18 深圳震有科技股份有限公司 数据传输方法、装置、设备及计算机可读存储介质
CN113822485A (zh) * 2021-09-27 2021-12-21 国网山东省电力公司泗水县供电公司 一种配电网调度任务优化方法及***
WO2022183802A1 (zh) * 2021-03-05 2022-09-09 深圳前海微众银行股份有限公司 一种负载均衡方法及装置、设备、存储介质、计算机程序产品
CN115225507A (zh) * 2022-07-21 2022-10-21 天翼云科技有限公司 一种服务器组资源分配方法、装置、设备及介质
WO2023050901A1 (zh) * 2021-09-30 2023-04-06 深圳前海微众银行股份有限公司 一种负载均衡方法、装置、设备、计算机存储介质和程序
CN116107760A (zh) * 2023-04-07 2023-05-12 浪潮电子信息产业股份有限公司 一种负载均衡方法、装置、设备及介质
CN116137625A (zh) * 2021-11-17 2023-05-19 中移(苏州)软件技术有限公司 一种连接控制方法、第一服务端及存储介质
CN116737359A (zh) * 2023-04-19 2023-09-12 哈尔滨商业大学 一种电子商务信息处理方法及***

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1665206A (zh) * 2004-03-03 2005-09-07 华为技术有限公司 实现网络长连接倒换的方法
WO2010045511A2 (en) * 2008-10-15 2010-04-22 Gal Zuckerman Methods and systems for delivering content
CN101741658A (zh) * 2008-11-25 2010-06-16 北京中星微电子有限公司 视频监控***以及视频监控***中的交互方法
CN102238081A (zh) * 2010-04-26 2011-11-09 国际商业机器公司 发送ip分组流的方法和设备
CN103236989A (zh) * 2013-04-25 2013-08-07 青岛海信传媒网络技术有限公司 一种内容分发网络中的缓存控制方法、设备及***
CN103327072A (zh) * 2013-05-22 2013-09-25 中国科学院微电子研究所 一种集群负载均衡的方法及其***
CN104038525A (zh) * 2013-03-07 2014-09-10 深圳市金证科技股份有限公司 服务器***的负载均衡方法及装置
US8874783B1 (en) * 2002-05-15 2014-10-28 F5 Networks, Inc. Method and system for forwarding messages received at a traffic manager
CN104202255A (zh) * 2014-08-26 2014-12-10 浪潮(北京)电子信息产业有限公司 一种高效多链路数据传输实现方法
CN105335236A (zh) * 2015-12-10 2016-02-17 厦门市美亚柏科信息股份有限公司 一种分布式取证动态负载均衡调度方法和装置
CN106027410A (zh) * 2016-07-28 2016-10-12 北京邮电大学 一种控制器负载均衡的方法及装置
CN106302781A (zh) * 2016-08-25 2017-01-04 乐视控股(北京)有限公司 路由信息分配处理方法、后台服务器和终端
CN106385468A (zh) * 2016-12-07 2017-02-08 西安电子科技大学 Web集群的可预测动态负载均衡方法

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8874783B1 (en) * 2002-05-15 2014-10-28 F5 Networks, Inc. Method and system for forwarding messages received at a traffic manager
CN1665206A (zh) * 2004-03-03 2005-09-07 华为技术有限公司 实现网络长连接倒换的方法
WO2010045511A2 (en) * 2008-10-15 2010-04-22 Gal Zuckerman Methods and systems for delivering content
CN101741658A (zh) * 2008-11-25 2010-06-16 北京中星微电子有限公司 视频监控***以及视频监控***中的交互方法
CN102238081A (zh) * 2010-04-26 2011-11-09 国际商业机器公司 发送ip分组流的方法和设备
CN104038525A (zh) * 2013-03-07 2014-09-10 深圳市金证科技股份有限公司 服务器***的负载均衡方法及装置
CN103236989A (zh) * 2013-04-25 2013-08-07 青岛海信传媒网络技术有限公司 一种内容分发网络中的缓存控制方法、设备及***
CN103327072A (zh) * 2013-05-22 2013-09-25 中国科学院微电子研究所 一种集群负载均衡的方法及其***
CN104202255A (zh) * 2014-08-26 2014-12-10 浪潮(北京)电子信息产业有限公司 一种高效多链路数据传输实现方法
CN105335236A (zh) * 2015-12-10 2016-02-17 厦门市美亚柏科信息股份有限公司 一种分布式取证动态负载均衡调度方法和装置
CN106027410A (zh) * 2016-07-28 2016-10-12 北京邮电大学 一种控制器负载均衡的方法及装置
CN106302781A (zh) * 2016-08-25 2017-01-04 乐视控股(北京)有限公司 路由信息分配处理方法、后台服务器和终端
CN106385468A (zh) * 2016-12-07 2017-02-08 西安电子科技大学 Web集群的可预测动态负载均衡方法

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019041499A1 (zh) * 2017-08-28 2019-03-07 平安科技(深圳)有限公司 数据发送对象的选择方法、装置、计算机设备及存储介质
CN107749931A (zh) * 2017-09-29 2018-03-02 携程旅游信息技术(上海)有限公司 互动式语音应答的方法、***、设备及存储介质
CN108173937A (zh) * 2017-12-28 2018-06-15 北京中电普华信息技术有限公司 访问控制方法和装置
CN109522118A (zh) * 2018-11-08 2019-03-26 珠海格力电器股份有限公司 一种业务处理方法、装置、服务器及可读存储介质
CN109522118B (zh) * 2018-11-08 2021-06-01 珠海格力电器股份有限公司 一种业务处理方法、装置、服务器及可读存储介质
CN109670748A (zh) * 2018-12-13 2019-04-23 中国联合网络通信集团有限公司 库存资源管理方法、装置及存储介质
CN109617807B (zh) * 2018-12-28 2019-10-22 深圳云天励飞技术有限公司 路由信息更新方法、装置、网关及存储介质
CN109617807A (zh) * 2018-12-28 2019-04-12 深圳云天励飞技术有限公司 路由信息更新方法、装置、网关及存储介质
CN110401708A (zh) * 2019-07-23 2019-11-01 中南民族大学 基于服务器负载状态的会话处理***及方法
CN110401708B (zh) * 2019-07-23 2021-11-23 中南民族大学 基于服务器负载状态的会话处理***及方法
CN110933136A (zh) * 2019-10-31 2020-03-27 北京浪潮数据技术有限公司 一种服务节点选择方法、装置、设备及可读存储介质
CN110933181A (zh) * 2019-12-11 2020-03-27 ***股份有限公司 一种路由方法、装置、***以及电子设备
CN110933181B (zh) * 2019-12-11 2024-03-15 ***股份有限公司 一种路由方法、装置、***以及电子设备
CN111338793A (zh) * 2020-02-14 2020-06-26 拉扎斯网络科技(上海)有限公司 集群任务分发方法、装置、设备及存储介质
CN111556154A (zh) * 2020-04-27 2020-08-18 深圳震有科技股份有限公司 数据传输方法、装置、设备及计算机可读存储介质
WO2022183802A1 (zh) * 2021-03-05 2022-09-09 深圳前海微众银行股份有限公司 一种负载均衡方法及装置、设备、存储介质、计算机程序产品
CN113822485B (zh) * 2021-09-27 2023-10-20 国网山东省电力公司泗水县供电公司 一种配电网调度任务优化方法及***
CN113822485A (zh) * 2021-09-27 2021-12-21 国网山东省电力公司泗水县供电公司 一种配电网调度任务优化方法及***
WO2023050901A1 (zh) * 2021-09-30 2023-04-06 深圳前海微众银行股份有限公司 一种负载均衡方法、装置、设备、计算机存储介质和程序
CN116137625A (zh) * 2021-11-17 2023-05-19 中移(苏州)软件技术有限公司 一种连接控制方法、第一服务端及存储介质
CN115225507A (zh) * 2022-07-21 2022-10-21 天翼云科技有限公司 一种服务器组资源分配方法、装置、设备及介质
CN115225507B (zh) * 2022-07-21 2024-03-08 天翼云科技有限公司 一种服务器组资源分配方法、装置、设备及介质
CN116107760A (zh) * 2023-04-07 2023-05-12 浪潮电子信息产业股份有限公司 一种负载均衡方法、装置、设备及介质
CN116737359A (zh) * 2023-04-19 2023-09-12 哈尔滨商业大学 一种电子商务信息处理方法及***
CN116737359B (zh) * 2023-04-19 2023-11-21 哈尔滨商业大学 一种电子商务信息处理方法及***

Also Published As

Publication number Publication date
CN107026907B (zh) 2020-08-14

Similar Documents

Publication Publication Date Title
CN107026907A (zh) 一种负载均衡方法、负载均衡器及负载均衡***
US20210385171A1 (en) Software load balancer to maximize utilization
CN111464649B (zh) 一种访问请求回源方法和装置
US7117242B2 (en) System and method for workload-aware request distribution in cluster-based network servers
EP2288111A1 (en) Managing client requests for data
CN107105013B (zh) 文件的处理方法、服务器、终端和***
CN103701916A (zh) 分布式存储***的动态负载均衡方法
CN112202918B (zh) 长连接通信的负载调度方法、装置、设备及存储介质
CN109960586B (zh) 一种服务器状态可感知的四层负载均衡器及均衡方法
CN109510878B (zh) 一种长连接会话保持方法和装置
CN104092650A (zh) 一种分配业务请求的方法和装置
JPWO2018220708A1 (ja) 資源割当システム、管理装置、方法およびプログラム
CN103117947A (zh) 一种负载分担方法及装置
CN113014611B (zh) 一种负载均衡方法及相关设备
CN112948120A (zh) 负载均衡方法、***、装置和存储介质
JP2005182641A (ja) 動的負荷分散システム及び動的負荷分散方法
CN102217247B (zh) 实现多Web应用请求调度的方法、装置及***
CN108111567A (zh) 实现服务器负载均匀的方法及***
US11979335B2 (en) Network controller
CN103248636A (zh) 离线下载的***及方法
CN110765092A (zh) 分布式搜索***、索引分发方法及存储介质
CN107770296B (zh) 分配地址的方法及装置
CN102647362B (zh) 一种多控制器存储***负载均衡的方法
CN114173396B (zh) 终端联网时间的确定方法和装置、电子设备和存储介质
CN113973092B (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
TA01 Transfer of patent application right

Effective date of registration: 20200409

Address after: 318015 no.2-3167, zone a, Nonggang City, no.2388, Donghuan Avenue, Hongjia street, Jiaojiang District, Taizhou City, Zhejiang Province

Applicant after: Taizhou Jiji Intellectual Property Operation Co., Ltd

Address before: 201616 Shanghai city Songjiang District Sixian Road No. 3666

Applicant before: Phicomm (Shanghai) Co.,Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200720

Address after: Room 101, No. 1168, Xingang East Road, Haizhu District, Guangzhou City, Guangdong Province

Applicant after: Guangdong red food technology Co., Ltd

Address before: 318015 no.2-3167, zone a, Nonggang City, no.2388, Donghuan Avenue, Hongjia street, Jiaojiang District, Taizhou City, Zhejiang Province

Applicant before: Taizhou Jiji Intellectual Property Operation Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant