CN103838859A - 一种减少linux下多进程间数据拷贝的方法 - Google Patents

一种减少linux下多进程间数据拷贝的方法 Download PDF

Info

Publication number
CN103838859A
CN103838859A CN201410100323.8A CN201410100323A CN103838859A CN 103838859 A CN103838859 A CN 103838859A CN 201410100323 A CN201410100323 A CN 201410100323A CN 103838859 A CN103838859 A CN 103838859A
Authority
CN
China
Prior art keywords
memory
memory block
data
internal memory
pool
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410100323.8A
Other languages
English (en)
Other versions
CN103838859B (zh
Inventor
任赋
陈从华
郑福弟
李培明
黄杭星
范少卓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiamen Yaxon Networks Co Ltd
Original Assignee
Xiamen Yaxon Networks Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xiamen Yaxon Networks Co Ltd filed Critical Xiamen Yaxon Networks Co Ltd
Priority to CN201410100323.8A priority Critical patent/CN103838859B/zh
Publication of CN103838859A publication Critical patent/CN103838859A/zh
Application granted granted Critical
Publication of CN103838859B publication Critical patent/CN103838859B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种计算机应用技术领域,具体地说是一种减少linux下多进程间数据拷贝的方法。包括步骤1:申请共享内存组织;步骤2:将该共享内存组织划分成不同大小的内存池,内存池划分成多个内存块;步骤3:进程A申请某一内存块,使用标识为占用标识,该内存块a的头部域中的用户计数计为1,步骤4:每多一个进程使用该内存块a中的数据,用户计数根据累加1,步骤5:每少一个进程使用该内存块a中的数据,用户计数根据累减1,直至该用户计数为零,使用标识置为空闲标识,则该内存块a归还内存池中;本发明的方法能够实现进程间零拷贝的数据通讯;并且实现了一次数据的组织,不需要进行数据的多次拷贝,就能直接被多个进程使用。

Description

一种减少linux下多进程间数据拷贝的方法
技术领域
本发明涉及一种计算机应用技术领域,具体地说是一种减少linux下多进程间数据拷贝的方法。
背景技术
Linux系统是基于虚拟内存的系统,其进程空间是独立的,互相不可见的,每个进程独立管理自己的内存空间。进程间数据交互需要通过消息队列、共享内存、管道、文件等方式,这些方法要么需要进行数据的拷贝如消息队列、管道等,甚至要多次进行数据拷贝才能使得在一个进程中组织的数据在另外一个进程中可见,而且每多一个进程使用数据就需要多一次数据的拷贝,效率较低;要么只能两个进程间共享数据,如普通的共享内存,其通常的用方法是,为每两个进程开辟一个内存段作为共享内存空间,来完成这两个进程间的通讯,这块共享内存不能被多个进程复用,资源浪费严重。这就需要一种方法既能够实现进程间数据的高效交互,又能够使得这块内存能够被各个进程共享。
发明内容
解决上述技术问题,本发明提供了一种组织和管理共享内存的方式,针对LINUX操作系统,能够实现进程间零拷贝的数据通讯;并且实现了一次数据的组织,不需要进行数据的多次拷贝,就能直接被多个进程使用。该方法不仅能用于进程间通讯,进程内部各线程的通讯一样可以支持,非常灵活高效。
为了达到上述目的,本发明所采用的技术方案是,一种减少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中,所述内存池中各内存块的内存头、头域、用户数据域、尾域均为4n字节,当任意字段字节数不足4n字节时,则补充填充字段,使得满足4n字节的大小空间,最大程度上提高内存读写的效率。更进一步的,每一内存块的内存头的头部域大小为4字节,用户数据域的字节数由内存池的类型决定,尾域中的界定标识为1个字节,填充字段为3个字节。
进一步的,步骤2中,内存池中的内存头存放有N个内存块的使用标识,当内存头占用的字节数不足4的倍数,则内存头补充填充字段。
进一步的,所述用户数据域的大小为给内存池大小的累加和。
进一步的,步骤3中,应用程序的进程A申请到内存块a时,将内存块a的数据域的首地址返回给申请者。
进一步的,步骤6中,当进程不再使用该内存块a时,则通过把待释放的指针减去一个固定的头域大小,即可得到所使用内存的信息——内存所属的内存池、内存的使用计数,把内存的使用计数减一,如果为零,则说明说有使用该内存的用户都已经释放了,则把该内存块归还的内存池中;否则,直接返回。
进一步的,所述头域和尾域中的界定标识为特定的字符,在申请和释放内存时进行内存越界的检查,以识别内存操作问题。
本发明通过采用上述技术方案,与现有技术相比,具有如下优点:
1、本发明充分考虑了数据操作的效率,设定该内存头、头部域、数据域和尾域的大小满足4n字节,n为正整数,保证申请内存的4字节对齐,保证了操作系统对数据访问的时候,实现地址的4字节对齐的,进而实现对整型数据的快速访问;
2、本发明使用数组的方式进行内存池的管理,每一内存池由一个内存头和N个大小相同的内存块构成,N为正整数,内存块索引存放了该内存块在内存池中数组中所排列的位置,即内存块索引为N,则表示该内存块为内存池中的第N块内存,无需内存块链表式的插入和取出,快速便捷;
3、本发明对头尾界定符使用固定的字符标识越界情况,在申请和释放时进行判断,防止内存的越界;在申请的时候,把头尾界定符设置为指定的字符,在释放的时候对此进行检查,如果界定符不是该字符,说明内存越界了,能够快速跟踪分析到该系统异常问题;
4、本发明通过使用标识,指示内存的使用情况,实现单用户申请,多用户使用,特别适合于分发类数据传递情况;
5、本发明建立在共享内存的基础上,共享内存本身是多进程都可见的,采用内存池划分为同样大小N个内存块的集合,在整个系统的运行过程中形成了系统化,组织化和通用化,使得目标进程能够灵活易用,满足了多进程频繁大批量数据交互,无需各进程之间进行拷贝,极大地提高了系统的效率。
附图说明
图1是本发明的实施例的共享内存组织结构图;
图2是本发明的实施例的应用场景示意图;
图3是本发明的实施例的内存申请示意图;
图4是本发明的实施例的内存释放示意图;
图5是本发明的实施例的内存检索示意图。
具体实施方式
现结合附图和具体实施方式对本发明进一步说明。
作为一个具体的实施例,本发明的一种减少linux下多进程间数据拷贝的方法,包括以下步骤:
步骤1:划分共享内存,定义为共享内存组织;
步骤2:参考图1所示,将该共享内存组织划分成不同大小的n个内存池,每一内存池由一个内存头和N个大小相同的内存块构成,N为正整数,不同内存池间的内存块大小不同,该内存头用于存放每一内存块的使用标识,N个内存块以数组的形式线性排列在内存头后,每一内存块包括头部域、数据域和尾域,头部域用于存放用户计数、内存类型、内存块索引和界定标识;用户数据域用于保存需要交互的数据;尾域用于存放内存的界定标识,内存块的尾域用来对对内存进行界定,在申请和释放时进行检查,防止内存使用的越界,利于检查内存的泄露。所述内存头、头部域、数据域和尾域的大小满足4n字节,n为正整数。所述用户数据域的大小依据该内存池的划分的空间以及内存池的类型来划分,同一内存池中的N个内存块的用户数据域的大小相同。所述尾域中的界定标识为1个字节,填充字段为3个字节。每一内存池中的内存头存放有N个内存块的使用标识,当内存头占用的字节数不足4n字节,则在内存头中补充填充字段,使得满足4n字节的大小空间。
步骤3:应用程序的进程A申请某一内存块时,根据申请内存的大小,从小到大查询依次查询各内存池中的各内存块,找到大小符合需求的内存块a,该查询方式包括:从小到大查询依次查询各内存池,首先找到数据域大于该申请内存大小的的内存池,然后在该内存池中找空闲的内存块,如果找不到则继续轮询下一个内存池,直到找到大小符合需求的内存块a,该内存块a即为查找到的第一个满足需求的最小的内存块,若找不到满足需求的内存块,则返回失败。
找到大小符合需求的内存块a后,设置内存头中对应该内存块a的使用标识为占用标识,将该内存块a的头部域中的用户计数计清零,并向内存块a的用户数据域写入数据;
步骤4:进程A将该内存块a头部域内存类型和内存块索引传递给目标进程D[i],(i=1,2,3……n,n为正整数),每多发送一个目标进程,进程A将该内存块a的头部域中的用户计数累加1;
步骤5:目标进程D[i]通过该内存类型和内存块索引访问到该内存块a,再根据内存块a的构成找到用户数据的地址,通过该地址操作数据域,即可获得进程A存入内存a的数据,无需进行进程A与目标进程D[i]之间的数据拷贝,
步骤6:目标进程D[i]中,每减少一个目标进程使用该内存块a中数据域中的数据时,则将该内存块a的头部域中的用户计数累减1,直至该用户计数为零,设置内存头对应于该内存块a的使用标识为空闲标识,此时该内存块a成为了内存池中空闲的内存块,可以供其它进程使用。
本方案中使用数组的方式进行内存池的管理,无需内存块链表式的插入和取出;由于每一内存池由一个内存头和N个大小相同的内存块构成,N为正整数,内存块索引存放了该内存块在内存池中数组中所排列的位置,即内存块索引为N,则表示该内存块为内存池中的第N块内存。
本实施例将头尾界定符使用固定的字符标识越界情况,在申请和释放时进行判断,防止内存的越界;头尾界定符用来在申请内存和释放内存的时候对内存的头部和尾部进行界定,在申请的时候,把头尾界定符设置为指定的字符‘M’,在释放的时候对此进行检查,如果界定符不是‘M’字符,说明内存越界了,系统抛出异常,用户可以据此分析出问题的点。由于内存越界不是容易察觉的情况,一般内存越界不会立即出现异常,等出现异常的时候,已经很难知道什么时候出现的问题了,因此使用界定符,在释放的时候对此进行检查,使得用户能够及时的发现出问题的点,可以据此来进行跟踪分析找到问题。
本实施例通过使用标识,指示内存的使用情况,实现单用户申请,多用户使用,特别适合于分发类数据传递情况; 
本发明建立在共享内存的基础上,共享内存本身是多进程都可见的,采用内存池划分为同样大小N个内存块的集合,在整个系统的运行过程中形成了系统化,组织化和通用化,使得目标进程能够灵活易用,满足了多进程频繁大批量数据交互,无需各进程之间进行拷贝,极大地提高了系统的效率。
参考图2和图3所示,在一个具体实施方式中,预先建立4个内存池共,各内存池包含的内存块的大小和内存块的个数定义如下:第一内存池,包含50个内存块,每个内存块的大小为100字节;第二内存池,包含50个内存块,每个内存块的大小为512 字节;第三内存池,包含100 个内存块,每个内存块的大小为1024字节;第四内存组,包含100个内存块,每个内存块的大小为10240字节。各内存池按从小到大的顺序排列在共享内存中,那么需要申请的共享内存大小为52(内存头)+50* (100(用户数据字段)+ 4(头域)+ 4(尾域))+52+50*(512+4+4))+100+100*(1024+4+4)+100+100*(10240+4+4)=1159704(字节)。
数值和内存池中用户数据大小的映射关系如下
0 100
1 512
2 1024
3 10240
参考图3,A进程申请获取一块500字节的内存,从小到大查询内存池,判断该内存池中的内存块是否满足需求,具体是:则其首先判断第一内存池中用户数据长度是否满足需求,由于第一内存池用户数据长度只有100字节,小于待申请内存的大小,其不满足需求,那么检查第二内存池,其大小为512字节,满足需求,则再检查该内存头的占用标识字段,看是否存在空闲的内存块,即查询该内存池中是否存在未被占用的字块,如果存在则申请成功,设置对应内存块内存头的占用标识为占用状态,清零内存块中对应头部域中的使用标识,然后组织数据到用户数据字段,内存块中对应头部域中的使用标识加1,然后把内存块的内存类型字段和内存块存在内存池中的索引字段通过linux消息发送给B进程,内存块对应头部域中的使用标识加1,再把内存块的内存类型字段和内存块存在内存池中的索引字段通过linux消息发送给C进程,依次类推。
否则继续查找下一个内存池直到找到可用的内存块,如果扫描到最后一个内存块都没有没有满足内存需求的内存块,或者内存池中不存在空闲的内存块,那么返回失败。
A进程申请到类型为512字节内存池(使用数值1表示)中第8个内存块,其需要把数据发送给B和C进程,则其头域的用户计数为2,数据类型为1,索引号为8。
参考图4所示,B或C进程检查内存块头域与尾域中的界定标识字段是否为设定值,若是,则使用数据,用户计数减1,当用户计数不为零时,说明还有其它进程在使用该内存块,此时无需修改内存占用标识,当用户计数等于0的时候,说明已经没有其它进程在使用该内存块了,则修改内存头占用标识字段为空闲状态,并结束返回。
参考图5所示,B或C进程通过收到的数据类型字段以及索引号字段即可索引到该数据块,其方法为共享内存在进程中的起始地址+第一内存池的大小(52+50*(100+4+4))+该数据在第二内存池中的偏移(=52+8*(512+4+4))+内存块的内存头(4),假设共享存在B进程中的起始地址是0x10000000,在C进程中的起始地址是0x20000000,则数据块在B进程中的可见地址是0x100025C0,数据块在C进程中的可见地址是0x100025C0。
尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。 

