CN113438301B - 网络负载均衡器、请求消息分配方法、程序产品及系统 - Google Patents

网络负载均衡器、请求消息分配方法、程序产品及系统 Download PDF

Info

Publication number
CN113438301B
CN113438301B CN202110695011.6A CN202110695011A CN113438301B CN 113438301 B CN113438301 B CN 113438301B CN 202110695011 A CN202110695011 A CN 202110695011A CN 113438301 B CN113438301 B CN 113438301B
Authority
CN
China
Prior art keywords
request message
connection information
intermediate chip
chip
connection
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
CN202110695011.6A
Other languages
English (en)
Other versions
CN113438301A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202110695011.6A priority Critical patent/CN113438301B/zh
Publication of CN113438301A publication Critical patent/CN113438301A/zh
Priority to US17/671,484 priority patent/US20220407916A1/en
Priority to EP22156714.2A priority patent/EP3993366B1/en
Priority to JP2022050194A priority patent/JP7384952B2/ja
Priority to KR1020220037793A priority patent/KR20220046525A/ko
Application granted granted Critical
Publication of CN113438301B publication Critical patent/CN113438301B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/50Overload detection or protection within a single switching element
    • H04L49/501Overload detection
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/109Integrated on microchip, e.g. switch-on-chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7825Globally asynchronous, locally synchronous, e.g. network on chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/60Router architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3063Pipelined operation
    • 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/1014Server selection for load balancing based on the content of a request
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Abstract

本公开提供的网络负载均衡器、请求消息分配方法、程序产品及系统,涉及云计算技术,包括:网口,用于接收请求消息,将请求消息转发至第一个中间芯片;每一中间芯片,用于若未查询到与请求消息匹配的连接信息,则将请求消息转发至与当前中间芯片连接的下一个中间芯片;若查询到与请求消息匹配的连接信息,则根据连接信息将请求消息发送至后台服务器。本公开提供的方案中,将一部分请求消息的处理过程转移到中间芯片处理,从而通过硬件直接处理请求消息,提升网络负载均衡器的性能。

Description

