CN117201575A - 数据发送方法、装置、设备及介质 - Google Patents
数据发送方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117201575A CN117201575A CN202311064589.7A CN202311064589A CN117201575A CN 117201575 A CN117201575 A CN 117201575A CN 202311064589 A CN202311064589 A CN 202311064589A CN 117201575 A CN117201575 A CN 117201575A
- Authority
- CN
- China
- Prior art keywords
- master node
- client
- session information
- node
- address
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000005540 biological transmission Effects 0.000 title claims abstract description 36
- 238000004891 communication Methods 0.000 claims abstract description 48
- 238000012545 processing Methods 0.000 claims description 10
- 238000001514 detection method Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 abstract description 7
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Landscapes
- Computer And Data Communications (AREA)
Abstract
本公开涉及计算机技术领域,尤其涉及一种数据发送方法、装置、设备及介质,通过接收客户端发送的连接请求,响应于客户端发送的连接请求,在多个节点中确定第一主节点以及至少一个从节点,第一主节点根据地址信息生成会话信息;当检测到第一主节点出现故障时,在至少一个从节点中确定第二主节点,第二主节点获取第一主节点生成的会话信息并进行备份;在确定第二主节点获取第一主节点生成的会话信息之后,建立客户端与第二主节点之间的通讯连接,以使第二主节点基于会话信息保持客户端与服务端之间的数据发送。避免存在新的主节点可能未获取到之前的会话信息,导致客户端与服务端的会话连接失败,即,客户端与服务端之间数据发送失败的问题。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种数据发送方法、装置、设备及介质。
背景技术
随着计算机网络技术的不断发展,用户的业务服务也随之不断增加,为了保证用户对业务服务的性能要求,满足用户的需求。
目前,会采用高可用集群实现业务服务的处理,在高可用集群中包括多个节点,通常多个节点中存在一个主节点、以及多个从节点,对于主节点、以及多个从节点是基于Keepalived实现其高可用性能的,具体的,通过主节点建立客户端与服务端的会话连接,以及两者之间的会话通信,从而保证用户对业务服务的性能要求。
然而,采用现有技术,当主节点出现故障时,会从多个从节点中重新确定一个新的主节点,从出现故障的主节点切换至新的主节点,并利用该新的主节点获取之前的会话信息,以此保持客户端与服务端的会话连接,但是,当客户端发送新的数据时,此时由于新的主节点可能未获取到之前的会话信息,从而导致客户端与服务端的会话连接失败,即,客户端与服务端之间数据发送失败。
发明内容
基于此,有必要针对上述技术问题,提供了一种数据发送方法、装置、设备及介质。当基于第一主节点建立了客户端与服务端之间的用于传输业务、数据的会话信息之后,在检测到第一主节点出现故障时,此时会从多个从节点中确定新的第二主节点,并获取会话信息,在确定第二主节点获取到会话信息之后,才会建立客户端与第二主节点之间的通讯连接,以此保证后续在接收到客户端发送的数据、业务时,第二主节点能够基于会话信息将数据、业务发送给服务端,避免现有技术中,存在新的主节点可能未获取到之前的会话信息,导致客户端与服务端的会话连接失败,即,客户端与服务端之间数据发送失败的问题。
本公开实施例的第一方面,提供一种数据发送方法,应用于高可用集群,所述高可用集群中包括多个节点,所述方法包括:
接收客户端发送的连接请求,其中,所述连接请求用于请求与服务端建立会话连接,所述连接请求携带所述客户端对应的地址信息;
响应于客户端发送的连接请求,在所述多个节点中确定第一主节点以及至少一个从节点,所述第一主节点根据所述地址信息生成会话信息,其中,所述第一主节点与所述客户端通讯连接;
当检测到所述第一主节点出现故障时,在所述至少一个从节点中确定第二主节点,所述第二主节点获取所述第一主节点生成的所述会话信息并进行备份;
在确定所述第二主节点获取所述第一主节点生成的所述会话信息之后,建立所述客户端与所述第二主节点之间的通讯连接,以使所述第二主节点基于所述会话信息保持所述客户端与所述服务端之间的数据发送。
在一个实施例中,所述地址信息包括:所述客户端对应的源地址和源端口、所述服务端对应的目的地址和目的端口;
所述第一主节点根据所述地址信息生成会话信息,包括:
响应于客户端发送的连接请求,对所述源地址和所述源端口进行转换处理,得到目标源地址和目标源端口;
根据所述目标源地址、所述目标源端口、所述目的地址以及所述目的端口,确定所述会话信息,并发送给所述服务端。
在一个实施例中,所述建立所述客户端与所述第二主节点之间的通讯连接,包括:
根据所述客户端对应的虚拟互联网协议地址,建立所述客户端与所述第二主节点之间的通讯连接。
在一个实施例中,所述根据所述客户端对应的虚拟互联网协议地址,建立述客户端与所述第二主节点之间的通讯连接之前,还包括:
获取所述客户端对应的虚拟互联网协议地址;
根据所述虚拟互联网协议地址,对所述第二主节点进行配置。
在一个实施例中,所述在所述多个节点中确定第一主节点以及至少一个从节点,包括:
通过虚拟路由冗余协议,确定各个节点的优先级,根据所述优先级在所述多个节点中确定第一主节点以及至少一个从节点。
在一个实施例中,所述方法还包括:
接收所述客户端发送的数据报文;
根据所述第二主节点备份的所述会话信息,将所述数据报文发送给所述服务端。
在一个实施例中,所述方法还包括:
针对所述第一主节点,基于虚拟路由冗余协议进行心跳检测,确定所述第一主节点是否发生故障。
本公开实施例的第二方面,提供一种数据发送装置,应用于高可用集群,所述高可用集群中包括多个节点,所述装置包括:
连接请求接收模块,用于接收客户端发送的连接请求,其中,所述连接请求用于请求与服务端建立会话连接,所述连接请求携带所述客户端对应的地址信息;
会话信息生成模块,用于响应于客户端发送的连接请求,在所述多个节点中确定第一主节点以及至少一个从节点,所述第一主节点根据所述地址信息生成会话信息,其中,所述第一主节点与所述客户端通讯连接;
处理模块,用于当检测到所述第一主节点出现故障时,在所述至少一个从节点中确定第二主节点,所述第二主节点获取所述第一主节点生成的所述会话信息并进行备份;
通讯连接建立模块,用于在确定所述第二主节点获取所述第一主节点生成的所述会话信息之后,建立所述客户端与所述第二主节点之间的通讯连接,以使所述第二主节点基于所述会话信息保持所述客户端与所述服务端之间的数据发送。
本公开实施例的第三方面,提供一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面中任一所述的方法。
本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面中任一所述的方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
本公开提供了一种数据发送方法、装置、设备及介质,应用于高可用集群,高可用集群中包括多个节点,通过接收客户端发送的连接请求,其中,连接请求用于请求与服务端建立会话连接,连接请求携带客户端对应的地址信息;响应于客户端发送的连接请求,在多个节点中确定第一主节点以及至少一个从节点,第一主节点根据地址信息生成会话信息,其中,第一主节点与客户端通讯连接;当检测到第一主节点出现故障时,在至少一个从节点中确定第二主节点,第二主节点获取第一主节点生成的会话信息并进行备份;在确定第二主节点获取第一主节点生成的会话信息之后,建立客户端与第二主节点之间的通讯连接,以使第二主节点基于会话信息保持客户端与服务端之间的数据发送。在上述过程中,当基于第一主节点建立了客户端与服务端之间的用于传输业务、数据的会话信息之后,在检测到第一主节点出现故障时,此时会从多个从节点中确定新的第二主节点,并获取会话信息,在确定第二主节点获取到会话信息之后,才会建立客户端与第二主节点之间的通讯连接,以此保证后续在接收到客户端发送的数据、业务时,第二主节点能够基于会话信息将数据、业务发送给服务端,避免现有技术中,存在新的主节点可能未获取到之前的会话信息,导致客户端与服务端的会话连接失败,即,客户端与服务端之间数据发送失败的问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种数据发送方法的流程示意图;
图2为本公开实施例提供的另一种数据发送方法的流程示意图;
图3为本公开实施例提供的一种数据发送装置的结构示意图;
图4是本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
本公开的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
目前,为了保证用户对业务服务的性能要求,满足用户的需求,会采用高可用集群实现业务服务的处理,在高可用集群中包括多个节点,通常多个节点中存在一个主节点、以及多个从节点,对于主节点、以及多个从节点是基于Keepalived实现其高可用性能的,具体的,通过主节点建立客户端与服务端的会话连接、两者之间的数据发送,从而保证用户对业务服务的性能要求。
然而,当主节点出现故障时,会从多个从节点中重新确定一个新的主节点,从出现故障的主节点切换至新的主节点,并利用该新的主节点获取之前的会话信息,以此保持客户端与服务端的会话连接,但是,当客户端发送新的数据时,此时由于新的主节点可能未获取到之前的会话信息,从而导致客户端与服务端的会话连接失败,客户端与服务端之间数据发送失败。
基于上述问题,本公开提供了一种数据发送方法、装置、设备及介质,应用于高可用集群,高可用集群中包括多个节点,通过接收客户端发送的连接请求,其中,连接请求用于请求与服务端建立会话连接,连接请求携带客户端对应的地址信息;响应于客户端发送的连接请求,在多个节点中确定第一主节点以及至少一个从节点,第一主节点根据地址信息生成会话信息,其中,第一主节点与客户端通讯连接;当检测到第一主节点出现故障时,在至少一个从节点中确定第二主节点,第二主节点获取第一主节点生成的会话信息并进行备份;在确定第二主节点获取第一主节点生成的会话信息之后,建立客户端与第二主节点之间的通讯连接,以使第二主节点基于会话信息保持客户端与服务端之间的数据发送。在上述过程中,当基于第一主节点建立了客户端与服务端之间的用于传输业务、数据的会话信息之后,在检测到第一主节点出现故障时,此时会从多个从节点中确定新的第二主节点,并获取会话信息,在确定第二主节点获取到会话信息之后,才会建立客户端与第二主节点之间的通讯连接,以此保证后续在接收到客户端发送的数据、业务时,第二主节点能够基于会话信息将数据、业务发送给服务端,避免现有技术中,存在新的主节点可能未获取到之前的会话信息,导致客户端与服务端的会话连接失败,即,客户端与服务端之间数据发送失败的问题。
在一个实施例中,图1为本公开实施例提供的一种数据发送方法的流程示意图,应用于高可用集群,高可用集群中包括多个节点,对于高可用集群是指以减少用户业务服务中断时间为目的的服务器集群技术,能够过保护用户的业务程序对外不间断提供的服务。基于此,如图1所示,具体包括以下步骤:
S11:接收客户端发送的连接请求。
其中,连接请求用于请求与服务端建立会话连接,连接请求携带客户端对应的地址信息。其中,地址信息是指当前发生连接请求的客户端相关的地址信息,该地址信息包括:客户端对应的源地址和源端口、服务端对应的目的地址和目的端口,示例性的,对于客户端对应的源地址和源端口例如可以是:172.16.X.X:35000,服务端对应的目的地址和目的端口例如可以是:192.168.xx.xx:80,但不限于此,本公开不具体限制,本领域技术人员肯根据实际情况设置。
具体的,高可用集群接收客户端发送的用于请求与服务端建立会话连接的连接请求。
S12:响应于客户端发送的连接请求,在多个节点中确定第一主节点以及至少一个从节点,第一主节点根据地址信息生成会话信息。
其中,第一主节点与客户端通讯连接。
可选的,对于第一主节点与客户端通讯连接的一种实现方式可以是:当在多个节点中确定第一主节点之后,客户端的虚拟互联网协议(Internet Protocol,IP)会对第一主节点进行对应的IP配置,以使得第一主节点与客户端基于该IP建立通讯连接。
上述会话信息是指在客户端与服务端初次建立会话连接时,生成的信息,以使客户端与服务端之间在后续能够基于该会话信息进行数据发送。
具体的,高可用集群在接收客户端发送的用于请求与服务端建立会话连接的连接请求之后,响应于该连接请求,在多个节点中确定第一主节点、至少一个从节点,在确定第一主节点之后,第一主节点根据地址信息生成会话信息,需要注意的是,此时至少一个从节点处于等待状态。
可选的,在上述实施例的基础上,在本公开的一些实施例中,执行在多个节点中确定第一主节点以及至少一个从节点的一种实现方式可以是:
步骤A:通过虚拟路由冗余协议,确定各个节点的优先级,根据优先级在多个节点中确定第一主节点以及至少一个从节点。
其中,虚拟路由冗余协议(Virtual Router Redundancy Protocol,VRRP)是指解决局域网中配置静态网关出现单点失效现象的路由协议。VRRP被广泛应用在边缘网络中,能够支持特定情况下IP数据流量失败转移不会引起混乱。
具体的,高可用集群在接收客户端发送的用于请求与服务端建立会话连接的连接请求之后,响应于该连接请求,通过虚拟路由冗余协议,确定各个节点的优先级,根据优先级在多个节点中确定第一主节点以及一个或多个从节点,即一个或多个从节点为多个节点中除第一主节点的其它节点。
可选的,在上述实施例的基础上,在本公开的一些实施例中,当客户端需要和服务端之间进行业务如传输数据时,需要实现源地址转换,源地址转换是指内网地址向外访问时,发起访问的内网ip地址转换为指定的ip地址,以此使内网中能够使用保留ip地址的主节点访问外部网络,从而实现与服务端之间的业务。基于此,执行第一主节点根据地址信息生成会话信息的一种实现方式可以是:
步骤B1:响应于客户端发送的连接请求,对源地址和源端口进行转换处理,得到目标源地址和目标源端口。
其中,目标源地址和目标源端口是为了保证内网能够访问外网如服务端的地址。
具体的,响应于客户端发送的连接请求,对源地址和源端口进行转换处理,得到目标源地址和目标源端口,以此利用目标源地址和目标源端口访问外网。
上述对对源地址和源端口进行转换处理的具体实现过程可参考现有技术,此处不再过多赘述。
步骤B2:根据目标源地址、目标源端口、目的地址以及目的端口,确定会话信息,并发送给服务端。
具体的,在对源地址和源端口进行转换处理,得到目标源地址和目标源端口之后,根据根据目标源地址、目标源端口、目的地址以及目的端口,确定会话信息,记录该会话信息,并将该会话信息发送给服务端。
这样,本实施例提供的数据发送的方法,在上述过程中,能够通过对源地址和源端口进行转换处理,得到目标源地址和目标源端口,进一步根据目标源地址、目标源端口、目的地址以及目的端口,确定会话信息,并发送给服务端,以此保证内网中主节点能够访问外部网络,从而实现与服务端之间的业务、数据传输等。
S13:当检测到第一主节点出现故障时,在至少一个从节点中确定第二主节点,第二主节点获取第一主节点生成的会话信息并进行备份。
具体的,当检测确定第一主节点出现故障时,此时在至少一个从节点中重新确定第二主节点,在确定第二主节点之后,利用第二主节点获取第一主节点生成的会话信息并进行备份。
可选的,在上述实施例的基础上,在本公开的一些实施例中,对于第一主节点是否出现故障的一种实现方式可以是:
步骤C:针对第一主节点,基于虚拟路由冗余协议进行心跳检测,确定第一主节点是否发生故障。
具体的,针对第一主节点,基于虚拟路由冗余协议进行心跳检测,检测第一主节点是否存在心跳,当第一主节点不存在心跳时,说明此时第一主节点可能已经发送故障。
可选的,在上述实施例的基础上,在本公开的一些实施例中,执行在至少一个从节点中确定第二主节点的一种实现方式可以是:通过虚拟路由冗余协议,确定各个从节点的优先级,根据优先级在多个从节点中确定第二主节点。
可选的,在上述实施例的基础上,在本公开的一些实施例中,利用第二主节点获取第一主节点生成的会话信息并进行备份的一种实现方式可以是:利用第二主节点获取第一主节点生成的会话信息,将获取得到的会话信息备份至第二主节点对应的数据转发面。
S14:在确定第二主节点获取第一主节点生成的会话信息之后,建立客户端与第二主节点之间的通讯连接,以使第二主节点基于会话信息保持客户端与所述服务端之间的数据发送。
具体的,在确定第二主节点之后,利用第二主节点获取第一主节点生成的会话信息,并在确定第二主节点获取第一主节点生成的会话信息之后,建立客户端与第二主节点之间的通讯连接,从而使得第二主节点能够基于会话信息保持客户端与所述服务端之间的数据发送。
可选的,在上述实施例的基础上,在本公开的一些实施例中,建立客户端与第二主节点之间的通讯连接的一种实现方式可以是:
步骤D:根据客户端对应的虚拟互联网协议地址,建立客户端与第二主节点之间的通讯连接。
具体的,对于客户端与高可用集群中的主节点进行连接是通过虚拟互联网协议地址进行通讯连接的,基于此,在确定第二主节点之后,为了保证客户端能够基于会话信息实现与服务端之间的业务,根据客户端对应的虚拟互联网协议地址,建立客户端与第二主节点之间的通讯连接,即将客户端从第一主节点切换至第二主节点。
可选的,在上述实施例的基础上,在本公开的一些实施例中,为了保证客户端能够与第二主节点能够建立通讯连接,在执行步骤D之前还包括:
步骤D1:获取客户端对应的虚拟互联网协议地址。
步骤D2:根据虚拟互联网协议地址,对第二主节点进行配置。
具体的,获取客户端对应的虚拟互联网协议地址,将客户端对应的虚拟互联网协议地址对第二主节点进行配置,以此实现将第一主节点切换至第二主节点
这样,本实施例提供的数据发送的方法,应用于高可用集群,高可用集群中包括多个节点,通过接收客户端发送的连接请求,其中,连接请求用于请求与服务端建立会话连接,连接请求携带客户端对应的地址信息;响应于客户端发送的连接请求,在多个节点中确定第一主节点以及至少一个从节点,第一主节点根据地址信息生成会话信息,其中,第一主节点与客户端通讯连接;当检测到第一主节点出现故障时,在至少一个从节点中确定第二主节点,第二主节点获取第一主节点生成的会话信息并进行备份;在确定第二主节点获取第一主节点生成的会话信息之后,建立客户端与第二主节点之间的通讯连接,以使第二主节点基于会话信息保持客户端与服务端之间的数据发送。在上述过程中,当基于第一主节点建立了客户端与服务端之间的用于传输业务、数据的会话信息之后,在检测到第一主节点出现故障时,此时会从多个从节点中确定新的第二主节点,并获取会话信息,在确定第二主节点获取到会话信息之后,才会建立客户端与第二主节点之间的通讯连接,以此保证后续在接收到客户端发送的数据、业务时,第二主节点能够基于会话信息将数据、业务发送给服务端,避免现有技术中,存在新的主节点可能未获取到之前的会话信息,导致客户端与服务端的会话连接失败,即,客户端与服务端之间数据发送失败的问题。
可选的,图2为本公开实施例提供的另一种数据发送方法的流程示意图,图2是在图1的基础上进一步的优化,如图2所示,还包括:
S21:接收客户端发送的数据报文。
S22:根据第二主节点备份的会话信息,将数据报文发送给服务端。
具体的,当高可用集群中的第二主节点在接收到客户端发送的数据报文之后,根据第二主节点备份的会话信息,将数据报文发送给服务端。
这样,本实施例提供的数据发送的方法,能够在第一主节点出现故障时,在接收到客户端发送的数据报文时,利用第二主节点基于会话信息将数据报文发送给服务端,避免现有技术中,存在新的主节点可能未获取到之前的会话信息,导致客户端与服务端的会话连接失败,即,客户端与服务端之间数据发送失败的问题。
本公开实施例还提供了一种数据发送装置,用于执行上述实施例提供的任一种数据发送方法,具备数据发送方法相应的有益效果。
图3为本公开实施例提供的一种数据发送装置的结构示意图,包括:连接请求接收模块11、会话信息生成模块12、处理模块13以及通讯连接建立模块14。
其中,连接请求接收模块11,用于接收客户端发送的连接请求,其中,所述连接请求用于请求与服务端建立会话连接,所述连接请求携带所述客户端对应的地址信息;
会话信息生成模块12,用于响应于客户端发送的连接请求,在所述多个节点中确定第一主节点以及至少一个从节点,所述第一主节点根据所述地址信息生成会话信息,其中,所述第一主节点与所述客户端通讯连接;
处理模块13,用于当检测到所述第一主节点出现故障时,在所述至少一个从节点中确定第二主节点,所述第二主节点获取所述第一主节点生成的所述会话信息并进行备份;
通讯连接建立模块14,用于在确定所述第二主节点获取所述第一主节点生成的所述会话信息之后,建立所述客户端与所述第二主节点之间的通讯连接,以使所述第二主节点基于所述会话信息保持所述客户端与所述服务端之间的数据发送。
在上述实施例中,所述地址信息包括:所述客户端对应的源地址和源端口、所述服务端对应的目的地址和目的端口;会话信息生成模块12,具体用于响应于客户端发送的连接请求,对所述源地址和所述源端口进行转换处理,得到目标源地址和目标源端口;
根据所述目标源地址、所述目标源端口、所述目的地址以及所述目的端口,确定所述会话信息,并发送给所述服务端。
在上述实施例中,通讯连接建立模块14,具体用于根据所述客户端对应的虚拟互联网协议地址,建立所述客户端与所述第二主节点之间的通讯连接。
在上述实施例中,所述装置还包括:配置模块,用于获取所述客户端对应的虚拟互联网协议地址;
根据所述虚拟互联网协议地址,对所述第二主节点进行配置。
在上述实施例中,处理模块13,具体用于通过虚拟路由冗余协议,确定各个节点的优先级,根据所述优先级在所述多个节点中确定第一主节点以及至少一个从节点。
在上述实施例中,所述装置还包括:发送模块,用于接收所述客户端发送的数据报文;
根据所述第二主节点备份的所述会话信息,将所述数据报文发送给所述服务端。
在上述实施例中,处理模块13,具体用于针对所述第一主节点,基于虚拟路由冗余协议进行心跳检测,确定所述第一主节点是否发生故障。
这样,本实施例通过连接请求接收模块11,用于接收客户端发送的连接请求,其中,所述连接请求用于请求与服务端建立会话连接,所述连接请求携带所述客户端对应的地址信息;会话信息生成模块12,用于响应于客户端发送的连接请求,在所述多个节点中确定第一主节点以及至少一个从节点,所述第一主节点根据所述地址信息生成会话信息,其中,所述第一主节点与所述客户端通讯连接;处理模块13,用于当检测到所述第一主节点出现故障时,在所述至少一个从节点中确定第二主节点,所述第二主节点获取所述第一主节点生成的所述会话信息并进行备份;通讯连接建立模块14,用于在确定所述第二主节点获取所述第一主节点生成的所述会话信息之后,建立所述客户端与所述第二主节点之间的通讯连接,以使所述第二主节点基于所述会话信息保持所述客户端与所述服务端之间的数据发送。在上述过程中,当基于第一主节点建立了客户端与服务端之间的用于传输业务、数据的会话信息之后,在检测到第一主节点出现故障时,此时会从多个从节点中确定新的第二主节点,并获取会话信息,在确定第二主节点获取到会话信息之后,才会建立客户端与第二主节点之间的通讯连接,以此保证后续在接收到客户端发送的数据、业务时,第二主节点能够基于会话信息将数据、业务发送给服务端,避免现有技术中,存在新的主节点可能未获取到之前的会话信息,导致客户端与服务端的会话连接失败,即,客户端与服务端之间数据发送失败的问题。
图4是本公开实施例提供的一种电子设备的结构示意图,如图4所示,该电子设备包括处理器410、存储器420、输入装置430和输出装置440;计算机设备中处理器410的数量可以是一个或多个,图4中以一个处理器410为例;电子设备中的处理器410、存储器420、输入装置430和输出装置440可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储器420作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中方法对应的程序指令/模块。处理器410通过运行存储在存储器420中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据发送,即实现本发明实施例所提供的方法。
存储器420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器420可进一步包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置430可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入,可以包括键盘、鼠标等。输出装置440可包括显示屏等显示设备。
本公开实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于实现本发明实施例所提供的方法,方法包括:
接收客户端发送的连接请求,其中,所述连接请求用于请求与服务端建立会话连接,所述连接请求携带所述客户端对应的地址信息;
响应于客户端发送的连接请求,在所述多个节点中确定第一主节点以及至少一个从节点,所述第一主节点根据所述地址信息生成会话信息,其中,所述第一主节点与所述客户端通讯连接;
当检测到所述第一主节点出现故障时,在所述至少一个从节点中确定第二主节点,所述第二主节点获取所述第一主节点生成的所述会话信息并进行备份;
在确定所述第二主节点获取所述第一主节点生成的所述会话信息之后,建立所述客户端与所述第二主节点之间的通讯连接,以使所述第二主节点基于所述会话信息保持所述客户端与所述服务端之间的数据发送。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据发送方法,其特征在于,应用于高可用集群,所述高可用集群中包括多个节点,所述方法包括:
接收客户端发送的连接请求,其中,所述连接请求用于请求与服务端建立会话连接,所述连接请求携带所述客户端对应的地址信息;
响应于客户端发送的连接请求,在所述多个节点中确定第一主节点以及至少一个从节点,所述第一主节点根据所述地址信息生成会话信息,其中,所述第一主节点与所述客户端通讯连接;
当检测到所述第一主节点出现故障时,在所述至少一个从节点中确定第二主节点,所述第二主节点获取所述第一主节点生成的所述会话信息并进行备份;
在确定所述第二主节点获取所述第一主节点生成的所述会话信息之后,建立所述客户端与所述第二主节点之间的通讯连接,以使所述第二主节点基于所述会话信息保持所述客户端与所述服务端之间的数据发送。
2.根据权利要求1所述的方法,其特征在于,所述地址信息包括:所述客户端对应的源地址和源端口、所述服务端对应的目的地址和目的端口;
所述第一主节点根据所述地址信息生成会话信息,包括:
响应于客户端发送的连接请求,对所述源地址和所述源端口进行转换处理,得到目标源地址和目标源端口;
根据所述目标源地址、所述目标源端口、所述目的地址以及所述目的端口,确定所述会话信息,并发送给所述服务端。
3.根据权利要求1所述的方法,其特征在于,所述建立所述客户端与所述第二主节点之间的通讯连接,包括:
根据所述客户端对应的虚拟互联网协议地址,建立所述客户端与所述第二主节点之间的通讯连接。
4.根据权利要求3所述的方法,其特征在于,所述根据所述客户端对应的虚拟互联网协议地址,建立所述客户端与所述第二主节点之间的通讯连接之前,还包括:
获取所述客户端对应的虚拟互联网协议地址;
根据所述虚拟互联网协议地址,对所述第二主节点进行配置。
5.根据权利要求1所述的方法,其特征在于,所述在所述多个节点中确定第一主节点以及至少一个从节点,包括:
通过虚拟路由冗余协议,确定各个节点的优先级,根据所述优先级在所述多个节点中确定第一主节点以及至少一个从节点。
6.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收所述客户端发送的数据报文;
根据所述第二主节点备份的所述会话信息,将所述数据报文发送给所述服务端。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
针对所述第一主节点,基于虚拟路由冗余协议进行心跳检测,确定所述第一主节点是否发生故障。
8.一种数据发送装置,其特征在于,应用于高可用集群,所述高可用集群中包括多个节点,所述装置包括:
连接请求接收模块,用于接收客户端发送的连接请求,其中,所述连接请求用于请求与服务端建立会话连接,所述连接请求携带所述客户端对应的地址信息;
会话信息生成模块,用于响应于客户端发送的连接请求,在所述多个节点中确定第一主节点以及至少一个从节点,所述第一主节点根据所述地址信息生成会话信息,其中,所述第一主节点与所述客户端通讯连接;
处理模块,用于当检测到所述第一主节点出现故障时,在所述至少一个从节点中确定第二主节点,所述第二主节点获取所述第一主节点生成的所述会话信息并进行备份;
通讯连接建立模块,用于在确定所述第二主节点获取所述第一主节点生成的所述会话信息之后,建立所述客户端与所述第二主节点之间的通讯连接,以使所述第二主节点基于所述会话信息保持所述客户端与所述服务端之间的数据发送。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至7中任一项所述的数据发送方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述数据发送方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311064589.7A CN117201575A (zh) | 2023-08-21 | 2023-08-21 | 数据发送方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311064589.7A CN117201575A (zh) | 2023-08-21 | 2023-08-21 | 数据发送方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117201575A true CN117201575A (zh) | 2023-12-08 |
Family
ID=88998987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311064589.7A Pending CN117201575A (zh) | 2023-08-21 | 2023-08-21 | 数据发送方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117201575A (zh) |
-
2023
- 2023-08-21 CN CN202311064589.7A patent/CN117201575A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9659075B2 (en) | Providing high availability in an active/active appliance cluster | |
US6430622B1 (en) | Methods, systems and computer program products for automated movement of IP addresses within a cluster | |
WO2017162173A1 (zh) | 云服务器集群建立连接的方法和装置 | |
US9219640B2 (en) | Performing failover in a redundancy group | |
CN110971698B (zh) | 一种数据转发系统、方法及装置 | |
JP2004519024A (ja) | 多数のノードを含むクラスタを管理するためのシステム及び方法 | |
CN113572831B (zh) | Kubernetes集群间的通信方法、计算机设备及介质 | |
US20130227022A1 (en) | Peer discovery and secure communication in failover schemes | |
JP4789425B2 (ja) | 経路テーブル同期方法、ネットワーク機器および経路テーブル同期プログラム | |
US10069941B2 (en) | Scalable event-based notifications | |
WO2020057445A1 (zh) | 一种通信系统、方法及装置 | |
CN110971702A (zh) | 服务调用方法、装置、计算机设备及存储介质 | |
US20200127884A1 (en) | Two-channel-based high-availability | |
WO2017071384A1 (zh) | 报文处理的方法及装置 | |
CN114640633B (zh) | 负载均衡器及其实现方法、负载均衡的方法、网关系统 | |
CN114090342A (zh) | 存储容灾的链路管理方法及消息执行节点、存储控制集群 | |
JP2010086137A (ja) | メッセージキューイング方法及びプログラム | |
US20200287784A1 (en) | Priority based selection of time services | |
JP4133738B2 (ja) | 高速ネットワークアドレス引継ぎ方法、ネットワーク装置及びプログラム | |
CN117201575A (zh) | 数据发送方法、装置、设备及介质 | |
WO2022121492A1 (zh) | 文件传输方法、装置、计算机设备及存储介质 | |
CN111385324A (zh) | 一种数据通信方法、装置、设备和存储介质 | |
CN109510864B (zh) | 一种缓存请求的转发方法、传输方法及相关装置 | |
JP5945367B2 (ja) | ウェブページ間で通信を行うための方法およびシステム | |
US9019964B2 (en) | Methods and systems for routing application traffic |
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 |