CN111506436B - 实现内存共享的方法、电子设备和共享内存数据管理库 - Google Patents
实现内存共享的方法、电子设备和共享内存数据管理库 Download PDFInfo
- Publication number
- CN111506436B CN111506436B CN202010219116.XA CN202010219116A CN111506436B CN 111506436 B CN111506436 B CN 111506436B CN 202010219116 A CN202010219116 A CN 202010219116A CN 111506436 B CN111506436 B CN 111506436B
- Authority
- CN
- China
- Prior art keywords
- read
- data
- write
- write lock
- memory
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 106
- 238000013523 data management Methods 0.000 title claims abstract description 17
- 230000008569 process Effects 0.000 claims abstract description 41
- 238000004891 communication Methods 0.000 claims abstract description 31
- 238000007726 management method Methods 0.000 claims abstract description 27
- 230000000694 effects Effects 0.000 abstract description 4
- 239000002245 particle Substances 0.000 abstract description 4
- 230000001360 synchronised effect Effects 0.000 abstract 1
- 230000007246 mechanism Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000000903 blocking effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000007717 exclusion Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开实现内存共享的方法、电子设备和共享内存数据管理库。实现内存共享的方法,包括:分配共享内存数据池,所述数据池可供多进程访问;将所述数据池划分成若干最小共享数据单元;内存管理模块在接收到进程的读/写请求时对最小共享数据单元的操作加锁,多进程并发地申请持有读写锁进行操作;所述内存管理模块在执行完进程的读/写操作后解除该读写锁。对共享内存数据池进行小块(小颗粒)划分,针对每个小颗粒共享数据加锁和同步,实现了多并发的效果,减少多进程相互等待,提高整体通信效率。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及实现内存共享的方法、电子设备和共享内存数据管理库。
背景技术
基于Linux或者类Unix的机器人系统下,共享内存是常见的进程间通信方式,一个共享内存段被kernel创建,并且映射到用户态进程的数据段。使用共享内存通信最大的好处是效率很高,因为进程可以直接读写内存,而不需要任何数据的拷贝。但是,在多个进程使用共享内存通信的时候,会涉及到读写数据的同步和互斥,而目前通用的做法是直接对整个共享内存数据管理库或数据池进行加锁,那么在某一时间点上,只能由一个进程对此共享数据进行修改,其他进程只能阻塞等待,导致整体通信效率底下。
发明内容
本公开的一个主要目的在于克服上述现有技术的至少一种缺陷,提供实现内存共享的方法、电子设备和共享内存数据管理库。
根据本发明的第一个方面,提供实现内存共享的方法,所述方法包括:
分配共享内存数据池,所述数据池可供多进程访问;
将所述数据池划分成若干最小共享数据单元;
内存管理模块在接收到进程的读/写请求时对最小共享数据单元的操作加锁,多进程并发地申请持有读写锁进行操作;所述内存管理模块在执行完进程的读/写操作后解除该读写锁。
在本发明的一个实施例中,所述最小共享数据单元用于存储通用模型的数据,所述通用模型根据不同数据类型的具体数据抽象而成。
在本发明的一个实施例中,所述方法还包括:
参与跨进程通信的服务端写入数据;
参与跨进程通信的客户端读取数据,所述客户端的数量为多个。
在本发明的一个实施例中,所述数据池的尺寸由系统预设或由用户设置,所述最小共享数据单元的块颗粒度越小,则所述数据池的粒度越小,则共享效率越高。
在本发明的一个实施例中,当所述读/写操作为针对第一最小共享数据单元的写操作时,所述服务端申请持有读写锁,若申请成功,所述服务端进行写操作,在写操作完成后释放读写锁,将准备条件广播通知所有客户端;所述服务端继续申请持有第二最小共享数据单元的读写锁,并同理操作。
在本发明的一个实施例中,若所述服务端申请持有读写锁失败,则使写操作进入等待状态。
在本发明的一个实施例中,当所述读/写操作为第一客户端接收到所述广播通知后,针对第一最小共享数据单元的读操作时,所述第一客户端申请持有读写锁,若申请成功,所述第一客户端进行读操作,并在读操作完成后释放读写锁;若第一客户端申请持有读写锁失败,则使读操作进入等待状态;
同时,当所述读/写操作为第M客户端接收到所述广播通知后,针对第N最小共享数据单元的读操作时,所述第M客户端申请持有读写锁,并同理操作。
在本发明的一个实施例中,所述内存管理模块使用二维数组记录多个具有唯一标识的所述最小共享数据单元的读写锁访问状态。
根据本发明的第二个方面,提供电子设备,所述电子设备包括一个或多个处理器,所述处理器被配置为执行如上述的实现内存共享的方法。
根据本发明的第三个方面,提供计算机可读存储介质,用于存储实现共享内存的程序,所述计算机程序可被处理器执行如上述的方法。
根据本发明的第四个方面,提供共享内存数据管理库,包括:
内存管理模块;以及
参与跨进程通信的客户端,用于读取数据;以及
参与跨进程通信的服务端,用于写入数据;
所述内存管理模块分配共享内存数据池,所述数据池可供多进程访问;
所述内存管理模块将所述数据池划分成若干最小共享数据单元;
所述内存管理模块在接收到进程的读/写请求时对最小共享数据单元的操作加锁,多进程并发地申请持有读写锁进行操作;所述内存管理模块在执行完进程的读/写操作后解除该读写锁。
本发明实现内存共享的方法,对共享内存数据池进行小块(最小共享数据单元)划分,针对每个最小共享数据单元共享数据加锁和同步,实现了多并发的效果,减少多进程相互等待,提高整体通信效率。
附图说明
通过结合附图考虑以下对本公开的优选实施方式的详细说明,本公开的各种目标,特征和优点将变得更加显而易见。附图仅为本公开的示范性图解,并非一定是按比例绘制。在附图中,同样的附图标记始终表示相同或类似的部件。其中:
图1是本发明实施例的实现内存共享的方法的流程图;
图2是本发明实施例的实现内存共享的方法的ShmLib的静态结构;
图3是本发明实施例的实现内存共享的方法的ShmLib的类图;
图4是本发明实施例的实现内存共享的方法的整体原理图;
图5是本发明实施例的共享内存数据管理库的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
传统的内存数据库是特定的组织形态,通常支持增删查改。在一些工业应用领域,例如嵌入式系统的设计中,传感器数据的存储和访问等,通常所需的多进程共享的内存数据块的体量会小很多,例如机器人传感器数据使用几百至几千KB的共享内存即可。本发明的实施例旨在实现对这种小型数据池或者数据段的内存共享。本发明的一个实施例提供了实现内存共享的方法,请参考图1,所述方法包括:
步骤21、分配共享内存数据池,所述共享内存数据池可供多进程访问;
步骤22、将所述共享内存数据池划分成若干最小共享数据单元;
步骤23、内存管理模块在接收到进程的读/写请求时对最小共享数据单元的操作加锁,多进程并发地申请持有读写锁进行操作;所述内存管理模块在执行完进程的读/写操作后解除该读写锁。
将共享内存数据池划分成若干小块,并给每小块分配自有的读写锁;多个进程并发申请持有所述读写锁进行操作。
本发明实现内存共享的方法,相比现有技术,对共享内存数据池进行小块(最小共享数据单元)划分,针对每个最小共享数据单元共享数据加锁和同步,实现了多并发的效果,减少多进程相互等待,提高整体通信效率。
具体地,所述最小共享数据单元用于存储通用模型的数据,所述通用模型根据不同数据类型的具体数据抽象而成。进程访问时,不管具体数据的类型是什么,都可以在最小共享数据单元中读写,即将具体数据抽象成最小共享数据单元(DataUnit)进行共享操作。进一步地,所述方法还包括:
参与跨进程通信的客户端用于读取数据,所述客户端的数量为多个;参与跨进程通信的服务端用于写入数据。
在本发明的一些实施例中,所述最小共享数据单元的集合为数据池。具体地,所述数据池的尺寸由系统预设或由用户设置,所述最小共享数据单元的块颗粒度越小,所述数据池的粒度越小,则共享内存数据管理库的共享效率越高。
图2示意出ShmLib的静态结构,图3示意出ShmLib的类图。在本发明的一个实施例中,如图2和图3所示,所述共享内存数据管理库(ShmLib)包括:参与跨进程通信且用于读取数据的客户端(ShmClient)、参与跨进程通信且用于写入数据的服务端(ShmServer)和共享内存库的核心组成部分(ShmCore),也称为内存管理模块。内存管理模块用于实现数据加锁和同步机制,并通过IPC(Inter-ProcessCommunication,进程间通信)跨进程通信。
例如,以下为本发明一个实施例中的ShmLib的接口表:
具体地,共享内存数据管理库(ShmLib),用于实现数据加锁和同步机制,并通过IPC跨进程通信的步骤具体包括:
所述共享内存数据管理库(ShmLib),用于实现进程间通信的互斥和同步机制的实现,将不同数据类型(DataType)的具体数据抽象成最小共享数据单元(DataUnit)的通用模型,进行共享操作,将所述最小共享数据单元的集合抽象成共享内存数据池(DataPool)。
ShmLib设计成薄薄的一层,实现ShmClient和ShmServer两个模板类,对需要共享的DataType分别提供Read和Write接口,跨进程通信的双方不用关心具体IPC实现细节,方便集成调用。而ShmCore则负责通用的数据加锁和同步机制的实现,而不关心具体的数据类型。由此实现跨进程通信库的抽象。
本发明通过将共享内存数据池划分为最小共享数据单元加锁机制的方式,与现有技术相比,提升了跨进程共享数据的效率,而且不会随着参与共享内容的进程数增加而效率降低。而且发明人从实验数据来看,DataPool的尺寸(size)越大,共享内存数据管理库颗粒度越小,共享效率越高。
在本发明的一个实施例中,所述内存管理模块(ShmCore)不是对整个DataPool进行加锁,ShmCore对各个最小共享数据单元进行读写加锁,即为所述读写锁,读写锁即为互斥体,并用一维数组mutex[n]来表示,以避免多个Client进程在访问数据的时候发生阻塞,提高DataPool的吞吐效率。
进一步地,所有客户端的进程使用最小共享数据单元但是不删除它,所述客户端使用二维数组标记阵列(MarkArray)记录所述最小共享数据单元是否被访问,若都访问过了,则触发等待条件(WaitingCondition),直到有新的数据被更新。由此实现小颗粒加锁通信机制。
当所述读/写操作为针对第一最小共享数据单元的写操作时,所述服务端申请持有读写锁,若申请成功,所述服务端进行写操作,在写操作完成后释放读写锁,将准备条件广播通知所有客户端;所述服务端继续申请持有第二最小共享数据单元的读写锁,并与当所述读/写操作为针对第二最小共享数据单元的写操作时同理操作;
若所述服务端申请持有读写锁失败,则使写操作进入等待状态。
进一步地,当所述读/写操作为第一客户端接收到所述广播通知后,针对第一最小共享数据单元的读操作时,所述第一客户端申请持有读写锁,若申请成功,所述第一客户端进行读操作,并在读操作完成后释放读写锁;若第一客户端申请持有读写锁失败,则使读操作进入等待状态;
同时,当所述读/写操作为第M客户端接收到所述广播通知后,针对第N最小共享数据单元的读操作时,所述第M客户端申请持有读写锁,并同理操作。
在本发明的一个实施例中,所述方法的整体流程的原理图如图4所示,整体流程如下,:
步骤一、所述二维数组MarkArray的初始值为false,代表所述服务端ShmServer还没有写入最新数据,同时所述客户端ShmClient无数据可消费、处在阻塞等待状态;
步骤二、所述服务端ShmServer持有所述数据池DataPool[0]的读写锁mutex[0],并且开始写入数据;
步骤三、所述服务端ShmServer完成对所述数据池DataPool[0]的数据写入,将所述二维数组MarkArray[x][0]的值置为true,并释放所述读写锁mutex[0],同时将所述准备条件ReadyCondition广播通知所有客户端ShmClient,然后继续申请所述读写锁mutex[1],尝试对所述数据池DataPool[1]的写入,并依次对所述数据池DataPool[n]进行相同的行为;
步骤四、所述客户端ShmClient[0]收到所述准备条件ReadyCondition通知之后申请所述读写锁mutex[0],完成数据读取,并将所述二维数组MarkArray[0][0]的值置为false,然后释放所述读写锁mutex[0],所述客户端ShmClient[n]重复和ShmClient[0]的行为,依次完成数据读取;
步骤五、所述服务端ShmServer和所述客户端ShmClient交替依次按步骤二、三和四进行数据写入和读取操作。
现有技术中,现有的跨进程通信接口复杂,使用不方便。本发明的技术方案是对共享内存数据池进行最小共享数据单元划分,针对每个小颗粒共享数据加锁和同步,实现了多并发的效果,减少多进程相互等待,提高整体通信效率。同时,整合成进程通信库,提供简洁通用的接口,方便使用。
本发明的实施例还提供共享内存数据管理库100,如图5所示,包括:
内存管理模块10;以及
参与跨进程通信的客户端20,用于读取数据;以及
参与跨进程通信的服务端30,用于写入数据;
所述内存管理模块10分配共享内存数据池40,所述数据池40可供多进程访问;
所述内存管理模块10将所述数据池40划分成若干最小共享数据单元41;
所述内存管理模块10在接收到进程的读/写请求时对最小共享数据单元41的操作加锁,多进程并发地申请持有读写锁进行操作;所述内存管理模块10在执行完进程的读/写操作后解除该读写锁。
需要说明的是,本发明实施例的共享内存数据管理库与上述实现共享内存的方法实施例属于同一构思,其具体实现过程详细见方法实施例,且方法实施例中的技术特征在本实施例中均对应适用,这里不再赘述。
本发明的实施例还提供电子设备,即实现共享内存的电子设备,所述电子设备包括一个或多个处理器,所述处理器被配置为执行如上述所述实现内存共享的方法。
本发明的实施例还提供计算机可读存储介质,用于存储实现共享内存的程序,所述计算机程序可被处理器执行如上述所述实现共享内存的方法。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明所述的原理前提下还可以作出若干改进和润饰,这些改进和润饰也在本发明的保护范围内。
Claims (4)
1.实现内存共享的方法,其特征在于,所述方法包括:
分配共享内存数据池,所述数据池供多进程访问;
将所述数据池划分成若干最小共享数据单元;
内存管理模块在接收到进程的读/写请求时对最小共享数据单元的操作加锁,多进程并发地申请持有读写锁进行操作;所述内存管理模块在执行完进程的读/写操作后解除该读写锁;
所述方法还包括:
参与跨进程通信的服务端写入数据;
参与跨进程通信的客户端读取数据,所述客户端的数量为多个;
其中,
当所述读/写操作为针对第一最小共享数据单元的写操作时,所述服务端申请持有读写锁,若申请成功,所述服务端进行写操作,在写操作完成后释放读写锁,将准备条件广播通知所有客户端;所述服务端继续申请持有第二最小共享数据单元的读写锁,并同理操作;
若所述服务端申请持有读写锁失败,则使写操作进入等待状态;
所述最小共享数据单元用于存储通用模型的数据,所述通用模型根据不同数据类型的具体数据抽象而成;
所述数据池的尺寸由系统预设或由用户设置,所述最小共享数据单元的块颗粒度越小,则所述数据池的粒度越小,则共享效率越高;
当所述读/写操作为第一客户端接收到所述广播通知后,针对第一最小共享数据单元的读操作时,所述第一客户端申请持有读写锁,若申请成功,所述第一客户端进行读操作,并在读操作完成后释放读写锁;若第一客户端申请持有读写锁失败,则使读操作进入等待状态;
同时,当所述读/写操作为第M客户端接收到所述广播通知后,针对第N最小共享数据单元的读操作时,所述第M客户端申请持有读写锁,并同理操作;
所述内存数据模块使用二维数组记录多个具有唯一标识的所述最小共享数据单元的读写锁访问状态。
2.电子设备,其特征在于,所述电子设备包括一个或多个处理器,所述处理器被配置为执行如权利要求1所述的实现内存共享的方法。
3.计算机可读存储介质,其特征在于,用于存储实现内存共享的程序,所述程序被处理器执行如权利要求1所述的实现内存共享的方法。
4.共享内存数据管理库,其特征在于,包括:
内存管理模块;以及
参与跨进程通信的客户端,用于读取数据;以及
参与跨进程通信的服务端,用于写入数据;
所述内存管理模块分配共享内存数据池,所述数据池供多进程访问;
所述内存管理模块将所述数据池划分成若干最小共享数据单元;
所述内存管理模块在接收到进程的读/写请求时对最小共享数据单元的操作加锁,多进程并发地申请持有读写锁进行操作;所述内存管理模块在执行完进程的读/写操作后解除该读写锁;
其中,
参与跨进程通信的服务端写入数据;
参与跨进程通信的客户端读取数据,所述客户端的数量为多个;
其中,
当所述读/写操作为针对第一最小共享数据单元的写操作时,所述服务端申请持有读写锁,若申请成功,所述服务端进行写操作,在写操作完成后释放读写锁,将准备条件广播通知所有客户端;所述服务端继续申请持有第二最小共享数据单元的读写锁,并同理操作;
若所述服务端申请持有读写锁失败,则使写操作进入等待状态;
所述最小共享数据单元用于存储通用模型的数据,所述通用模型根据不同数据类型的具体数据抽象而成;
所述数据池的尺寸由系统预设或由用户设置,所述最小共享数据单元的块颗粒度越小,则所述数据池的粒度越小,则共享效率越高;
当所述读/写操作为第一客户端接收到所述广播通知后,针对第一最小共享数据单元的读操作时,所述第一客户端申请持有读写锁,若申请成功,所述第一客户端进行读操作,并在读操作完成后释放读写锁;若第一客户端申请持有读写锁失败,则使读操作进入等待状态;
同时,当所述读/写操作为第M客户端接收到所述广播通知后,针对第N最小共享数据单元的读操作时,所述第M客户端申请持有读写锁,并同理操作;
所述内存数据模块使用二维数组记录多个具有唯一标识的所述最小共享数据单元的读写锁访问状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010219116.XA CN111506436B (zh) | 2020-03-25 | 2020-03-25 | 实现内存共享的方法、电子设备和共享内存数据管理库 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010219116.XA CN111506436B (zh) | 2020-03-25 | 2020-03-25 | 实现内存共享的方法、电子设备和共享内存数据管理库 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111506436A CN111506436A (zh) | 2020-08-07 |
CN111506436B true CN111506436B (zh) | 2024-05-14 |
Family
ID=71872995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010219116.XA Active CN111506436B (zh) | 2020-03-25 | 2020-03-25 | 实现内存共享的方法、电子设备和共享内存数据管理库 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111506436B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112817775A (zh) * | 2020-08-19 | 2021-05-18 | 北京辰信领创信息技术有限公司 | 多个实体高效同时利用有限共享的方法 |
CN112612573B (zh) * | 2020-12-17 | 2024-08-27 | 龙存科技(北京)股份有限公司 | 一种基于资源监控的内存分配方法及装置 |
CN112749025A (zh) * | 2020-12-30 | 2021-05-04 | 深兰人工智能(深圳)有限公司 | 基于共享内存的数据分发方法及装置 |
CN113760569B (zh) * | 2021-01-06 | 2024-04-05 | 北京沃东天骏信息技术有限公司 | 一种多账号管理方法和系统 |
CN113535437B (zh) * | 2021-08-03 | 2023-04-07 | 节卡机器人股份有限公司 | 一种机器人的模块数据交互方法、电子设备及存储介质 |
CN113760578B (zh) * | 2021-08-28 | 2022-04-19 | 特斯联科技集团有限公司 | 跨进程快速传输大数据的方法、装置、设备及计算机程序 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1545033A (zh) * | 2003-11-14 | 2004-11-10 | 清华大学 | Fc-san存储子系统的lun cache方法 |
CN103838859A (zh) * | 2014-03-19 | 2014-06-04 | 厦门雅迅网络股份有限公司 | 一种减少linux下多进程间数据拷贝的方法 |
CN106681842A (zh) * | 2017-01-18 | 2017-05-17 | 迈普通信技术股份有限公司 | 一种多进程系统中共享内存的管理方法及装置 |
CN107305477A (zh) * | 2016-04-25 | 2017-10-31 | 中国科学院微电子研究所 | 一种flashcache混合存储系统的缓存读写操作方法及系统 |
CN107704325A (zh) * | 2016-08-08 | 2018-02-16 | 北京百度网讯科技有限公司 | 用于进程间传输消息的方法和装置 |
CN110674052A (zh) * | 2019-09-30 | 2020-01-10 | 广州虎牙科技有限公司 | 内存管理方法、服务器及可读存储介质 |
-
2020
- 2020-03-25 CN CN202010219116.XA patent/CN111506436B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1545033A (zh) * | 2003-11-14 | 2004-11-10 | 清华大学 | Fc-san存储子系统的lun cache方法 |
CN103838859A (zh) * | 2014-03-19 | 2014-06-04 | 厦门雅迅网络股份有限公司 | 一种减少linux下多进程间数据拷贝的方法 |
CN107305477A (zh) * | 2016-04-25 | 2017-10-31 | 中国科学院微电子研究所 | 一种flashcache混合存储系统的缓存读写操作方法及系统 |
CN107704325A (zh) * | 2016-08-08 | 2018-02-16 | 北京百度网讯科技有限公司 | 用于进程间传输消息的方法和装置 |
CN106681842A (zh) * | 2017-01-18 | 2017-05-17 | 迈普通信技术股份有限公司 | 一种多进程系统中共享内存的管理方法及装置 |
CN110674052A (zh) * | 2019-09-30 | 2020-01-10 | 广州虎牙科技有限公司 | 内存管理方法、服务器及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111506436A (zh) | 2020-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111506436B (zh) | 实现内存共享的方法、电子设备和共享内存数据管理库 | |
US8209690B2 (en) | System and method for thread handling in multithreaded parallel computing of nested threads | |
US8005792B2 (en) | System and method for managing versions of metadata | |
US8312037B1 (en) | Dynamic tree determination for data processing | |
EP1788486B1 (en) | Cooperative scheduling using coroutines and threads | |
US9104715B2 (en) | Shared data collections | |
US10970311B2 (en) | Scalable snapshot isolation on non-transactional NoSQL | |
US20090132535A1 (en) | Multiversion concurrency control in in-memory tree-based data structures | |
WO2019037617A1 (zh) | 数据事务处理方法、装置以及电子设备 | |
US10248471B2 (en) | Lockless execution in read-mostly workloads for efficient concurrent process execution on shared resources | |
CN112231007B (zh) | 基于用户态与内核态驱动协同处理框架的设备驱动方法 | |
US10929203B2 (en) | Compare and swap functionality for key-value and object stores | |
CN105955804A (zh) | 一种处理分布式事务的方法与设备 | |
CN110968603A (zh) | 一种数据访问方法及装置 | |
CN107408132B (zh) | 跨越多个类型的存储器移动分层数据对象的方法和系统 | |
CN111831411B (zh) | 任务处理方法、装置、存储介质及电子设备 | |
CN115774754A (zh) | 基于分布式事务的元数据管理方法、装置、设备及介质 | |
US10838931B1 (en) | Use of stream-oriented log data structure for full-text search oriented inverted index metadata | |
CN117692322B (zh) | 网卡配置方法、装置、电子设备及存储介质 | |
CN116561137A (zh) | 事务处理方法、装置、计算机设备及存储介质 | |
EP4425892A1 (en) | Resource operating method and apparatus, electronic device, and storage medium | |
US6782538B1 (en) | Object oriented information handling system including an extensible instance manager | |
CN102867018A (zh) | 一种数据库系统中线程间的模拟信号通信方法 | |
CN112162988A (zh) | 一种分布式事务的处理方法、装置和电子设备 | |
US8538917B2 (en) | System and method for file coordination |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 518000 Room 401, block D, building 7, Shenzhen International Innovation Valley, Dashi 1st Road, Xili community, Xili street, Nanshan District, Shenzhen, Guangdong Applicant after: JUXING TECHNOLOGY (SHENZHEN) Co.,Ltd. Address before: 518000 building 101, building R3b, Gaoxin industrial village, No.018, Gaoxin South 7th Road, community, high tech Zone, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province Applicant before: JUXING TECHNOLOGY (SHENZHEN) Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |