CN114710496A - 一种多节点负载均衡方法及装置 - Google Patents
一种多节点负载均衡方法及装置 Download PDFInfo
- Publication number
- CN114710496A CN114710496A CN202210434152.7A CN202210434152A CN114710496A CN 114710496 A CN114710496 A CN 114710496A CN 202210434152 A CN202210434152 A CN 202210434152A CN 114710496 A CN114710496 A CN 114710496A
- Authority
- CN
- China
- Prior art keywords
- connection
- node
- processing request
- client
- load balancing
- 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 87
- 238000012545 processing Methods 0.000 claims abstract description 146
- 230000006854 communication Effects 0.000 claims description 71
- 238000004891 communication Methods 0.000 claims description 70
- 230000006870 function Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 19
- 230000000977 initiatory effect Effects 0.000 claims description 8
- 230000003321 amplification Effects 0.000 claims description 4
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 17
- 238000012544 monitoring process Methods 0.000 description 10
- 230000003993 interaction Effects 0.000 description 5
- 230000002452 interceptive effect Effects 0.000 description 5
- 239000000872 buffer Substances 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种多节点负载均衡方法及装置,涉及计算机技术领域,也可用于金融领域,包括:通过负载均衡硬件设备接收客户端节点的业务处理请求;所述业务处理请求包括建立连接请求及报文处理请求;比较当前连接的客户端节点数与允许的最大连接数;若所述当前连接的客户端节点数小于所述允许的最大连接数,则建立与所述客户端节点的连接并对所述报文处理请求进行处理。本申请能够使服务器端连接数及客户端连接数均实现均衡,进而实现服务器端流量负载均衡。
Description
技术领域
本申请涉及计算机技术领域,可以用于金融领域,具体是一种多节点负载均衡方法及装置。
背景技术
在金融服务系统中,一项金融服务可能需要多个业务系统协同作业才能完成。这些业务系统包括但不限于渠道业务系统、后台产品业务系统及账户管理业务系统等。金融服务系统为了支撑高容量高并发的业务请求,每种业务系统都会采用多节点的方式进行部署。在实际业务场景中,一个业务请求可能涉及多个业务系统,比如个人账户转对账账户业务请求涉及个人账户系统及对公账户系统,多个业务系统之间的通讯,形成了多对多的网状通讯结构。
金融服务系统一般采用网关作为业务交易的统一入口,网关通过中间件实现与核心业务系统的负载均衡。为了提高通讯效率,维持高频通讯的业务系统一般采用长连接设计,以减少创建通讯连接所带来的资源消耗。由于通讯连接均为随机发起,业务请求端与哪个服务端节点建立连接取决于中间件的随机选择。在实际业务中,与核心业务系统的服务器节点的连接数往往无法达到绝对的均衡,连接数的不均衡,会影响服务器节点的负载均衡。在连接数较少的情况下,连接数不均衡引起的负载不均衡偏差会更大,从而影响业务在高峰期的稳定运行。目前尚没有实现多节点流量负载均衡效果较好的解决方案。
发明内容
针对现有技术中的问题,本申请提供一种多节点负载均衡方法及装置,能够使服务器端连接数及客户端连接数均实现均衡,进而实现服务器端流量负载均衡。
为解决上述技术问题,本申请提供以下技术方案:
第一方面,本申请提供一种多节点负载均衡方法,包括:
通过负载均衡硬件设备接收客户端节点的业务处理请求;所述业务处理请求包括建立连接请求及报文处理请求;
比较当前连接的客户端节点数与允许的最大连接数;
若所述当前连接的客户端节点数小于所述允许的最大连接数,则建立与所述客户端节点的连接并对所述报文处理请求进行处理。
进一步地,所述建立与所述客户端节点的连接并对所述报文处理请求进行处理,包括:
接受所述建立连接请求,并启动通讯握手流程;
若通讯握手成功,则建立与所述客户端节点的连接;
若所述连接被所述客户端节点选定,则处理所述报文处理请求。
进一步地,所述的多节点负载均衡方法,还包括:
根据所述客户端节点被允许的服务器端连接数及当前客户端连接数确定是否与所述客户端节点建立连接;
若所述当前客户端连接数小于所述客户端节点被允许的服务器端连接数,则接受所述建立连接请求。
进一步地,所述的多节点负载均衡方法,还包括:
若所述建立连接请求被成功处理,则将建立成功的连接存储至长连接池。
第二方面,本申请提供一种多节点负载均衡方法,包括:
向负载均衡硬件设备发起业务处理请求,以使所述负载均衡硬件设备向任一服务端节点发送所述业务处理请求;所述业务处理请求包括建立连接请求及报文处理请求;
若接收到所述服务端节点发送的连接成功消息,利用预设的随机算法从连接的所有服务端节点中选取一个服务端节点进行所述业务处理请求处理。
进一步地,所述的多节点负载均衡方法,所述利用预设的随机算法从连接的所有服务端节点中选取一个服务端节点进行所述业务处理请求处理,包括:
利用随机函数生成初始随机数;
根据所述初始随机数及预设的放大倍数确定更新随机数;
根据当前连接的服务端节点数及所述更新随机数确定被选取的连接编号;
根据所述连接编号选取对应的连接,以执行所述报文处理请求。
进一步地,所述的多节点负载均衡方法,还包括:
根据待办业务类型向对应的服务端节点发起所述建立连接请求,以使所述服务端节点执行所述报文处理请求。
第三方面,本申请提供一种多节点负载均衡装置,包括:
处理请求接收单元,用于通过负载均衡硬件设备接收客户端节点的业务处理请求;所述业务处理请求包括建立连接请求及报文处理请求;
连接比较单元,用于比较当前连接的客户端节点数与允许的最大连接数;
连接建立单元,用于在所述当前连接的客户端节点数小于所述允许的最大连接数时,建立与所述客户端节点的连接并对所述报文处理请求进行处理。
第四方面,本申请提供一种多节点负载均衡装置,包括:
处理请求发送单元,用于向负载均衡硬件设备发起业务处理请求,以使所述负载均衡硬件设备向任一服务端节点发送所述业务处理请求;所述业务处理请求包括建立连接请求及报文处理请求;
连接选取单元,用于若接收到所述服务端节点发送的连接成功消息,利用预设的随机算法从连接的所有服务端节点中选取一个服务端节点进行所述业务处理请求处理。
第五方面,本申请提供一种电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述多节点负载均衡方法的步骤。
第六方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述多节点负载均衡方法的步骤。
第七方面,本申请提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现所述多节点负载均衡方法的步骤。
针对现有技术中的问题,本申请提供的多节点负载均衡方法及装置,能够在客服通讯双方都存在多节点的情况下,通过改进客户端节点与服务端节点之间的交互通讯方式,使每个客户端节点与每个服务端节点之间都建立相同数量的连接,使服务器端连接数及客户端连接数均实现均衡,进而实现服务器端流量负载均衡。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中多节点负载均衡方法的流程图之一;
图2为本申请实施例中建立与客户端节点的连接的流程图;
图3为本申请实施例中多节点负载均衡方法的流程图之二;
图4为本申请实施例中多节点负载均衡方法的流程图之三;
图5为本申请实施例中选取服务端节点的流程图;
图6为本申请实施例中多节点负载均衡装置的结构图之一;
图7为本申请实施例中连接建立单元的结构图;
图8为本申请实施例中多节点负载均衡装置的结构图之二;
图9为本申请实施例中多节点负载均衡装置的结构图之三;
图10为本申请实施例中连接选取单元的结构图;
图11为本申请实施例中的电子设备的结构示意图;
图12为本申请实施例中多节点负载均衡方法的系统示意图;
图13为本申请实施例中多节点负载均衡方法的总流程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请提供的多节点负载均衡方法及装置,可用于金融领域,也可用于除金融领域之外的任意领域,本申请提供的多节点负载均衡方法及装置的应用领域不做限定。
一实施例中,参见图1,为了能够使服务器端连接数及客户端连接数均实现均衡,进而实现服务器端流量负载均衡,本申请提供一种多节点负载均衡方法,包括:
S101:通过负载均衡硬件设备接收客户端节点的业务处理请求;业务处理请求包括建立连接请求及报文处理请求;所述建立连接请求先于所述报文处理请求接收;
S102:比较当前连接的客户端节点数与允许的最大连接数;
S103:若当前连接的客户端节点数小于允许的最大连接数,则建立与客户端节点的连接并对报文处理请求进行处理。
可以理解的是,参见图12,在金融服务系统中,一项金融服务可能需要多个业务系统协同作业。这些业务系统包括但不限于渠道业务系统、后台产品业务系统及账户管理业务系统等。金融服务系统为了支撑高容量高并发的业务处理需求,各业务系统可能会采用多节点的方式进行部署。此外,金融服务系统一般采用网关作为业务交易的统一入口,网关通过中间件(例如负载均衡硬件设备,也称F5)实现与核心业务系统(位于金融服务系统内部)的负载均衡,网关中一般部署有多个客户端节点。当客户端节点有业务处理需求时,可以通过网关中的通讯组件向F5发送业务处理请求,F5再将业务处理请求转发至核心业务系统,最终由核心业务系统对业务处理请求进行处理。
为了提高通讯效率,高频通讯的系统之间一般可以建立长连接,以减少创建通讯连接所带来的资源消耗。网关配置F5地址,并在启动后发起通讯连接;F5收到建立连接请求后,随机向核心业务系统中的任一服务端节点发起通讯连接。由于向哪一个服务端节点发起通讯连接是随机的,因此,与哪个服务端节点建立通讯连接取决于F5的随机选择。在实际实施过程中,与核心业务系统的服务端节点的连接数往往无法达到绝对的均衡,连接数的不均衡,会致使服务器节点的负载不均衡。在连接数较少的情况下,连接数不均衡引起的负载不均衡偏差会更大,从而影响业务在高峰期的稳定运行。因此,需要考虑多节点负载均衡的改进方法,解决负载不均衡的问题。
步骤S101至步骤S103的执行主体是服务端节点。
参见图12,多节点负载均衡的系统实现方法如下:
第一,网关客户端节点通过通讯组件实现通讯连接管理,包括配置最大连接数、建立连接请求的处理以及长连接的管理等功能。通讯组件在启动后,(包括但不限于通过查询配置表的方式)检查配置的最大连接数;如果未达到最大连接数,则向F5发起通讯连接请求;所谓最大连接数是指客户端节点最多被允许与服务端节点建立多少条连接。
第二,F5是负载均衡设备,主要负责客户端节点与服务端节点的连接通讯,实现服务端节点统一对外暴露IP地址,避免对客户端暴露所有的服务端节点IP地址,实现服务端节点物理信息对客户端节点的屏蔽。同时,在新增连接时,F5在收到建立连接请求后,随机向服务端节点发起通讯连接。
第三,服务端节点的功能包含监听服务、连接管理服务及存储网关信息表。监听服务负责监听对外暴露的端口;当有新的建立连接请求进来时,系统唤醒监听服务,由监听服务处理该建立连接请求。连接管理服务负责管理连接池中的连接,监听每个连接的报文请求受理及返回报文的发送,并负责连接的管理及销毁。网关信息表配置了服务端节点级最大连接数、单个客户端最大连接数等信息。与一般的通讯连接交互不同,网关信息表除了配置节点级最大连接数,还可以配置客户端级最大连接数,即如果某一客户端与本服务端节点创建的连接数已到达客户端级最大连接数,则本服务端节点不会再接受此客户端的连接请求。一般而言,客户端节点会先发送建立连接请求,然后待长连接建立完成后,再发送报文处理请求。
第四,服务端节点可以通过客户端级最大连接参数,控制每个客户端与其自身的连接数,使服务端节点与每个客户端节点的连接数达到预期参数值。客户端在未达到最大连接数时,持续发起通讯连接,经过多轮的连接请求后,最终能够分配给连接数较少的服务端,最终实现每个服务端节点均与每个客户端节点达到相同的连接数。
从上述描述可知,本申请提供的多节点负载均衡方法,能够在客服通讯双方都存在多节点的情况下,通过改进客户端节点与服务端节点之间的交互通讯方式,使每个客户端节点与每个服务端节点之间都建立相同数量的连接,使服务器端连接数及客户端连接数均实现均衡,进而实现服务器端流量负载均衡。
一实施例中,参见图2,建立与客户端节点的连接并对报文处理请求进行处理,包括:
S201:接受建立连接请求,并启动通讯握手流程;
S202:判断通讯握手是否成功;
S203:若通讯握手成功,则建立与客户端节点的连接;
S204:判断连接是否被客户端节点选定;
S205:若连接被客户端节点选定,则处理报文处理请求。
可以理解的是,如前所述,客户端节点不仅可以发送建立连接请求,还可以发送报文处理请求,以使服务端节点处理实际需要处理的金融业务。其中,服务器端节点会先接收到建立连接请求,然后待长连接建立完成后,再接收报文处理请求。
一实施例中,首先,客户端节点发送建立连接请求,任一服务端节点在接收到该建立连接请求后,判断是否接受该建立连接请求并建立连接,具体的判断原则可以包括:①判断自身当前连接的客户端节点数是否小于自身被允许建立的最大连接数,若是,则接受该建立连接请求并建立连接,具体的建立方法是进行通讯握手。②判断客户端节点的当前客户端连接数是否小于其被允许与服务端节点建立的服务器端连接数,若是,则接受该建立连接请求并建立连接,具体的建立方法是进行通讯握手。其中,原则②可以对应于步骤S301至步骤S302。
在连接建立好后,客户端节点可以发送报文处理请求给F5,F5再转发给任一服务端节点。如果该客户端节点此前已与该服务端节点建立了连接,则可认为此时该连接被客户端节点选定,服务端节点可以处理对应的报文处理请求。
一实施例中,参见图3,多节点负载均衡方法还包括:
S301:根据客户端节点被允许的服务器端连接数及当前客户端连接数确定是否与客户端节点建立连接;
S302:若当前客户端连接数小于客户端节点被允许的服务器端连接数,则接受建立连接请求。
从上述描述可知,本申请提供的多节点负载均衡方法中,服务端节点能够建立与客户端节点的连接并对业务处理请求进行处理。
一实施例中,多节点负载均衡方法,还包括:若建立连接请求被成功处理,则将建立成功的连接存储至长连接池。
可以理解的是,将建立成功的连接存储至长连接池可以方便以后使用。具体实施时,客户端节点及服务器节点双方都可以有长连接池。在需要处理报文处理请求时,客户端节点可以从长连接池中选取任一长连接;上述过程相当于客户端节点选择了一个服务端节点帮助自己处理自己发送的报文处理请求。
从上述描述可知,本申请提供的多节点负载均衡方法,能够将建立成功的连接存储至长连接池。
下面从客户端节点的角度对本申请实施例进行阐述。
一实施例中,参见图4,本申请提供一种多节点负载均衡方法,包括:
S401:向负载均衡硬件设备发起业务处理请求,以使负载均衡硬件设备向任一服务端节点发送业务处理请求;业务处理请求包括建立连接请求及报文处理请求;
S402:若接收到服务端节点发送的连接成功消息,利用预设的随机算法从连接的所有服务端节点中选取一个服务端节点进行业务处理请求处理。
可以理解的是,业务交易从前端系统进入到网关。网关通讯组件通过修正的随机算法选择连接池中的连接,连接池由网关系统启动后创建。由于网关客户端节点与所有的服务端节点均连接了相同的连接数,因此每个服务端节点都有相同的概率被选中作为本次业务处理请求的连接。服务端连接管理服务监听到业务报文请求,受理本次业务请求,使用被选连接完成本次通讯交互。
为了更好地体现交互过程,参见图13所示,通讯连接创建过程可以如下:
301:客户端节点的通讯组件获取节点配置的参数配置信息,获取最大连接数,F5的IP地址等信息。
302:客户端节点根据自身的当前连接情况,判断当前是否已经达到了最大连接数,如果达到,则长连接已创建完成,不再发起新的建立连接请求。(在另一实施例中,如果客户端节点在达到了最大连接数后仍然发起新的建立连接请求,也可被服务端节点拒绝。)
303:如果未达到最大连接数,则向F5发起创建连接请求。
304:F5收到创建连接请求后,随机向服务端节点转发该创建连接请求。
305:服务端节点的监听服务收到该建立连接请求后,查询网关信息表,检查当前连接数是否达到节点级最大连接数;如果已经达到了节点级的最大连接数,则进入步骤307.1。
306:如果未达到节点级最大连接数,监听服务则检查这个客户端节点与本服务端的连接是否达到最大连接数,即是否达到客户端级最大连接数,如果达到则进入步骤307.1。如果未达到则进入步骤307。
307:如果未达到客户端级的最大连接数,监听服务则接受本次连接请求。
307.1:如果本服务端节点达到了节点级最大连接数或达到了客户端级的最大连接数,则监听服务会拒绝本次建立连接请求。
307.2:服务端监听服务置本次通讯连接失败,客户端节点收到服务端处理结果后循环进行步骤302,重新发起新通讯连接请求。
308:如果未达到本服务器节点级最大连接数且未达到客户端级的最大连接数,则接受连接请求,启动事先约定好的握手流程。
309:握手交互成功后,完成通讯连接创建过程。
310:客户端节点把新创建的连接放进本地连接池中,服务端节点监听服务把新创建的连接放进本地连接池中,交给连接管理服务进程,由连接管理服务进程负责监听新连接的业务报文请求(也称报文处理请求),处理业务报文交互。
由于F5发起(转发)建立连接请求的随机性,无法控制定向向某个服务端节点发起连接,通过在服务端节点控制每个客户端级最大连接数,客户端节点未达到最大连接数时持续发起新连接请求,最终实现每个客户端节点与每个服务器节点的连接数是一样的,从而达到了连接数的绝对均衡,因此业务请求报文无论从哪个客户端节点来,每个服务端节点都有相同的概率处理业务请求服务,从而实现服务器较优的负载均衡效果。
同时,由于客户端在未达到最大连接时,会持续发起新连接请求,因此客户端的参数和服务端的参数设置要相匹配,以达到连接均衡且达到预期连接数时不会再发起连接,参数设置原则可以如下:
1、服务端设置节点级最大连接数和客户端级最大连接数,节点级最大连接数应大于等于客户端级最大连接数×客户端数量。
2、客户端节点配置的最大连接数应该是服务节点的整体倍,具体数量为服务端客户端级最大连接数×服务端节点数量。
从上述描述可知,本申请提供的多节点负载均衡方法,能够在客服通讯双方都存在多节点的情况下,通过改进客户端节点与服务端节点之间的交互通讯方式,使每个客户端节点与每个服务端节点之间都建立相同数量的连接,使服务器端连接数及客户端连接数均实现均衡,进而实现服务器端流量负载均衡。
一实施例中,参见图5,利用预设的随机算法从连接的所有服务端节点中选取一个服务端节点进行业务处理请求处理,包括:
S501:利用随机函数生成初始随机数;
S502:根据初始随机数及预设的放大倍数确定更新随机数;
S503:根据当前连接的服务端节点数及更新随机数确定被选取的连接编号;
S504:根据连接编号选取对应的连接,以执行报文处理请求。
可以理解的是,由客户端节点采用修正后的随机算法实现通讯连接的选取,修正后的随机算法为:使用系统随机函数生成(0-1]的数字X,并精确到小数点6位,X乘以100万得到0至100万的更新随机数,更新随机数再按当前实际连接数的值取模,余数即为该选择的连接。从大数定理以及测试经验表明,随机数扩大到100万倍(可以更大)之后,随机性更好,负载均衡效果更好。本发明同样支持轮询算法、Hash算法等常用算法,采用不同的连接选取方法,本申请不以此为限。
一实施例中,多节点负载均衡方法,还包括:
根据待办业务类型向对应的服务端节点发起建立连接请求,以使服务端节点执行报文处理请求。
本发明的有益效果至少如下:
通过本发明,不但可以实现服务端连接数均衡,还能实现每个客户端与每个服务端都具有相同的连接数,从而实现流量均衡以及负载均衡。主要体现如下:
1、现有的负载均衡机制,服务端控制全局连接数,不针对单个客户端控制连接数。通过服务端控制单个客户端连接数及客户端的重试机制,实现每个客户端与每个服务端都有相同的连接数。
2、因为连接数均衡,无论网关客户端节点是否均衡,都能够较均衡地将业务处理请求发送到服务端节点,不会把网关的不均衡传导到服务端。
3、在客户端与服务端异步通讯的场景下,通讯过程不独占连接资源,因此客户端很难感知服务端的负载情况,客户端与服务端的连接数情况是服务端负载的关键因素。所以在客户端与服务端异步通讯的场景下,本发明对负载均衡的改进效果更佳。
为了避免客户端配置所有服务端节点的IP,实际实施时也可以使用虚拟化技术将服务器的IP虚拟化,通过虚拟化技术向客户端提醒虚拟IP也不是具体的实际IP,避免客户端与服务器的IP强关联,方便生产运维。
基于同一发明构思,本申请实施例还提供了一种多节点负载均衡装置,可以用于实现上述实施例所描述的方法,如下面的实施例所述。由于多节点负载均衡装置解决问题的原理与多节点负载均衡方法相似,因此多节点负载均衡装置的实施可以参见基于软件性能基准确定方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
一实施例中,参见图6,为了能够使服务器端连接数及客户端连接数均实现均衡,进而实现服务器端流量负载均衡,本申请提供一种多节点负载均衡装置,包括:处理请求接收单元601、连接比较单元602及连接建立单元603。
处理请求接收单元601,用于通过负载均衡硬件设备接收客户端节点的业务处理请求;所述业务处理请求包括建立连接请求及报文处理请求;
连接比较单元602,用于比较当前连接的客户端节点数与允许的最大连接数;
连接建立单元603,用于在所述当前连接的客户端节点数小于所述允许的最大连接数时,建立与所述客户端节点的连接并对所述报文处理请求进行处理。
一实施例中,参见图7,连接建立单元603,包括:握手启动模块701、连接建立模块702及报文请求处理模块703。
握手启动模块701,用于接受所述建立连接请求,并启动通讯握手流程;
连接建立模块702,用于若通讯握手成功,则建立与所述客户端节点的连接;
报文请求处理模块703,用于若所述连接被所述客户端节点选定,则处理所述报文处理请求。
一实施例中,参见图8,多节点负载均衡装置,还包括:连接数确定单元801及连接请求处理单元802。
连接数确定单元801,用于根据所述客户端节点被允许的服务器端连接数及当前客户端连接数确定是否与所述客户端节点建立连接;
连接请求处理单元802,用于若所述当前客户端连接数小于所述客户端节点被允许的服务器端连接数,则接受所述建立连接请求。
一实施例中,所述的多节点负载均衡装置,还包括:
连接存储单元,用于若所述建立连接请求被成功处理,则将建立成功的连接存储至长连接池。
一实施例中,参见图9,本申请提供一种多节点负载均衡装置,包括:处理请求发送单元901及连接选取单元902。
处理请求发送单元901,用于向负载均衡硬件设备发起业务处理请求,以使所述负载均衡硬件设备向任一服务端节点发送所述业务处理请求;所述业务处理请求包括建立连接请求及报文处理请求;
连接选取单元902,用于若接收到所述服务端节点发送的连接成功消息,利用预设的随机算法从连接的所有服务端节点中选取一个服务端节点进行所述业务处理请求处理。
一实施例中,参见图10,连接选取单元902,包括:初始随机数确定模块1001、更新随机数确定模块1002、连接编号确定模块1003及报文请求处理1004。
初始随机数确定模块1001,用于利用随机函数生成初始随机数;
更新随机数确定模块1002,用于根据所述初始随机数及预设的放大倍数确定更新随机数;
连接编号确定模块1003,用于根据当前连接的服务端节点数及所述更新随机数确定被选取的连接编号;
报文请求处理模块1004,用于根据所述连接编号选取对应的连接,以执行所述报文处理请求。
一实施例中,所述的多节点负载均衡装置,还包括:
报文请求处理单元,用于根据待办业务类型向对应的服务端节点发起所述建立连接请求,以使所述服务端节点执行所述报文处理请求。
从硬件层面来说,为了能够使服务器端连接数及客户端连接数均实现均衡,进而实现服务器端流量负载均衡,本申请提供一种用于实现所述多节点负载均衡方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:
处理器(Processor)、存储器(Memory)、通讯接口(Communications Interface)和总线;其中,所述处理器、存储器、通讯接口通过所述总线完成相互间的通讯;所述通讯接口用于实现所述多节点负载均衡装置与核心业务系统、用户终端以及相关数据库等相关设备之间的信息传输;该逻辑控制器可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该逻辑控制器可以参照实施例中的多节点负载均衡方法的实施例,以及多节点负载均衡装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
可以理解的是,所述用户终端可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、台式电脑、个人数字助理(PDA)、车载设备、智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表、智能手环等。
在实际应用中,多节点负载均衡方法的部分可以在如上述内容所述的电子设备侧执行,也可以所有的操作都在所述客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器。
上述的客户端设备可以具有通讯模块(即通讯单元),可以与远程的服务器进行通讯连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通讯链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。
图11为本申请实施例的电子设备9600的系统构成的示意框图。如图11所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图11是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
一实施例中,多节点负载均衡方法功能可以被集成到中央处理器9100中。其中,中央处理器9100可以被配置为进行如下控制:
S101:通过负载均衡硬件设备接收客户端节点的业务处理请求;业务处理请求包括建立连接请求及报文处理请求;
S102:比较当前连接的客户端节点数与允许的最大连接数;
S103:若当前连接的客户端节点数小于允许的最大连接数,则建立与客户端节点的连接并对报文处理请求进行处理。
从上述描述可知,本申请提供的多节点负载均衡方法,能够在客服通讯双方都存在多节点的情况下,通过改进客户端节点与服务端节点之间的交互通讯方式,使每个客户端节点与每个服务端节点之间都建立相同数量的连接,使服务器端连接数及客户端连接数均实现均衡,进而实现服务器端流量负载均衡。
在另一个实施方式中,多节点负载均衡装置可以与中央处理器9100分开配置,例如可以将数据复合传输装置多节点负载均衡装置配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现多节点负载均衡方法的功能。
如图11所示,该电子设备9600还可以包括:通讯模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图11中所示的所有部件;此外,电子设备9600还可以包括图11中没有示出的部件,可以参考现有技术。
如图11所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通讯功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通讯模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通讯模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通讯终端的情况相同。
基于不同的通讯技术,在同一电子设备中,可以设置有多个通讯模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通讯模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
本申请的实施例还提供能够实现上述实施例中的执行主体为服务器或客户端的多节点负载均衡方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的多节点负载均衡方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
S101:通过负载均衡硬件设备接收客户端节点的业务处理请求;业务处理请求包括建立连接请求及报文处理请求;
S102:比较当前连接的客户端节点数与允许的最大连接数;
S103:若当前连接的客户端节点数小于允许的最大连接数,则建立与客户端节点的连接并对报文处理请求进行处理。
从上述描述可知,本申请提供的多节点负载均衡方法,能够在客服通讯双方都存在多节点的情况下,通过改进客户端节点与服务端节点之间的交互通讯方式,使每个客户端节点与每个服务端节点之间都建立相同数量的连接,使服务器端连接数及客户端连接数均实现均衡,进而实现服务器端流量负载均衡。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (12)
1.一种多节点负载均衡方法,其特征在于,包括:
接收客户端节点的业务处理请求;所述业务处理请求包括建立连接请求及报文处理请求;所述建立连接请求先于所述报文处理请求接收;
比较当前连接的客户端节点数与允许的最大连接数;
若所述当前连接的客户端节点数小于所述允许的最大连接数,则建立与所述客户端节点的连接并对所述报文处理请求进行处理。
2.根据权利要求1所述的多节点负载均衡方法,其特征在于,所述建立与所述客户端节点的连接并对所述报文处理请求进行处理,包括:
接受所述建立连接请求,并启动通讯握手流程;
若通讯握手成功,则建立与所述客户端节点的连接;
若所述连接被所述客户端节点选定,则处理所述报文处理请求。
3.根据权利要求1所述的多节点负载均衡方法,其特征在于,还包括:
根据所述客户端节点被允许的服务器端连接数及当前客户端连接数确定是否与所述客户端节点建立连接;
若所述当前客户端连接数小于所述客户端节点被允许的服务器端连接数,则接受所述建立连接请求。
4.根据权利要求3所述的多节点负载均衡方法,其特征在于,还包括:
若所述建立连接请求被成功处理,则将建立成功的连接存储至长连接池。
5.一种多节点负载均衡方法,其特征在于,包括:
发起业务处理请求,以使任一服务端节点接收所述业务处理请求;所述业务处理请求包括建立连接请求及报文处理请求;所述建立连接请求先于所述报文处理请求发送;
若接收到所述服务端节点发送的连接成功消息,利用预设的随机算法从所有连接中选取一个连接进行所述业务处理请求处理。
6.根据权利要求5所述的多节点负载均衡方法,其特征在于,所述利用预设的随机算法从所有连接中选取一个连接进行所述业务处理请求处理,包括:
利用随机函数生成初始随机数;
根据所述初始随机数及预设的放大倍数确定更新随机数;
根据当前连接的服务端节点数及所述更新随机数确定被选取的连接编号;
根据所述连接编号选取对应的连接,以执行所述报文处理请求。
7.根据权利要求5所述的多节点负载均衡方法,其特征在于,还包括:
根据待办业务类型向对应的服务端节点发起所述建立连接请求,以使所述服务端节点执行所述报文处理请求;所述建立连接请求先于所述报文处理请求发送。
8.一种多节点负载均衡装置,其特征在于,包括:
处理请求接收单元,用于通过负载均衡硬件设备接收客户端节点的业务处理请求;所述业务处理请求包括建立连接请求及报文处理请求;
连接比较单元,用于比较当前连接的客户端节点数与允许的最大连接数;
连接建立单元,用于在所述当前连接的客户端节点数小于所述允许的最大连接数时,建立与所述客户端节点的连接并对所述报文处理请求进行处理。
9.一种多节点负载均衡装置,其特征在于,包括:
处理请求发送单元,用于向负载均衡硬件设备发起业务处理请求,以使所述负载均衡硬件设备向任一服务端节点发送所述业务处理请求;所述业务处理请求包括建立连接请求及报文处理请求;
连接选取单元,用于若接收到所述服务端节点发送的连接成功消息,利用预设的随机算法从连接的所有服务端节点中选取一个服务端节点进行所述业务处理请求处理。
10.一种电子设备,包括存储器、处理器及存储在存储器上并在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至7任一项所述的多节点负载均衡方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7任一项所述的多节点负载均衡方法的步骤。
12.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至7任一项所述的多节点负载均衡方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210434152.7A CN114710496B (zh) | 2022-04-24 | 2022-04-24 | 一种多节点负载均衡方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210434152.7A CN114710496B (zh) | 2022-04-24 | 2022-04-24 | 一种多节点负载均衡方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114710496A true CN114710496A (zh) | 2022-07-05 |
CN114710496B CN114710496B (zh) | 2024-05-14 |
Family
ID=82175347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210434152.7A Active CN114710496B (zh) | 2022-04-24 | 2022-04-24 | 一种多节点负载均衡方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114710496B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117076057A (zh) * | 2023-10-18 | 2023-11-17 | 成都阿加犀智能科技有限公司 | 一种ai服务请求调度的方法、装置、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101720136A (zh) * | 2009-11-27 | 2010-06-02 | 成都市华为赛门铁克科技有限公司 | 客户端邻居节点数目控制方法和装置、缓存系统 |
CN105763634A (zh) * | 2016-04-14 | 2016-07-13 | 北京思特奇信息技术股份有限公司 | 一种基于tcp长连接的服务实现方法和装置 |
CN110233860A (zh) * | 2018-03-05 | 2019-09-13 | 杭州萤石软件有限公司 | 一种负载均衡方法、装置和系统 |
CN112671695A (zh) * | 2019-10-16 | 2021-04-16 | 上海擎感智能科技有限公司 | 同一源ip访问连接数限制方法、系统、介质及装置 |
CN112751898A (zh) * | 2019-10-31 | 2021-05-04 | 贵州白山云科技股份有限公司 | 负载均衡方法、装置、介质及设备 |
CN113810304A (zh) * | 2021-09-30 | 2021-12-17 | 深圳前海微众银行股份有限公司 | 一种负载均衡方法、装置、设备和计算机存储介质 |
-
2022
- 2022-04-24 CN CN202210434152.7A patent/CN114710496B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101720136A (zh) * | 2009-11-27 | 2010-06-02 | 成都市华为赛门铁克科技有限公司 | 客户端邻居节点数目控制方法和装置、缓存系统 |
CN105763634A (zh) * | 2016-04-14 | 2016-07-13 | 北京思特奇信息技术股份有限公司 | 一种基于tcp长连接的服务实现方法和装置 |
CN110233860A (zh) * | 2018-03-05 | 2019-09-13 | 杭州萤石软件有限公司 | 一种负载均衡方法、装置和系统 |
CN112671695A (zh) * | 2019-10-16 | 2021-04-16 | 上海擎感智能科技有限公司 | 同一源ip访问连接数限制方法、系统、介质及装置 |
CN112751898A (zh) * | 2019-10-31 | 2021-05-04 | 贵州白山云科技股份有限公司 | 负载均衡方法、装置、介质及设备 |
CN113810304A (zh) * | 2021-09-30 | 2021-12-17 | 深圳前海微众银行股份有限公司 | 一种负载均衡方法、装置、设备和计算机存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117076057A (zh) * | 2023-10-18 | 2023-11-17 | 成都阿加犀智能科技有限公司 | 一种ai服务请求调度的方法、装置、设备及介质 |
CN117076057B (zh) * | 2023-10-18 | 2024-01-26 | 成都阿加犀智能科技有限公司 | 一种ai服务请求调度的方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114710496B (zh) | 2024-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020011154A1 (zh) | 区块链透明分片方法、装置及系统 | |
CN111031058A (zh) | 基于WebSocket的分布式服务器集群交互方法及装置 | |
US10491535B2 (en) | Adaptive data synchronization | |
US11172530B2 (en) | Communication establishment method and terminal | |
EP3547715A1 (en) | Method and apparatus for reducing continuous-wakeup delay of bluetooth loudspeaker, and bluetooth loudspeaker | |
US11489686B2 (en) | Virtual meetings in ad-hoc networks | |
CN109586929B (zh) | 会议内容的传输方法及装置、电子设备、存储介质 | |
CN111679790B (zh) | 远程软件开发存储空间分配方法及装置 | |
CN111510493B (zh) | 分布式数据传输方法及装置 | |
CN111767558B (zh) | 数据访问监控方法、装置及系统 | |
CN111445331A (zh) | 交易撮合方法及装置 | |
CN112954059A (zh) | 计算能力共享方法及共享系统、存储介质 | |
CN113055483A (zh) | 消息中间件数据处理方法、装置及系统 | |
CN113382065A (zh) | 文件下载方法、装置、系统、设备及存储介质 | |
CN114710496B (zh) | 一种多节点负载均衡方法及装置 | |
US11659012B2 (en) | Relayed communication channel establishment | |
CN112235378B (zh) | 数据更新方法、装置、存储介质及电子设备 | |
CN117311794A (zh) | 基于灰度发布的服务处理方法及装置 | |
CN111782366A (zh) | 一种分布式任务调度方法及装置 | |
US20180183741A1 (en) | Multimedia file adaption across different communication platforms | |
CN114374614B (zh) | 网络拓扑配置方法及装置 | |
CN113726881B (zh) | 通信连接建立方法、相关装置及计算机可读存储介质 | |
CN116389454A (zh) | 数据下载系统 | |
CN115205009A (zh) | 基于虚拟技术的开户业务处理方法及装置 | |
CN114697339A (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 |