[发明专利]一种多进程间的通信方法有效
申请号: | 201110104966.6 | 申请日: | 2011-04-26 |
公开(公告)号: | CN102147751A | 公开(公告)日: | 2011-08-10 |
发明(设计)人: | 马家智;区智殷;王瑞彪 | 申请(专利权)人: | 北京新媒传信科技有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F21/22 |
代理公司: | 北京市隆安律师事务所 11323 | 代理人: | 权鲜枝 |
地址: | 100089 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 进程 通信 方法 | ||
1.一种多进程间的通信方法,其特征在于,共享内存被划分为数据区和控制区,其中控制区又被划分为静态区和动态区,则任一当前进程加入多进程通信系统的过程包括:
A、当前进程尝试打开共享内存,如果能打开则执行步骤E至步骤G,如果不能打开则执行步骤B至步骤D;
B、当前进程创建共享内存,在共享内存的静态区写入共享内存信息;其中共享内存信息包括:数据区的读写互斥、动态区的读写互斥和临时服务进程权限互斥;
C、当前进程根据临时服务进程权限互斥获得临时服务进程权限;
D、当前进程将自身的地址及互斥写入动态区,等待其他进程加入该多进程通信系统;
E、当前进程访问共享内存的静态区,获得共享内存信息;
F、当前进程根据动态区的读写互斥获得动态区的访问权限,从动态区获取临时服务进程的地址以及临时服务进程的互斥,然后释放动态区的访问权限;
G、当前进程根据临时服务进程的地址和互斥实现与服务进程的通信,进而加入该多进程通信系统。
2.根据权利要求1所述的方法,其特征在于,
在步骤C之前该方法进一步包括:当前进程根据动态区的读写互斥获得动态区的访问权限;
所述步骤D进一步包括:当前进程将自身的地址及互斥写入动态区之后,释放对动态区的访问权限。
3.根据权利要求1所述的方法,其特征在于,所述动态区用于保存临时服务进程的地址和互斥,且只有临时服务进程能改写动态区的信息。
4.根据权利要求1所述的方法,其特征在于,所述步骤G包括:
G1、当前进程向临时服务进程请求加入该多进程通信系统,临时服务进程将当前进程的地址以及互斥同步给该多进程通信系统中的其他进程;
G2、当前进程向临时服务进程请求该多进程通信系统中的其他进程的地址以及互斥,临时服务进程将所述其他进程的地址和互斥同步给当前进程;
G3,开始多进程间的通信。
5.根据权利要求1或4所述的方法,其特征在于,当有进程退出所述多进程通信系统时,该方法进一步包括:
退出的进程释放本进程的互斥;
多进程通信系统中的其他进程检测到有进程退出后,执行以下步骤:判断退出的进程是否为临时服务进程,如果是则争夺动态区的访问权限;如果争夺成功,则获取临时服务进程权限,将自身的地址及互斥写入动态区,然后释放对动态区的访问权限。
6.根据权利要求5所述的方法,其特征在于,多进程通信系统中的其他进程检测到有进程退出后,所执行的步骤还包括:
当判断出退出的进程不是临时服务进程时,无操作。
7.根据权利要求5所述的方法,其特征在于,多进程通信系统中的其他进程检测到有进程退出后,所执行的步骤还包括:
在争夺动态区的访问权限失败后,等待获取动态区的访问权限,待获得动态区的访问权限后,从动态区获取新的临时服务进程的地址以及该新的临时服务进程的互斥,然后释放动态区的访问权限。
8.根据权利要求5所述的方法,其特征在于,在所述判断退出的进程是否为临时服务进程之前进一步包括:删除退出的进程在本进程中的记录。
9.根据权利要求5所述的方法,其特征在于,所述判断退出的进程是否为临时服务进程包括:判断退出的进程的互斥是否与动态区中的临时服务进程的互斥相同,如果相同,则退出进程是临时服务进程。
10.根据权利要求5所述的方法,其特征在于,所述多进程通信系统中的其他进程检测到有进程退出包括:
多进程通信系统中的其他进程通过应用程序编程接口API等待互斥的方式,检测出有进程退出。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京新媒传信科技有限公司,未经北京新媒传信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110104966.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:玻璃板成型装置及其成型方法
- 下一篇:猪粪便的处理方法及装置