信息发送方法及装置制造方法及图纸

技术编号:34171992 阅读:17 留言:0更新日期:2022-07-17 10:59
本发明专利技术提供一种信息发送方法及装置,包括:在接收到kafka服务器发送的第一消息的情况下,确定第一消息对应的第一客户端,并确定与第一客户端是否已建立连接;在确定与第一客户端已建立连接的情况下,将第一消息发送至第一客户端;其中,kafka服务器连接至少两个服务端,至少两个服务端所述第一服务端和第二服务端,第一消息是第二服务端在接收到第二客户端发送的第二消息,并确定第二服务端与第一客户端未建立连接的情况下,基于第二消息生成,并发送至kafka服务器的模板消息,实现了集群环境中的信息发送。境中的信息发送。境中的信息发送。

【技术实现步骤摘要】
信息发送方法及装置


[0001]本专利技术涉及通信
,尤其涉及一种信息发送方法及装置。

技术介绍

[0002]在服务端为单节点的场景下,客户端A通过基于传输控制协议(Transmission Control Protocol,TCP)的全双工通信协议WebSocket与服务端S建立长连接,服务端S记录连接情况。服务端S收到其他客户端例如B发来的消息后,如果此时服务端S与A已建立连接,则将消息实时转发至客户端A。
[0003]但是如果服务端为集群环境,即多节点,则会出现A与服务端已连接,但无法收到B发送的消息的场景:客户端A通过WebSocket与服务端S1建立长连接,服务端S记录连接情况。服务端S2收到其他客户端例如B发来的消息后,由于此时连接信息记录在S1,S2无法查询到A的连接记录,则无法将消息实时发送到A。
[0004]因此亟需一种解决集群环境中消息的接收客户端和消息的发送客户端没有连接在同一个服务端节点的情况下,消息无法发送到目标客户端的问题。

技术实现思路

