[发明专利]一种进程通讯方法和装置在审
申请号: | 201811580765.1 | 申请日: | 2018-12-24 |
公开(公告)号: | CN111352743A | 公开(公告)日: | 2020-06-30 |
发明(设计)人: | 韩子双 | 申请(专利权)人: | 北京新媒传信科技有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 北京市隆安律师事务所 11323 | 代理人: | 权鲜枝 |
地址: | 100089 北京市海淀区万*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 进程 通讯 方法 装置 | ||
本发明公开了一种进程通讯方法和装置。本发明的进程通信装置包括初始化单元、监听单元和通信单元。本发明的进程通讯方法包括:初始化进程通信的消息通道,消息通道包括由第一进程、第二进程和共享内存共同组成的通道;监听消息通道;在第一进程或第二进程的发送线程接收到来自发送端的消息时,由发送线程将消息写入所述共享内存,触发对方进程从所述共享内存中读消息并执行,实现第一进程与所述第二进程之间的消息收发,其中发送端为运行第一进程或第二进程的终端。本发明通过异步的消息处理方式实现消息的分发,保证消息分发不会堵塞,无需用户花费大量人力维护消息的收发逻辑。
技术领域
本发明涉及计算机技术领域,特别涉及一种进程通讯方法和装置。
背景技术
在多团队开发同一套软件时,团队间协作一般会封装库(动态库或静态库),或者使用简单的进程间通讯。
封装动态库的方式是:把自己团队的代码编译\打包成库供其他团队调用,同时需要提供该库的头文件、函数说明和对应的依赖环境。这种方式至少存在以下问题:
开发前需要制定严格的接口协议,并且需要双方都去遵守;当一方崩溃时,会导致整个软件崩溃;排查问题时需要双方都投入人力,并且需要频繁的交流才可以把问题解决。
进程间通讯方案:提供简单的传输协议,需要双方去维护消息的收发逻辑。这种方式至少存在以下问题:
调用机制过于简单,使用时需要二次开发;跨平台效果不好,在不同平台下,需要构建不同的等待机制;无法跨编程语言;进程间通讯效率差。
发明内容
本发明提供了一种进程通讯方法和装置,以至少部分解决上述问题。
本发明的一方面提供了一种进程通信方法,包括:初始化进程通信的消息通道,消息通道包括由第一进程、第二进程和共享内存共同组成的通道;监听消息通道;在第一进程或第二进程的发送线程接收到来自发送端的消息时,由发送线程将消息写入所述共享内存,触发对方进程从所述共享内存中读消息并执行,实现第一进程与所述第二进程之间的消息收发,其中发送端为运行第一进程或第二进程的终端。
本发明的另一方面提供了一种进程通信装置,包括:初始化单元,用于初始化进程通信的消息通道,消息通道为第一进程、第二进程和共享内存共同组成的消息通道;监听单元,用于监听消息通道;通信单元,用于在第一进程或第二进程的发送线程接收到来自发送端的消息时,由发送线程将所述消息写入共享内存,触发对方进程从所述共享内存中读消息并执行,实现第一进程与第二进程之间的消息收发,其中发送端为运行第一进程或第二进程的终端。
本发明创建相互独立的第一进程和第二进程,利用第一进程、第二进程和共享内存构建消息通道并对消息通道进行监听,在消息收发过程中不区分主从逻辑,利用发送线程接收到来自发送端的消息并将接收到的消息写入共享内存,触发对方进程从共享内存中读消息并执行,通过异步的消息处理方式实现消息的分发,保证消息分发不会堵塞,无需用户花费大量人力维护消息的收发逻辑。
附图说明
图1为本发明实施例示出的进程通讯方法流程图;
图2为本发明实施例示出的消息通道初始化流程图;
图3为本发明实施例示出的消息分发流程图;
图4为本发明实施例示出的进程退出流程图;
图5为本发明实施例示出的进程通讯装置的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京新媒传信科技有限公司,未经北京新媒传信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811580765.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:语音识别方法以及用户终端
- 下一篇:数据处理方法、计算机系统及存储介质