网络负载均衡器、请求消息分配方法、程序产品及系统
技术领域
本公开涉及计算机技术中的云计算技术,尤其涉及一种网络负载均衡器、请求消息分配方法、程序产品及系统。
背景技术
网络负载均衡器是云计算数据中心的基础网络设施,负责把海量的网络请求平均分发到多台后端服务器上,从而提升后端服务器集群的整体处理能力。
在典型的互联网服务系统架构中,网络负载均衡器是网络服务流量的入口,所有的网络服务请求都会经过网络负载均衡器进行转发,这给网络负载均衡器的性能带来了很大的挑战。如果单台网络负载均衡器性能无法满足需求,就需要同时部署多台网络负载均衡器进行并行处理。
但是,部署多台网络负载均衡器会提高系统的成本,而且单台网络负载均衡器的处理性能较低,若其中单台网络负载均衡器的处理能力饱和,则很容易造成丢包的问题,进而影响网络服务质量。
发明内容
本公开提供了一种网络负载均衡器、请求消息分配方法、程序产品及系统,以提高网络负载均衡器的处理性能。
根据本公开的第一方面,提供了一种网络负载均衡器,包括:网口、N个中间芯片;所述N个中间芯片依次连接;所述网口与所述N个中间芯片中的第一个中间芯片连接;N为大于等于1的正整数;
所述网口,用于接收请求消息,并将所述请求消息转发至所述第一个中间芯片;
每一所述中间芯片,用于若未查询到与所述请求消息匹配的连接信息,则将所述请求消息转发至与当前中间芯片连接的下一个中间芯片;若查询到与所述请求消息匹配的连接信息,则根据所述连接信息将所述请求消息发送至后台服务器。
根据本公开的第二方面,提供了一种请求消息的分配方法,所述方法应用于网络负载均衡器,所述网络负载均衡器包括:网口、N个中间芯片;所述N个中间芯片依次连接;所述网口与所述N个中间芯片中的第一个中间芯片连接;N为大于等于1的正整数;所述方法包括:
所述网口接收请求消息,并将所述请求消息转发至所述第一个中间芯片;
所述中间芯片若未查询到与所述请求消息匹配的连接信息,则将所述请求消息转发至与当前中间芯片连接的下一个中间芯片;所述中间芯片若查询到与所述请求消息匹配的连接信息,则根据所述连接信息将所述请求消息发送至后台服务器。
根据本公开的第三方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行如第二方面所述的方法。
根据本公开的第四方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序,所述计算机程序存储在可读存储介质中,网络负载均衡器的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得网络负载均衡器执行第二方面所述的方法。
根据本公开的第五方面,提供了一种服务系统,包括:如第一方面所述的网络负载均衡器、集群服务器,所述集群服务器中包括后台服务器;
所述网络负载均衡器用于接收用户终端发送的请求消息,并在所述集群服务器中确定用于处理所述请求消息的目标后台服务器;
所述网络负载均衡器还用于向所述目标后台服务器发送所述请求消息。
本公开提供的网络负载均衡器、请求消息分配方法、程序产品及系统,包括:网口、N个中间芯片;N个中间芯片依次连接;网口与N个中间芯片中的第一个中间芯片连接;N为大于等于1的正整数;网口,用于接收请求消息,并将请求消息转发至第一个中间芯片;每一中间芯片,用于若未查询到与请求消息匹配的连接信息,则将请求消息转发至与当前中间芯片连接的下一个中间芯片;若查询到与请求消息匹配的连接信息,则根据连接信息将请求消息发送至后台服务器。本公开提供的方案中,将请求消息的处理过程转移到中间芯片处理,从而通过硬件直接处理请求消息,以提升整个网络负载均衡器的性能。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1为本公开一示例性实施例示出的云服务系统架构图;
图2为本公开一示例性实施例示出的网络负载均衡器的结构示意图;
图3为本公开一示例性实施例示出的网络负载均衡器对请求消息进行处理的流程示意图;
图4为本公开一示例性实施例示出的中间芯片查询连接信息的流程示意图;
图5为本公开另一示例性实施例示出的网络负载均衡器对请求消息进行处理的流程示意图;
图6为本公开第一示例性实施例示出的对请求消息进行处理的示意图;
图7为本公开第二示例性实施例示出的对请求消息进行处理的示意图;
图8为本公开第三示例性实施例示出的对请求消息进行处理的示意图;
图9为本公开第四示例性实施例示出的网络负载均衡器对请求消息进行处理的示意图;
图10为本公开第五示例性实施例示出的网络负载均衡器对请求消息进行处理的示意图;
图11为本公开第六示例性实施例示出的网络负载均衡器对请求消息进行处理的示意图;
图12为本公开第七示例性实施例示出的网络负载均衡器对请求消息进行处理的示意图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1为本公开一示例性实施例示出的云服务系统架构图。
如图1所示,在云服务系统架构中,可以设置有多台后台服务器11,这些后台服务器11能够对用户终端12发送的请求进行处理,并反馈处理结果,从而对外提供服务。
由于设置有多台服务器11对外提供服务,当用户终端12发送请求消息后,就需要通过网络负载均衡器13将请求消息分发至某一台后台服务器11中,从而均衡各后台服务器11所处理的请求消息。
目前云数据中心广泛采用基于普通服务器的软件负载均衡器,单台设备的性能为10G~100G,随着云计算业务的发展,云数据中心内、数据中心间服务访问带来的网络流量越来越大,流量带宽通常达到Tbps(兆)级别。而单台网络负载均衡器显然无法满足带宽需求,因此,单个服务器集群需要部署数十台甚至数百台网络负载均衡器,如果部署有多个服务器集群,甚至会耗费数千台机器。
通过简单增加网络负载均衡器解决流量增大的问题,会引发较多的新问题。首先是成本问题,占用大量机器会带来高额的成本开销;其次是运维问题,部署的机器数量越多,运维难度越大。最后是服务质量问题,由于单台设备处理性能较低,网络中突发流量很容易将单台设备处理能力打满,造成丢包,影响网络服务质量。所以提升单台网络负载均衡器的性能对于解决负载均衡业务的成本、运维、服务质量等问题都有重要意义。
为了解决上述技术问题,本公开提供的方案中,在网络负载均衡器中设置有N个中间芯片,通过这些中间芯片先对请求消息进行处理,在中间芯片查询请求消息的连接信息失败时,再由处理器对请求消息进行处理,以降低处理器的处理压力,从而从整体上提高网络负载均衡器的处理性能。
图2为本公开一示例性实施例示出的网络负载均衡器的结构示意图。
如图2所示,本公开提供的网络负载均衡器中包括网口21、N个中间芯片221-22N。
其中,各中间芯片依次连接。网口21与N个中间芯片中的第一个中间芯片221连接。N为大于或等于1的整数。
当N为1时,第一个中间芯片与最后一个中间芯片为同一个中间芯片。
图3为本公开一示例性实施例示出的网络负载均衡器对请求消息进行处理的流程示意图。
如图3所示,基于本公开提供的网络负载均衡器对请求消息进行处理时,具体的流程包括:
步骤301,通过网口接收请求消息,并将请求消息转发至第一个中间芯片。
其中,网络负载均衡器中的网口用于接收请求消息。用户终端可以通过网络发送请求消息,该请求消息用于访问网络服务。提供该网络服务的服务系统中可以设置有本公开提供的网络负载均衡器,进而可以由该网络负载均衡器接收用户终端的请求消息,具体由网络负载均衡器的网口接收该请求消息。
具体的,网络负载均衡器的网口还用于将请求消息转发至N个中间芯片中的第一个中间芯片,从而由第一个中间芯片先对请求消息进行处理。
步骤302,中间芯片若未查询到与请求消息匹配的连接信息,则将请求消息转发至与当前中间芯片连接的下一个中间芯片;中间芯片若查询到与请求消息匹配的连接信息,则根据连接信息将请求消息发送至后台服务器。
每一中间芯片,用于若未查询到与请求消息匹配的连接信息,则将请求消息转发至与当前中间芯片连接的下一个中间芯片。
进一步的,第一个中间芯片接收到请求消息后,可以查询与该请求消息匹配的连接信息。若未查询到,则将请求消息转发至下一个中间芯片。
实际应用时,每个中间芯片中都可以设置连接信息,各中间芯片中的连接信息可以不同。连接信息中可以包括请求终端的地址信息,中间芯片可以根据这些信息在自身存储的匹配信息中查询与请求消息匹配的连接信息。
其中,中间芯片还用于若查询到与请求消息匹配的连接信息,则根据连接信息将请求消息发送至后台服务器。
因此,若中间芯片查询到与请求消息匹配的连接信息,则中间芯片可以根据该连接信息将请求消息发送至后台服务器。
具体的,网络负载均衡器可以和集群服务器连接。中间芯片确定的连接信息中可以包括后台服务器信息,比如包括后台服务器标识,进而使得中间芯片能够将请求消息发送到与该后台服务器标识对应的后台服务器中。
例如,中间芯片可以提取请求消息中包括的地址Address1,则中间芯片可以根据Address1在本地存储的连接信息中查询匹配的连接信息,比如可以查询到匹配的连接信息为信息1。则中间芯片可以获取信息1中包括的后台服务器标识1,并将请求消息发送至标识为1的后台服务器中,以使该后台服务器处理请求消息。
图4为本公开一示例性实施例示出的中间芯片查询连接信息的流程示意图。
如图4所示,第一个中间芯片221接收到请求消息后,可以查询与之匹配的连接信息,若查询失败,则可以将请求消息转发至下一个中间芯片222中,由中间芯片222继续对请求消息进行处理。
若中间芯片222在存储的连接信息中查询到与请求消息匹配的连接信息,则中间芯片222可以将请求消息转发到该连接信息指示的后台服务器23中。
在一种可选的实施方式中,网络负载均衡器还可以包括处理器,在各中间芯片中均没有查询到与请求消息匹配的连接信息时,N个中间芯片中的第一个中间芯片将请求消息转发至处理器,处理器用于将请求消息发送至后台服务器。
本公开提供的网络负载均衡器,包括:网口、N个中间芯片;N个中间芯片依次连接;网口与N个中间芯片中的第一个中间芯片连接;N为大于等于1的正整数;网口,用于接收请求消息,并将请求消息转发至第一个中间芯片;每一中间芯片,用于若未查询到与请求消息匹配的连接信息,则将请求消息转发至与当前中间芯片连接的下一个中间芯片;若查询到与请求消息匹配的连接信息,则根据连接信息将请求消息发送至后台服务器。本公开提供的网络负载均衡器,将请求消息的处理过程转移到中间芯片处理,从而通过硬件直接处理请求消息,以提升整个网络负载均衡器的性能。
图5为本公开另一示例性实施例示出的网络负载均衡器对请求消息进行处理的流程示意图。
一种可选的实施方式中,网络负载均衡器中还可以包括处理器。
如图5所示,基于本公开提供的网络负载均衡器对请求消息进行处理时,具体的流程包括:
步骤501,处理器获取全连接表中各连接信息的活跃度信息;处理器中设置有全连接表,全连接表中包括多个连接信息。
其中,本公开提供的方案中,网络负载均衡器中还可以设置处理器,设置的处理器中可以设置有全连接表,该全连接表中包括多个连接信息。
具体的,全连接表中可以存储全部的连接信息,其中包括各中间芯片中存储的连接信息。比如用户终端发送一个请求消息,处理器可以构建该请求消息对应的连接信息,并在连接结束后,处理器可以删除相应的连接信息。
进一步的,处理器可以获取全连接表中各连接信息的活跃度信息,一种实施方式中,针对特定已知业务类型的连接,处理器可以直接将其归类为某一类,比如归为活跃的连接,或者半活跃的连接。另一种实施方式中,连接刚开始的时候,处理器可以将其确定为不活跃连接,当处理器处理该连接的包数、字节数、持续时间等信息达到设定的半活跃连接阈值之后,将该连接确定为半活跃连接。若连接满足活跃连接的阈值,则处理器可以将其确定为活跃连接。
处理器可以获取每个连接信息的活跃度信息。
步骤502,处理器根据各连接信息的活跃度信息、各中间芯片的级别,将连接信息存储到中间芯片的连接表中。
实际应用时,各中间芯片的级别可以不同,不同级别的各中间芯片用于存储不同类型的连接信息。
相应的,处理器具体用于根据各连接信息的活跃度信息、各中间芯片的级别,将连接信息存储到中间芯片的连接表中。比如可以预先设置活跃度信息与芯片级别对应的关系,比如活跃度1与级别1对应,活跃度2与级别2对应,则处理器可以根据该对应关系,将连接信息存储到相应的中间芯片中。
实际应用时,若设置有两级中间芯片,则处理器可以将活跃度信息表征为活跃的连接信息,存储至第一级别的中间芯片的连接表中;将活跃度信息表征为半活跃的连接信息,存储至第二级别的中间芯片的连接表中。这种实施方式中,可以利用第一级别的中间芯片对活跃的连接进行处理,利用第二级别的中间芯片对不活跃的连接进行处理,从而使网络负载均衡器可以在第一级别的中间芯片就将活跃连接对应的请求消息处理掉,从而提高请求消息的处理速度。
第一级别的中间芯片可以N个中间芯片中的第一个中间芯片,其可以直接与网口连接,从而使请求消息能够从网口直接转发至第一级别的中间芯片,使得请求消息对应的连接为活跃连接时,该第一级别的中间芯片能够直接处理该请求消息。
第一级别的中间芯片可以用来存储活跃连接的连接信息,第二级别的中间芯片可以用来存储半活跃连接的连接信息,处理器可以存储全部的连接信息,其中包括不活跃的连接信息。
其中,若连接为活跃,则处理器可以将该连接的连接信息发送到第一级中间芯片,从而使第一级中间芯片将接收的连接信息存储在第一连接表中;若连接为半活跃,则处理器可以将该连接的连接信息发送到第二级中间芯片,从而使第二级中间芯片将接收的连接信息存储在第二连接表中。
这种实施方式中,可以基于连接的活跃度信息将各连接的信息分配到不同的中间芯片中,进而可以由不同的中间芯片对活跃度不同的请求消息进行处理,以提高处理速度。
这种实施方式中,处理器可以与各个中间芯片连接。
步骤503,通过网口接收请求消息,并将请求消息转发至第一个中间芯片。
步骤503与步骤301的实现方式和原理类似,不再赘述。
步骤504,中间芯片从请求消息中获取地址信息,并根据地址信息在当前中间芯片所存储的连接表中查询与请求消息匹配的连接信息。
其中,任一个中间芯片都可以对接收的请求消息进行处理,比如第一个中间芯片可以执行本步骤。
具体的,每个中间芯片中都可以存储连接信息,例如,每个中间芯片都可以设置连接表,通过连接表存储连接信息。
不同中间芯片中存储的连接信息也不同。每一中间芯片所存储的连接表与每一中间芯片一一对应,中间芯片所存储的连接表用于指示地址信息与连接信息之间的对应关系。
进一步的,中间芯片可以从请求消息中提取地址信息,进而根据地址信息在存储的连接表中查询与请求消息匹配的连接信息。
与所述请求消息匹配的连接信息用于指示接收请求消息的后台服务器,比如,连接信息中包括服务器标识信息,则中间芯片可以根据连接信息中的服务器标识信息,将请求消息转发至该服务器标识信息指示的服务器中。
通过设置连接信息,中间芯片和处理器能够根据连接信息确定用于处理请求消息的后台服务器,进而可以直接根据连接信息转发请求消息。
这种实施方式中,中间芯片能够通过请求消息中的地址在存储的连接表中确定匹配的连接信息,从而根据连接信息对请求消息进行处理,将其转发到后台服务器中,而无需将请求消息传送到处理器中,从而通过中间芯片分担处理器的处理压力,以提高网络负载均衡器的性能。
步骤505,中间芯片若未查询到与请求消息匹配的连接信息,则将请求消息转发至与当前中间芯片连接的下一个中间芯片。
步骤505与步骤302中转发请求消息的原理和实现方式类似,不再赘述。
步骤506,中间芯片若查询到与请求消息匹配的连接信息,则根据连接信息对请求消息进行转发处理,得到转发数据包。
其中,中间芯片若查询到匹配的连接信息,则中间芯片可以根据连接信息对请求消息进行转发处理。例如,将请求消息中的目的IP地址修改为后台服务器的地址,除此之外,中间芯片根据后台服务器的类型还可以做其他操作,比如有一些其他的数据包修改操作,例如如果后台服务器是虚拟机,则会对数据包进行VXLAN(Virtual eXtensible LocalArea Network,虚拟可扩展的局域网)封装的操作。
具体的,中间芯片对请求消息进行转发处理后,可以得到转发数据包。
步骤507,若中间芯片是N个中间芯片中的第一个中间芯片,则中间芯片通过网口将转发数据包发送至相应的后台服务器。
进一步的,若N个中间芯片中的第一个中间芯片确定出与请求消息匹配的连接信息,则该第一个中间芯片可以直接通过网口将转发数据包转发至后台服务器。
实际应用时,N个中间芯片中的第一个中间芯片可以与网口直接连接,因此,该第一个中间芯片能够直接通过网口发送转发数据包。其中,转发数据包中的目的地址可以是根据连接信息确定的后台服务器的地址,因此,该转发数据包能够被连接信息指示的后台服务器接收。
图6为本公开第一示例性实施例示出的对请求消息进行处理的示意图。
如图6所示,网络负载均衡器可以通过网口21接收用户终端61发送的请求消息,再将该请求消息转发到N个中间芯片中的第一个中间芯片221中,若第一个中间芯片221确定了与请求消息匹配的连接信息,则第一个中间芯片221可以生成转发数据包,并通过网口21将转发数据包发送给后台服务器23中。
步骤508,若中间芯片不是N个中间芯片中的第一个中间芯片,则中间芯片将转发数据包转发至与网口连接的中间芯片,再由与网口连接的中间芯片通过网口将转发数据包发送至后台服务器。
其中,若N个中间芯片中的非第一个中间芯片确定出与请求消息匹配的连接信息,则该中间芯片可以将转发数据包先发送到N个中间芯片中的第一个中间芯片中。由于该第一个中间芯片与网口直接连接,因此,可以由第一个中间芯片通过网口将转发数据包发送至后台服务器。
图7为本公开第二示例性实施例示出的对请求消息进行处理的示意图。
如图7所示,网络负载均衡器可以通过网口21接收用户终端61发送的请求消息,再将该请求消息转发到N个中间芯片中的第一个中间芯片221中,若第一个中间芯片221没有查询到与请求消息匹配的连接信息,则可以将请求消息转发给下一个中间芯片222,除了第一个中间芯片221外的任一中间芯片若查询出与请求消息匹配的连接信息,例如中间芯片222确定出匹配的连接信息,则中间芯片222可以生成转发数据包,并将转发数据包发送到第一个中间芯片221中,具体可以基于N个中间芯片的连接方式,逐级发送转发数据包,从而将转发数据包发送给第一个中间芯片221,使得第一个中间芯片221通过网口21将转发数据包发送给后台服务器23中。
这种实施方式中,由于网络负载均衡器通过网口与外界进行交互,而N个中间芯片中的第一个中间芯片与网口连接,因此,将转发数据包发送到第一个中间芯片,能够通过网口将该转发数据包转发到外部的后台服务器中。
在步骤505之后还可以执行步骤509。
步骤509,若N个中间芯片中的各中间芯片均未查询到与请求消息匹配的连接信息,则N个中间芯片中的第一个中间芯片将请求消息转发至处理器。
处理器用于将请求消息发送至后台服务器。
其中,随着中间芯片逐级的转发请求消息,若将请求消息转发至N个中间芯片中的最后一个中间芯片,则该最后一个中间芯片可以在存储的连接信息中查询与该请求消息匹配的连接信息。
各中间芯片中的最后一个中间芯片还用于若未查询到与请求消息匹配的连接信息,则说明各中间芯片都没有查询到与请求消息匹配的连接信息,此时,该请求消息可以被返回到第一个中间芯片中,进而通过第一个中间芯片将请求消息转发至处理器,处理器用于将请求消息发送至后台服务器。
一种实施方式中,可以直接由最后的一个中间芯片向第一个中间芯片发送该请求消息,从而使第一个中间芯片向处理器发送请求消息。另一种实施方式中,可以基于N个中间芯片的连接关系,逐级的发送请求消息,使得请求消息被发送到N个中间芯片的第一个中间芯片中。
具体的,若中间芯片没有查询到与请求消息匹配的连接信息,则中间芯片会向下一个中间芯片转发请求消息,因此,请求消息有可能被转发至最后一个中间芯片中。
进一步的,若请求消息被转发至最后一个中间芯片中,则可以认为此前的其他中间芯片中均没有与请求消息匹配的连接信息。
实际应用时,若最后一个中间芯片中也没有存储与请求消息匹配的连接信息,则可以认为各中间芯片中都没有与请求消息匹配的连接信息。因此,可以由第一个中间芯片将请求消息转发至网络负载均衡器的处理器中。
因此,若最后一个中间芯片没有查询到匹配的连接信息,则该最后一个中间芯片可以将请求消息发送到第一个中间芯片,再由第一个中间芯片将该请求消息发送到网络负载均衡器的处理器中,从而由处理器对该请求消息进行处理。
例如,网络负载均衡器接收的是一个新的请求消息,则各中间芯片中都不会存储该请求消息的连接信息,因此,该请求消息最终会被转发到处理器中。
图8为本公开第三示例性实施例示出的对请求消息进行处理的示意图。
如图8所示,第一个中间芯片221接收到请求消息后,可以查询与之匹配的连接信息,若查询失败,则可以将请求消息转发至下一个中间芯片222中,由中间芯片222继续对请求消息进行处理。
若中间芯片222也没有在存储的连接信息中查询到与请求消息匹配的连接信息,则该中间芯片222会再次向下一个中间芯片转发请求消息,若各中间芯片221-(22N-1)都没有存储与请求消息匹配的连接信息,则该请求消息会被转发到各中间芯片中的最后一个中间芯片22N中。
其中,最后一个中间芯片22N可以继续执行查询连接信息的步骤,若该最后一个中间芯片22N中也没有存储与请求消息匹配的连接信息,则中间芯片22N可以将请求消息发送回第一个中间芯片221,再由第一个中间芯片221将请求消息转发到处理器24中,从而使处理器24对求消息进行处理,将其发送至后台服务器23。
通过这种实施方式中,若中间芯片中存储有请求消息的连接信息,则中间芯片可以根据连接信息将请求消息发送至后台服务器,因此可以降低处理器对请求消息的处理数量,进而可以降低处理器对请求消息的处理压力,从整体提高网络负载均衡器的处理性能。
步骤510,处理器在存储的全连接表中查询与请求消息匹配的连接信息。
其中,处理器中可以存储全连接表,全连接表中包括多个连接信息,因此,处理器可以在全连接表中查询与请求消息匹配的连接信息。具体可以从请求消息中获取地址信息,并根据地址信息在处理器所存储的全连接表中查询与请求消息匹配的连接信息。
步骤511,处理器根据查询到的与请求消息匹配的连接信息,将请求消息发送至后台服务器。
具体的,处理器在将请求消息发送至后台服务器时,具体可以根据连接信息对请求消息进行转发处理,得到转发数据包;将转发数据包发送给与网口连接的中间芯片,再由与网口连接的中间芯片通过网口将转发数据包发送至后台服务器。
若处理器查询到与请求消息匹配的连接信息,则该处理器可以根据连接信息将请求消息转发到后台服务器,从而使后台服务器能够对该请求消息进行处理。
这种实施方式中,若各中间芯片中都没有存储与请求消息匹配的连接信息,则可以由处理器在全连接表中查询请求消息匹配的连接信息,这种实施方式中,能够降低处理器处理请求消息的数量,进而提高处理器的处理性能。
进一步的,由于网络负载均衡器通过网口与外界进行交互,而N个中间芯片中的第一个中间芯片与网口连接,因此,将转发数据包发送到第一个中间芯片,能够通过网口将该转发数据包转发到外部的后台服务器中。步骤512,若处理器未查询到与请求消息匹配的连接信息,则根据请求消息创建连接信息,并基于预设均衡调度规则确定连接信息中包括的后台服务器信息。
一种可选的实施方式中,若处理器在全连接表中也没有查询到与请求消息匹配的连接信息,则说明网络负载均衡器中没有存储请求消息对应的连接信息,因此,处理器可以创建与该请求消息对应的连接信息。从而在网络负载均衡器再次接收到相应的请求消息时,能够基于与其对应的连接信息将该请求消息转发到后台服务器,以提高请求消息的处理速度。
其中,处理器还可以基于预先设置的均衡调度规则,确定该请求消息对应的后台服务器的信息,从而在该请求消息的连接信息中存储确定的后台服务器信息,后台服务器信息例如可以是后台服务器的标识。比如,可以根据各后台服务器中处理的请求消息的数量,为当前的请求消息分配后台服务器。
步骤513,将新创建的连接信息存储到全连接表中。
进一步的,处理器还可以将新建的连接信息存储到全连接表中。
在一种可选的实施方式中,网络负载均衡器中可以设置有两个中间芯片,第一级中间芯片与网口连接,第一级中间芯片为可编程交换芯片,第二级中间芯片为现场可编程门阵列FPGA芯片。
在这种系统架构中,把连接信息存储到可编程交换芯片和FPGA的连接表中,使数据包在硬件中完成连接匹配之后直接转发,从而减轻网络负载均衡器的压力,提升系统的整体性能。这种方式能够利用可编程交换芯片和FPGA芯片组成的两级连接表进行快速的数据包处理,提升网络负载均衡器的处理性能。
一种可选的实施方式中,在创建了新的连接后,处理器还可以继续监控该新连接的活跃度信息,进而可以在新连接的活跃度信息变更时,根据新连接的活跃度信息将其分配到中间芯片中。
下面以一详细实施例说明本方案,具体以网络负载均衡器中设置有可编程交换芯片、FPGA芯片进行举例说明。
图9为本公开第四示例性实施例示出的网络负载均衡器对请求消息进行处理的示意图。
如图9所示,在网络负载均衡器中没有存储请求消息对应的连接信息时,请求消息从网口进入可编程交换芯片后,由于可编程交换芯片中不存在与该请求消息匹配的连接信息,则可编程交换芯片将请求消息发送到FPGA芯片中,由于FPGA芯片中也不存在与该请求消息匹配的连接信息,则FPGA芯片可以将请求消息返回到可编程交换芯片中,通过可编程交换芯片向处理器CPU发送请求消息,由于CPU中也不存在与该请求消息匹配的连接信息,则CPU可以生成与该请求消息匹配的连接信息,并确定与该连接信息对应的后台服务器,并由可编程交换芯片将该请求消息通过网口发送至后台服务器。
图10为本公开第五示例性实施例示出的网络负载均衡器对请求消息进行处理的示意图。
如图10所示,CPU可以根据各个连接信息的活跃度信息,将连接信息卸载到可编程交换芯片和FPGA芯片中。具体可以将活跃连接卸载至可编程交换芯片,将半活跃连接卸载至FPGA芯片。对于不活跃的连接,CPU不对其进行卸载。
图11为本公开第三示例性实施例示出的网络负载均衡器对请求消息进行处理的示意图。
如图11所示,假设网络负载均衡器接收的请求消息对应的连接信息存储在可编程交换芯片中。网络负载均衡器接收的请求消息可以从网口转发至可编程交换芯片,再由可编程交换芯片根据该请求消息匹配的连接信息将请求消息转发至后台服务器。
图12为本公开第七示例性实施例示出的网络负载均衡器对请求消息进行处理的示意图。
如图12所示,假设网络负载均衡器接收的请求消息对应的连接信息存储在FPGA芯片中。网络负载均衡器接收的请求消息可以从网口转发至可编程交换芯片,再由可编程交换芯片转发至FPGA芯片,由FPGA芯片根据该请求消息匹配的连接信息将请求消息转发至后台服务器。具体可以通过可编程交换芯片以及网口,将请求消息转发到后台服务器中。
本公开一实施例中,还提供一种请求消息的分配方法,所述方法应用于网络负载均衡器,所述网络负载均衡器包括:网口、N个中间芯片;所述N个中间芯片依次连接;所述网口与所述N个中间芯片中的第一个中间芯片连接;N为大于等于1的正整数;所述方法包括:
所述网口接收请求消息,并将所述请求消息转发至所述第一个中间芯片;
所述中间芯片若未查询到与所述请求消息匹配的连接信息,则将所述请求消息转发至与当前中间芯片连接的下一个中间芯片;所述中间芯片若查询到与所述请求消息匹配的连接信息,则根据所述连接信息将所述请求消息发送至后台服务器。
本公开另一实施例中,所述网络负载均衡器中还包括处理器,所述方法还包括:
若各中间芯片均未查询到与所述请求消息匹配的连接信息,则所述N个中间芯片中的第一个中间芯片,将所述请求消息转发至所述处理器,所述处理器将所述请求消息发送至后台服务器。
本公开另一实施例中,所述处理器将所述请求消息发送至后台服务器,包括:
在存储的全连接表中查询与所述请求消息匹配的连接信息;
根据查询到的与所述请求消息匹配的连接信息,将所述请求消息发送至后台服务器。
本公开另一实施例中,请求消息的分配方法还包括:
所述中间芯片从所述请求消息中获取地址信息,并根据所述地址信息在当前中间芯片所存储的连接表中查询与所述请求消息匹配的连接信息;
其中,每一所述中间芯片所存储的连接表与每一所述中间芯片一一对应,所述中间芯片所存储的连接表用于指示地址信息与连接信息之间的对应关系。
其中,所述网络负载均衡器中还包括处理器,所述处理器中设置有全连接表,所述全连接表中包括多个连接信息;所述方法还包括:
所述处理器获取所述全连接表中各连接信息的活跃度信息;
所述处理器根据各连接信息的活跃度信息、各所述中间芯片的级别,将连接信息存储到所述中间芯片的连接表中。
其中,所述处理器根据各连接信息的活跃度信息、各所述中间芯片的级别,将连接信息存储到所述中间芯片的连接表中,包括:
所述处理器将活跃度信息表征为活跃的连接信息,存储至第一级别的中间芯片的连接表中;
所述处理器将活跃度信息表征为半活跃的连接信息,存储至第二级别的中间芯片的连接表中。
其中,与所述请求消息匹配的连接信息用于指示接收请求消息的后台服务器。
其中,所述方法还包括:
若所述处理器未查询到与所述请求消息匹配的连接信息,则根据所述请求消息创建连接信息,并基于预设均衡调度规则确定所述连接信息中包括的后台服务器信息;
所述处理器将新创建的连接信息存储到全连接表中。
其中,所述中间芯片根据所述连接信息将所述请求消息发送至后台服务器,包括:
所述中间芯片根据所述连接信息对所述请求消息进行转发处理,得到转发数据包;
若所述中间芯片是N个中间芯片中的第一个中间芯片,则所述中间芯片通过所述网口将所述转发数据包发送至后台服务器;
若所述中间芯片不是N个中间芯片中的第一个中间芯片,则所述中间芯片将所述转发数据包转发至N个中间芯片中的第一个中间芯片,再由第一个中间芯片通过所述网口将所述转发数据包发送至后台服务器。
其中,所述将所述请求消息发送至后台服务器,包括:
根据所述连接信息对所述请求消息进行转发处理,得到转发数据包;
将所述转发数据包发送给与所述网口连接的中间芯片,再由与所述网口连接的中间芯片通过所述网口将所述转发数据包发送至后台服务器。
本公开还提供一种服务系统,包括:如上任一项网络负载均衡器、集群服务器,所述集群服务器中包括后台服务器;
所述网络负载均衡器用于接收用户终端发送的请求消息,并在所述集群服务器中确定用于处理所述请求消息的目标后台服务器;
所述网络负载均衡器还用于向所述目标后台服务器发送所述请求消息。
本公开提供一种网络负载均衡器、请求消息分配方法、程序产品及系统,应用于计算机技术中的云计算技术。
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行如上所述的任一种方法。
根据本公开的实施例,本公开还提供了一种计算机程序产品,计算机程序产品包括:计算机程序,计算机程序存储在可读存储介质中,网络负载均衡器的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得网络负载均衡器执行上述任一实施例提供的方案。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (21)

