技术新讯 > 电子通信装置的制造及其应用技术 > 基于监听组件应对大规模长连接断连的容灾恢复方法与流程  >  正文

基于监听组件应对大规模长连接断连的容灾恢复方法与流程

  • 国知局
  • 2025-01-10 13:21:11

本发明涉及远程服务,尤其涉及一种基于监听组件应对大规模长连接断连的容灾恢复方法。

背景技术:

1、在raylink的远控中,服务端采取netty实现网络通信并维护大量的websocket长连接,并且在连接关闭的时候会通过对应的事件触发正常的断开逻辑,以保证业务数据的正常计算和持久化存储。然而在突发网络异常,容器服务突然崩溃宕机等不可抗力因素下,会导致大量连接直接断开,服务直接雪崩停止,此时无法触发事件,且没有服务进行连接正常断开逻辑的执行,后续即使服务重启也无法恢复数据的正常。

2、因此,现有技术存在缺陷,需要改进。

技术实现思路

1、本发明要解决的技术问题是:提供一种基于监听组件应对大规模长连接断连的容灾恢复方法,通过技术手段来监控网络层面的连接断开,并外置存储相应数据,在监听断开事件后承接原数据的正常计算与持久化。

2、本发明的技术方案如下:提供一种基于监听组件应对大规模长连接断连的容灾恢复方法,包括以下步骤。

3、s1:在长连接服务端入口处,进行握手事件的处理,客户端与长连接服务端握手成功后使用redis持久化连接相关的数据,进行当前数据态的记录。

4、s2:构建对应的监听组件,开放对应的监听端口,长连接服务器与客户端每成功建立一条连接,长连接服务器与监听组件也进行对应的tcp连接,这样就产生了监听的连接关系,当服务宕机网络连接断开,监听组件便可以进行感知。

5、s3:监听组件连接的redis持久化,即将步骤s1的长连接服务端-客户端连接数据态与对应长连接服务端-监听组件关系进行关联,以便后续映射。

6、s4:监听组件设立回调规则,即原始断开连接逻辑的处理,当感知到连接断开进行事件的处理。

7、s5:监听组件检测到断连事件,触发判断,集群算法判断是否是断连;若是断连,则触发回调断连业务,读取redis中的当前事件服务端-监听组件连接映射的服务端-客户端连接信息,得到对应的业务数据,进行业务数据计算;若不是断连,长连接服务端-客户端重新连接。

8、进一步地,在步骤s5中,业务数据计算包括:连接数归还、标识连接断开、结果持久化写入mysql里的业务数据、完成正常断开逻辑运转。

9、进一步地,监听组件采用分布式组件,并且单一职责只负责监听连接断开与断开连接处理,并且内部采取分布式算法,投票决出是否真正断连,以免服务端-组件连接也因为网络问题意外断开,误判了服务端-客户端断开的情况,增加可靠性和准确性。

10、进一步地,所述监听组件采用zookeeper架构。

11、进一步地,客户端与长连接服务端之间的连接为websocket长连接。

12、进一步地,分布式算法为:raft算法、paxos算法、zab算法、gossip算法中的一种。

13、采用上述方案,本发明提供一种基于监听组件应对大规模长连接断连的容灾恢复方法,具有以下技术效果:

14、1、通过采用zookeeper架构的tcp连接监听组件,保证服务宕机后的业务流程正常继续并正确落地数据库。

15、2、对比原始的场景,提前持久化连接状态到redis,避免了连接断开后续服务停止,丢失数据和无法继续运行的现状。

16、3、采取分布式的监听组件,除了增加可靠性,还减少了误判连接断开的情况,做到大规模连接批量断开的有序处理,和容灾数据恢复。

技术特征:

1.一种基于监听组件应对大规模长连接断连的容灾恢复方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于监听组件应对大规模长连接断连的容灾恢复方法,其特征在于,在步骤s5中,业务数据计算包括:连接数归还、标识连接断开、结果持久化写入mysql里的业务数据、完成正常断开逻辑运转。

3.根据权利要求1所述的一种基于监听组件应对大规模长连接断连的容灾恢复方法,其特征在于,监听组件采用分布式组件,并且单一职责只负责监听连接断开与断开连接处理,并且内部采取分布式算法,投票决出是否真正断连,以免服务端-组件连接也因为网络问题意外断开,误判了服务端-客户端断开的情况,增加可靠性和准确性。

4.根据权利要求1所述的一种基于监听组件应对大规模长连接断连的容灾恢复方法,其特征在于,所述监听组件采用zookeeper架构。

5.根据权利要求1所述的一种基于监听组件应对大规模长连接断连的容灾恢复方法,其特征在于,客户端与长连接服务端之间的连接为websocket长连接。

6.根据权利要求3所述的一种基于监听组件应对大规模长连接断连的容灾恢复方法,其特征在于,分布式算法为:raft算法、paxos算法、zab算法、gossip算法中的一种。

技术总结本发明公开一种基于监听组件应对大规模长连接断连的容灾恢复方法,通过构建对应的监听组件,开放对应的监听端口,长连接服务器与客户端每成功建立一条连接,长连接服务器与监听组件也进行对应的tcp连接,这样就产生了监听的连接关系,当服务宕机网络连接断开,监听组件便可以进行感知。本发明通过技术手段来监控网络层面的连接断开,并外置存储相应数据,在监听断开事件后承接原数据的正常计算与持久化。技术研发人员:谢锦世,高斌,邹琼,周双全受保护的技术使用者:深圳市瑞云科技股份有限公司技术研发日:技术公布日:2025/1/6

本文地址:https://www.jishuxx.com/zhuanli/20250110/352591.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。