发明名称 |
一种用于实现在进程间进行数据交互访问的方法及其装置 |
摘要 |
一种用于实现在进程间进行数据交互访问的方法包括:步骤1,将需要交互访问的多个进程连接到同一个共享内存段;以及步骤2,将所述多个进程中需要共享的数据结构分配到所述共享内存段,以使所述多个进程之间共享所述数据结构包含的成员变量的状态关系,和/或所述数据结构产生的结果数据之间的关系。一种用于实现在进程间进行数据交互访问的装置包括:连接模块,用于将需要交互访问的多个进程连接到同一个共享内存段;以及分配模块,用于将所述多个进程中需要共享的数据结构分配到所述共享内存段,以使所述多个进程之间共享所述数据结构包含的成员变量的状态关系,和/或所述数据结构产生的结果数据之间的关系。 |
申请公布号 |
CN103197979B |
申请公布日期 |
2017.05.03 |
申请号 |
CN201210001254.6 |
申请日期 |
2012.01.04 |
申请人 |
阿里巴巴集团控股有限公司 |
发明人 |
李晓波;李永亮 |
分类号 |
G06F9/54(2006.01)I |
主分类号 |
G06F9/54(2006.01)I |
代理机构 |
隆天知识产权代理有限公司 72003 |
代理人 |
张浴月;张龙哺 |
主权项 |
一种用于实现在进程间进行数据交互访问的方法,所述方法包括:步骤1,将需要交互访问的多个进程连接到同一个共享内存段;以及步骤2,将所述多个进程中需要共享的数据结构分配到所述共享内存段,以使所述多个进程之间共享所述数据结构包含的成员变量的状态关系,和/或所述数据结构产生的结果数据之间的关系;在所述步骤1中,如果所述共享内存段的大小为N,N为正整数,所述共享内存段中的每一个页面的大小为M,M为正整数,那么仅将所述共享内存段划分为2的幂次方个内存分区来使用,其中一个所述内存分区为一个所述页面,并且所述共享内存段可分配的不同大小类型的数据的种类数L为:L=log<sub>2</sub>N‑log<sub>2</sub>M,L为正整数,并且通过指向一个或多个所述页面来形成一个slab结构,其中一个所述slab结构被划分成多个相同大小类型的对象,并且所述多个相同大小类型的对象用于分别存储相应的相同大小类型的数据,以及并且所述共享内存段最多具有L个所述slab结构,每个所述slab结构对应一种大小类型的数据。 |
地址 |
开曼群岛大开曼资本大厦一座四层847号邮箱 |