1.一种网络负载均衡器,包括:网口、N个中间芯片;所述N个中间芯片依次连接;所述网口与所述N个中间芯片中的第一个中间芯片连接;N为大于等于1的正整数;
所述网口,用于接收请求消息,并将所述请求消息转发至所述第一个中间芯片;
每一所述中间芯片,用于若未查询到与所述请求消息匹配的连接信息,则将所述请求消息转发至与当前中间芯片连接的下一个中间芯片;若查询到与所述请求消息匹配的连接信息,则根据所述连接信息将所述请求消息发送至后台服务器;
每一所述中间芯片,具体用于:
从所述请求消息中获取地址信息,并根据所述地址信息在当前中间芯片所存储的连接表中查询与所述请求消息匹配的连接信息;
其中,每一所述中间芯片所存储的连接表与每一所述中间芯片一一对应,所述中间芯片所存储的连接表用于指示地址信息与连接信息之间的对应关系。
2.根据权利要求1所述的网络负载均衡器,还包括处理器,
所述N个中间芯片中的第一个中间芯片,用于若各中间芯片均未查询到与所述请求消息匹配的连接信息,则将所述请求消息转发至所述处理器,所述处理器用于将所述请求消息发送至后台服务器。
3.根据权利要求2所述的网络负载均衡器,其中,所述处理器在将所述请求消息发送至后台服务器时,具体用于:
在存储的全连接表中查询与所述请求消息匹配的连接信息;
根据查询到的与所述请求消息匹配的连接信息,将所述请求消息发送至后台服务器。
4.根据权利要求1所述的网络负载均衡器,其中,还包括处理器,所述处理器中设置有全连接表,所述全连接表中包括多个连接信息;所述处理器用于:
获取所述全连接表中各连接信息的活跃度信息;
根据各连接信息的活跃度信息、各所述中间芯片的级别,将连接信息存储到所述中间芯片的连接表中。
5.根据权利要求4所述的网络负载均衡器,所述处理器,具体用于:
将活跃度信息表征为活跃的连接信息,存储至第一级别的中间芯片的连接表中;
将活跃度信息表征为半活跃的连接信息,存储至第二级别的中间芯片的连接表中。
6.根据权利要求1-5任一项所述的网络负载均衡器,与所述请求消息匹配的连接信息用于指示接收请求消息的后台服务器。
7.根据权利要求3所述的网络负载均衡器,其中,所述处理器具体用于:
若未查询到与所述请求消息匹配的连接信息,则根据所述请求消息创建连接信息,并基于预设均衡调度规则确定所述连接信息中包括的后台服务器信息;
将新创建的连接信息存储到全连接表中。
8.根据权利要求1-5、7任一项所述的网络负载均衡器,其中,所述中间芯片根据所述连接信息将所述请求消息发送至后台服务器时,具体用于:
根据所述连接信息对所述请求消息进行转发处理,得到转发数据包;
若所述中间芯片是N个中间芯片中的第一个中间芯片,则所述中间芯片通过所述网口将所述转发数据包发送至后台服务器;
若所述中间芯片不是N个中间芯片中的第一个中间芯片,则所述中间芯片将所述转发数据包转发至N个中间芯片中的第一个中间芯片,再由第一个中间芯片通过所述网口将所述转发数据包发送至后台服务器。
9.根据权利要求3所述的网络负载均衡器,其中,所述处理器将所述请求消息发送至后台服务器时,具体用于:
根据所述连接信息对所述请求消息进行转发处理,得到转发数据包;
将所述转发数据包发送给与所述网口连接的中间芯片,再由与所述网口连接的中间芯片通过所述网口将所述转发数据包发送至后台服务器。
10.根据权利要求1-5、7、9任一项所述的网络负载均衡器,其中,设置有两个中间芯片,第一级中间芯片与所述网口连接,所述第一级中间芯片为可编程交换芯片,第二级中间芯片为现场可编程门阵列芯片。
11.一种请求消息的分配方法,所述方法应用于网络负载均衡器,所述网络负载均衡器包括:网口、N个中间芯片;所述N个中间芯片依次连接;所述网口与所述N个中间芯片中的第一个中间芯片连接;N为大于等于1的正整数;所述方法包括:
所述网口接收请求消息,并将所述请求消息转发至所述第一个中间芯片;
所述中间芯片若未查询到与所述请求消息匹配的连接信息,则将所述请求消息转发至与当前中间芯片连接的下一个中间芯片;所述中间芯片若查询到与所述请求消息匹配的连接信息,则根据所述连接信息将所述请求消息发送至后台服务器;
所述中间芯片从所述请求消息中获取地址信息,并根据所述地址信息在当前中间芯片所存储的连接表中查询与所述请求消息匹配的连接信息;
其中,每一所述中间芯片所存储的连接表与每一所述中间芯片一一对应,所述中间芯片所存储的连接表用于指示地址信息与连接信息之间的对应关系。
12.根据权利要求11所述的方法,所述网络负载均衡器中还包括处理器,所述方法还包括:
若各中间芯片均未查询到与所述请求消息匹配的连接信息,则所述N个中间芯片中的第一个中间芯片,将所述请求消息转发至所述处理器,所述处理器将所述请求消息发送至后台服务器。
13.根据权利要求12所述的方法,所述处理器将所述请求消息发送至后台服务器,包括:
在存储的全连接表中查询与所述请求消息匹配的连接信息;
根据查询到的与所述请求消息匹配的连接信息,将所述请求消息发送至后台服务器。
14.根据权利要求11所述的方法,其中,所述网络负载均衡器中还包括处理器,所述处理器中设置有全连接表,所述全连接表中包括多个连接信息;所述方法还包括:
所述处理器获取所述全连接表中各连接信息的活跃度信息;
所述处理器根据各连接信息的活跃度信息、各所述中间芯片的级别,将连接信息存储到所述中间芯片的连接表中。
15.根据权利要求14所述的方法,所述处理器根据各连接信息的活跃度信息、各所述中间芯片的级别,将连接信息存储到所述中间芯片的连接表中,包括:
所述处理器将活跃度信息表征为活跃的连接信息,存储至第一级别的中间芯片的连接表中;
所述处理器将活跃度信息表征为半活跃的连接信息,存储至第二级别的中间芯片的连接表中。
16.根据权利要求11-15任一项所述的方法,与所述请求消息匹配的连接信息用于指示接收请求消息的后台服务器。
17.根据权利要求13所述的方法,其中,还包括:
若所述处理器未查询到与所述请求消息匹配的连接信息,则根据所述请求消息创建连接信息,并基于预设均衡调度规则确定所述连接信息中包括的后台服务器信息;
所述处理器将新创建的连接信息存储到全连接表中。
18.根据权利要求11-15,17任一项所述的方法,其中,所述中间芯片根据所述连接信息将所述请求消息发送至后台服务器,包括:
所述中间芯片根据所述连接信息对所述请求消息进行转发处理,得到转发数据包;
若所述中间芯片是N个中间芯片中的第一个中间芯片,则所述中间芯片通过所述网口将所述转发数据包发送至后台服务器;
若所述中间芯片不是N个中间芯片中的第一个中间芯片,则所述中间芯片将所述转发数据包转发至N个中间芯片中的第一个中间芯片,再由第一个中间芯片通过所述网口将所述转发数据包发送至后台服务器。
19.根据权利要求13所述的方法,其中,所述将所述请求消息发送至后台服务器,包括:
根据所述连接信息对所述请求消息进行转发处理,得到转发数据包;
将所述转发数据包发送给与所述网口连接的中间芯片,再由与所述网口连接的中间芯片通过所述网口将所述转发数据包发送至后台服务器。
20.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使网络负载均衡器执行权利要求11-19中任一项所述的方法。
21.一种服务系统,包括:如权利要求1-10所述的任一项网络负载均衡器,还包括集群服务器,所述集群服务器中包括后台服务器;
所述网络负载均衡器用于接收用户终端发送的请求消息,并在所述集群服务器中确定用于处理所述请求消息的目标后台服务器;
所述网络负载均衡器还用于向所述目标后台服务器发送所述请求消息。
CN202110695011.6A 2021-06-22 2021-06-22 网络负载均衡器、请求消息分配方法、程序产品及系统 Active CN113438301B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN202110695011.6A CN113438301B (zh) 2021-06-22 2021-06-22 网络负载均衡器、请求消息分配方法、程序产品及系统
US17/671,484 US20220407916A1 (en) 2021-06-22 2022-02-14 Network load balancer, request message distribution method, program product and system
EP22156714.2A EP3993366B1 (en) 2021-06-22 2022-02-15 Network load balancer, request message distribution method, program product and system
JP2022050194A JP7384952B2 (ja) 2021-06-22 2022-03-25 ネットワークロードバランサー、リクエストメッセージの割り当て方法、プログラム製品及びシステム
KR1020220037793A KR20220046525A (ko) 2021-06-22 2022-03-28 네트워크 로드 밸런서, 요청 메시지 할당 방법, 프로그램 제품 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110695011.6A CN113438301B (zh) 2021-06-22 2021-06-22 网络负载均衡器、请求消息分配方法、程序产品及系统

