[发明专利]多层次低耦合的通信系统有效
申请号: | 201910185006.3 | 申请日: | 2019-03-12 |
公开(公告)号: | CN109729101B | 公开(公告)日: | 2021-08-06 |
发明(设计)人: | 邱楠;宋亚楠;严汉明;梁剑华;程谦;彭旺友;刘振岩;彭生云 | 申请(专利权)人: | 苏州狗尾草智能科技有限公司;深圳琥珀虚颜智能科技有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08 |
代理公司: | 北京酷爱智慧知识产权代理有限公司 11514 | 代理人: | 占丽君 |
地址: | 215000 江苏省苏州*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 多层次 耦合 通信 系统 | ||
本发明提供的多层次低耦合的通信系统,本地业务层:加载于外部计算机上,生成业务请求数据;接入层接收WebSocket数据,并将WebSocket数据下发至本地业务层;还接收本地业务层的业务请求数据,并对异常的业务请求数据进行处理;协议解析层完成业务请求数据的WebSocket协议装箱、拆箱、加密和解密;WebSocket传输层分别实现与所述接入层和远程服务器之间WebSocket数据的传输。该系统采用分层架构设计,各层之间不能跨层调用,减少各层跨层之间的耦合性,且接入层以下层不对数据进行序列化和反序列化,所有序列化和反序列化都上浮至本地业务实现,降低该系统与具体业务逻辑的耦合。
技术领域
本发明属于通信技术领域,具体涉及多层次低耦合的通信系统。
背景技术
一般的计算机(客户端或服务器)和服务器交互项目,会选择WebSocket最为基础通讯协议,并且通过定义数据传输结构,要求各计算机需要根据WebSocket协议设计基础的通讯协议库以支持基本的通讯。
但是一般的WebSocket协议存在强依赖性和关联性,降低了整个系统的容错性、延拓性和健壮性。
发明内容
针对现有技术中的缺陷,本发明提供一种多层次低耦合的通信系统,降低系统的耦合性。
一种多层次低耦合的通信系统,包括:
本地业务层:加载于外部计算机上,用于生成业务请求数据;还用于发送或接收WebSocket数据;所述外部计算机用于与用户进行交互;
接入层:用于接收WebSocket数据,并将WebSocket数据下发至所述本地业务层;还用于接收所述本地业务层的业务请求数据,并对异常的业务请求数据进行处理;
协议解析层:用于完成WebSocket协议的装箱和拆箱;还用于对所述接入层的业务请求数据进行加密和解密;
WebSocket传输层:用于分别实现与所述接入层和远程服务器之间WebSocket数据的传输;
远程服务器:用于实现与所述WebSocket传输层之间WebSocket数据的传输。
优选地,所述接入层具体用于:
接入层接收WebSocket数据,并判断本次接收到的WebSocket数据是否为已接收过的数据;
如果是,丢弃该WebSocket数据;
如果不是,当本地业务层的下发方式为订阅时,接入层通过订阅方式将WebSocket数据下发至所述本地业务层。
优选地,所述异常的业务请求数据包括请求超时、取消请求、请求数据持久化、请求失败的业务请求数据。
优选地,所述接入层具体用于:
接入层开启一个守护线程和待超时队列;
如果业务请求数据中设置有超时时间,将业务请求数据中请求路径、请求ID、超时时间和请求发送成功的时间组装成一个对象,将该对象加入到所述待超时队列中;
接入层唤醒超时线程,依次循环从所述待超时队列中查找最快要超时的对象进行超时处理,直至待超时队列为空;
所述超时处理具体包括:当该对象的等待时间超过所述超时时间时,调用Timeout方法将该对象中的请求路径、请求ID发送至所述本地业务层,从待超时队列删除该对象。
优选地,所述接入层具体用于:
接入层将接收到的业务请求数据保存到请求对象池中;
当接入层接收到来自所述本地业务层的取消请求时,检索所述请求对象池中是否存在该业务请求数据的请求ID;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州狗尾草智能科技有限公司;深圳琥珀虚颜智能科技有限公司,未经苏州狗尾草智能科技有限公司;深圳琥珀虚颜智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910185006.3/2.html,转载请声明来源钻瓜专利网。