[发明专利]一种减少linux下多进程间数据拷贝的方法有效
申请号: | 201410100323.8 | 申请日: | 2014-03-19 |
公开(公告)号: | CN103838859B | 公开(公告)日: | 2019-04-26 |
发明(设计)人: | 任赋;陈从华;郑福弟;李培明;黄杭星;范少卓 | 申请(专利权)人: | 厦门雅迅网络股份有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 厦门市精诚新创知识产权代理有限公司 35218 | 代理人: | 戚东升 |
地址: | 361000 福建*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 减少 linux 进程 数据 拷贝 方法 | ||
1.一种减少linux下多进程间数据拷贝的方法,其特征在于:包括以下步骤:
步骤1:划分共享内存,定义为共享内存组织;
步骤2:将该共享内存组织划分成不同大小的内存池,每一内存池由一个内存头和N个大小相同的内存块构成,N为正整数,该内存头用于存放每一内存块的使用标识,N个内存块以数组的形式线性排列在内存头后,每一内存块包括头部域、用户数据域和尾域,头部域用于存放用户计数、内存类型、内存块索引和第一界定标识;用户数据域用于保存需要交互的数据;尾域用于存放内存的第二界定标识,内存块的尾域用来对内存进行界定;所述头域的第一界定标识和尾域中的第二界定标识均为特定的字符,在申请和释放内存时进行内存越界的检查,以识别内存操作问题;
步骤3:应用程序的进程A申请某一内存块时,从小到大依次查询各内存池中的各内存块,找到大小符合需求的内存块a,设置内存头中对应该内存块a的使用标识为占用标识,将该内存块a的头部域中的用户计数计清零,并向内存a块写入待交互的数据;
步骤4:进程A将该内存块a中头部域的内存类型和内存块索引传递给目标进程D[i],(i=1,2,3……n,n为正整数),每多发送一个目标进程,进程A将该内存块a的头部域中的用户计数累加1;
步骤5:目标进程D[i]通过该内存类型和内存块索引访问到该内存块a,
步骤6:目标进程D[i]中,每减少一个目标进程使用该内存块a中数据域中的数据时,则将该内存块a的头部域中的用户计数累减1,直至该用户计数为零,当用户计数减为零时,设置内存头对应于该内存块a的使用标识为空闲标识,把内存块释放到内存池中,以供重复使用。
2.根据权利要求1所述的一种减少linux下多进程间数据拷贝的方法,其特征在于:步骤2中,N为正整数。
3.根据权利要求1所述的一种减少linux下多进程间数据拷贝的方法,其特征在于:步骤2中,所述内存池中各内存块的内存头、头域、用户数据域、尾域均为4n字节,当任意字段字节数不足4n字节时,则补充填充字段,使其满足4n字节的大小空间。
4.根据权利要求3所述的一种减少linux下多进程间数据拷贝的方法,其特征在于:每一内存块的内存头的头部域大小为4字节,用户数据字段的字节数由内存池的类型决定,尾域中的第二界定标识为1个字节,填充字段为3个字节。
5.根据权利要求1所述的一种减少linux下多进程间数据拷贝的方法,其特征在于:步骤2中,内存池中的内存头存放有N个内存块的使用标识,当内存头占用的字节数不足4的倍数,则内存头补充填充字段。
6.根据权利要求1所述的一种减少linux下多进程间数据拷贝的方法,其特征在于:步骤3中,应用程序的进程A申请到内存块a时,将内存块a的数据域的首地址返回给申请者。
7.根据权利要求1所述的一种减少linux下多进程间数据拷贝的方法,其特征在于:步骤6中,当进程不再使用该内存块a时,则通过把待释放的指针减去一个固定的头域大小,得到所使用内存的信息,该信息包括:内存所属的内存池和内存的使用计数,再将内存的使用计数减一,如果该内存的使用技术为零,则把该内存块归还的内存池中;否则,直接返回。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门雅迅网络股份有限公司,未经厦门雅迅网络股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410100323.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:未成年人用防水喉镜叶片
- 下一篇:建筑装修用拖把
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置