Publications (2)

Publication Number Publication Date
CN113438301A CN113438301A (zh) 2021-09-24
CN113438301B true CN113438301B (zh) 2023-06-06

Family

ID=77757299

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110695011.6A Active CN113438301B (zh) 2021-06-22 2021-06-22 网络负载均衡器、请求消息分配方法、程序产品及系统

Country Status (5)

Country Link
US (1) US20220407916A1 (zh)
EP (1) EP3993366B1 (zh)
JP (1) JP7384952B2 (zh)
KR (1) KR20220046525A (zh)
CN (1) CN113438301B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102387071A (zh) * 2011-10-12 2012-03-21 苏州阔地网络科技有限公司 一种网络负载均衡的方法、处理器及系统
WO2017050117A1 (zh) * 2015-09-25 2017-03-30 网宿科技股份有限公司 网络负载均衡处理系统及其方法和装置
CN110198337A (zh) * 2019-03-04 2019-09-03 腾讯科技(深圳)有限公司 网络负载均衡方法、装置、计算机可读介质及电子设备

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7739398B1 (en) 2000-11-21 2010-06-15 Avaya Inc. Dynamic load balancer
US7245632B2 (en) 2001-08-10 2007-07-17 Sun Microsystems, Inc. External storage for modular computer systems
US7567504B2 (en) * 2003-06-30 2009-07-28 Microsoft Corporation Network load balancing with traffic routing
CN102067528B (zh) * 2008-06-19 2014-01-15 马维尔国际贸易有限公司 用于搜索的级联存储器表
CN101778050A (zh) * 2010-03-11 2010-07-14 浪潮(北京)电子信息产业有限公司 负载均衡方法、装置和系统
FR2979444A1 (fr) * 2011-08-23 2013-03-01 Kalray Reseau sur puce extensible
US9379982B1 (en) * 2013-09-30 2016-06-28 Juniper Networks, Inc. Adaptive stateless load balancing
DE112015007093B4 (de) 2015-11-05 2022-02-17 Mitsubishi Electric Corporation Kommunikationsvorrichtung und kommunikationsverfahren
EP3369225B1 (en) 2016-03-31 2020-09-30 NEC Corporation Software-enhanced stateful switching architecture
US10642650B2 (en) * 2017-12-13 2020-05-05 Juniper Networks, Inc. Multi-threaded route processing
CN111355674A (zh) * 2020-02-24 2020-06-30 盛科网络(苏州)有限公司 路由报文的处理方法及装置、存储介质和电子装置
CN112600951B (zh) * 2020-12-08 2022-07-29 杭州迪普信息技术有限公司 一种报文转发的方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102387071A (zh) * 2011-10-12 2012-03-21 苏州阔地网络科技有限公司 一种网络负载均衡的方法、处理器及系统
WO2017050117A1 (zh) * 2015-09-25 2017-03-30 网宿科技股份有限公司 网络负载均衡处理系统及其方法和装置
CN110198337A (zh) * 2019-03-04 2019-09-03 腾讯科技(深圳)有限公司 网络负载均衡方法、装置、计算机可读介质及电子设备

