[发明专利]进程通信方法及系统在审
| 申请号: | 202111290545.7 | 申请日: | 2021-11-02 |
| 公开(公告)号: | CN114064310A | 公开(公告)日: | 2022-02-18 |
| 发明(设计)人: | 刘成鑫;刘浩淼;段明亮;周汝玉;邓青珍 | 申请(专利权)人: | 浙江鸿泉电子科技有限公司 |
| 主分类号: | G06F9/54 | 分类号: | G06F9/54 |
| 代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 陈新生 |
| 地址: | 313300 浙江省湖*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 进程 通信 方法 系统 | ||
本发明提供一种进程通信方法及系统,该方法包括:每一第一进程对应的第一socket节点基于目标协议对目标服务名及参数进行封装,向第二进程对应的第二socket节点发送封装得到的第一消息;在第二socket节点创建的第一线程触发epoll的情况下,接收各第一消息并存放至队列;基于目标协议,按照预设顺序对当前目标消息进行解析,获取目标服务名;在第二socket节点的实例化属性为目标属性的情况下,基于第二进程的多个第二线程,并行执行以下步骤:运行目标服务名对应的目标服务,获取目标服务数据;向发送当前目标消息的第一socket节点发送携带有目标服务数据的第二消息。
技术领域
本发明涉及网络通信技术领域,尤其涉及一种进程通信方法及系 统。
背景技术
现有通用的Linux进程间通信方式主要包括:信号、无名管道、 命名管道、消息队列、共享内存、信号量、socket(套接字)等。其 中,管道通信方式速度较慢,只能用于父子进程中。消息队列通信方 式的容量受到系统限制,要考虑到上一次数据是否被读完。信号量通 信方式不能用来传递复杂消息。共享内存通信方式实现复杂、并行率 低。目前,许多基于socket实现的多进程间通信方法,大多存在效率 低、可靠性低、使用较为复杂等问题。
发明内容
本发明提供一种进程通信方法及系统,用以解决现有技术中多进 程通信效率低的缺陷,实现提高多进程通信的处理效率。
本发明提供一种进程通信方法,包括:
每一第一进程对应的第一socket节点基于目标协议对目标服务 名及参数进行封装,向第二进程对应的第二socket节点发送封装得到 的第一消息;
在所述第二socket节点创建的第一线程触发epoll的情况下,接 收各所述第一消息并存放至队列;
基于所述目标协议,按照预设顺序对当前目标消息进行解析,获 取所述目标服务名;
在所述第二socket节点的实例化属性为目标属性的情况下,基于 所述第二进程的多个第二线程,并行执行以下步骤:
运行所述目标服务名对应的目标服务,获取目标服务数据;
向发送所述当前目标消息的所述第一socket节点发送携带有所 述目标服务数据的第二消息。
根据本发明提供的一种进程通信方法,所述在所述第二socket 节点的实例化属性为目标属性的情况下,还包括:
基于所述第一线程,根据所述目标协议,按照所述预设顺序解析 所述队列中的下一目标消息。
根据本发明提供的一种进程通信方法,所述基于所述目标协议, 对所述当前目标消息进行解析,获取所述目标服务名之后,还包括:
在所述第二socket节点的实例化属性不为目标属性的情况下,基 于所述第一线程,运行所述目标服务名对应的目标服务,获取目标服 务数据;
向发送所述当前目标消息的所述第一socket节点发送携带有所 述目标服务数据的第二消息;
基于所述目标协议和所述预设顺序,解析所述队列中的下一目标 消息。
根据本发明提供的一种进程通信方法,所述基于所述目标协议, 对所述当前目标消息进行解析,获取所述目标服务名,包括:
基于所述当前目标消息,按照目标协议进行解析,获取候选服务 名;
在所述候选服务名与本地信息库匹配成功的情况下,将所述候选 服务名确定为目标服务名。
根据本发明提供的一种进程通信方法,所述目标协议的内容包括 魔数、校验和、消息类型、属性、第一流水号和消息体长度中的一种 或者多种。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江鸿泉电子科技有限公司,未经浙江鸿泉电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111290545.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:天线权值模型的确定方法、装置、存储介质及设备
- 下一篇:垃圾投口盖板及垃圾箱