[0005]本专利技术提供一种信息发送方法及装置,用以解决现有技术中集群环境中消息无法发送到目标客户端的缺陷,实现集群环境中消息的发送。
[0006]本专利技术提供一种信息发送方法,应用于第一服务端,包括:
[0007]在接收到kafka服务器发送的第一消息的情况下,确定所述第一消息对应的第一客户端,并确定与所述第一客户端是否已建立连接;
[0008]在确定与所述第一客户端已建立连接的情况下,将所述第一消息发送至所述第一客户端;
[0009]其中,所述kafka服务器连接至少两个服务端,所述至少两个服务端包括所述第一服务端和第二服务端;
[0010]所述第一消息是所述第二服务端在接收到第二客户端发送的第二消息,并确定所述第二服务端与所述第一客户端未建立连接的情况下,基于所述第二消息生成并发送至所述kafka服务器的模板消息。
[0011]本专利技术还提供一种信息发送方法,应用于kafka服务器,所述kafka服务器连接至少两个服务端,所述至少两个服务端包括第二服务端,所述方法包括:
[0012]在接收到第二服务端发送的第一消息的情况下,将所述第一消息发送至所述至少两个服务端中除了所述第二服务端外的其它服务端;
[0013]其中,所述第一消息是所述第二服务端在接收到第二客户端发送的第二消息,并确定所述第二服务端与所述第二消息对应的第一客户端未建立连接的情况下生成,并发送至所述kafka服务器的。
[0014]本专利技术还提供一种信息发送装置,包括:
[0015]消息处理模块,用于在接收到kafka服务器发送的第一消息的情况下,确定所述第一消息对应的第一客户端,并确定与所述第一客户端是否已建立连接;
[0016]消息发送模块,用于在确定与所述第一客户端已建立连接的情况下,将所述第一消息发送至所述第一客户端;
[0017]其中,所述kafka服务器连接至少两个服务端,所述至少两个服务端包括所述第一服务端和第二服务端;
[0018]所述第一消息是所述第二服务端在接收到第二客户端发送的第二消息,并确定所述第二服务端与所述第一客户端未建立连接的情况下,基于所述第二消息生成并发送至所述kafka服务器的模板消息。
[0019]本专利技术还提供一种信息发送装置,包括:
[0020]发送模块,用于在接收到第二服务端发送的第一消息的情况下,将所述第一消息发送至所述至少两个服务端中除了所述第二服务端外的其它服务端;
[0021]其中,所述第一消息是所述第二服务端在接收到第二客户端发送的第二消息,并确定所述第二服务端与所述第二消息对应的第一客户端未建立连接的情况下生成,并发送至所述kafka服务器的。
[0022]本专利技术还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述信息发送方法。
[0023]本专利技术还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述信息发送方法。
[0024]本专利技术还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述信息发送方法。
[0025]本专利技术提供的信息发送方法及装置,通过kafka服务器连接包括第一服务端和第二服务端的至少两个服务端,第二服务端在接收到第二客户端发送的第二消息,并确定与第二消息的接收端第一客户端未建立连接的情况下,基于第二消息生成第一消息,并将第一消息发送至kafka服务器,第一服务端在接收到kafka服务器发送的第一消息的情况下,确定所述第一消息对应的第一客户端,在确定与所述第一客户端建立连接的情况下,将所述第一消息发送至所述第一客户端,在第一客户端和第二客户端没有连接在同一个服务端的情况下,第一客户端仍然可以接收到第二客户端发送的消息,实现了集群环境中的信息发送。
附图说明
[0026]为了更清楚地说明本专利技术或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0027]图1是本专利技术提供的信息发送方法的流程示意图之一;
[0028]图2是相关技术中集群环境中节点的连接关系示意图;
[0029]图3是本专利技术提供的集群环境中节点的连接关系示意图;
[0030]图4是本专利技术提供的服务端接收到客户端发送的消息的流程示意图;
[0031]图5是本专利技术提供的信息发送方法的流程示意图之二;
[0032]图6是本专利技术提供的信息发送装置的结构示意图之一;
[0033]图7是本专利技术提供的信息发送装置的结构示意图之二;
[0034]图8是本专利技术提供的电子设备的结构示意图。
具体实施方式
[0035]为使本专利技术的目的、技术方案和优点更加清楚,下面将结合本专利技术中的附图,对本专利技术中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0036]图1是本专利技术实施例提供的信息发送方法的流程示意图之一,如图1所示,信息发送方法应用于第一服务端,包括步骤100和步骤101。
[0037]步骤100、在接收到kafka服务器发送的第一消息的情况下,确定所述第一消息对应的第一客户端,并确定与所述第一客户端是否已建立连接。
[0038]第一消息对应第一客户端,是指第一消息指定的接收端为第一客户端。
[0039]kafka服务器连接至少两个服务端,至少两个服务端包括第一服务端和第二服务端。
[0040]第本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种信息发送方法,其特征在于,应用于第一服务端,包括:在接收到kafka服务器发送的第一消息的情况下,确定所述第一消息对应的第一客户端,并确定与所述第一客户端是否已建立连接;在确定与所述第一客户端已建立连接的情况下,将所述第一消息发送至所述第一客户端;其中,所述kafka服务器连接至少两个服务端,所述至少两个服务端包括所述第一服务端和第二服务端;所述第一消息是所述第二服务端在接收到第二客户端发送的第二消息,并确定所述第二服务端与所述第一客户端未建立连接的情况下,基于所述第二消息生成并发送至所述kafka服务器的模板消息。2.根据权利要求1所述的信息发送方法,其特征在于,还包括:在接收到第三客户端发送的第三消息的情况下,将所述第三消息存储至消息表中;确定所述第三消息对应的第四客户端,并确定与所述第四客户端是否已建立连接;在确定与所述第四客户端已建立连接的情况下,将所述第三消息发送至所述第四客户端,并将所述消息表中所述第三消息的状态标记为已读;或者,在确定与所述第四客户端未建立连接的情况下,基于所述第三消息生成第四消息,并向所述kafka服务器发送所述第四消息。3.根据权利要求2所述的信息发送方法,其特征在于,还包括:在监听到与所述第三客户端建立连接的情况下,将所述第三客户端的连接记录存储至本地内存;确定所述消息表中是否存在第五消息,所述第五消息对应所述第三客户端且状态为未读;在所述消息表中存在所述第五消息的情况下,将所述第五消息发送至所述第三客户端。4.根据权利要求2所述的信息发送方法,其特征在于,所述第四消息是所述第一服务端向所述kafka服务器发送的模板消息,所述第四消息的参数至少包括:主题、用户身份标识和消息内容。5.一种信息发送方法,其特征在于,应用于kafka服务器,所述kafka服务器连接至少两个服务端,所述至少两个服务端包括第二服务端,所述方法包括:在接收到第二服务端发送的第一消息的情况下,将所述第一消息发送至所述至少两个服务端中...

【专利技术属性】
技术研发人员:牛丽敏
申请(专利权)人:中银金融科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1