一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

分布式socket数据交互方法与流程

2023-02-01 21:00:53 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,特指一种分布式socket数据交互方法。


背景技术:

2.在物联网模式下,传统前后端交互方式无法满足设备数据协议的实时推送,在传统模式下,客户端和服务端并不会一直通信,并且需要一个可靠完善的断网自动重连机制服务框架,这种框架的构造和运行较为复杂,且传统模式中数据协议交互的服务质量(qps)不高,且成本较高。


技术实现要素:

3.本发明的目的在于克服现有技术的缺陷,提供一种分布式socket数据交互方法,解决了传统数据交互方式运行复杂且成本较高的问题,通过优化数据交互方式,以减小数据交互的难度,缩短交互时间,加快交互速度,提升交互效率。
4.实现上述目的的技术方案是:
5.本发明提供了一种分布式socket数据交互方法,包括如下步骤:
6.建立若干socket服务端,将若干socket服务端与后台服务器连接,将若干socket客户端与若干socket服务端连接;
7.socket服务端获取socket客户端的请求并发送给后台服务器;
8.后台服务器处理请求并向socket服务端输出对应的处理结构,socket服务端将处理结果分发给对应的socket客户端。
9.本发明提出了一种分布式socket数据交互方法,通过socket客户端与socket服务端进行连接,以使得socket客户端与socket服务端能够建立通信,进而后台服务器通过socket服务端将处理结果分发给对应的socket客户端,解决了传统数据交互方式运行复杂且成本较高的问题,通过优化数据交互方式,以减小数据交互的难度,缩短交互时间,加快交互速度,提升交互效率。
10.本发明分布式socket数据交互方法的进一步改进在于,连接socket客户端与socket服务端时,还包括:
11.socket客户端通过channel通道与socket服务端建立连接,且对socket客户端进行ip白名单验证,若ip白名单验证通过,则socket服务端与socket客户端连接。
12.本发明分布式socket数据交互方法的进一步改进在于,socket客户端注册时,还包括:
13.通过hash计算得到与目标的后台服务器对应的socket服务端,socket客户端与socket服务端进行连接。
14.本发明分布式socket数据交互方法的进一步改进在于,socket客户端需要更换socket服务端时,还包括:
15.向每个socket服务端发送消息,以通过hash找出持有socket客户端的session信
息的socket服务端,并将socket服务端与socket客户端连接。
16.本发明分布式socket数据交互方法的进一步改进在于,寻找持有socket客户端的session信息的socket服务端时,还包括:
17.查询socket服务端的缓存中是否具有socket客户端的session信息,若socket服务端具有socket客户端的session信息,则将socket服务端与socket客户端连接。
18.本发明分布式socket数据交互方法的进一步改进在于,还包括:
19.对socket客户端发送的请求进行加密后发送给socket服务端,socket服务端对请求解密后发送给后台服务器。
20.本发明分布式socket数据交互方法的进一步改进在于,还包括:
21.该socket服务端监听连接的所有socket客户端的上线和离线,当接收到socket客户端的上线或离线信息时,socket服务端将上线或离线信息发送给连接的所有的socket客户端。
22.本发明分布式socket数据交互方法的进一步改进在于,还包括:
23.该socket服务端通过channel通道将后台服务器发送的信息分发到对应的socket客户端。
24.本发明分布式socket数据交互方法的进一步改进在于,还包括:
25.通过eventbus消息总线对socket客户端发出的请求进行削峰填谷,以对请求进行缓冲。
附图说明
26.图1为本发明分布式socket数据交互方法的流程图。
具体实施方式
27.下面结合附图和具体实施例对本发明作进一步说明。
28.参阅图1,本发明提供了一种分布式socket数据交互方法,通过socket客户端与socket服务端进行连接,以使得socket客户端与socket服务端能够建立通信,进而后台服务器通过socket服务端将处理结果分发给对应的socket客户端,解决了传统数据交互方式运行复杂且成本较高的问题,通过优化数据交互方式,以减小数据交互的难度,缩短交互时间,加快交互速度,提升交互效率。下面结合附图对本发明分布式socket数据交互方法进行说明。
29.参阅图1,显示了本发明分布式socket数据交互方法的流程图。下面结合图1,对本发明分布式socket数据交互方法进行说明。
30.如图1所示,本发明提供了一种分布式socket数据交互方法,包括如下步骤:
31.建立若干socket服务端,将若干socket服务端与后台服务器连接,将若干socket客户端与若干socket服务端连接;
32.socket服务端获取socket客户端的请求并发送给后台服务器;
33.后台服务器处理请求并向socket服务端输出对应的处理结构,socket服务端将处理结果分发给对应的socket客户端。
34.进一步的,还包括:
35.对socket客户端发送的请求进行加密后发送给socket服务端,socket服务端对请求解密后发送给后台服务器。
36.具体的,还包括:
37.该socket服务端监听连接的所有socket客户端的上线和离线,当接收到socket客户端的上线或离线信息时,socket服务端将上线或离线信息发送给连接的所有的socket客户端。
38.具体的,还包括:
39.该socket服务端通过channel通道将后台服务器发送的信息分发到对应的socket客户端。
40.较佳地,还包括:
41.通过eventbus消息总线对socket客户端发出的请求进行削峰填谷,以对请求进行缓冲。
42.作为本发明的一较佳实施方式,连接socket客户端与socket服务端时,还包括:
43.socket客户端通过channel通道与socket服务端建立连接,且对socket客户端进行ip白名单验证,若ip白名单验证通过,则socket服务端与socket客户端连接。
44.进一步的,socket客户端注册时,还包括:
45.通过hash计算得到与目标的后台服务器对应的socket服务端,socket客户端与socket服务端进行连接。
46.进一步的,socket客户端需要更换socket服务端时,还包括:
47.向每个socket服务端发送消息,以通过hash找出持有socket客户端的session信息的socket服务端,并将socket服务端与socket客户端连接。
48.具体的,寻找持有socket客户端的session信息的socket服务端时,还包括:
49.查询socket服务端的缓存中是否具有socket客户端的session信息,若socket服务端具有socket客户端的session信息,则将socket服务端与socket客户端连接。
50.本发明的具体实施方式如下:
51.建立若干socket服务端,将若干socket服务端与后台服务器连接,注册socket客户端,通过hash计算得到与目标的后台服务器对应的socket服务端,将socket客户端与socket服务端进行连接,一旦将socket客户端刷新,会开一个新的socket session注册到其中一个socket服务器;
52.在socket客户端与socket服务端连接时,对socket客户端进行ip白名单验证,若ip白名单验证通过,则socket服务端与socket客户端连接;
53.socket客户端发出请求,通过eventbus消息总线进行削峰填谷,以缓冲信息,减轻后台服务器同时收到大量消息的压力,且对请求进行加密后发送给socket服务端,socket服务端对请求解密后发送给后台服务器;
54.后台服务区处理请求并向socket服务端输出对应的处理结果,socket服务端将处理结果通过channel通道分发给对应的socket客户端,实现点对点和订阅的消息分发;
55.socket服务端监听连接的所有的socket客户端的上线和离线,当接收到socket客户端的上线或离线信息时,socket服务端将上线或离线信息发送给连接的所有的socket客户端;
56.当socket客户端需要更换socket服务端时,向每个socket服务端发送消息,以通过hash找出持有socket客户端的session信息的socket服务端;
57.可以使用redis的pub/sub方式,socket服务端订阅同一个地址,接收到消息后,查询socket服务端的缓存中是否有该socket客户端的session信息;
58.可以通过重写网管的请求转发,可以使用spring cloud gateway和nacos,提供了hash转发的方式,通过消息发送时的hash计算和nacos所提供的hash转算法一致,通过服务之间的rpc方式来控制hash的算法,使用rabbitmq来进行消息转发,rabbitmq提供了生产ack机制和消费ack机制,能保证数据不丢失,当socket服务器发送失败的时候,数据还会保留在rabbitmq中;
59.将新的socket服务端与socket客户端连接。
60.以上结合附图实施例对本发明进行了详细说明,本领域中普通技术人员可根据上述说明对本发明做出种种变化例。因而,实施例中的某些细节不应构成对本发明的限定,本发明将以所附权利要求书界定的范围作为本发明的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献