长连接通信方法、装置、存储介质及电子装置与流程

文档序号:36729645发布日期:2024-01-16 12:39阅读:19来源:国知局
长连接通信方法、装置、存储介质及电子装置与流程

本技术涉及计算机,尤其涉及一种长连接通信方法、装置、存储介质及电子装置。


背景技术:

1、针对如云端分布式、ai语音交互、消息推送下发等实际的业务,为了保障响应时间、业务的可靠,需要使用websocket长连接,现有的websocket长连接的一般架构如图1所示。

2、1、客户端访问域名发起建立websocket长连接请求,经过服务端的负载(如slb/f5/a10等),然后建立websocket长连接请求可能进入到k8s集群或互联网数据中心(internet data center,idc)机房的物理机集群中。

3、2、如果是进入k8s集群,则先进入ingress负载后,进入网关应用集群(对应图1中的service-gateway,它是可选的,可以不经过它))后,再连到最终的websocket入口应用集群。

4、3、如果是进入物理/虚拟机服务器集群,则先进入nginx负载后,进入网关应用集群(对应图1中的gateway,它是可选的,可以不经过它)后,再连到最终的websocket入口应用集群(对应图1中的websocket)。

5、受限于负载能承载连接数上限(比如ingress或nginx受端口资源所限,一个实例最多能支持6万多连接;阿里云slb支持的连接数最大规格是100万),如果要对负载进行集群扩容,成本也很高(尤其针对购买的硬件f5/a10或公有云服务slb等)。


技术实现思路

1、本技术提供一种长连接通信方法、装置、存储介质及电子装置,用以解决现有技术中的受限于负载均衡本身的处理连接数上限和扩容带来的成本问题的缺陷,将在终端建立websocket长连接时,直接通过连到服务器的长连接服务注册调度中心建立终端与服务器的websocket长连接,绕过中间的所有负载均衡链路,不再受限于负载均衡本身的处理连接数上限和扩容带来的成本问题。

2、本技术提供一种长连接通信方法,应用于终端,包括:

3、向长连接服务注册调度中心发送websocket长连接建立请求消息,所述websocket长连接建立请求消息用于请求与服务器建立websocket长连接,所述长连接服务注册调度中心部署在所述服务器上;

4、接收所述长连接服务注册调度中心发送的重定向消息,所述重定向消息中携带所述服务器上空闲的websocket长连接入口应用实例的地址;

5、根据所述地址,连接到所述空闲的websocket长连接入口应用实例,以通过所述空闲的websocket长连接入口应用实例调用目标集群上的服务。

6、根据本技术提供的一种长连接通信方法,所述方法,还包括:

7、向所述长连接服务注册调度中心发送所述websocket长连接建立请求消息后,判断在第一预设时间内是否接收到所述长连接服务注册中心发送的所述重定向消息;

8、若否,则重新向所述长连接服务注册调度中心发送所述websocket长连接建立请求消息。

9、本技术还提供一种长连接通信方法,应用于服务器,包括:

10、基于长连接服务注册调度中心接收终端发送的websocket长连接建立请求消息,所述websocket长连接建立请求消息用于请求与服务器建立websocket长连接,所述长连接服务注册调度中心部署在所述服务器上;

11、响应于所述websocket长连接建立请求消息,获取所述服务器上空闲的websocket长连接入口应用实例的地址;

12、向所述终端发送重定向消息,所述重定向消息中携带所述服务器上空闲的websocket长连接入口应用实例的地址。

13、根据本技术提供的一种长连接通信方法,获取所述服务器上空闲的websocket长连接入口应用实例的地址,包括:

14、根据预先注册到所述长连接服务注册调度中心中的所述websocket长连接入口应用实例的公网ip地址和端口号,获取所述服务器上空闲的websocket长连接入口应用实例的地址。

15、根据本技术提供的一种长连接通信方法,所述方法,还包括:

16、将所述websocket长连接入口应用封装成容器镜像,部署在所述目标集群上。

17、根据本技术提供的一种长连接通信方法,所述方法,还包括:

18、确定所述终端连接到所述空闲的websocket长连接入口应用实例的失败次数;

19、当所述失败次数达到预设长连接异常次数后,向所述终端重新发送新的重定向消息,所述新的重定向消息中携带所述服务器上新的空闲的websocket长连接入口应用实例的地址。

20、根据本技术提供的一种长连接通信方法,所述方法,还包括:

21、接收所述终端发送的心跳数据,并进行超时检测;

22、若连续第二预设时间内未接收到所述终端发送的交互信息,则判定超时一次,并更新超时次数;

23、在接收到所述终端发送的所述交互信息后,将重置更新后的超时次数;

24、若超时次数超过预设阈值,则确定所述终端掉线。

25、根据本技术提供的一种长连接通信方法,所述基于长连接服务注册调度中心接收终端发送的websocket长连接建立请求消息之前,所述方法,还包括:

26、接收所述终端发送的终端识别信息验证请求;

27、对所述终端识别信息验证请求中携带的终端标识进行验证;

28、若所述验证的结果为通过验证,则向所述终端发送允许建立websocket长连接的反馈信息,以供所述终端根据所述允许建立websocket长连接的反馈信息发送所述websocket长连接建立请求消息。

29、本技术还提供一种长连接通信装置,应用于终端,包括:第一发送模块、第一接收模块以及连接建立模块;

30、所述第一发送模块,向长连接服务注册调度中心发送websocket长连接建立请求消息,所述websocket长连接建立请求消息用于请求与服务器建立websocket长连接,所述长连接服务注册调度中心部署在所述服务器上;

31、所述第一接收模块,用于接收所述长连接服务注册调度中心发送的重定向消息,所述重定向消息中携带所述服务器上空闲的websocket长连接入口应用实例的地址;

32、所述连接建立模块,用于根据所述地址,连接到所述空闲的websocket长连接入口应用实例,以通过所述空闲的websocket长连接入口应用实例调用目标集群上的服务。

33、本技术还提供一种长连接通信装置,应用于服务器,包括:第二接收模块、请求响应模块以及第二发送模块;

34、所述第二接收模块,用于基于长连接服务注册调度中心接收所述终端发送的websocket长连接建立请求消息,所述websocket长连接建立请求消息用于请求与服务器建立websocket长连接,所述长连接服务注册调度中心部署在所述服务器上;

35、所述请求响应模块,用于响应于所述websocket长连接建立请求消息,获取所述服务器上空闲的websocket长连接入口应用实例的地址;

36、所述第二发送模块,用于向所述终端发送重定向消息,所述重定向消息中携带所述服务器上空闲的websocket长连接入口应用实例的地址。

37、本技术还提供一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行实现如上述任一种所述长连接通信方法。

38、本技术还提供一种计算机可读的存储介质,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行实现如上述任一种所述长连接通信方法。

39、本技术还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述长连接通信方法。

40、本技术提供的长连接通信方法、装置、存储介质及电子装置,将在终端建立websocket长连接时,直接通过连到服务器的长连接服务注册调度中心建立终端与服务器的websocket长连接,绕过中间的所有负载均衡链路,不再受限于负载均衡本身的处理连接数上限和扩容带来的成本问题。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1