[发明专利]一种基于NIO异步线程模型的异构应用间通信方法在审
申请号: | 202211239335.X | 申请日: | 2022-10-11 |
公开(公告)号: | CN115914330A | 公开(公告)日: | 2023-04-04 |
发明(设计)人: | 张夏豪;杨岩;张乙;于捷杰;王昊;黄旻亮;孙彬;金晓雪;张成花;耿斌;王康 | 申请(专利权)人: | 中国电子科技集团公司第二十八研究所 |
主分类号: | H04L67/141 | 分类号: | H04L67/141;H04L67/145;H04L67/54;H04L67/563;H04L67/568;H04L69/22;H04L69/321 |
代理公司: | 江苏圣典律师事务所 32237 | 代理人: | 胡建华 |
地址: | 210046 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 nio 异步 线程 模型 应用 通信 方法 | ||
1.一种基于NIO异步线程模型的异构应用间通信方法,其特征在于,包括以下步骤:
步骤1、启动数据通信中台;所述数据通信中台是支持异构应用间通信的核心模块,包括事件监听模块、事件处理模块以及消息解析模块;启动数据通信中台,启动所述事件监听模块中的连接事件监听器,开始监听应用的连接;
步骤2、注册应用;启动应用并加载数据通信中间件,所述数据通信中间件针对不同开发语言的应用之间的通信提供统一的通信调用接口,所述数据通信中间件包括:应用注册接口、发布订阅接口、点对点通信接口、共享内存接口、消息回调队列、消息处理模块、断线重连机制以及消息缓存机制;调用数据通信中间件中的应用注册接口注册应用后,数据通信中台即监听到应用连接事件,将所述应用的名称及应用连接描述符添加到应用注册表中,并将所述应用连接的读事件注册至事件监听模块中的读事件监听器;
步骤3、发送消息数据包;数据通信中间件定义发送消息数据包的结构,并封装三种异构应用间的通信方法,分别为点对点通信,订阅发布和共享内存;应用根据不同业务场景选择相应通信方法进行通信;所述三种通信方法所对应的通信接口为点对点通信接口、发布订阅接口和共享内存接口;
步骤4、消息数据包转发;数据通信中台监听到已经连接的应用存在读就绪事件,向数据通信中台中的读事件监听线程返回读事件集合并开启所述事件处理模块中的事件执行器处理读事件,将读取的消息数据包交给所述事件处理模块中的线程池进行处理;根据接收到的消息数据包的字段内容,从应用注册表中获取应用连接描述符,并将所述消息数据包转发出去;
步骤5、接收消息数据包;接收消息数据包的应用,在消息数据包发送前注册或订阅消息数据包对应的回调函数;当数据通信中间件接收到来自数据通信中台转发的消息数据包时,根据消息数据包的内容执行在所述应用注册的消息回调队列中的回调函数;
步骤6、应用断线重连;当数据通信中台出现异常而崩溃时,应用触发连接关闭事件并进入回调,开启定时器定时重连数据通信中台,应用发送的消息存入所述应用的消息缓存队列;当数据通信中台恢复后,数据通信中间件在连接成功回调中依次发送所述消息缓存队列中的消息;当应用崩溃时,重启应用,并在应用初始化过程中重新调用应用注册接口发起连接请求,数据通信中台监听到应用的连接请求后,关闭与所述应用的旧连接,根据注册的应用名称更新应用注册表。
2.根据权利要求1所述的一种基于NIO异步线程模型的异构应用间通信方法,其特征在于,步骤1中所述的启动数据通信中台,还包括:打开数据通信中台的通信信道,将所述通信信道设置为非阻塞模式;在数据通信中台初始化建立多个线程,并为每个线程分配一个多路复用监听器,使用其中一个线程专门监听所有应用的连接事件,即应用连接事件监听线程。
3.根据权利要求2所述的一种基于NIO异步线程模型的异构应用间通信方法,其特征在于,步骤2中所述的调用数据通信中间件中的应用注册接口注册应用的方法包括:中间件应用注册接口向数据通信中台发起连接,并通过向数据通信中台传入应用名称来注册应用信息;当数据通信中台中的应用连接事件监听线程监测到有连接事件发生时,将获取到的连接设置为非阻塞模式,然后轮询地将其余线程的多路复用监听器分配给获取到的连接并为每个连接注册读事件,并将应用名称与其对应的连接描述符存入应用注册表。
4.根据权利要求3所述的一种基于NIO异步线程模型的异构应用间通信方法,其特征在于,步骤2中所述的注册应用的过程是异步的。
5.根据权利要求4所述的一种基于NIO异步线程模型的异构应用间通信方法,其特征在于,步骤3中定义发送消息数据包的结构的方法包括:
步骤3-1,定义数据包的通用结构;所述数据包的通用结构中,包括:消息名称msg-name、接收方应用名称msg-receiver、消息内容msg-params、是否执行回调msg-sync以及回调函数msg-callback;
步骤3-2,定义点对点通信中的数据包结构;
步骤3-3,定义发布订阅中的数据包结构;
步骤3-4,定义共享内存中的数据包结构。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第二十八研究所,未经中国电子科技集团公司第二十八研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211239335.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种边缘计算系统中神经网络模型分割与资源分配方法
- 下一篇:一种警示装置