CN105446936B - 基于htm和单向rdma操作的分布式哈希表方法 - Google Patents
基于htm和单向rdma操作的分布式哈希表方法 Download PDFInfo
- Publication number
- CN105446936B CN105446936B CN201510786705.5A CN201510786705A CN105446936B CN 105446936 B CN105446936 B CN 105446936B CN 201510786705 A CN201510786705 A CN 201510786705A CN 105446936 B CN105446936 B CN 105446936B
- Authority
- CN
- China
- Prior art keywords
- key
- request
- unidirectional
- value
- server end
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17331—Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
-
- 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/466—Transaction processing
- G06F9/467—Transactional memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种基于HTM和单向RDMA操作的分布式哈希表方法,步骤1:服务器端初始化内存键值系统,建立客户端和服务器端之间的连接;步骤2:客户端在服务器端的内存键值系统内读取存储目标值的键值对的主头部或者间接头部;步骤3:找到键对应的值在服务器端的具体位置,判断请求类型,若为读请求则读取具体的值,进入步骤6;若是写请求则发送单向RDMA的CAS请求,原子性地上锁;步骤4:发送单向RDMA读请求,把键对应的值读到本地;或者发送单向RDMA写请求,把值写到远端;步骤5:发送单向RDMA的写请求,释放远端的锁;步骤6:检查自增量是否一致。本发明能够在不影响服务器端性能的情况下,缩短键值请求的延迟,增大系统的吞吐量。
Description
技术领域
本发明涉及内存键值系统的方法,具体地,涉及一种基于HTM和单向RDMA操作的分布式哈希表方法。
背景技术
大规模的网络应用需要使用内存来存储数据,使得大数据集的访问速度能够满足用户需求。而内存键值系统正是一种满足这种需求的高速数据缓存系统。内存键值系统的优势在于将所有数据存储在内存,从而当访问数据时,只需要访问内存,避免了以往存储系统访问磁盘导致的性能下降。
硬件事务内存(HTM,Hardware Transactional memory)是基于硬件实现的事务性内存,可以简化了并发程序的编写。HTM的基本的想法是要声明一个代码区域作为一个事务,事务(transaction)执行并原子地提交所有结果到内存(如果事务成功),或中止并取消所有的结果(如果事务失败)。硬件事务以较低的开销提供原子性(Atomicity),一致性(Consistency)和隔离性(Isolation)等一系列有用的特性,大大简化并发程序的编写。
远程直接内存访问(RDMA,Remote Direct Memory Access),是当前高性能网络设备提供的一种模式,能够直接对远端节点已注册的内存空间进行读写访问,完全不需要服务器机器的CPU进行协助。然而现在的内存键值系统仍然只是以传统方式使用这些高性能网络互联设备,未能充分挖掘硬件性能。比如,直接使用InfiniBand网卡提供的兼容以太网编程接口的IP over InfiniteBand(IPoIB)模式。该模式下只能达到有限的传输带宽和较长的网络延迟。比如以1K-byte网络包传输为例,IPoIB模式带宽达和延时分别为每秒12.2万次和60微秒。而使用RDMA时,传输带宽和网络延时则分别能够达到149.6万次和3微秒,性能提升达一个数量级。
因此如何针对远程直接内存访问(RDMA)模式特征,以及处理器提供的高效事务性内存(HTM)模式特征,设计内存键值系统,充分发挥高性能网络互联设备单向访问特性,充分利用处理器的事务性内存,提高内存键值系统的带宽,降低请求的延迟,并且不需要远程处理器参与,实已成为本领域技术人员亟待解决的技术难题。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于HTM和单向RDMA操作的分布式哈希表方法。
根据本发明提供的基于HTM和单向RDMA操作的分布式哈希表方法,包括如下步骤:
步骤1:服务器端初始化内存键值系统,建立客户端和服务器端之间的连接;
步骤2:客户端在服务器端的内存键值系统内读取存储目标键值对的主头部或者间接头部;
步骤3:根据主头部或者间接头部的内容,找到值在服务器端的具体位置,判断请求类型。判断请求类别的理由是:读请求不需要复杂的上锁过程,而写请求需要。
若请求类型为读请求,则发送单向RDMA的读请求,读取服务器端的具体位置处的值,进入步骤6;其中,单向指的是请求不需要目标机器的处理器协助完成;
若请求类型是写请求则发送单向RDMA的CAS(比较并交换Compare and Swap)请求,原子性地上锁,CAS请求不执行的时候,则继续重试,直到CAS成功,进入步骤4;原子性地上锁指的是CAS请求只有成功与不执行两种,不会有中间状态;
步骤4:根据主头部或者间接头部存储的值的具体位置,发送单向RDMA写请求,把值写到服务端存储值的具体位置,覆盖原来的值;
步骤5:发送单向RDMA的写请求,释放远端的锁;
步骤6:检查初始时存储目标值的键值对主头部或者间接头部里的自增量与读取的目标值中的自增量是否一致;若不一致则返回执行步骤2,若一致,则结束。
具体地,初始时读取存储目标值的键值对的主头部或者间接头部时包含有键的自增量,在读取目标值时也包含了值的自增量,若这两个自增量若不一致,说明读取头部以及读取具体值的过程中服务器端发生了插入或者删除操作,读取到的具体值可能是不正确的需要重新读取,返回执行步骤2。
优选地,所述步骤1包括:
步骤1.1:服务器端初始化内存键值系统,具体地,计算每一个键值对中的键的哈希值,并将键值对存储在对应的主头部或者间接头部,如附图1所示,主头部的位置是固定的,当插入新的键值对的时候,优先在主头部中分配一个空槽存储目标键,当主头部空间使用完了之后,则分配一个间接头部,并将主头部指向新的间接头部,构成一个链表;然后分配一个实际的项,用于存储具体的值,并在主头部或者间接头部里记录好项的地址。
步骤1.2:建立客户端和服务器端之间的连接;具体地,客户端向服务器端发送连接请求,服务器端收到连接请求后向客户端发送回执消息,客户端获得服务器端一段内存的远程直接访问的权限。
优选地,所述步骤2包括:
步骤2.1:客户端通过计算键值对请求的键的哈希值得到该键在服务器端对应的主头部的位置后向服务器端发送远程内存读请求;
步骤2.2:将所述主头部的四个空槽全部读回,并检查所述四个空槽的键是否与键值对请求的键相等;
步骤2.3:若键值对请求的键与主头部内空槽的键相等,则进入步骤3;
若键值对请求的键与主头部的所有空槽的键不相等,则进入步骤2.4;
步骤2.4:根据主头部最后一个空槽的内容,求出间接头部在服务器端的位置,并向服务器端发送远程内存读请求,将间接头部的四个空槽全部读回,检查间接头部的四个空槽的键是否与键值对请求的键相等;
若键值对请求的键与间接头部内空槽的键相等,则进入步骤3;否则,进入步骤2.5;
步骤2.5:在键值对请求的键与间接头部内空槽的键不相等时,则重新执行步骤2.1,当内存键值系统内所有空槽均访问过一次却依然没有找到与键值对请求的键相等的空槽时,说明键值系统中并没有此键值对,查询操作结束;
优选地,所述步骤3中的原子性地上锁存在一次性不能够成功拿锁的情况,当拿锁不成功时重复尝试拿锁直到成功为止。
与现有技术相比,本发明具有如下的有益效果:
1、本发明提出的基于HTM和单向RDMA操作的分布式哈希表方法,能够在不需要服务器端参与的情况下,缩短键值请求的延迟;
2、本发明提出的基于HTM和单向RDMA操作的分布式哈希表方法,充分发挥高性能网络互联设备单向访问特性,充分利用处理器的事务性内存,提高内存键值系统的带宽,增大系统的吞吐量。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明提供的基于HTM和单向RDMA操作的分布式哈希表方法的结构图;
图2为本发明提供的基于HTM和单向RDMA操作的分布式哈希表方法的流程示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
具体地,如图2所示,本发明提供的基于HTM和单向RDMA操作的分布式哈希表方法包括以下步骤:
步骤S1:服务器端初始化内存键值系统,计算每一个键值对的键的哈希值,并将键值对存储在对应的主头部(Main Header)或者间接头部(Indirect Header),并分配一个实际的项(Entry),用于存储具体的值。
具体地,每一个主头部有4个空槽(slot),每个空槽可以存储一对键值对,若4个空槽均被占用,则分配一个间接头部(Indirect Header)来放置最细的键值对。
步骤S2:建立客户端和服务器端之间的连接;
具体地,客户端向服务器端发送连接请求,服务器端收到连接请求后向客户端发送回执消息(使用传统方法),双方建立连接,客户端拥有服务器端一段内存的远程直接访问的权限,之后可以远程读写而不会影响服务器。
步骤S3:客户端查找与键值对请求的键相等的键的空槽位置;
所述步骤S3包括:
步骤S301:客户端通过计算键值对请求的键的哈希值得到该键在服务器端对应的主头部的位置后向服务器端发送远程内存读请求;
步骤S302:将所述主头部的四个空槽全部读回,并检查所述四个空槽的键是否与键值对请求的键相等;
若键与主头部内空槽的键相等,则进入步骤S4;
若键与主头部的所有空槽的键不相等,则根据最后一个空槽的内容,求出间接头部在服务器端的位置,并向服务器端发送远程内存读请求,将间接头部的四个空槽全部读回,检查四个空槽的键是否与键值对请求的键相等;
若键与间接头部内空槽的键相等,则进入步骤S4;
若键与间接头部内空槽的键不相等,则重新执行步骤S3,当存键值系统内所有空槽均访问过一次却依然没有找到时,说明键值系统中并没有此键值对,则查询操作结束;
步骤S4:根据与键值对请求的键相等的空槽的内容,找到键对应的值在服务器端的具体位置,判断请求类型,若为读请求则读取具体的值,进入步骤S7;
若不是读请求则发送单向RDMA的CAS请求,原子性地上锁;
步骤S5:根据与请求的键相等的空槽的内容,发送单向RDMA读请求,把键对应的值读到本地;或者发送单向RDMA写请求,把值写到远端;
步骤S6:发送单向RDMA的写请求,释放远端的锁;
步骤S7:检查自增量是否一致,若一致则结束,若不一致则返回执行步骤S3。
具体地,步骤S1至步骤S2为系统的初始化阶段,只需要执行一次。内存键值系统需要不断地服务于客户端的请求,所以每次客户端有读取键值对的请求时,则执行上述步骤S3至步骤S7。
每次读取键值对请求的键可能需要不断重复执行步骤S3,直至找到符合条件的空槽,或者所有空槽均访问过一次却依然没有找到目标槽为止。
若请求为读请求,则不需要使用锁保护。其中步骤S4中原子性地上锁(附图2中的原子拿锁)不一定会成功,需要重试至成功为止。
步骤S7的自增量若不一致,则说明访问期间,键或者值被删除了,需要回到步骤S3重新执行。
首先,本发明使用主头部、间接头部、项的方式组织分布式哈希表,每个主头部或者间接头部有4个槽,每个槽占用空间为16byte。由于单向RDMA读的特性,读取1个槽的时间与读取4个槽所花时间几乎相等,使用4个槽可以有效地降低平均的RDMA访问次数,减少访问延迟。没有采用布谷鸟哈希这种项与头部结合的方式,是因为项与头部结合的实现,常常需要移动项的位置,不容易对单独的项进行上锁操作。主头部满的时候,之后的键值对需要有额外的地方存储,所以需要有间接头部。
每个槽由种类、地址、键、自增量组成。种类用来指明这个槽指向的内容的种类,具体是一个项还是一个间接头部,地址则是指向内容的地址,键是内容的键,在查询的时候需要使用,自增量是在表示内容的版本,只会在添加删除的时候被更改。当内容被删除的过程中,内容的自增量不变,但槽的自增量增加,所以读者会读到不一致,这样才能被读取操作检测出来,从而重新发起一次新的请求。每个项由键、值、锁,自增量组成。
远端的写者在写之前需要拿到锁,这样能保证写者与写者之间不冲突,拿锁操作使用单向的RDMA原子指令CAS进行操作,原子地把锁的值从0设置为1,放锁操作则是把锁的值从1写回0。远端的读者则不需要拿锁以及放锁过程,只需要直接进行读写即可。但是如果读到的内容锁的状态是拿锁状态,说明读者读到写了一半的值,需要重新发起一次读操作。
除了远端的读者以及写者之外,服务器端也可能对分布式哈希表进行读写。服务器端则是使用HTM对读写进行保护。使用HTM进行保护的读写时,如果此时有远端的RDMA读写,则会打断这次HTM操作,从而保证数据的一致性。如果在HTM保护之前,远端就已经拿到锁了,则在HTM中会检测到锁处于上锁状态,从而主动放弃这次HTM操作。
综上所述,本发明提出的基于HTM和单向RDMA操作的分布式哈希表方法,通过利用硬件I/O设备提供的远程直接内存访问(Remote Direct Memory Access,RDMA)以及处理器提供的高效事务性内存(HTM)支持,能够在不影响服务器端性能的情况下,充分利用高性能网络互联设备提供的远程直接内存访问(Remote Direct Memory Access,RDMA)模式提供的高带宽和低延时特性,提高内存键值系统的带宽,降低延迟。提高整体性能。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
Claims (4)
1.一种基于HTM和单向RDMA操作的分布式哈希表方法,其特征在于,包括如下步骤:
步骤1:服务器端初始化内存键值系统,建立客户端和服务器端之间的连接;
步骤2:客户端在服务器端的内存键值系统内读取存储目标值的键值对的主头部或者间接头部;
步骤3:根据主头部或者间接头部的内容,找到目标值在服务器端的具体位置,并判断请求类型;
若请求类型为读请求,则发送单向RDMA的读请求,读取服务器端的具体位置处的值,进入步骤6;其中,单向指的是请求不需要目标机器的处理器协助完成;
若请求类型不是读请求,则发送单向RDMA的CAS请求,原子性地上锁,CAS请求不执行的时候,则继续重试,直到CAS成功,进入步骤4;原子性地上锁指的是CAS请求只有成功与不执行两种,不会有中间状态;
步骤4:根据主头部或者间接头部存储的值的具体位置,发送单向RDMA写请求,把值写到服务端存储值的具体位置,覆盖原来的值;
步骤5:发送单向RDMA的写请求,释放远端的锁;
步骤6:检查初始时存储目标值的键值对主头部或者间接头部里的自增量与读取的目标值中的自增量是否一致,若不一致则返回执行步骤2,若一致,则结束。
2.根据权利要求1所述的基于HTM和单向RDMA操作的分布式哈希表方法,其特征在于,所述步骤1包括:
步骤1.1:服务器端初始化内存键值系统,具体地,计算每一个键值对中的键的哈希值,并将键值对存储在对应的主头部或者间接头部,然后分配一个实际的项,用于存储具体的值,并在主头部或者间接头部里记录好项的地址;
步骤1.2:建立客户端和服务器端之间的连接;具体地,客户端向服务器端发送连接请求,服务器端收到连接请求后向客户端发送回执消息,客户端获得服务器端一段内存的远程直接访问的权限。
3.根据权利要求1所述的基于HTM和单向RDMA操作的分布式哈希表方法,其特征在于,所述步骤2包括:
步骤2.1:客户端通过计算键值对请求的键的哈希值得到该键在服务器端对应的主头部的位置后向服务器端发送远程内存读请求;
步骤2.2:将所述主头部的四个空槽全部读回,并检查所述四个空槽的键是否与键值对请求的键相等;
步骤2.3:若键值对请求的键与主头部内空槽的键相等,则进入步骤3;
若键值对请求的键与主头部的所有空槽的键不相等,则进入步骤2.4;
步骤2.4根据主头部最后一个空槽的内容,求出间接头部在服务器端的位置,并向服务器端发送远程内存读请求,将间接头部的四个空槽全部读回,检查间接头部的四个空槽的键是否与键值对请求的键相等;若键值对请求的键与间接头部内空槽的键相等,则进入步骤3;否则,进入步骤2.5;
步骤2.5:在键值对请求的键与间接头部内空槽的键不相等时,则重新执行步骤2.1,当内存键值系统内所有空槽均访问过一次却依然没有找到与键值对请求的键相等的空槽时,则认为键值系统中并没有该键值对,查询操作结束。
4.根据权利要求1所述的基于HTM和单向RDMA操作的分布式哈希表方法,其特征在于,所述步骤3中的原子性地上锁存在一次性不能够成功拿锁的情况,当拿锁不成功时重复尝试拿锁直到成功为止。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510786705.5A CN105446936B (zh) | 2015-11-16 | 2015-11-16 | 基于htm和单向rdma操作的分布式哈希表方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510786705.5A CN105446936B (zh) | 2015-11-16 | 2015-11-16 | 基于htm和单向rdma操作的分布式哈希表方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105446936A CN105446936A (zh) | 2016-03-30 |
CN105446936B true CN105446936B (zh) | 2018-07-03 |
Family
ID=55557154
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510786705.5A Active CN105446936B (zh) | 2015-11-16 | 2015-11-16 | 基于htm和单向rdma操作的分布式哈希表方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105446936B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106844048B (zh) * | 2017-01-13 | 2020-11-06 | 上海交通大学 | 基于硬件特性的分布式共享内存方法及系统 |
CN109669788A (zh) * | 2018-12-10 | 2019-04-23 | 西安微电子技术研究所 | 面向直接内存访问互连通信的多核芯片的mpi实现方法 |
CN111538603B (zh) * | 2020-04-20 | 2022-03-22 | 上海交通大学 | 机器学习和rdma加速的键值存储读访问方法及系统 |
CN114553521A (zh) * | 2022-02-21 | 2022-05-27 | 杭州时代银通软件股份有限公司 | 一种远端内存访问方法、装置、设备及介质 |
CN114979270B (zh) * | 2022-05-25 | 2023-08-25 | 上海交通大学 | 适用于rdma网络的消息发布方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1625179A (zh) * | 2003-11-20 | 2005-06-08 | 微软公司 | 按可定制的、基于标签协议中的引用发送 |
CN101409715A (zh) * | 2008-10-22 | 2009-04-15 | 中国科学院计算技术研究所 | 一种利用InfiniBand网络进行通信的方法及系统 |
CN102546612A (zh) * | 2011-12-23 | 2012-07-04 | 华中科技大学 | 用户态下基于rdma协议的远程过程调用实现方法 |
CN103636181A (zh) * | 2011-06-29 | 2014-03-12 | 微软公司 | 通过远程直接存储器访问的任意大小的传输操作 |
CN103647807A (zh) * | 2013-11-27 | 2014-03-19 | 华为技术有限公司 | 一种信息缓存方法、装置和通信设备 |
CN104364775A (zh) * | 2012-03-23 | 2015-02-18 | 海坎普系统股份有限公司 | 具有段偏移寻址的专用存储器访问路径 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7668984B2 (en) * | 2007-01-10 | 2010-02-23 | International Business Machines Corporation | Low latency send queues in I/O adapter hardware |
US9558048B2 (en) * | 2011-09-30 | 2017-01-31 | Oracle International Corporation | System and method for managing message queues for multinode applications in a transactional middleware machine environment |
-
2015
- 2015-11-16 CN CN201510786705.5A patent/CN105446936B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1625179A (zh) * | 2003-11-20 | 2005-06-08 | 微软公司 | 按可定制的、基于标签协议中的引用发送 |
CN101409715A (zh) * | 2008-10-22 | 2009-04-15 | 中国科学院计算技术研究所 | 一种利用InfiniBand网络进行通信的方法及系统 |
CN103636181A (zh) * | 2011-06-29 | 2014-03-12 | 微软公司 | 通过远程直接存储器访问的任意大小的传输操作 |
CN102546612A (zh) * | 2011-12-23 | 2012-07-04 | 华中科技大学 | 用户态下基于rdma协议的远程过程调用实现方法 |
CN104364775A (zh) * | 2012-03-23 | 2015-02-18 | 海坎普系统股份有限公司 | 具有段偏移寻址的专用存储器访问路径 |
CN103647807A (zh) * | 2013-11-27 | 2014-03-19 | 华为技术有限公司 | 一种信息缓存方法、装置和通信设备 |
Non-Patent Citations (4)
Title |
---|
Fast In-memory Transaction Processing using RDMA and HTM;Xingda Wei 等;《 Operating Systems Principles》;20151007;第87-104页 * |
分布式图计算框架混合计算模式的研究;丁鑫 等;《小型微型计算机系统》;20150430;第36卷(第4期);第665-670页 * |
基于云计算的数据存储技术研究;孙知信,黄涵霞;《南京邮电大学学报(自然科学版)》;20140831;第34卷(第4期);第13-19页 * |
虚拟现实环境下的分布式服务器架构策略研究;李玉玲,张东旭;《计算机工程与应用》;20150313;第1-7页 * |
Also Published As
Publication number | Publication date |
---|---|
CN105446936A (zh) | 2016-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105446936B (zh) | 基于htm和单向rdma操作的分布式哈希表方法 | |
CN108363806B (zh) | 数据库的多版本并发控制方法、装置、服务器及存储介质 | |
JP3704573B2 (ja) | クラスタシステム | |
CN111400307B (zh) | 支持远程并发访问的持久哈希表访问系统 | |
JP5010601B2 (ja) | 直接更新ソフトウェアトランザクショナルメモリ | |
CN105122241B (zh) | 具有数据库引擎和独立分布式存储服务的数据库系统 | |
CN106575238B (zh) | 支持页面隐式锁的共享存储架构中的并发控制 | |
US20180218023A1 (en) | Database concurrency control through hash-bucket latching | |
US20190384775A1 (en) | Active Transaction List Synchronization Method and Apparatus | |
CN107577678A (zh) | 处理数据库事务的方法、客户端和服务器 | |
CN113127212B (zh) | 一种在区块链中处理交易的方法和装置 | |
CN107491523A (zh) | 存储数据对象的方法及装置 | |
CN105426321A (zh) | 采用远程位置信息的rdma友好缓存方法 | |
JP2015514248A (ja) | 2フェーズコミットコールの厳密な順序付けに基づいたトランザクションリカバリをサポートするためのシステムおよび方法 | |
CN107193827A (zh) | 分库分表的幂等控制方法和装置 | |
US20160140060A1 (en) | Managing buffered communication between sockets | |
CN110431580B (zh) | 使用随机数表来减少并发区块链交易失败 | |
US10311033B2 (en) | Alleviation of index hot spots in data sharing environment with remote update and provisional keys | |
US11237925B2 (en) | Systems and methods for implementing persistent data structures on an asymmetric non-volatile memory architecture | |
US20170177615A1 (en) | TRANSACTION MANAGEMENT METHOD FOR ENHANCING DATA STABILITY OF NoSQL DATABASE BASED ON DISTRIBUTED FILE SYSTEM | |
US20080082533A1 (en) | Persistent locks/resources for concurrency control | |
US7991752B2 (en) | Managing and coordinating savepoint functionality in a distributed database system | |
US10810165B2 (en) | Distributed storage server, server device included therein, and method of operating server device | |
JP6881579B2 (ja) | データロードプログラム、データロード方法およびデータロード装置 | |
CN109791541A (zh) | 日志序列号生成方法、装置及可读存储介质 |
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 |