[发明专利]一种减少linux下多进程间数据拷贝的方法有效
申请号: | 201410100323.8 | 申请日: | 2014-03-19 |
公开(公告)号: | CN103838859B | 公开(公告)日: | 2019-04-26 |
发明(设计)人: | 任赋;陈从华;郑福弟;李培明;黄杭星;范少卓 | 申请(专利权)人: | 厦门雅迅网络股份有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 厦门市精诚新创知识产权代理有限公司 35218 | 代理人: | 戚东升 |
地址: | 361000 福建*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种计算机应用技术领域,具体地说是一种减少linux下多进程间数据拷贝的方法。包括步骤1:申请共享内存组织;步骤2:将该共享内存组织划分成不同大小的内存池,内存池划分成多个内存块;步骤3:进程A申请某一内存块,使用标识为占用标识,该内存块a的头部域中的用户计数计为1,步骤4:每多一个进程使用该内存块a中的数据,用户计数根据累加1,步骤5:每少一个进程使用该内存块a中的数据,用户计数根据累减1,直至该用户计数为零,使用标识置为空闲标识,则该内存块a归还内存池中;本发明的方法能够实现进程间零拷贝的数据通讯;并且实现了一次数据的组织,不需要进行数据的多次拷贝,就能直接被多个进程使用。 | ||
搜索关键词: | 一种 减少 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的使用标识为空闲标识,把内存块释放到内存池中,以供重复使用。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门雅迅网络股份有限公司,未经厦门雅迅网络股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410100323.8/,转载请声明来源钻瓜专利网。
- 上一篇:未成年人用防水喉镜叶片
- 下一篇:建筑装修用拖把
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置