Claims (7)

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时,则通过把待释放的指针减去一个固定的头域大小,得到所使用内存的信息,该信息包括:内存所属的内存池和内存的使用计数,再将内存的使用计数减一,如果该内存的使用技术为零,则把该内存块归还的内存池中;否则,直接返回。
CN201410100323.8A 2014-03-19 2014-03-19 一种减少linux下多进程间数据拷贝的方法 Active CN103838859B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410100323.8A CN103838859B (zh) 2014-03-19 2014-03-19 一种减少linux下多进程间数据拷贝的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410100323.8A CN103838859B (zh) 2014-03-19 2014-03-19 一种减少linux下多进程间数据拷贝的方法

Publications (2)

Publication Number Publication Date
CN103838859A true CN103838859A (zh) 2014-06-04
CN103838859B CN103838859B (zh) 2019-04-26

Family

ID=50802355

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410100323.8A Active CN103838859B (zh) 2014-03-19 2014-03-19 一种减少linux下多进程间数据拷贝的方法

Country Status (1)

Country Link
CN (1) CN103838859B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105528304A (zh) * 2015-12-03 2016-04-27 盛趣信息技术(上海)有限公司 内存池管理方法
WO2016127291A1 (zh) * 2015-02-09 2016-08-18 华为技术有限公司 内存管理装置和方法
CN106776056A (zh) * 2016-11-10 2017-05-31 北京像素软件科技股份有限公司 游戏数据处理方法、装置及服务器
CN107168890A (zh) * 2017-04-01 2017-09-15 杭州联吉技术有限公司 一种内存池的管理方法和装置
CN108304259A (zh) * 2017-01-11 2018-07-20 中兴通讯股份有限公司 内存管理方法及系统
CN109343953A (zh) * 2018-08-29 2019-02-15 苏州科达科技股份有限公司 内存管理方法、装置及电子设备
CN110427273A (zh) * 2019-06-25 2019-11-08 平安科技(深圳)有限公司 内存调度方法、装置、设备及存储介质
CN111404986A (zh) * 2019-12-11 2020-07-10 杭州海康威视系统技术有限公司 数据传输处理方法、设备和存储介质
CN111506436A (zh) * 2020-03-25 2020-08-07 炬星科技(深圳)有限公司 实现内存共享的方法、电子设备和共享内存数据管理库
CN112463400A (zh) * 2020-10-30 2021-03-09 中国电子科技集团公司第五十二研究所 一种基于共享内存的实时数据分发方法及装置
CN113032162A (zh) * 2021-03-23 2021-06-25 重庆智行者信息科技有限公司 一种基于共享内存备份机制的多进程通讯方法
CN113377703A (zh) * 2021-06-23 2021-09-10 上海擎昆信息科技有限公司 一种核间通信方法
WO2021244155A1 (zh) * 2020-06-05 2021-12-09 华为技术有限公司 一种进程间通信方法以及进程间通信装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030217058A1 (en) * 2002-03-27 2003-11-20 Edya Ladan-Mozes Lock-free file system
CN101055533A (zh) * 2007-05-28 2007-10-17 中兴通讯股份有限公司 一种多线程处理器动态内存管理系统及方法
CN101266575A (zh) * 2007-03-13 2008-09-17 中兴通讯股份有限公司 一种提高内存池利用率的方法
CN101382916A (zh) * 2007-09-06 2009-03-11 大唐移动通信设备有限公司 嵌入式系统内存管理的方法
US20120110274A1 (en) * 2010-10-27 2012-05-03 Ibm Corporation Operating System Image Management
CN103197979A (zh) * 2012-01-04 2013-07-10 阿里巴巴集团控股有限公司 一种用于实现在进程间进行数据交互访问的方法及其装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030217058A1 (en) * 2002-03-27 2003-11-20 Edya Ladan-Mozes Lock-free file system
CN101266575A (zh) * 2007-03-13 2008-09-17 中兴通讯股份有限公司 一种提高内存池利用率的方法
CN101055533A (zh) * 2007-05-28 2007-10-17 中兴通讯股份有限公司 一种多线程处理器动态内存管理系统及方法
CN101382916A (zh) * 2007-09-06 2009-03-11 大唐移动通信设备有限公司 嵌入式系统内存管理的方法
US20120110274A1 (en) * 2010-10-27 2012-05-03 Ibm Corporation Operating System Image Management
CN103197979A (zh) * 2012-01-04 2013-07-10 阿里巴巴集团控股有限公司 一种用于实现在进程间进行数据交互访问的方法及其装置

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016127291A1 (zh) * 2015-02-09 2016-08-18 华为技术有限公司 内存管理装置和方法
CN105528304A (zh) * 2015-12-03 2016-04-27 盛趣信息技术(上海)有限公司 内存池管理方法
CN105528304B (zh) * 2015-12-03 2019-04-16 盛趣信息技术(上海)有限公司 内存池管理方法
CN106776056B (zh) * 2016-11-10 2020-12-29 北京像素软件科技股份有限公司 游戏数据处理方法、装置及服务器
CN106776056A (zh) * 2016-11-10 2017-05-31 北京像素软件科技股份有限公司 游戏数据处理方法、装置及服务器
CN108304259A (zh) * 2017-01-11 2018-07-20 中兴通讯股份有限公司 内存管理方法及系统
CN108304259B (zh) * 2017-01-11 2023-04-14 中兴通讯股份有限公司 内存管理方法及系统
CN107168890A (zh) * 2017-04-01 2017-09-15 杭州联吉技术有限公司 一种内存池的管理方法和装置
CN107168890B (zh) * 2017-04-01 2021-03-19 杭州联吉技术有限公司 一种内存池的管理方法和装置
CN109343953A (zh) * 2018-08-29 2019-02-15 苏州科达科技股份有限公司 内存管理方法、装置及电子设备
CN110427273A (zh) * 2019-06-25 2019-11-08 平安科技(深圳)有限公司 内存调度方法、装置、设备及存储介质
CN111404986A (zh) * 2019-12-11 2020-07-10 杭州海康威视系统技术有限公司 数据传输处理方法、设备和存储介质
CN111506436A (zh) * 2020-03-25 2020-08-07 炬星科技(深圳)有限公司 实现内存共享的方法、电子设备和共享内存数据管理库
CN111506436B (zh) * 2020-03-25 2024-05-14 炬星科技(深圳)有限公司 实现内存共享的方法、电子设备和共享内存数据管理库
WO2021244155A1 (zh) * 2020-06-05 2021-12-09 华为技术有限公司 一种进程间通信方法以及进程间通信装置
CN112463400A (zh) * 2020-10-30 2021-03-09 中国电子科技集团公司第五十二研究所 一种基于共享内存的实时数据分发方法及装置
CN113032162A (zh) * 2021-03-23 2021-06-25 重庆智行者信息科技有限公司 一种基于共享内存备份机制的多进程通讯方法
CN113032162B (zh) * 2021-03-23 2023-10-24 重庆兰德适普信息科技有限公司 一种基于共享内存备份机制的多进程通讯方法
CN113377703A (zh) * 2021-06-23 2021-09-10 上海擎昆信息科技有限公司 一种核间通信方法
CN113377703B (zh) * 2021-06-23 2024-04-09 上海擎昆信息科技有限公司 一种核间通信方法

