[发明专利]一种进程间通信方法及装置在审
申请号: | 201510907057.4 | 申请日: | 2015-12-09 |
公开(公告)号: | CN105573846A | 公开(公告)日: | 2016-05-11 |
发明(设计)人: | 罗鹰;李亮;林康;侯勇军 | 申请(专利权)人: | 成都科来软件有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 610041 四川省成都市高新*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 进程 通信 方法 装置 | ||
技术领域
本发明涉及通信技术领域,尤其是一种进程间通信方法及装置。
背景技术
不同进程之间需要进行通信,例如一个进程向另一进程发送数据,或者 接收另一进程发送的数据。现有技术中,不同进程之间的通信方式是共享内 存的方式,即在内存中设置共享区域,当一个进程需要向另一进程发送数据 时,将该数据写入至该共享内存区域中,当写入完毕后,向另一进程发送通 知,以告知该另一进程可以读取共享内存区域,或者,修改内存特征值,当 另一进程监测到内存特征值被修改后,可以读取共享内存区域。
然而,上述基于共享内存的进程通信方式,需要控制进程间的读写同步, 开发过程较为复杂。
发明内容
有鉴于此,本发明提供了一种进程间通信方法及装置,用以解决现有技 术中进程间通信方法开发过程复杂的技术问题。为实现所述目的,本发明提 供的技术方案如下:
一种进程间通信方法,包括:
当第一进程生成数据时,获取预先创建的Boost消息队列;
将所述数据写入所述Boost消息队列;
当接收到所述写有数据的Boost消息队列时,提取其中的数据并发送至第 二进程。
可选地,所述将所述数据写入所述Boost消息队列包括:
确定所述数据的长度及所述Boost消息队列的预设单消息长度;
当所述数据的长度大于所述预设单消息长度时,以所述预设单消息长度 为单位,对所述数据进行切片,获得多个切片数据;
将所述多个切片数据写入所述Boost消息队列。
可选地,所述将所述多个切片数据写入所述Boost消息队列包括:
依据切片顺序,将所述多个切片数据写入所述Boost消息队列。
可选地,在对所述数据进行切片,获得多个切片数据之后,还包括:
统计所述切片数据的个数,并将统计的所述个数写入所述Boost消息队 列。
可选地,所述当接收到所述写有数据的Boost消息队列时,提取其中的数 据并发送至第二进程包括:
当接收到所述写有数据的Boost消息队列时,提取其中的切片数据,直至 提取的切片数据的个数等于统计的所述个数;
拼接提取到的切片数据,并将拼接获得的数据发送至第二进程。
本申请提供了一种进程间通信装置,包括:
消息队列获取模块,用于当第一进程生成数据时,获取预先创建的Boost 消息队列;
消息队列写入模块,用于将所述数据写入所述Boost消息队列;
进程数据提取模块,用于当接收到所述写有数据的Boost消息队列时,提 取其中的数据并发送至第二进程。
可选地,所述消息队列写入模块包括:
长度确定子模块,用于确定所述数据的长度及所述Boost消息队列的预设 单消息长度;
数据切片子模块,用于当所述数据的长度大于所述预设单消息长度时, 以所述预设单消息长度为单位,对所述数据进行切片,获得多个切片数据;
数据写入子模块,用于将所述多个切片数据写入所述Boost消息队列。
可选地,所述数据写入子模块包括:
顺序写入单元,用于依据切片顺序,将所述多个切片数据写入所述Boost 消息队列。
可选地,所述消息队列写入模块还包括:
个数写入子模块,用于在对所述数据进行切片,获得多个切片数据之后, 统计所述切片数据的个数,并将统计的所述个数写入所述Boost消息队列。
可选地,所述进程数据提取模块包括:
数据提取子模块,用于当接收到所述写有数据的Boost消息队列时,提取 其中的切片数据,直至提取的切片数据的个数等于统计的所述个数;
数据拼接子模块,用于拼接提取到的切片数据,并将拼接获得的数据发 送至第二进程。
由以上方案可知,本申请的有益效果是:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都科来软件有限公司,未经成都科来软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510907057.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:汽车中控门锁与防盗系统示教板
- 下一篇:高温测试系统