CN109479214B - 一种负载均衡的方法及相关装置 - Google Patents
一种负载均衡的方法及相关装置 Download PDFInfo
- Publication number
- CN109479214B CN109479214B CN201680087405.0A CN201680087405A CN109479214B CN 109479214 B CN109479214 B CN 109479214B CN 201680087405 A CN201680087405 A CN 201680087405A CN 109479214 B CN109479214 B CN 109479214B
- Authority
- CN
- China
- Prior art keywords
- node
- failure
- interactive node
- interactive
- destination
- 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
Links
Images
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/1014—Server selection for load balancing based on the content of a request
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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
-
- 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/101—Server selection for load balancing based on network conditions
-
- 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/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/08—Load balancing or load distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
一种负载均衡的方法,负载均衡器获取失效通知,所述失效通知包括目的侧的失效对象的标识,所述失效对象包括失效的交互节点、交互节点中失效的会话组或会话组中失效的会话;所述负载均衡器广播所述失效通知,所述失效通知用于指示源侧的交互节点删除记录的所述失效对象的负载均衡协议的信息;当所述负载均衡器接收到源侧的交互节点发送的应用交互请求,且所述应用交互请求中的目的数据为空时,所述负载均衡器重新为所述应用交互请求分配交互节点,实现了在交互节点异常的情况下,保证消息交互的可靠性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种负载均衡的方法及相关装置。
背景技术
在大多数的企业级应用及电子商务应用系统中,客户端与服务器经常经过多次的交互过程才能完成一次事务或者一次服务。一方面,这些交互与用户身份密切相关,另一方面,服务器在进行这些交互过程的某一个步骤时,往往需要了解上一次交互过程的处理结果,或者上几步的交互过程结果。因此,与这个客户端相关的应用请求,往往需要转发至一台服务器完成,而不能被负载均衡器转发至不同的服务器上进行处理。为满足上述需求,负载均衡器需要识别做客户与服务器之间交互过程的关联性,在作负载均衡的同时,还保证一系列相关连的访问请求会保持分配到一台服务器上,这种机制被称为会话保持。
随着网络虚拟化技术的发展,原来一些网络设备的功能演进为软件实现,分布在多个虚拟机(英文:Virtual Machine,VM)上,并给出了一种通用的负载均衡机制,通过提供独立的负载均衡协议层,从而实现负载均衡的广泛适用。而现有的通用负载均衡协议方法仅仅给出了基本的交互应用场景,而没有考虑异常情况下,例如在某个交互节点失效时,如何保证消息交互的正确性。
发明内容
本发明提供了一种负载均衡的方法及相关装置,可以在交互节点异常的情况下,保证消息交互的可靠性。
本发明第一方面提供了一种负载均衡的方法,包括:
负载均衡器获取失效通知,所述失效通知包括目的侧的失效对象的标识,所述失效对象包括失效的交互节点、交互节点中失效的会话组或会话组中失效的会话;所述负载均衡器广播所述失效通知,所述失效通知用于指示源侧的交互节点删除记录的所述失效对象的负载均衡协议的信息;当所述负载均衡器接收到源侧的交互节点发送的应用交互请求,且所述应用交互请求中的目的数据为空时,所述负载均衡器重新为所述应用交互请求分配交互节点。
在该技术方案中,目的侧的负载均衡器可以将失效通知告知源侧的交互节点,该失效通知携带了目的侧的失效对象的标识,源侧的交互节点在接收到该失效通知后,可以知晓哪些交互节点已经失效异常,源侧的交互节点则删除记录的与该失效的交互节点相关的信息,当源侧的交互节点再次与失效的交互节点交互时,生成目的数据为空的应用交互请求,当目的侧的负载均衡器接收到该应用交互请求时,因目的数据为空,可以重新为该应用交互请求分配交互节点,避免了将该应用交互请求分配到失效的交互节点,从而保证了消息交互的可靠性。
在第一方面的第一种可能实现方式中,所述失效通知是所述目的侧的交互节点发送的,所述失效通知是所述目的侧的交互节点监测发现其内部存在失效的会话组或失效的会话时,获取所述失效的会话组或所述失效的会话的标识构造的;或者,所述失效通知是操作与维护系统发送的,所述失效通知是所述操作与维护系统监测发现所述目的侧存在失效的交互节点时,获取所述失效的交互节点的标识构造的;或者,所述失效通知是所述负载均衡器监测发现所述目的侧存在失效的交互节点时,获取所述失效的交互节点的标识构造的。
结合第一方面或第一方面的第一种可能实现方式,在第二种可能的实现方式中,所述失效对象的标识包括失效对象的IP地址、MAC地址或VLAN地址。
结合第一方面的第一或第二种可能实现方式,在第三种可能的实现方式中,所述负载均衡器广播所述失效通知包括:所述负载均衡器将所述失效通知广播给源侧的负载均衡器,以使源侧的负载均衡器将所述失效通知广播给源侧的交互节点;或者,所述负载均衡器将所述失效通知广播给客户端。
本发明第二方面提供了一种负载均衡的方法,包括:
源侧的交互节点接收失效通知,所述失效通知包括目的侧的失效对象的标识,所述失效对象包括目的侧失效的交互节点、交互节点中失效的会话组或会话组中失效的会话;所述源侧的交互节点删除记录的所述失效对象的负载均衡协议的信息;当所述源侧的交互节点与所述目的侧的失效对象交互时,所述源侧的交互节点生成目的数据为空的应用交互请求,并将所述应用交互请求发送给所述目的侧的负载均衡器。
在第二方面的第一种可能的实现方式中,所述负载均衡协议包括目的数据,所述目的数据包括第一字段和第二字段,所述第一字段用于指示所述目的侧的交互节点,所述第二字段用于指示所述目的侧的交互节点中的会话;
所述源侧的交互节点删除记录的所述失效对象的负载均衡协议的信息包括:
若所述失效对象是所述目的侧的交互节点,所述源侧的交互节点则将记录的所述负载均衡协议的第一字段为所述目的侧的交互节点的信息删除;
若所述失效对象是所述目的侧的交互节点中的会话组,所述源侧的交互节点则将记录的所述负载均衡协议的第一字段为所述目的侧的交互节点,且第二字段包含所述目的侧的交互节点的会话组的信息删除;
若所述失效对象是所述目的侧的交互节点中的会话组中的会话,所述源侧的交互节点则将记录的所述负载均衡协议的第一字段为所述目的侧的交互节点,且第二字段为所述目的侧的交互节点的会话组中的会话的信息删除。
结合第二方面或第二方面的第一种可能实现方式,在第二种可能的实现方式中,所述失效对象的标识包括失效对象的IP地址、MAC地址或VLAN ID。
结合第二方面或第二方面的第一或第二种可能实现方式,在第三种可能的实现方式中,所述源侧的交互节点接收失效通知包括:所述源侧的交互节点接收源侧的负载均衡器发送的失效通知;或者,所述源侧的交互节点接收所述目的侧的负载均衡器发送的失效通知。
本发明第三方面提供了一种负载均衡器,该负载均衡器具有实现上述第一方面提供的方法的行为功能,该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
本发明第四方面提供了一种负载均衡器。该负载均衡器包括处理器、存储器以及网络接口。处理器连接到存储器和网络接口,例如处理器可以通过总线连接到存储器和网络接口。网络接口包括一个或多个接口。若网络接口包括一个接口,负载均衡器可以通过该接口与交换设备连接,通过该交换设备与目的侧的各个交互节点连接,用于与目的侧的交互节点进行通信。若网络接口包括多个接口,负载均衡器可以通过所述多个接口与目的侧的交互节点连接,用于与目的侧的交互节点进行通信。处理器用于执行第一方面的部分或全部流程。
本发明第五方面提供了一种计算机存储介质,所述计算机存储介质存储有程序,该程序执行时包括第一方面提供的一种负载均衡的方法的部分或全部步骤。
本发明第六方面提供了一种交互节点,所述交互节点具有实现上述第二方面提供的方法的行为功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
本发明第七方面提供了另一种交互节点,所述交互节点包括网络接口、存储器以及处理器。可选的,交互节点可以通过该网络接口与源侧的负载均衡器相连;存储器用于存储负载均衡协议的信息。处理器用于执行第二方面的部分或全部流程。
本发明第八方面提供了一种计算机存储介质,所述计算机存储介质存储有程序,该程序执行时包括第二方面提供的一种负载均衡的方法的部分或全部步骤。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了一种双侧负载均衡器交互的场景示意图;
图2示出了一种单侧负载均衡器交互的场景示意图;
图3是本发明实施例提供的一种负载均衡的方法的流程示意图;
图4示出了负载均衡协议的数据头的示意图;
图5是本发明实施例提供的另一种负载均衡的方法的流程示意图;
图6示出了另一种负载均衡协议的数据头的示意图;
图7是本发明实施例提供的一种负载均衡器的结构示意图;
图8是本发明实施例提供的另一种负载均衡器的结构示意图;
图9是本发明实施例提供的一种交互节点的结构示意图;
图10是本发明实施例提供的另一种交互节点的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的交互节点可以是虚拟机,或者实体网元设备,或者虚拟机和实体网元设备的组合。若交互节点包括虚拟机,可以通过负载均衡索引(英文:Loadbalancing index,LBI)指示出目标虚拟机,该负载均衡索引可以为该虚拟机的互联网协议(英文:Internet Protocol,IP)地址、媒体访问控制(英文:Media Access Control,MAC)地址或虚拟局域网(英文:Virtual Local Area Network,VLAN)地址等。每个虚拟机可以包括多个会话组,每个会话组可以包括多个会话,其中,每个会话组可以有一个组标识,每个会话可以有一个内部地址。
若交互节点为源侧的交互节点,该交互节点还可以是具有客户端的终端,该终端包括不仅仅局限于移动电话(英文:cellphone),智能手机(英文:smartphone),计算机(英文:computer),平板电脑(英文:tablet computer),个人数码助理(英文:personaldigital assistant,PDA),移动互联网设备(英文:mobile Internet device,MID),可穿戴设备和电子书阅读器(英文:e-book reader)等。本发明实施例中,将交互流程的发起侧称为源侧,将交互流程的接收侧称为目的侧。
若源侧的交互节点由虚拟机或者实体网元设备,则源侧的交互节点可以与源侧的负载均衡器连接,源侧的负载均衡器与目的侧的负载均衡器连接,目的侧的负载均衡器再与目的侧的交互节点连接,如图1所示。
若源侧的交互节点为具有客户端的终端,则源侧的交互节点直接与目的侧的负载均衡器连接,目的侧的负载均衡器与目的侧的交互节点连接。如图2所示。本发明实施例中的连接包括有线连接或无线连接,具体以何种方式连接,以实际需求为准。本发明不限定。
请参阅图3,图3是本发明实施例提供的一种负载均衡的方法的流程示意图。本实施例是以图1为基础进行描述的。如图3所示,所述方法包括:
S301,目的侧的负载均衡器获取失效通知。
所述失效通知包括目的侧的失效对象的标识,所述失效对象包括失效的交互节点、交互节点中失效的会话组或会话组中失效的会话。
在一种可选的实施方式中,目的侧的交互节点可以监测其内部是否存在失效的会话组或内部的会话组中是否存在失效的会话,若是,目的侧的交互节点则构造失效通知,并将失效通知发送给目的侧的负载均衡器。若失效对象是其内部的会话组,则该失效通知中包含该交互节点的标识以及该会话组的标识;若失效对象是其内部的会话组中的会话,则失效通知中包含该其交互节点的标识以及会话的标识,其中,会话的标识可以由该会话所在会话组的标识和该会话在其会话组的内部标识组成。
在另一种可选的实施方式中,操作与维护系统可以监测目的侧是否存在失效的交互节点,若是,操作与维护系统则构造失效通知,并将失效通知发送给目的侧的负载均衡器。其中,失效通知中包含失效的交互节点的标识。
在又一种可选的实施方式中,目的侧的负载均衡器可以监测目的侧是否存在失效的交互节点,若是,则构造失效通知,该失效通知中包含失效的交互节点的标识。
S302,目的侧的负载均衡器广播所述失效通知。
目的侧的负载均衡器可以与源侧的多个负载均衡器连接,也就是说,目的侧的负载均衡器在广播失效通知后,与其连接的源侧的负载均衡器都可以接收到该失效通知。而源侧的每个负载均衡器在接收到失效通知后的处理方式都相同。本发明实施例以其中一个源侧的负载均衡器为例进行描述。
S303,源侧的负载均衡器接收失效通知。
S304,源侧的负载均衡器广播所述失效通知。
源侧的负载均衡器可以与源侧的多个交互节点连接,也就是说,源侧的负载均衡器在广播失效通知后,与其连接的源侧的交互节点都可以接收到该失效通知。而源侧的每个交互节点在接收到失效通知后的处理方式都相同。本发明实施例以其中一个源侧的交互节点为例进行描述。
S305,源侧的交互节点接收该失效通知。
S306,源侧的交互节点删除失效对象的负载均衡协议的信息。
负载均衡协议的数据头如图4所示,包含四个字段,分别为:源LBI,源会话地址,目的LBI,目的会话地址。本发明实施例中,将目的LBI和目的会话地址称为目的数据,目的LBI用于指示所述目的侧的交互节点。目的会话地址用于指示所述目的侧的交互节点中的会话。源LBI用于指示源侧的交互节点,源会话地址用于指示源侧的交互节点中的会话。
源侧的交互节点记录目的侧交互节点的负载均衡协议的信息的流程如下:
①源侧的交互节点生成应用交互请求,该应用交互请求遵循负载均衡协议。源侧的交互节点为负载均衡协议的数据头分配源LBI及源会话地址,并将应用交互请求发送给源侧的负载均衡器。
②源侧的负载均衡器接收该应用交互请求,并将该应用交互请求发送给目的侧的负载均衡器。
③目的侧的负载均衡器接收应用交互请求并解析,由于该应用交互请求是初始请求,目的信息为空或缺省值,目的侧的负载均衡器依据负载均衡原则为该应用交互请求选择交互节点,并转发该应用交互请求;
④目的侧的交互节点接收该应用交互请求,进行相应的业务处理并生成应用交互应答,并分配源LBI和源会话地址,并将应用交互请求中的源LBI和源会话地址作为目的数据写入负载均衡协议,并将应用交互应答返回给目的侧的负载均衡器;
⑤目的侧的负载均衡器将该应用交互应答发送给源侧的负载均衡器。
⑥源侧的负载均衡器依据源LBI和源会话地址选择对应的交互节点,并转发该应用交互应答;
⑦源侧的交互节点接收到应用交互应答后,则记录该应用交互应答中的源LBI和源会话地址,作为后续交互的的目的数据。此后源侧的交互节点生成新的应用交互请求时,生成的负载均衡协议的目的数据为事先记录的源LBI和源会话地址。
由于,记录的负载均衡协议中的目的数据用于指示目的侧的会话,因此,当源侧的交互节点接收到失效通知时,可以根据失效通知中的标识确定失效对象,并删除该失效对象对应的负载均衡协议的信息。
假设,目的LBI为第一字段,目的会话地址为第二字段,则源侧的交互节点删除负载均衡协议的信息具体可以为:
若所述失效对象是所述目的侧的交互节点,所述源侧的交互节点则将记录的所述负载均衡协议的第一字段为所述目的侧的交互节点的信息删除;
若所述失效对象是所述目的侧的交互节点中的会话组,所述源侧的交互节点则将记录的所述负载均衡协议的第一字段为所述目的侧的交互节点,且第二字段包括所述目的侧的交互节点的会话组的信息删除;
若所述失效对象是所述目的侧的交互节点中的会话组中的会话,所述源侧的交互节点则将记录的所述负载均衡协议的第一字段为所述目的侧的交互节点,且第二字段为所述目的侧的交互节点的会话组中的会话的信息删除。
S307,当源侧的交互节点与目的侧的失效对象交互时,源侧的交互节点生成目的数据为空的应用交互请求。
S308,源侧的交互节点将所述应用交互请求发送给源侧的负载均衡器。
S309,源侧的负载均衡器接收应用交互请求。
S310,源侧的负载均衡器将应用交互请求发送给目的侧的负载均衡器。
S311,目的侧的负载均衡器接收该应用交互请求。
S312,目的侧的负载均衡器重新为该应用交互请求分配目的侧的交互节点。
在图3所示的实施例中,目的侧的负载均衡器可以将失效通知告知源侧的交互节点,该失效通知携带了目的侧的失效对象的标识,源侧的交互节点在接收到该失效通知后,可以知晓哪些交互节点已经失效异常,源侧的交互节点则删除记录的与该失效的交互节点相关的信息,当源侧的交互节点再次与失效的交互节点交互时,生成目的数据为空的应用交互请求,当目的侧的负载均衡器接收到该应用交互请求时,因目的数据为空,可以重新为该应用交互请求分配交互节点,避免了将该应用交互请求分配到失效的交互节点,从而保证了消息交互的可靠性。
请参阅图5,图5是本发明实施例提供的另一种负载均衡的方法的流程示意图。本实施例是以图2为基础进行描述的。如图5所示,所述方法包括:
S501,目的侧的负载均衡器获取失效通知。
所述失效通知包括目的侧的失效对象的标识,所述失效对象包括失效的交互节点、交互节点中失效的会话组或会话组中失效的会话。
在一种可选的实施方式中,目的侧的交互节点可以监测其内部是否存在失效的会话组或内部的会话组中是否存在失效的会话,若是,目的侧的交互节点则构造失效通知,并将失效通知发送给目的侧的负载均衡器。若失效对象是其内部的会话组,则该失效通知中包含该交互节点的标识以及该会话组的标识;若失效对象是其内部的会话组中的会话,则失效通知中包含该其交互节点的标识、会话组以及会话的标识。
在另一种可选的实施方式中,操作与维护系统可以监测目的侧是否存在失效的交互节点,若是,操作与维护系统则构造失效通知,并将失效通知发送给目的侧的负载均衡器。其中,失效通知中包含失效的交互节点的标识。
在又一种可选的实施方式中,目的侧的负载均衡器可以监测目的侧是否存在失效的交互节点,若是,则构造失效通知,该失效通知中包含失效的交互节点的标识。
S502,目的侧的负载均衡器广播所述失效通知。
目的侧的负载均衡器将该失效通知广播给所有的客户端。由于,每个客户端在接收到失效通知后的处理方式都相同。本发明实施例以其中一个客户端为例进行描述。
S503,客户端接收该失效通知。
S504,客户端删除失效对象的负载均衡协议的信息。
负载均衡协议的数据头如图6所示,与图4所示的数据头基本相同,区别在于,图6所示的数据头中源LBI,源会话地址为空或缺省值。
源侧的交互节点记录目的侧交互节点的负载均衡协议的信息的流程与上述S306中的步骤基本相同,区别在于:源侧的交互节点不为生成的应用交互请求分配源LBI及源会话地址,并且,目的侧在生成的应用交互应答中,源LBI和源会话地址为空或缺省值,其余步骤相同。
由于,记录的负载均衡协议中的目的数据用于指示目的侧的会话,因此,当源侧的交互节点接收到失效通知时,可以根据失效通知中的标识确定失效对象,并删除该失效对象的负载均衡协议的信息。
假设,目的LBI为第一字段,目的会话地址为第二字段,则源侧的交互节点删除负载均衡协议的信息具体可以为:
若所述失效对象是所述目的侧的交互节点,所述源侧的交互节点则将记录的所述负载均衡协议的第一字段为所述目的侧的交互节点的信息删除;
若所述失效对象是所述目的侧的交互节点中的会话组,所述源侧的交互节点则将记录的所述负载均衡协议的第一字段为所述目的侧的交互节点,且第二字段包括所述目的侧的交互节点的会话组的信息删除;
若所述失效对象是所述目的侧的交互节点中的会话组中的会话,所述源侧的交互节点则将记录的所述负载均衡协议的第一字段为所述目的侧的交互节点,且第二字段为所述目的侧的交互节点的会话组中的会话的信息删除。
S505,当客户端与目的侧的失效对象交互时,客户端生成目的数据为空的应用交互请求。
S506,客户端将所述应用交互请求发送给目的侧的负载均衡器。
S507,目的侧的负载均衡器接收该应用交互请求。
S508,目的侧的负载均衡器重新为该应用交互请求分配目的侧的交互节点。
在图5所示的实施例中,目的侧的负载均衡器可以将失效通知告知客户端,该失效通知携带了目的侧的失效对象的标识,客户端在接收到该失效通知后,可以知晓哪些交互节点已经失效异常,客户端则删除记录的与该失效的交互节点相关的信息,当客户端再次与失效的交互节点交互时,生成目的数据为空的应用交互请求,当目的侧的负载均衡器接收到该应用交互请求时,因目的数据为空,可以重新为该应用交互请求分配交互节点,避免了将该应用交互请求分配到失效的交互节点,从而保证了消息交互的可靠性。
请参阅图7,图7是本发明实施例提供的一种负载均衡器的结构示意图。如图7所示,该负载均衡器包括处理器71、存储器72以及网络接口73。处理器71连接到存储器72和网络接口73,例如处理器71可以通过总线连接到存储器72和网络接口73。
处理器71被配置为支持负载均衡器执行上述方法中相应的功能。该处理器71可以是中央处理器(英文:central processing unit,CPU),网络处理器(英文:networkprocessor,NP),硬件芯片或者其任意组合。上述硬件芯片可以是专用集成电路(英文:application-specific integrated circuit,ASIC),可编程逻辑器件(英文:programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logic device,CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,FPGA),通用阵列逻辑(英文:generic array logic,GAL)或其任意组合。
存储器72可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,RAM);存储器72也可以包括非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,ROM),快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-statedrive,SSD);存储器72还可以包括上述种类的存储器的组合。
网络接口73包括一个或多个接口。若网络接口73包括一个接口,负载均衡器可以通过该接口与交换设备连接,通过该交换设备与目的侧的各个交互节点连接,用于与目的侧的交互节点进行通信。若网络接口73包括多个接口,负载均衡器可以通过所述多个接口与目的侧的交互节点连接,用于与目的侧的交互节点进行通信。
处理器71可以执行以下操作:
获取失效通知,所述失效通知包括目的侧的失效对象的标识,所述失效对象包括失效的交互节点、交互节点中失效的会话组或会话组中失效的会话;广播所述失效通知,所述失效通知用于指示源侧的交互节点删除记录的所述失效对象的负载均衡协议的信息;当接收到源侧的交互节点发送的应用交互请求,且所述应用交互请求中的目的数据为空时,重新为所述应用交互请求分配交互节点。
其中,所述失效通知是所述目的侧的交互节点发送的,所述失效通知是所述目的侧的交互节点监测发现其内部存在失效的会话组或失效的会话时,获取所述失效的会话组或所述失效的会话的标识构造的;或者,所述失效通知是操作与维护系统发送的,所述失效通知是所述操作与维护系统监测发现所述目的侧存在失效的交互节点时,获取所述失效的交互节点的标识构造的;或者,所述失效通知是所述处理器71监测发现所述目的侧存在失效的交互节点时,获取所述失效的交互节点的标识构造的。
请参阅图8,图8是本发明实施例提供的另一种负载均衡器的结构示意图。如图8所示,该负载均衡器8包括获取模块81、发送模块82以及处理模块83,该处理模块83实现图7所示的处理器的功能;发送模块82结合获取模块83实现图7所示的网络接口的功能。
请参阅图9,图9是本发明实施例提供的一种交互节点的结构示意图。如图9所示,该交互节点包括处理器91、存储器92以及网络接口93。处理器91连接到存储器92和网络接口93,例如处理器91可以通过总线连接到存储器92和网络接口93。
处理器91被配置为交互节点执行上述方法中相应的功能。该处理器91可以是CPU,NP,硬件芯片或者其任意组合。上述硬件芯片可以是ASIC,PLD或其组合。上述PLD可以是CPLD,FPGA,GAL或其任意组合。
存储器92用于存储负载均衡协议的信息。存储器92可以包括易失性存储器,例如RAM;存储器92也可以包括非易失性存储器,例如ROM,快闪存储器,HDD或SSD;存储器92还可以包括上述种类的存储器的组合。
处理器91可以执行以下操作:
接收失效通知,所述失效通知包括目的侧的失效对象的标识,所述失效对象包括目的侧失效的交互节点、交互节点中失效的会话组或会话组中失效的会话;删除记录的所述失效对象的负载均衡协议的信息;当通过所述网络接口93与所述目的侧的失效对象交互时,生成目的数据为空的应用交互请求,并将所述应用交互请求发送给所述目的侧的负载均衡器。
其中,所述负载均衡协议包括目的数据,所述目的数据包括第一字段和第二字段,所述第一字段用于指示所述目的侧的交互节点,所述第二字段用于指示所述目的侧的交互节点中的会话;
处理器91删除记录的所述失效对象的负载均衡协议的信息包括:
若所述失效对象是所述目的侧的交互节点,则将记录的所述负载均衡协议的第一字段为所述目的侧的交互节点的信息删除;
若所述失效对象是所述目的侧的交互节点中的会话组,则将记录的所述负载均衡协议的第一字段为所述目的侧的交互节点,且第二字段包括所述目的侧的交互节点的会话组的信息删除;
若所述失效对象是所述目的侧的交互节点中的会话组中的会话,则将记录的所述负载均衡协议的第一字段为所述目的侧的交互节点,且第二字段为所述目的侧的交互节点的会话组中的会话的信息删除。
请参阅图10,图10是本发明实施例提供的另一种交互节点的结构示意图。如图10所示,该交互节点10包括处理模块101、发送模块102以及接收模块103,该处理模块101实现图9所示的处理器的功能;发送模块102结合接收模块103实现图9所示的网络接口的功能。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (10)
1.一种负载均衡的方法,其特征在于,包括:
负载均衡器获取失效通知,所述失效通知包括目的侧的失效对象的标识,所述失效对象包括失效的交互节点、交互节点中失效的会话组或会话组中失效的会话;
所述负载均衡器广播所述失效通知,所述失效通知用于指示源侧的交互节点删除记录的所述失效对象的负载均衡协议的信息,其中,所述负载均衡协议包括目的数据,所述目的数据包括第一字段,所述第一字段用于指示所述目的侧的交互节点,若所述失效对象是所述目的侧的交互节点,所述失效通知用于指示源侧的交互节点删除记录的所述失效对象的负载均衡协议的第一字段,包括:所述负载均衡器向所述源侧的负载均衡器广播所述失效通知;
当所述负载均衡器接收到源侧的交互节点发送的应用交互请求,且所述应用交互请求中的目的数据为空时,所述负载均衡器重新为所述应用交互请求分配目的侧的交互节点。
2.如权利要求1所述的方法,其特征在于,
所述失效通知是所述目的侧的交互节点发送的,所述失效通知是所述目的侧的交互节点监测发现其内部存在失效的会话组或失效的会话时,获取所述失效的会话组或所述失效的会话的标识构造的;或者,
所述失效通知是操作与维护系统发送的,所述失效通知是所述操作与维护系统监测发现所述目的侧存在失效的交互节点时,获取所述失效的交互节点的标识构造的;或者,
所述失效通知是所述负载均衡器监测发现所述目的侧存在失效的交互节点时,获取所述失效的交互节点的标识构造的。
3.一种负载均衡的方法,其特征在于,包括:
负载均衡器的源侧的交互节点从负载均衡器接收失效通知,所述失效通知包括目的侧的失效对象的标识,所述失效对象包括目的侧失效的交互节点、交互节点中失效的会话组或会话组中失效的会话;
所述源侧的交互节点删除记录的所述失效对象的负载均衡协议的信息,其中,所述负载均衡协议包括目的数据,所述目的数据包括第一字段,所述第一字段用于指示所述目的侧的交互节点,若所述失效对象是所述目的侧的交互节点,所述源侧的交互节点删除记录的所述失效对象的负载均衡协议的信息包括:所述源侧的交互节点删除记录的所述失效对象的负载均衡协议的第一字段;
当所述源侧的交互节点与所述目的侧的失效对象交互时,所述源侧的交互节点生成目的数据为空的应用交互请求,并将所述应用交互请求发送给所述目的侧的负载均衡器。
4.如权利要求3所述的方法,其特征在于,所述负载均衡协议包括目的数据,所述目的数据还包括第二字段,所述第二字段用于指示所述目的侧的交互节点中的会话;
所述源侧的交互节点删除记录的所述失效对象的负载均衡协议的信息包括:
若所述失效对象是所述目的侧的交互节点中的会话组,所述源侧的交互节点则将记录的所述负载均衡协议的第一字段为所述目的侧的交互节点,且第二字段包括所述目的侧的交互节点的会话组的信息删除;
若所述失效对象是所述目的侧的交互节点中的会话组中的会话,所述源侧的交互节点则将记录的所述负载均衡协议的第一字段为所述目的侧的交互节点,且第二字段为所述目的侧的交互节点的会话组中的会话的信息删除。
5.一种负载均衡器,其特征在于,包括:
获取模块,用于获取失效通知,所述失效通知包括目的侧的失效对象的标识,所述失效对象包括失效的交互节点、交互节点中失效的会话组或会话组中失效的会话;
发送模块,用于广播所述失效通知,所述失效通知用于指示源侧的交互节点删除记录的所述失效对象的负载均衡协议的信息,其中,所述负载均衡协议包括目的数据,所述目的数据包括第一字段,所述第一字段用于指示所述目的侧的交互节点,若所述失效对象是所述目的侧的交互节点,所述失效通知用于指示源侧的交互节点删除记录的所述失效对象的负载均衡协议的第一字段,所述发送模块还用于,向所述源侧的负载均衡器广播所述失效通知;
处理模块,用于当接收到源侧的交互节点发送的应用交互请求,且所述应用交互请求中的目的数据为空时,重新为所述应用交互请求分配目的侧的交互节点。
6.如权利要求5所述的负载均衡器,其特征在于,
所述失效通知是所述目的侧的交互节点发送的,所述失效通知是所述目的侧的交互节点监测发现其内部存在失效的会话组或失效的会话时,获取所述失效的会话组或所述失效的会话的标识构造的;或者,
所述失效通知是操作与维护系统发送的,所述失效通知是所述操作与维护系统监测发现所述目的侧存在失效的交互节点时,获取所述失效的交互节点的标识构造的;或者,
所述失效通知是所述获取模块监测发现所述目的侧存在失效的交互节点时,获取所述失效的交互节点的标识构造的。
7.一种交互节点,其特征在于,包括:
接收模块,用于接收负载均衡器的失效通知,所述负载均衡器的失效通知包括目的侧的失效对象的标识,所述失效对象包括目的侧失效的交互节点、交互节点中失效的会话组或会话组中失效的会话;
处理模块,用于删除记录的所述失效对象的负载均衡协议的信息,所述负载均衡协议包括目的数据,所述目的数据包括第一字段,所述第一字段用于指示所述目的侧的交互节点,若所述失效对象是所述目的侧的交互节点,所述处理模块还用于:删除记录的所述失效对象的负载均衡协议的第一字段;
所述处理模块还用于:当所述交互节点与所述目的侧的失效对象交互时,生成目的数据为空的应用交互请求;
发送模块,用于将所述应用交互请求发送给所述目的侧的负载均衡器。
8.如权利要求7所述的交互节点,其特征在于,
所述负载均衡协议包括目的数据,所述目的数据还包括第二字段,所述第二字段用于指示所述目的侧的交互节点中的会话;
所述处理模块用于:
若所述失效对象是所述目的侧的交互节点中的会话组,则将记录的所述负载均衡协议的第一字段为所述目的侧的交互节点,且第二字段包括所述目的侧的交互节点的会话组的信息删除;
若所述失效对象是所述目的侧的交互节点中的会话组中的会话,则将记录的所述负载均衡协议的第一字段为所述目的侧的交互节点,且第二字段为所述目的侧的交互节点的会话组中的会话的信息删除。
9.一种负载均衡器,其特征在于,包括网络接口、存储器以及处理器,其中,存储器中存储一组程序代码,且处理器用于调用存储器中存储的程序代码,执行以下操作:
获取负载均衡器的失效通知,所述负载均衡器的失效通知包括目的侧的失效对象的标识,所述失效对象包括失效的交互节点、交互节点中失效的会话组或会话组中失效的会话;
通过所述网络接口广播所述失效通知,所述失效通知用于指示源侧的交互节点删除记录的所述失效对象的负载均衡协议的信息,其中,所述负载均衡协议包括目的数据,所述目的数据包括第一字段,所述第一字段用于指示所述目的侧的交互节点,若所述失效对象是所述目的侧的交互节点,所述失效通知用于指示源侧的交互节点删除记录的所述失效对象的负载均衡协议的第一字段,包括:通过所述网络接口向所述源侧的负载均衡器广播所述失效通知;
当接收到源侧的交互节点发送的应用交互请求,且所述应用交互请求中的目的数据为空时,重新为所述应用交互请求分配目的侧的交互节点。
10.一种交互节点,其特征在于,包括网络接口、存储器以及处理器,其中,存储器中存储一组程序代码,且处理器用于调用存储器中存储的程序代码,执行以下操作:
通过所述网络接口接收负载均衡器的失效通知,所述负载均衡器的失效通知包括目的侧的失效对象的标识,所述失效对象包括目的侧失效的交互节点、交互节点中失效的会话组或会话组中失效的会话;
删除记录的所述失效对象的负载均衡协议的信息,其中,所述负载均衡协议包括目的数据,所述目的数据包括第一字段,所述第一字段用于指示所述目的侧的交互节点,若所述失效对象是所述目的侧的交互节点,所述删除记录的所述失效对象的负载均衡协议的信息包括:删除记录的所述失效对象的负载均衡协议的第一字段;
当所述交互节点与所述目的侧的失效对象交互时,生成目的数据为空的应用交互请求,并通过所述网络接口将所述应用交互请求发送给所述目的侧的负载均衡器。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2016/096003 WO2018032499A1 (zh) | 2016-08-19 | 2016-08-19 | 一种负载均衡的方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109479214A CN109479214A (zh) | 2019-03-15 |
CN109479214B true CN109479214B (zh) | 2021-05-18 |
Family
ID=61196170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680087405.0A Active CN109479214B (zh) | 2016-08-19 | 2016-08-19 | 一种负载均衡的方法及相关装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11070614B2 (zh) |
EP (1) | EP3481099B1 (zh) |
CN (1) | CN109479214B (zh) |
RU (1) | RU2716748C1 (zh) |
WO (1) | WO2018032499A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10425473B1 (en) * | 2017-07-03 | 2019-09-24 | Pure Storage, Inc. | Stateful connection reset in a storage cluster with a stateless load balancer |
CN115567451A (zh) * | 2019-06-04 | 2023-01-03 | 华为技术有限公司 | 一种转发报文的方法、装置和网络设备 |
CN117376358A (zh) * | 2023-10-12 | 2024-01-09 | 曙光云计算集团有限公司 | 访问请求处理方法、装置及计算机设备 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6571282B1 (en) * | 1999-08-31 | 2003-05-27 | Accenture Llp | Block-based communication in a communication services patterns environment |
US6742015B1 (en) * | 1999-08-31 | 2004-05-25 | Accenture Llp | Base services patterns in a netcentric environment |
US7636917B2 (en) * | 2003-06-30 | 2009-12-22 | Microsoft Corporation | Network load balancing with host status information |
US7613822B2 (en) * | 2003-06-30 | 2009-11-03 | Microsoft Corporation | Network load balancing with session information |
JP4616035B2 (ja) * | 2005-02-25 | 2011-01-19 | 富士通株式会社 | サーバ負荷分散プログラム,装置および方法 |
US8326956B2 (en) * | 2006-03-31 | 2012-12-04 | Cisco Technology, Inc. | System and method for handling persistence information in a network |
US8151323B2 (en) * | 2006-04-12 | 2012-04-03 | Citrix Systems, Inc. | Systems and methods for providing levels of access and action control via an SSL VPN appliance |
US20080046142A1 (en) * | 2006-06-29 | 2008-02-21 | Motorola, Inc. | Layered architecture supports distributed failover for applications |
US8559610B2 (en) | 2006-12-13 | 2013-10-15 | Qualcomm Incorporated | Method and apparatus for allocating network resources in a group communication system |
CN101267587B (zh) * | 2007-03-12 | 2012-10-31 | 电信科学技术研究院 | 一种实现负载重分配的方法、装置及系统 |
US7782801B2 (en) * | 2007-05-29 | 2010-08-24 | Red Hat, Inc. | Flush support for virtual synchrony |
EP2250833B1 (en) * | 2008-01-30 | 2016-06-29 | Telefonaktiebolaget LM Ericsson (publ) | Access class restriction implemented in radio access node for core network processing load reduction |
CN105120496B (zh) * | 2009-11-06 | 2019-06-28 | 华为技术有限公司 | 负载控制方法和设备及通信系统 |
CN101763321B (zh) * | 2010-02-24 | 2013-01-02 | 华为技术有限公司 | 数据容灾的方法、装置及系统 |
US20130054817A1 (en) * | 2011-08-29 | 2013-02-28 | Cisco Technology, Inc. | Disaggregated server load balancing |
CN102447624B (zh) * | 2011-11-23 | 2014-09-17 | 华为数字技术(成都)有限公司 | 在服务器集群上实现负载均衡的方法、节点服务器及集群 |
GB2502775A (en) * | 2012-05-31 | 2013-12-11 | Toshiba Res Europ Ltd | Selecting routes between nodes in a network based on node processing gain and lifetime |
CN104348888B (zh) * | 2013-08-09 | 2017-09-26 | 中国电信股份有限公司 | 内容路由分发方法、内容分发网络节点和系统 |
US9407692B2 (en) * | 2013-11-27 | 2016-08-02 | Avi Networks | Method and system for distributed load balancing |
CN104684025B (zh) * | 2013-12-03 | 2018-11-20 | 富士通株式会社 | 网络负载平衡方法、装置和网络 |
US10846257B2 (en) * | 2014-04-01 | 2020-11-24 | Endance Technology Limited | Intelligent load balancing and high speed intelligent network recorders |
CN103986653B (zh) * | 2014-05-29 | 2017-03-22 | 苏州大学 | 一种网络节点及数据传输方法和系统 |
CN105306545B (zh) * | 2015-09-28 | 2018-09-07 | 浪潮(北京)电子信息产业有限公司 | 一种集群对外服务节点失效接管的方法及系统 |
CN105376317A (zh) * | 2015-11-19 | 2016-03-02 | 网宿科技股份有限公司 | 负载均衡的控制方法及装置 |
CN105743980A (zh) * | 2016-02-03 | 2016-07-06 | 上海理工大学 | 一种自组织的云资源共享分布式对等网络模型构造方法 |
-
2016
- 2016-08-19 EP EP16913256.0A patent/EP3481099B1/en active Active
- 2016-08-19 RU RU2019107633A patent/RU2716748C1/ru active
- 2016-08-19 WO PCT/CN2016/096003 patent/WO2018032499A1/zh unknown
- 2016-08-19 CN CN201680087405.0A patent/CN109479214B/zh active Active
-
2019
- 2019-01-25 US US16/258,090 patent/US11070614B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP3481099A4 (en) | 2019-06-12 |
WO2018032499A1 (zh) | 2018-02-22 |
EP3481099B1 (en) | 2021-10-06 |
EP3481099A1 (en) | 2019-05-08 |
CN109479214A (zh) | 2019-03-15 |
US20190158584A1 (en) | 2019-05-23 |
RU2716748C1 (ru) | 2020-03-16 |
US11070614B2 (en) | 2021-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190356596A1 (en) | Service link selection control method and device | |
US10257115B2 (en) | Cloud-based service resource provisioning based on network characteristics | |
CN108696581B (zh) | 分布式信息的缓存方法、装置、计算机设备以及存储介质 | |
EP3664372A1 (en) | Network management method and related device | |
CN111163130B (zh) | 一种网络服务系统及其数据传输方法 | |
US10097505B2 (en) | Method for initiating local routing communication, base station apparatus, and terminal apparatus | |
JP5255035B2 (ja) | フェイルオーバシステム、記憶処理装置及びフェイルオーバ制御方法 | |
CN108683668A (zh) | 内容分发网络中的资源校验方法、装置、存储介质及设备 | |
US11070614B2 (en) | Load balancing method and related apparatus | |
CN111064804B (zh) | 网络访问方法和装置 | |
CN110719221A (zh) | 即时通信方法、装置、设备及存储介质 | |
WO2018103400A1 (zh) | 无线保真Wi-Fi连接方法及相关产品 | |
CN106549989A (zh) | 一种数据传输方法及其系统、用户终端、应用服务器 | |
CN110730205B (zh) | 集群系统部署的方法、装置、计算机设备和存储介质 | |
US11153173B1 (en) | Dynamically updating compute node location information in a distributed computing environment | |
CN113411363A (zh) | 一种镜像文件的上传方法、相关设备及计算机存储介质 | |
CN104426816B (zh) | 一种虚拟机通信方法及装置 | |
US20160088184A1 (en) | Image forming apparatus, processing method, and non-transitory computer readable medium | |
US9720755B2 (en) | Information processing device | |
EP3805938A1 (en) | Server node selection method and terminal device | |
CN109150720B (zh) | 业务链报文转发方法、装置、设备及计算机可读存储介质 | |
CN110198349B (zh) | 文件传输方法和装置、存储介质及电子装置 | |
US20160239329A1 (en) | Method for live migrating virtual machine | |
CN108173892B (zh) | 云端镜像操作方法和装置 | |
CN111385324A (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 |