[发明专利]一种基于共享内存池的IPC通信方法在审
申请号: | 202010216291.3 | 申请日: | 2020-03-25 |
公开(公告)号: | CN111427707A | 公开(公告)日: | 2020-07-17 |
发明(设计)人: | 杜若蒙;魏志锋 | 申请(专利权)人: | 北京左江科技股份有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 中国兵器工业集团公司专利中心 11011 | 代理人: | 张然 |
地址: | 100095 北京市海淀区高*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 共享 内存 ipc 通信 方法 | ||
本发明公开了一种基于共享内存池的IPC通信方法,其中,包括:进行IPC通信,包括:消息接收和消息发送;消息发送包括:申请共享内存,如成功则继续,否则结束;向共享内存写入消息数据;将申请到的共享内存的虚拟地址转换为逻辑地址;将该逻辑地址发往目的接收队列;该接收队列的消息接收包括:接收消息队列收到该逻辑地址;根据转换公式将该逻辑地址还原出内存池ID和共享内存最小管理单元逻辑地址;通过内存池ID逻辑地址获得虚拟地址,虚拟地址加上共享内存最小管理单元逻辑地址等于消息实际存储地址;处理消息;释放该逻辑地址;进行内存池创建管理。本发明的方法减少了IPC通信时内核拷贝信息次数,降低了系统开销。
技术领域
本发明涉及计算机通信技术,特别涉及一种基于共享内存池的IPC通信方法。
背景技术
在Linux系统下IPC通信有多种工具可以选择,包括管道,FIFO,socket,消息队列及共享内存。所有工具又可分为两类,数据传输工具和共享内存。数据传输工具要求在用户内存和内核内存之间进行两次数据传输,一次传输是在写入的时候从用户内存到内核内存,另一次传输是在读取的时候内核内存到用户内存;共享内存允许进程通过将数据放到由进程间共享的一块内存中以完成信息交互,一个进程可以通过将数据放到共享内存块中使得其他进程读取这些数据。由于通信无需系统调用以及用户内存和内核内存之间的数据传输,因此共享内存的速度非常快。
基于共享内存的技术解决系统内大数据量的传递是业内普遍做法,技术差异主要体现在共享内存访问同步,共享内存的组织管理上。
中国专利“CN130514053一种基于共享内存的进程间通信方法”提供了一种使用读写锁和互斥锁同步循环队列的方法组织管理共享内存,多个进程是用同一段共享内存,通过互斥锁解决多个进程写互斥问题,是用读写锁解决多进程读顺序问题,在一定程度上提高了系统通信效率。
中国专利“CN130514053一种基于共享内存的进程间通信方法”所述技术方案当有进程长期占有读写权限时,势必对其他进程产生多种不确定结果,虽然有淘汰机制,但是并没有实际解决问题,而仅保证了本系统正常运行,这该机制是以牺牲其他进程的运行时间保证的。于对实时系统而言数据的实效性是第一位的。另外技术方案仅对读写权限做检查,虽然一定程度保证各个进程数据相对的独立性,但是没有机制保证本共享内存段所有者自身对内存操作的正确性。
发明内容
本发明的目的在于提供一种基于共享内存池的IPC通信方法,用于解决上述现有技术的问题。
本发明一种基于共享内存池的IPC通信方法,其中,包括:进行IPC通信,包括:消息接收和消息发送;消息发送包括:申请共享内存,如成功则继续,否则结束;向共享内存写入消息数据;将申请到的共享内存的虚拟地址转换为逻辑地址;将该逻辑地址发往目的接收队列;该接收队列的消息接收包括:接收消息队列收到该逻辑地址;根据转换公式将该逻辑地址还原出内存池ID和共享内存最小管理单元逻辑地址;通过内存池ID逻辑地址获得虚拟地址,虚拟地址加上共享内存最小管理单元逻辑地址等于消息实际存储地址;处理消息;释放该逻辑地址;进行内存池创建管理。
根据本发明的基于共享内存池的IPC通信方法的一实施例,其中,使用共享内存控制管理块、共享内存最小管理单元、共享内存最小管理单元的头部信息、共享内存最小管理单元的尾部信息以及双向链表对系统申请共享内存进行统一管理。
根据本发明的基于共享内存池的IPC通信方法的一实施例,其中,通信双方发送数据时,发方通过虚拟内存地址将数据写入共享内存,将虚拟地址转换为该逻辑地址。
根据本发明的基于共享内存池的IPC通信方法的一实施例,其中,接受方通过IPC接口收到发方的该逻辑地址,将该逻辑地址转换为本地的虚拟地址,从该虚拟地址中读出数据并解析。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京左江科技股份有限公司,未经北京左江科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010216291.3/2.html,转载请声明来源钻瓜专利网。