基于消息中间件的数据通信方法、装置及计算机可读介质制造方法及图纸

技术编号:38902786 阅读:13 留言:0更新日期:2023-09-22 14:21
本申请公开一种基于消息中间件的数据通信方法、装置及计算机可读介质,该方法应用于第一通信端,包括:获取第二通信端发送的预设统一报文协议格式的第一数据;基于消息中间件提供的对应于预设统一报文协议格式的解码器,对第一数据进行解码,得到解码结果数据;对解码结果数据进行业务处理。本申请设计了一套规范通用的报文接口模板,基于该模板为数据通信提供统一报文协议格式,并构建对应于该统一报文协议格式的消息中间件,来用于不同通信端之间的数据通信,可有效克服现有技术由于数据通信时接口格式不同,导致需要对每个接口开发不同的组包程序而带来的各种弊端,节省了代码开发量与维护资源,降低了代码开发重复率及底层编解码出错率。编解码出错率。编解码出错率。

【技术实现步骤摘要】
基于消息中间件的数据通信方法、装置及计算机可读介质


[0001]本申请属于通信
,尤其涉及一种基于消息中间件的数据通信方法、装置及计算机可读介质。

技术介绍

[0002]不同系统平台间的TCP(Transmission Control Protocol,传输控制协议)长链接交互,相对于短连接通信来说,更适用于操作频繁(读写),点对点的通讯。
[0003]大多数通讯都是通过双方约定好的接口格式来拼组通讯报文,而进行交互,然而,在组报过程中,由于接口格式不同,导致要对每一个接口开发不同的组包程序,使得开发工作量加大,同时接口格式被硬编码在程序里,当接口进行变更后,要重新修改和编译程序;TCP长链接本身需要自身维护链接的长期稳定性,每开发一套涉及TCP长链接的平台服务就要重复开发通信代码,这样造成工作量的增加以及工时的浪费。同时,还导致现有的长链接异步通信部分的代码存在两个明显的缺点:
[0004]11)SOCKET通信部分的代码重复率过高,并且容易出错,代码维护成本高;
[0005]12)底层编解码器对不同协议格式的报文进行解析,而编解码器又是通信中容易出错、难定位的环节,会浪费大量的开发精力和时间。

技术实现思路

