[发明专利]一种HTTP与WebSocket协同的分布式状态同步方法有效
申请号: | 202011012551.1 | 申请日: | 2020-09-24 |
公开(公告)号: | CN112118266B | 公开(公告)日: | 2022-05-31 |
发明(设计)人: | 柳栋淼;黄蓉;邬江明 | 申请(专利权)人: | 焦点科技股份有限公司 |
主分类号: | H04L67/1097 | 分类号: | H04L67/1097;H04L67/146;H04L67/1095;H04L69/16 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 陈建和 |
地址: | 210032 江苏省南京*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 http websocket 协同 分布式 状态 同步 方法 | ||
本发明公开了一种HTTP与WebSocket协同的分布式状态同步方法,其特征在于,包括:步骤1:WebSocket服务器集群初始化,步骤2:重构WebSocket服务器集群URL,步骤3:为每个客户端分配一个WebSocket会话,步骤4:检测长连接是否正常,步骤5:确定本次业务状态变更请求;步骤6:调用业务服务器处理请求,并将结果反馈至客户端,步骤7:将请求发送至WebSocket服务器节点,步骤8:关闭长连接。以WebSocket服务器替代原有的客户端发送心跳检测,不使用消息或者外部存储,具有部署简单,扩展容易的效果,同时解决不同场景的使用功能需求。
技术领域
本发明涉及数据通讯技术领域,特别是涉及一种HTTP与WebSocket协同的分布式状态同步方法。
背景技术
在音视频、屏幕共享等实时通讯领域,为了用户之间的高效协同,需要一种实时状态同步系统,同时兼容浏览器与APP。WebSocket使用长连接,可以实现服务端到客户端的即时通讯,但是客户端请求服务端,由于使用异步消息无法实时感知操作结果,操作可能出错;而单独使用WebSocket协议,需要额外的鉴权机制。
在WebSocket长连接方面,现有技术多使用客户端发送心跳且只能发送文本,需要客户端与服务端同时实现,有一定复杂度;当前分布式WebSocket服务器集群依然使用分布式场景下常见的外部存储或消息机制,架构较为复杂。
专利CN201811429767-一种新型实时信息流交互方法,给出了一种通过配合WebSocket协议,建立客户端和服务器的长连接,利用多通道的多并发通信,使用心跳检测进行信息交互的技术方案;相似专利CN201811622417-一种基于Websocket长连接的数据处理方法及系统和CN2019103628180-一种无业务数据交换下保持websocket长连接的方法,也同样明确采用了客户端心跳检测,这样会增加客户端的负担。
专利CN2019104677729-基于websocket的单用户多地登录分布式推送的方法、CN2019113338150-基于WebSocket的分布式服务器集群交互方法及装置,均给出了基于分布式场景下的技术方案,但需要使用消息或者存储,实际应用时不够简洁。同时,现有技术在同一时间仅使用一种协议,扩展性受限。
因此,需要一种能实现简单部署的分布式状态同步方法,用于解决多终端分布式实时通讯问题。
发明内容
本发明所要解决的技术问题是克服现有技术的不足,提供一种HTTP协议与WebSocket协议协同的分布式状态同步方法,本发明通过鉴权过的HTTP请求获取WebSocket服务器节点地址;用户发起操作时使用HTTP请求保证结果实时感知且不易出错,状态更新之后通知其他用户使用WebSocket协议保证实时送达;在长连接方面,通过由服务端首发基于WebSocket协议定义的WebSocket Ping包,实现WebSocket协议的客户端不需要额外处理;WebSocket服务器集群不再依赖任何外部存储或消息机制,部署及扩展简单。
本发明提供一种HTTP与WebSocket协同的分布式状态同步方法,具体步骤包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于焦点科技股份有限公司,未经焦点科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011012551.1/2.html,转载请声明来源钻瓜专利网。