[发明专利]一种进程间通讯数据共享的传输方法在审
申请号: | 201910851645.9 | 申请日: | 2019-09-10 |
公开(公告)号: | CN112559196A | 公开(公告)日: | 2021-03-26 |
发明(设计)人: | 唐雅琴;吕伟;马慧斌;刘庆成;刘焕雨;李玮燕;杨斌;李佳;胡雄;张晓丽 | 申请(专利权)人: | 航天科工惯性技术有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100074 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 进程 通讯 数据 共享 传输 方法 | ||
本发明公开了一种进程间通讯数据共享的传输方法,该方法包括:创建共享内存接收数据模块和共享内存发送数据模块;通讯模块将接收的数据写入到共享内存接收数据模块;其他模块读取共享内存接收数据模块中的数据;其他模块将要发送的数据写入共享内存发送数据模块;通讯模块读取共享内存发送数据模块中的数据。当程序模块间串行或者网络端口被占用时,采用此种传输方法依然可以进行通讯数据的共享。
技术领域
本发明涉及通讯数据传输技术领域,尤其涉及一种进程间通讯数据共享的传输方法。
背景技术
当软件项目开发越来越复杂的时候,模块化开发可以提升开发效率,方便后期维护。每个程序模块独立运行时即启动一个进程,进程之间的信息传递只能通过进程间通讯来完成。
进程通信常使用的方法是共享内存,其原理是将一份物理内存映射到不同的进程各自的虚拟地址空间上,这样每个进程都可以读取同一份数据,从而实现进程通信,因此是一种高效的数据交换方式。
在进行串口通讯和网络通讯时,同一时间只有一个进程能占用某一个端口进行数据通讯,其他进程无法获得通讯数据,无法满足模块化开发需求。
发明内容
本发明提供了一种进程间通讯数据共享的传输方法,解决了程序模块间串行或者网络端口被占用时,通讯数据无法共享的技术问题。
为解决上述技术问题,本发明提出如下技术方案:
一种进程间通讯数据共享的传输方法,该方法包括:
创建共享内存接收数据模块和共享内存发送数据模块;
通讯模块将接收的数据写入到共享内存接收数据模块;
其他模块读取共享内存接收数据模块中的数据;
其他模块将要发送的数据写入共享内存发送数据模块;
通讯模块读取共享内存发送数据模块中的数据。
优选的,共享内存接收数据模块包括存数计数器部分和存储数据部分。
优选的,通讯模块将接收的数据写入共享内存接收数据模块时采用先进先出的方式。
优选的,其他模块读取共享内存接收数据模块中的数据包括如下具体步骤:
S11,其他模块读取共享内存接收数据模块的当前计数器值a;
S12,将当前计数器值a与上一次计数器值a0比较;
S13,当a>a0时,其他模块从共享内存接收数据模块中读取更新数据,否则直接跳到步骤S15;;
S14,将a赋值给a0;
S15,判断其他模块是否接收到停止指令,如果是结束,否则返回步骤S11。
优选的,共享内存发送数据模块包括Y个子块,每一个子块存储大小为Z。
优选的,每一个子块包括存数计数器部分和存储数据部分。
优选的,其他模块的数量为多个,每一个其他模块对应一个共享内存发送数据模块的子块,并将数据写入到对应的子块中,然后对应的子块更新计数器值并更新存储数据。
优选的,通讯模块读取共享内存发送数据模块中的数据包括如下具体步骤:
S21,初始化i=0;
S22,当i<Y时,获取第i个子块的计数器值a(i),否则返回步骤S21;
S23,将当前计数器值a(i)与上一次计数器值a0(i)比较;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于航天科工惯性技术有限公司,未经航天科工惯性技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910851645.9/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置