[0006]有鉴于此,本申请提供一种基于消息中间件的数据通信方法、装置及计算机可读介质,用于解决上述技术问题,达到节省开发资源等效果。
[0007]具体方案如下:
[0008]一种基于消息中间件的数据通信方法,应用于第一通信端,所述方法包括:/>[0009]获取第二通信端发送的预设统一报文协议格式的第一数据;
[0010]基于消息中间件提供的对应于所述预设统一报文协议格式的解码器,对所述第一数据进行解码,得到对应的解码结果数据;其中,所述消息中间件内嵌在所述第一通信端和所述第二通信端的相应服务或应用上;
[0011]对所述解码结果数据进行业务处理。
[0012]可选的,所述消息中间件为通过预先搭建SOCKET通信框架而构建的中间件;
[0013]所述SOCKET通信框架包括:
[0014]网络接口,用于进行所述预设统一报文协议格式的数据的输入输出;
[0015]输入输出处理器,处于所述网络接口的上层,用于检测通信通道上是否发生数据读写;
[0016]网络过滤器,处于所述输入输出处理器的上层,至少用于过滤出所述预设统一报文协议格式的数据,以及进行数据的编解码处理;
[0017]业务逻辑处理器,处于所述网络过滤器的上层,用于收发数据,并对数据进行对应的业务逻辑处理;
[0018]其中,所述消息中间件为对所述网络过滤器进行封装所得的结果。
[0019]可选的,所述对所述解码结果数据进行业务处理,包括:
[0020]通过所述业务逻辑处理器,按照所述解码结果数据对应的数据类型对所述解码结果数据进行相匹配的业务处理。
[0021]可选的,所述通过所述业务逻辑处理器,按照所述解码结果数据对应的数据类型对所述解码结果数据进行相匹配的业务逻辑处理,包括:
[0022]通过所述业务逻辑处理器,将所述解码结果数据加入业务处理队列;
[0023]利用多处理线程,以并行方式对所述业务处理队列中的解码结果数据执行与解码结果数据的数据类型相匹配的业务处理。
[0024]可选的,在所述获取第二通信端发送的预设统一报文协议格式的第一数据之前,上述方法还包括:
[0025]向所述SOCKET通信框架导入所需的基础参数,所述基础参数至少包括进行通信链路管理所需的链路地址;
[0026]基于所述基础参数启动TCP长链接监听或启动与所述第二通信端之间的TCP长链接请求,以基于所述长链接监听或所述长链接请求,进行与所述第二通信端之间的长链接链路的接入并完成链路的初始化工作。
[0027]可选的,所述启动长链接监听或启动与所述第二通信端之间的长链接请求,包括:
[0028]调用所述消息中间件,基于所述消息中间件启动长链接监听或启动与所述第二通信端之间的长链接请求。
[0029]可选的,上述方法还包括:
[0030]获取待发送至第二通信端的第二数据;
[0031]基于消息中间件提供的编码器,将所述第二数据编码为所述统一报文协议格式,得到编码结果数据;
[0032]向所述第二通信端传输所述编码结果数据。
[0033]可选的,多个第一通信端和多个第二通信端之间能够基于所述消息中间件,进行多对多通信模式的数据通信。
[0034]一种基于消息中间件的数据通信装置,其特征在于,应用于第一通信端,所述装置包括:
[0035]获取单元,用于获取第二通信端发送的预设统一报文协议格式的第一数据;
[0036]解码单元,用基于消息中间件提供的对应于所述预设统一报文协议格式的解码器,对所述第一数据进行解码,得到对应的解码结果数据;其中,所述消息中间件内嵌在所述第一通信端和所述第二通信端的相应服务或应用上;
[0037]业务处理单元,用于对所述解码结果数据进行业务处理。
[0038]一种计算机可读介质,其特征在于,其上存储有计算机程序,所述计算机程序包含用于执行如上文任一项所述的方法的程序代码。
[0039]综上所述,本申请提供了一种基于消息中间件的数据通信方法、装置及计算机可读介质,该方法应用于第一通信端,具体包括:获取第二通信端发送的预设统一报文协议格式的第一数据;基于消息中间件提供的对应于所述预设统一报文协议格式的解码器,对所述第一数据进行解码,得到对应的解码结果数据;对所述解码结果数据进行对应的业务处
理。
[0040]本申请设计了一套规范通用的报文接口模板,基于该模板为数据通信提供统一报文协议格式,并构建对应于该统一报文协议格式的消息中间件,来用于不同通信端之间的数据通信,可有效克服现有技术中由于数据通信时接口格式不同,导致需要对每一个接口开发不同的组包程序而带来的各种弊端,节省了代码开发量与维护资源,降低了代码开发重复率及底层编解码出错率。
附图说明
[0041]结合附图并参考以下具体实施方式,本申请各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
[0042]图1是本申请提供的基于消息中间件的数据通信方法的一种流程图;
[0043]图2是本申请提供的连接建立与释放所需的握手处理示意图;
[0044]图3是本申请提供的SOCKET通信框架示意图;
[0045]图4(a)和图4(b)是本申请提供的服务器与客户端之间的链接监听与链接请求示意图;
[0046]图5是本申请提供的服务器与客户端的工作流程图;
[0047]图6是本申请提供的服务器与客户端之间的多对多通信模式示意图;
[0048]图7是本申请提供本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于消息中间件的数据通信方法,其特征在于,应用于第一通信端,所述方法包括:获取第二通信端发送的预设统一报文协议格式的第一数据;基于消息中间件提供的对应于所述预设统一报文协议格式的解码器,对所述第一数据进行解码,得到对应的解码结果数据;其中,所述消息中间件内嵌在所述第一通信端和所述第二通信端的相应服务或应用上;对所述解码结果数据进行业务处理。2.根据权利要求1所述的方法,其特征在于,所述消息中间件为通过预先搭建SOCKET通信而构建的中间件;所述SOCKET通信框架包括:网络接口,用于进行所述预设统一报文协议格式的数据的输入输出;输入输出处理器,处于所述网络接口的上层,用于检测通信通道上是否发生数据读写;网络过滤器,处于所述输入输出处理器的上层,至少用于过滤出所述预设统一报文协议格式的数据,以及进行数据的编解码处理;业务逻辑处理器,处于所述网络过滤器的上层,用于收发数据,并对数据进行对应的业务逻辑处理;其中,所述消息中间件为对所述网络过滤器进行封装所得的结果。3.根据权利要求2所述的方法,其特征在于,所述对所述解码结果数据进行业务处理,包括:通过所述业务逻辑处理器,按照所述解码结果数据对应的数据类型对所述解码结果数据进行相匹配的业务处理。4.根据权利要求3所述的方法,其特征在于,所述通过所述业务逻辑处理器,按照所述解码结果数据对应的数据类型对所述解码结果数据进行相匹配的业务逻辑处理,包括:通过所述业务逻辑处理器,将所述解码结果数据加入业务处理队列;利用多处理线程,以并行方式对所述业务处理队列中的解码结果数据执行与解码结果数据的数据类型相匹配的业务处理。5.根据权利要求2所述的方法,其特征在于,在所述获取第二通信端发...

【专利技术属性】
技术研发人员:王佳佳
申请(专利权)人:中国银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1