[发明专利]进程通讯方法及系统有效
申请号: | 201210164179.5 | 申请日: | 2012-05-24 |
公开(公告)号: | CN103425538A | 公开(公告)日: | 2013-12-04 |
发明(设计)人: | 黄明生;田诗源 | 申请(专利权)人: | 深圳市腾讯计算机系统有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F12/10 |
代理公司: | 广州华进联合专利商标代理有限公司 44224 | 代理人: | 何平;曾旻辉 |
地址: | 518057 广东省深圳市南*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 进程 通讯 方法 系统 | ||
1.一种进程通讯方法,包括如下步骤:
根据进程通讯请求分配内存空间;
将通讯数据存入所述内存空间;
将所述内存空间的逻辑地址写入消息队列;
通过从所述消息队列中读取的逻辑地址访问所述通讯数据。
2.根据权利要求1所述的进程通讯方法,其特征在于,所述根据进程通讯请求分配内存空间的步骤为:
根据所述进程通讯请求分配内存空间,并获取所述内存空间的逻辑地址;
向所述通讯请求进程传递所述内存空间的逻辑地址。
3.根据权利要求2所述的进程通讯方法,其特征在于,所述根据所述进程通讯请求分配内存空间,并获取所述内存空间的逻辑地址的步骤为:
获取通讯数据对应的数据长度;
选定与所述数据长度相匹配的内存长度区间;
根据所述选定的内存长度区间得到对应的内存空间以及逻辑地址。
4.根据权利要求3所述的进程通讯方法,其特征在于,所述根据所述选定的内存长度区间得到对应的内存空间以及逻辑地址的步骤之后还包括:
判断所述选定的内存长度区间是否大于数据长度,若是,则
根据所述数据长度分裂所述得到内存空间;
更新与所述分裂得到的内存空间相关联的内存长度区间;
根据更新的内存长度区间以及数据长度向通讯请求进程分配所述分裂得到的内存空间以及逻辑地址。
5.根据权利要求3所述的进程通讯方法,其特征在于,所述通过从所述消息队列中读取的逻辑地址访问所述通讯数据的步骤之后还包括:
获取空间释放请求,并释放所述空间释放请求对应的内存空间;
判断是否存在与所述释放的内存空间形成连续区域的空闲内存空间,若是,则将所述判断得到的空闲内存空间与释放的内存空间合并;
更新对应的内存长度区间。
6.根据权利要求2所述的进程通讯方法,其特征在于,所述将通讯数据存入内存空间的步骤为:
将接收得到的逻辑地址转换为物理地址;
按照所述物理地址将所述通讯数据存入相应的内存空间。
7.根据权利要求1所述的进程通讯方法,其特征在于,所述将所述内存空间的逻辑地址写入消息队列的步骤之后还包括:
判断写入消息队列的逻辑地址是否为唯一消息,若是,则向所述消息队列中的命名管道写入数据。
8.根据权利要求7所述的进程通讯方法,其特征在于,所述通过从所述消息队列中读取的逻辑地址访问所述通讯数据的步骤为:
数据访问进程通过监控到所述命名管道中写入的数据触发消息队列的读取,得到逻辑地址;
将所述逻辑地址转换为物理地址,并根据所述转换得到的物理地址访问通讯数据。
9.一种进程通讯系统,其特征在于,包括:
资源管理器模块,用于根据进程通讯请求分配内存空间;
通讯请求进程模块,用于将所述通讯数据存入所述内存空间,并将所述内存空间的逻辑地址写入消息队列;
数据访问进程模块,用于通过所述消息队列中读取的逻辑地址访问所述通讯数据。
10.根据权利要求9所述的进程通讯系统,其特征在于,所述资源管理器模块包括:
分配模块,用于根据所述进程通讯请求分配内存空间,并获取所述内存空间的逻辑地址;
传递模块,用于向所述通讯请求进程模块传递所述内存空间的逻辑地址。
11.根据权利要求10所述的进程通讯系统,其特征在于,所述分配模块包括:
长度获取模块,用于获取通讯数据对应的数据长度;
区间选定模块,用于选定与所述数据长度相匹配的内存长度区间;
空间获取模块,用于根据所述选定的内存长度区间得到对应的内存空间以及逻辑地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市腾讯计算机系统有限公司,未经深圳市腾讯计算机系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210164179.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:谐振峰抑制的浮筏隔振系统
- 下一篇:一种减震器防尘罩