[发明专利]一种用于实现在进程间进行数据交互访问的方法及其装置有效
申请号: | 201210001254.6 | 申请日: | 2012-01-04 |
公开(公告)号: | CN103197979B | 公开(公告)日: | 2017-05-03 |
发明(设计)人: | 李晓波;李永亮 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 隆天知识产权代理有限公司72003 | 代理人: | 张浴月,张龙哺 |
地址: | 开曼群岛大开曼*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 实现 进程 进行 数据 交互 访问 方法 及其 装置 | ||
1.一种用于实现在进程间进行数据交互访问的方法,所述方法包括:
步骤1,将需要交互访问的多个进程连接到同一个共享内存段;以及
步骤2,将所述多个进程中需要共享的数据结构分配到所述共享内存段,以使所述多个进程之间共享所述数据结构包含的成员变量的状态关系,和/或所述数据结构产生的结果数据之间的关系;
在所述步骤1中,如果所述共享内存段的大小为N,N为正整数,所述共享内存段中的每一个页面的大小为M,M为正整数,那么仅将所述共享内存段划分为2的幂次方个内存分区来使用,其中一个所述内存分区为一个所述页面,
并且所述共享内存段可分配的不同大小类型的数据的种类数L为:L=log2N-log2M,L为正整数,
并且通过指向一个或多个所述页面来形成一个slab结构,其中一个所述slab结构被划分成多个相同大小类型的对象,并且所述多个相同大小类型的对象用于分别存储相应的相同大小类型的数据,以及
并且所述共享内存段最多具有L个所述slab结构,每个所述slab结构对应一种大小类型的数据。
2.根据权利要求1所述的方法,其中,
在所述步骤1中,如果所述多个进程中的至少两个进程之间的关系是父子进程关系,就在父进程连接所述共享内存段并初始化所述共享内存段后再创建子进程。
3.根据权利要求1所述的方法,其中,
在所述步骤1中,如果所述多个进程之间的关系是非父子进程关系,则所述多个进程在连接所述共享内存段时,需要在各自的进程空间中指定相同的映射地址,以便映射到相同的所述共享内存段。
4.根据权利要求1所述的方法,其中,
在所述步骤2中,所述多个进程中需要共享的数据结构包括容器、结构、函数、数组、数据链中的一个或多个。
5.根据权利要求1所述的方法,其中,
在所述步骤2中,所述多个进程中需要共享的数据结构是标准模板库容器。
6.根据权利要求1所述的方法,其中,
在所述步骤2中,通过设置在所述多个进程的地址空间中的指针来使用所述数据结构。
7.一种用于实现在进程间进行数据交互访问的装置,所述装置包括:
连接模块,用于将需要交互访问的多个进程连接到同一个共享内存段;以及
分配模块,用于将所述多个进程中需要共享的数据结构分配到所述共享内存段,以使所述多个进程之间共享所述数据结构包含的成员变量的状态关系和/或所述数据结构产生的结果数据之间的关系;
在所述连接模块中,如果所述共享内存段的大小为N,N为正整数,所述共享内存段中的每一个页面的大小为M,M为正整数,那么仅将所述共享内存段划分为2的幂次方个内存分区来使用,其中一个所述内存分区为一个所述页面,
并且所述共享内存段可分配的不同大小类型的数据的种类数L为:L=log2N-log2M,L为正整数,
并且通过指向一个或多个所述页面来形成一个slab结构,其中一个所述slab结构被划分成多个相同大小类型的对象,并且所述多个相同大小类型的对象用于分别存储相应的相同大小类型的数据,以及
并且所述共享内存段最多具有L个所述slab结构,每个所述slab结构对应一种大小类型的数据。
8.根据权利要求7所述的装置,其中,
在所述连接模块中,如果所述需要交互访问的多个进程中的至少两个进程之间的关系是父子进程关系,就在父进程连接所述共享内存段并初始化所述共享内存段后再创建子进程。
9.根据权利要求7所述的装置,其中,
在所述连接模块中,如果所述多个进程之间的关系是非父子进程关系,则所述多个进程在连接所述共享内存段时,需要在各自的进程空间中指定相同的映射地址,以便映射到相同的所述共享内存段。
10.根据权利要求7所述的装置,其中,
在所述分配模块中,所述多个进程中需要共享的数据结构包括容器、结构、函数、数组、数据链中的一个或多个。
11.根据权利要求7所述的装置,其中,
在所述分配模块中,所述多个进程中需要共享的数据结构是标准模板库容器。
12.根据权利要求7所述的装置,其中,
在所述分配模块中,通过设置在所述多个进程的地址空间中的指针来使用所述数据结构。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210001254.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种聚乳酸微球及其制备方法
- 下一篇:一种无搅拌运动件的溶液搅拌方法及装置