Also Published As

Publication number Publication date
JP7384952B2 (ja) 2023-11-21
JP2022088505A (ja) 2022-06-14
CN113438301A (zh) 2021-09-24
EP3993366B1 (en) 2024-01-24
KR20220046525A (ko) 2022-04-14
EP3993366A2 (en) 2022-05-04
EP3993366A3 (en) 2022-08-24
US20220407916A1 (en) 2022-12-22

Similar Documents

Publication Publication Date Title
US10977079B2 (en) Method and apparatus for implementing acceleration processing on VNF
US9584481B2 (en) Host providing system and communication control method
CN108933829A (zh) 一种负载均衡方法及装置
CN112311674B (zh) 报文发送方法、装置及存储介质
CN114253979B (zh) 一种报文处理方法、装置及电子设备
CN113794788A (zh) 网关导流方法、系统、装置、设备、存储介质及产品
US8886913B2 (en) Apparatus and method for identifier management
CN111064786A (zh) 账户标识管理方法及设备
CN113438301B (zh) 网络负载均衡器、请求消息分配方法、程序产品及系统
US20200244623A1 (en) Data transmission method, server and offload card
CN112019492B (zh) 访问控制方法、装置及存储介质
CN106790610B (zh) 一种云系统消息分发方法,装置和系统
CN115484233B (zh) 数通芯片中链路聚合报文的转发方法、装置、设备及介质
CN109451090A (zh) 一种域名解析方法及装置
CN112511440B (zh) 报文转发方法、系统、存储介质和电子设备
US20210037090A1 (en) Systems and Methods for Server Failover and Load Balancing
CN114205414A (zh) 基于服务网格的数据处理方法、装置、电子设备和介质
CN114793234B (zh) 消息处理方法、装置、设备和存储介质
CN114900562B (zh) 一种资源获取方法、装置、电子设备和存储介质
CN112968975B (zh) 服务请求的处理方法和装置
CN114827159B (zh) 网络请求路径优化方法、装置、设备和存储介质
CN116567116A (zh) 报文处理方法、装置、可编程交换机、系统、设备和介质
CN116582544A (zh) 一种数据包发送方法、装置、设备及存储介质
CN115941787A (zh) 一种缓存数据访问处理方法、装置、电子设备及存储介质
CN116939228A (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