Also Published As

Publication number Publication date
CN103838859B (zh) 2019-04-26

Similar Documents

Publication Publication Date Title
CN103838859A (zh) 一种减少linux下多进程间数据拷贝的方法
US7418568B2 (en) Memory management technique
US8943108B2 (en) Hardware off-load memory garbage collection acceleration
CN113641457A (zh) 容器创建方法、装置、设备、介质及程序产品
US10073648B2 (en) Repartitioning data in a distributed computing system
CN104424263A (zh) 一种数据记录的处理方法及装置
CN103617123A (zh) 一种通过内存块实现内存管理的方法及系统
CN105138284A (zh) 虚拟机磁盘镜像同步操作优化的系统及方法
US20120047108A1 (en) Point-in-time (pit) based thin reclamation support for systems with a storage usage map api
CN107608885A (zh) 内存泄漏点的定位方法、装置、系统及可读存储介质
CN102968491A (zh) 一种数据分配方法和装置
CN101013378B (zh) 动态地迁移通道
US9734620B2 (en) Apparatus and method for graphics state management
CN104115127B (zh) 存储系统和数据管理方法
CN105205178A (zh) 一种多进程访问内存数据库系统
CN110209354B (zh) 用于处理数据的方法、装置、设备和介质
US8868876B2 (en) Dedicated large page memory pools
US20110153691A1 (en) Hardware off-load garbage collection acceleration for languages with finalizers
CN101833585A (zh) 数据库服务器操作控制系统、方法及设备
CN105528304B (zh) 内存池管理方法
CN113760950B (zh) 指标数据查询方法、装置、电子设备以及存储介质
CN106557274A (zh) 虚拟快照处理方法及装置
CN102004761B (zh) 数据存储方法和系统
CN115048421A (zh) 一种数据处理方法、装置、设备和存储介质
US10296348B2 (en) Delayed allocation of an out-of-order queue entry and based on determining that the entry is unavailable, enable deadlock avoidance involving reserving one or more entries in the queue, and disabling deadlock avoidance based on expiration of a predetermined amount of time

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant