CN114356215A - 一种分布式集群及分布式集群锁的控制方法 - Google Patents
一种分布式集群及分布式集群锁的控制方法 Download PDFInfo
- Publication number
- CN114356215A CN114356215A CN202111450224.9A CN202111450224A CN114356215A CN 114356215 A CN114356215 A CN 114356215A CN 202111450224 A CN202111450224 A CN 202111450224A CN 114356215 A CN114356215 A CN 114356215A
- Authority
- CN
- China
- Prior art keywords
- distributed cluster
- host
- write permission
- storage server
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000003860 storage Methods 0.000 claims abstract description 195
- 230000015654 memory Effects 0.000 claims abstract description 108
- 238000005516 engineering process Methods 0.000 claims abstract description 18
- 238000004590 computer program Methods 0.000 claims description 3
- 238000013500 data storage Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000004904 shortening Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种分布式集群及分布式集群锁的控制方法,该分布式集群包括:存储服务器和至少两个主机,其中所述存储服务器的第一存储区域中存储有分布式集群锁,所述主机的内存与所述存储服务器的第一存储区域之间采用远程内存直接存取技术通信。本发明通过将分布式集群锁放置在存储服务器的非易失闪存上,以充分利用非易失闪存的高速读写性能。同时,各主机通过远程直接数据存取技术直接读取或写入存储服务器中的非易失闪存,在减少存储服务器中央处理器开销的同时也缩短了输入输出路径,从而进一步提升了分布式集群锁的性能。
Description
技术领域
本发明涉及计算机数据存储技术领域,具体涉及一种分布式集群及分布式集群锁的控制方法。
背景技术
分布式集群中包括多台主机,这些主机会存在对某个资源的争抢。举例来说,多台主机连接同一个存储服务器,这些主机都可以对存储服务器上的一个存储区域进行读写,但为了保证数据一致性,在某一时刻只能要求一台主机对该存储区域进行写操作。在此场景下,分布式集群锁用于指定哪台主机拥有对该存储区域的写权限,当分布式集群锁将指定存储区域锁定到某主机时,其他主机无法对该存储区域进行写操作。
目前通过在磁盘中划分出一个单独的区域作为分布式集群锁,所有主机通过读写该磁盘区域以完成对分布式集群锁的读写。但是,普通磁盘的输入输出端口的输入输出性能是有限的,主机频繁、并发的读写分布式集群锁所在的磁盘区域,极容易触发输入输出端口的瓶颈,导致锁性能难以满足分布式集群对关键资源交替读写的性能需求。
基于普通磁盘的分布式集群锁方案如图1所示,图1中,三台主机A、B、C连接存储服务器,存储服务器上划分了6个存储区域,其中存储区域6作为分布式集群锁,其他存储区域用于存储业务相关的数据。在分布式集群锁中,如图1所示,(A,1)表示存储区域1被主机A独占,主机A可以对存储区域1进行写操作,其他主机只能进行读操作;(,2)表示没有主机占用存储区域2,任何主机都可以向分布式集群锁申请对该区域上锁。
发明内容
因此,本发明为了解决目前锁性能难以满足分布式集群对关键资源交替读写的性能需求的问题,从而提供一种分布式集群及分布式集群锁的控制方法。
为实现上述目的,本发明采用如下技术方案:
本发明实施例提供了一种分布式集群,包括:存储服务器和至少两个主机,其中所述存储服务器的第一存储区域中存储有分布式集群锁,所述主机的内存与所述存储服务器的第一存储区域之间采用远程内存直接存取技术通信。
本发明主机通过使用远程内存直接存取技术RDMA,主机内存中的请求直接发送到存储服务器非易失闪存的分布式集群锁数据结构中,而不需要主机和存储服务器的CPU参与,减少存储服务器CPU开销的同时也缩短了I/O路径,从而进一步提升了分布式集群锁的性能。
可选的,所述第一存储区域设置在所述存储服务器的非易失闪存上。
本发明通过将分布式集群锁放置在存储服务器的非易失闪存上,以充分利用非易失闪存的高速读写性能。
可选的,所述存储服务器中还包括第二存储区域,所述第二存储区域中存储业务数据,设置在所述存储服务器中除所述非易失闪存之外的其他内存上。
根据第二方面,本发明还公开了一种分布式集群锁的控制方法,应用于分布式集群中的存储服务器,包括:通过远程内存直接存取技术获取主机发送的写权限请求;基于所述写权限请求对所述主机对所述分布式集群锁的写权限进行处理。
本发明中主机通过远程内存直接存取RDMA通道注解获取主机发送的写请求,并对写请求进行处理,各主机通过RDMA技术直接读写存储服务器的非易失闪存,在减少存储服务器CPU开销的同时也缩短了I/O路径,从而进一步提升了分布式集群锁的性能。
可选的,所述写权限请求中携带有写权限区域,所述基于所述写权限请求对所述主机对所述分布式集群锁的写权限进行处理,包括:判断所述写权限区域是否已经上锁;当所述写权限区域未上锁时,解析所述写权限请求得到发送所述写权限请求的主机的标识信息,并基于所述标识信息对所述写权限区域上锁。
本发明中在第一存储区域对应的锁结构未上锁时,将主机编号写入锁结构中对锁结构进行上锁操作,可以保证正在进行写操作的主机只有一台。
根据第三方面,本发明还公开了一种分布式集群锁的控制方法,应用于分布式集群中的主机,包括:当所述主机需要请求所述业务数据的写权限时,将写权限请求写在所述主机的内存中,并将所述写权限请求通过所述主机的远程内存直接存取通道发送至所述存储服务器的第一存储区域。
本发明中主机通过使用远程内存直接存取通道将写权限请求发送至存储服务器的第一存储区域,不需要主机和存储服务器的CPU参与,在减少存储服务器CPU开销的同时也缩短了I/O路径,从而进一步提升了分布式集群锁的性能。
根据第四方面,本发明还公开了一种分布式集群锁的控制装置,应用于分布式集群中的存储服务器,包括:获取模块,用于通过远程内存直接存取技术获取主机发送的写权限请求;处理模块,用于基于所述写权限请求对所述主机对所述分布式集群锁的写权限进行处理。
本发明提供的一种分布式集群锁的控制装置,通过将分布式集群锁放置在存储服务器的非易失闪存上,以充分利用非易失闪存的高速读写性能。同时,各主机通过RDMA技术直接读写存储服务器的非易失闪存,在减少存储服务器CPU开销的同时也缩短了I/O路径,从而进一步提升了分布式集群锁的性能。
根据第五方面,本发明还公开了一种分布式集群锁的控制装置,应用于分布式集群中的主机,包括:发送模块,用于当所述主机需要请求所述业务数据的写权限时,将写权限请求写在所述主机的内存中,并将所述写权限请求通过所述主机的远程内存直接存取通道发送至所述存储服务器的第一存储区域。
根据第六方面,本发明实施例还公开了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行如第一方面或第一方面任一可选实施方式所述的分布式集群锁的控制方法的步骤。
根据第七方面,本发明实施方式还公开了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第一方面任一可选实施方式所述的分布式集群锁的控制方法的步骤。
本发明通过将分布式集群锁放置在存储服务器的非易失闪存上,以充分利用非易失闪存的高速读写性能。同时,各主机通过RDMA技术直接读写存储服务器的非易失闪存,在减少存储服务器CPU开销的同时也缩短了输入输出路径,从而进一步提升了分布式集群锁的性能。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为目前基于普通磁盘的分布式集群锁的一种结构示意图;
图2为本发明实施例中分布式集群的一种结构示意图;
图3为本发明实施例中分布式集群的一种具体的结构示意图;
图4为本发明实施例中分布式集群锁的控制方法的一个流程示意图;
图5为本发明实施例中一种分布式集群锁的控制装置应用于分布式集群中的存储服务器的结构示意图;
图6为本发明实施例中一种分布式集群锁的控制装置应用于分布式集群中的主机的结构示意图;
图7为本发明实施例中电子设备的结构示意图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
在本发明的描述中,需要说明的是,在本申请说明书和所附权利要求书中使用的术语“及/和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
本发明实施例公开了一种分布式集群,如图2所示,该分布式集群包括:
存储服务器和至少两个主机,其中存储服务器的第一存储区域中存储有分布式集群锁,主机的内存与存储服务器的第一存储区域之间采用远程内存直接存取技术通信。
具体的,分布式集群中的第一存储区域设置在存储服务器的非易失闪存上。其中,非易失闪存是一种新型存储介质,既可以替代现有的高带宽的计算机存储器(Double-Data-Rate Fourth Generation Synchronous Dynamic Random Access Memory,DDR4SDRAM)作为系统内存使用,也可以替代固态硬盘SSD或基本的电脑存储器HDD作为数据存储使用。当非易失闪存作为数据存储使用时,其数据传输带宽远大于传统数据存储,可以更有效的提高写入操作的效率。
进一步的,存储服务器中还包括第二存储区域,第二存储区域中存储业务数据,设置在所述存储服务器中除所述非易失闪存之外的其他内存上。
示例性的,作为本发明的一种可选实施方式,如图3所示,主机A、主机B和主机C与存储服务器之间通过RDMA连接,主机内存中的数据可以通过RDMA通道直接读写到存储服务器的非易失闪存上,不再需要主机和存储服务器的中央处理器参与,提高了读取与写入的效率。在存储服务器中,设置有包括传统内存和非易失闪存两种存储器,其中,非易失闪存中的第一存储区域存储有分布式集群锁,存储服务器中还设置有第二存储区域,第二存储区域用于存储主机发过来的业务数据。第二存储区域可以采用现有技术中的数据存储方式,本发明对此不作限定。在本发明的实施例中,第二存储区域可以以图3中的存储区域1、存储区域2、存储区域3、存储区域4、存储区域5和存储区域6为例。
本发明实施例还公开了一种分布式集群锁的控制方法,应用于分布式集群中的存储服务器,可用于电子设备,如电脑、服务器、平板电脑等常见电子设备,如图4所示,该分布式集群锁的控制方法包括:
步骤11,通过远程内存直接存取技术获取主机发送的写权限请求。
示例性的,作为本发明的一种可选实施方式,如图2所示,主机A传统内存中的数据通过远程内存直接存取RDMA技术直接将数据读取或写入到存储服务器的非易失闪存上,此过程不需要主机的中央处理器和存储服务器的中央处理器进行参加干预,可以充分利用非易失闪存的高速读写性能,在减少存储服务器CPU的同时也缩短了输入输出路径,从而进一步提高了系统的性能。
其中,RDMA是在两个或者多个计算机进行通讯的时候使用DMA,从一个主机的内存直接访问另一个主机的内存的技术。DMA是直接内存访问,能够允许在计算机主板上的设备直接把业务数据发送到计算机内存中去,发送数据的过程不需要CPU的参与。传统内存访问需要通过CPU进行数据拷贝来移动数据,通过CPU将内存中的缓冲器Buffer1移动到缓冲器Buffer2中。DMA模式:可以同DMA引擎DMA Engine之间通过硬件将数据从缓冲器Buffer1移动到缓冲器Buffer2,而不需要操作系统CPU的参与,大大降低了CPU数据拷贝的开销。
步骤12,基于所述写权限请求对所述主机对所述分布式集群锁的写权限进行处理。
具体的,获取要进行写操作的主机的编号,当主机需要进行写操作的第一存储区域对应的锁结构处于未上锁状态时,直接将主机的编号写入锁结构中对锁结构进行上锁,同时,主机对所述第二存储区域进行写操作。当主机需要进行写操作的第一存储区域对应的锁结构处于已上锁状态时,则主机向存储服务器发送请求信号,等待第一存储区域对应的锁结构转变为未上锁状态时,将主机的编号写入锁结构中对锁结构,进行上锁操作,上锁操作结束之后再对第二存储区域进行写操作。
进一步的,在存储服务器基于所述写权限请求对主机对所述分布式集群锁的写权限进行处理之后,当主机需要请求所述业务数据的写权限时,将写权限请求写在主机的内存中,并将写权限请求通过所述主机的远程内存直接存取通道发送至存储服务器的第一存储区域。
示例性的,作为本发明的一种可选实施方式,在存储服务器非易失闪存中建立分布式集群锁数据结构,其关键数据格式为:(,1);(,2):(,3);(,N),其中,1到N为存储区域的编号,逗号之前为空代表该存储区域处于未上锁状态,当主机A申请对存储区域1的写权限时,主机A首先将该请求写在其本机的内存中,然后主机A的内存通过RDMA通道发送该请求至存储服务器非易失闪存的分布式集群锁区域;如果存储区域1对应的锁结构中逗号之前为空,表明当前存储区域处于未上锁状态,则将主机A的ID写入锁结构中,即:(A,1),如果存储区域1中对应的锁结构中,逗号之前已有其他主机的ID,例如已经有了(B,1),表明当前存储区域处于已上锁状态,则主机A获取锁失败,主机A无法对存储区域1进行写操作;当主机A成功获取存储区域1的锁之后,主机A可以对该存储区域进行写操作;主机A对存储区域1的写操作完成,则通过RDMA通道,将分布式存储集群锁中对应的数据结构重置为(,1),此时当前存储区域从已上锁状态转变为未上锁状态,其他主机可以申请对该存储区域加锁。如图3所示,此时主机A对存储区域1进行写操作,由于此时存储区域1没有其他主机编号占用,可以将A写入1对应的锁结构中的得到(A,1),主机B对存储区域3和存储区域6进行写操作将B写入3和6对应的锁结构中得到(B,3)(B,6),主机C对存储区域5进行写操作将C写入5对应的锁结构中得到(C,5),当此时主机A再想对存储区域3进行写操作时,由于锁结构中的(B,3)正在被主机B进行读写操作,因此此时主机A无法对存储区域3进行写操作,进行排队,等主机B对结束了对存储区域3的写操作之后,将锁结构中的B进行删除,此时主机A可以再将对应的主机编号写入得到(A,3),进行写操作。
本发明通过将分布式集群锁放置在存储服务器的非易失闪存上,以充分利用非易失闪存的高速读写性能。同时,各主机通过RDMA技术直接读写存储服务器的非易失闪存,在减少存储服务器CPU开销的同时也缩短了I/O路径,从而进一步提升了分布式集群锁的性能。
示例性的,作为本发明的另一种可选实施方式,本发明还适用于更复杂的锁结构,例如Sanlock锁等。
其中,Sanlock是一个基于共享存储的分布式锁管理器,集群中的每个节点都各自运行sanlock服务,锁的状态都被写到了共享存储上,所有节点都能访问共享存储,共同维护锁的状态。Sanlock的锁是名义锁,并非强制锁,被sanlock保护的对象,即使不上锁也能直接访问,完全由程序员自由决定sanlock的锁保护的是何种资源,以及何时上锁和释放。sanlock不适用于对性能要求高的场景,它主要用于实现主机高可用的场景,比如实现虚拟机高可用。
目前,为了实现一个分布式锁管理器,一种比较简单直接的架构是运行若干的服务器,专门用来维护锁的状态、处理锁的分配,并在服务器集群之间通过IP网络同步锁的状态。客户端主机需要请求一个锁时,通过IP网络将请求发送给其中一个锁服务器。在Sanlock中,可以对存储服务器的存储区域设置有非易失内存,直接对分布式集群锁进行存储,不需要CPU的参与。在主机需要将数据发送到分布式集群锁的过程也可以一句本发明中提到的RDMA,实现主机内存中的数据直接读写到存储服务器上的非易失闪存中,不再需要主机和存储服务器的CPU进行参与,提高设备的读写性能。另外,sanlock的锁是名义锁,并非强制锁,其语义类似pthread的mutex。被sanlock保护的对象,即使不上锁也能直接访问,完全由程序员自由决定sanlock的锁保护的是何种资源,以及何时上锁和释放。
本发明实施例还公开了一种分布式集群锁的控制方法,应用于分布式集群中的存储服务器,可用于电子设备,如电脑、服务器、平板电脑等,该分布式集群锁的控制方法包括:
步骤12,基于所述写权限请求对所述主机对所述分布式集群锁的写权限进行处理。
具体的,上述步骤12,所述存储服务器基于所述分布式集群锁对所述主机的写权限进行处理,包括:
步骤121,判断所述写权限区域是否已经上锁。
步骤122,当所述写权限区域未上锁时,解析所述写权限请求得到发送所述写权限请求的主机的标识信息,并基于所述标识信息对所述写权限区域上锁。
具体的,存储服务器先获取主机的编号,当第一存储区域对应的锁结构未上锁时,将所述主机的编号写入锁结构中对锁结构上锁,主机对第二存储区域进行写操作。当第一存储区域对应的锁结构已上锁时,则主机向存储服务器发送请求信号,等待第一存储区域对应的锁结构为空时,将主机的编号写入锁结构中对所述锁结构上锁,对第二存储区域进行写操作。
示例性的,作为本发明的一种可选实施方式,当主机要对存储服务器的存储区域进行写操作时,会直接将主机的写权限写到主机的内存中,进而通过RDMA通道直接将主机内存中的数据发送到存储服务器的非易失闪存中,再进行主机要对存储区域进行的写操作。这样不再需要主机和存储服务器的CPU参与,而是直接进行数据的写,可以极大的缩短存储服务器的输入输出路径没劲儿提升分布式集群锁的性能。
本发明实施例还公开了一种分布式集群锁的控制方法,应用于分布式集群中的主机,可用于电子设备,如电脑、服务器、平板电脑等,该分布式集群锁的控制方法包括:
步骤21,当主机需要请求所述业务数据的写权限时,将写权限请求写在主机的内存中,并将写权限请求通过主机的远程内存直接存取通道发送至存储服务器的第一存储区域。
具体的,当主机需要对存储区域进行写操作时,如果存储区域1中对应的锁结构中,逗号之前已有其他主机的ID,例如(B,1),则主机A获取锁失败,主机A无法对存储区域1进行写操作,当主机A成功获取存储区域A的锁之后,主机A可以对该存储区域进行写操作;主机A对存储区域1的写操作完成,则通过RDMA通道,将分布式存储集群锁中对应的数据结构重置为(,1),此后,其他主机可以申请对该存储区域加锁。
本发明还提供了一种分布式集群锁的控制装置,应用于分布式集群中的存储服务器,如图5所示,该装置包括:
获取模块71,用于通过远程内存直接存取技术获取主机发送的写权限请求,详细内容参考步骤11所述;
处理模块72,用于基于所述写权限请求对所述主机对所述分布式集群锁的写权限进行处理,详细内容参考步骤12所述。
示例性的,作为本发明的一种可选实施方式,处理模块,还包括:判断模块,用于判断所述写权限区域是否已经上锁;上锁模块,用于当所述写权限区域未上锁时,解析所述写权限请求得到发送所述写权限请求的主机的标识信息,并基于所述标识信息对所述写权限区域上锁。
示例性的,作为本发明的一种可选实施方式,处理模块,还包括:写操作模块,用于当所述主机需要请求写权限时,将写权限请求写在所述主机的内存中,并将所述主机的写权限请求通过远程内存直接存取技术发送至所述存储服务器。
示例性的,作为本发明的一种可选实施方式,处理模块,还包括:写权限请求发送模块,用于在所述存储服务器基于所述写权限请求对所述主机对所述分布式集群锁的写权限进行处理之后,当所述主机需要请求所述业务数据的写权限时,将写权限请求写在所述主机的内存中,并将所述写权限请求通过所述主机的远程内存直接存取通道发送至所述存储服务器的第一存储区域。
本发明实施例提供的一种分布式集群锁的控制装置,通过将分布式集群锁放置在存储服务器的非易失闪存上,以充分利用非易失闪存的高速读写性能。同时,各主机通过RDMA技术直接读写存储服务器的非易失闪存,在减少存储服务器CPU开销的同时也缩短了I/O路径,从而进一步提升了分布式集群锁的性能。
本发明还提供了一种分布式集群锁的控制装置,应用于分布式集群中的主机,如图6所示,该装置包括:
发送模块81,用于当所述主机需要请求所述业务数据的写权限时,将写权限请求写在所述主机的内存中,并将所述写权限请求通过所述主机的远程内存直接存取通道发送至所述存储服务器的第一存储区域,详细内容参考步骤102所述。
本发明实施例还提供了一种电子设备,如图7所示,该电子设备可以包括处理器901和存储器902,其中处理器901和存储器902可以通过总线或者其他方式连接,图7中以通过总线连接为例。
处理器901可以为中央处理器(Central ProceAAing Unit,CPU)。处理器901还可以为其他通用处理器、数字信号处理器(Digital AignalProceAAor,DAP)、专用集成电路(Application Apecific Integrated Circuit,AAIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器902作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的电池包的电池参数确定装置按键屏蔽方法对应的程序指令/模块(例如,图5所示的获取模块71和处理模块72以及图6所示的发送模块81)。处理器901通过运行存储在存储器902中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的分布式集群锁的控制方法。
存储器902可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器901所创建的数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器902可选包括相对于处理器901远程设置的存储器,这些远程存储器可以通过网络连接至处理器901。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器902中,当被所述处理器901执行时,执行如图1-4所示实施例中的分布式集群锁的控制方法。
上述电子设备具体细节可以对应参阅图1-6所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random AcceAAMemory,RAM)、快闪存储器(FlaAhMemory)、硬盘(Hard DiAk Drive,缩写:HDD)或固态硬盘(Aolid-Atate Drive,AAD)等;所述存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (10)
1.一种分布式集群,其特征在于,包括:
存储服务器和至少两个主机,其中所述存储服务器的第一存储区域中存储有分布式集群锁,所述主机的内存与所述存储服务器的第一存储区域之间采用远程内存直接存取技术通信。
2.根据权利要求1所述的分布式集群,其特征在于,所述第一存储区域设置在所述存储服务器的非易失闪存上。
3.根据权利要求1所述的分布式集群,其特征在于,所述存储服务器中还包括第二存储区域,所述第二存储区域中存储业务数据,设置在所述存储服务器中除所述非易失闪存之外的其他内存上。
4.一种分布式集群锁的控制方法,应用于分布式集群中的存储服务器,所述存储服务器中设有分布式集群锁,其特征在于,包括:
通过远程内存直接存取技术获取主机发送的写权限请求;
基于所述写权限请求对所述主机对所述分布式集群锁的写权限进行处理。
5.根据权利要求4所述的方法,其特征在于,所述写权限请求中携带有写权限区域,所述基于所述写权限请求对所述主机对所述分布式集群锁的写权限进行处理,包括:
判断所述写权限区域是否已经上锁;
当所述写权限区域未上锁时,解析所述写权限请求得到发送所述写权限请求的主机的标识信息,并基于所述标识信息对所述写权限区域上锁。
6.一种分布式集群锁的控制方法,应用于分布式集群中的主机,其特征在于,包括:
当所述主机需要请求写权限时,将写权限请求写在所述主机的内存中,并将所述主机的写权限请求通过远程内存直接存取技术发送至所述存储服务器。
7.一种分布式集群锁的控制装置,应用于分布式集群中的存储服务器,其特征在于,包括:
获取模块,用于通过远程内存直接存取技术获取主机发送的写权限请求;
处理模块,用于基于所述写权限请求对所述主机对所述分布式集群锁的写权限进行处理。
8.一种分布式集群锁的控制装置,应用于分布式集群中的主机,其特征在于,包括:
发送模块,用于当所述主机需要请求所述业务数据的写权限时,将写权限请求写在所述主机的内存中,并将所述写权限请求通过所述主机的远程内存直接存取通道发送至所述存储服务器的第一存储区域。
9.一种电子设备,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行如权利要求4-7任一所述的分布式集群锁的控制方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求4-7中任一项所述的分布式集群锁的控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111450224.9A CN114356215A (zh) | 2021-11-30 | 2021-11-30 | 一种分布式集群及分布式集群锁的控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111450224.9A CN114356215A (zh) | 2021-11-30 | 2021-11-30 | 一种分布式集群及分布式集群锁的控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114356215A true CN114356215A (zh) | 2022-04-15 |
Family
ID=81098244
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111450224.9A Withdrawn CN114356215A (zh) | 2021-11-30 | 2021-11-30 | 一种分布式集群及分布式集群锁的控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114356215A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115174498A (zh) * | 2022-09-07 | 2022-10-11 | 上海川源信息科技有限公司 | 锁服务处理方法、装置和数据处理系统 |
CN116560864A (zh) * | 2023-07-06 | 2023-08-08 | 苏州浪潮智能科技有限公司 | 一种分布式锁的实现方法、装置、系统、设备及存储介质 |
-
2021
- 2021-11-30 CN CN202111450224.9A patent/CN114356215A/zh not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115174498A (zh) * | 2022-09-07 | 2022-10-11 | 上海川源信息科技有限公司 | 锁服务处理方法、装置和数据处理系统 |
CN116560864A (zh) * | 2023-07-06 | 2023-08-08 | 苏州浪潮智能科技有限公司 | 一种分布式锁的实现方法、装置、系统、设备及存储介质 |
CN116560864B (zh) * | 2023-07-06 | 2023-11-03 | 苏州浪潮智能科技有限公司 | 一种分布式锁的实现方法、装置、系统、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10455003B2 (en) | Method, server, and system for sharing resource data | |
US9411646B2 (en) | Booting secondary processors in multicore system using kernel images stored in private memory segments | |
US20190163364A1 (en) | System and method for tcp offload for nvme over tcp-ip | |
US7484048B2 (en) | Conditional message delivery to holder of locks relating to a distributed locking manager | |
WO2017100978A1 (zh) | 一种集群中锁管理的方法、锁服务器及客户端 | |
US8161128B2 (en) | Sharing of data across disjoint clusters | |
CN114356215A (zh) | 一种分布式集群及分布式集群锁的控制方法 | |
WO2018068626A1 (zh) | 一种磁盘锁的管理方法、装置和系统 | |
US9654582B2 (en) | Enhanced shared memory based communication driver for improved performance and scalability | |
US10613783B2 (en) | Techniques for managing data which is accessible by multiple storage processors | |
CN114185558A (zh) | 基于K8s的原生应用选主方法、装置及存储介质 | |
CN105718589B (zh) | 访问文件的方法和装置 | |
KR20200117405A (ko) | 분산 잠금 관리를 하는 분산 시스템 및 그것의 동작 방법 | |
CN117170820A (zh) | 集群节点的配置共享方法、系统、终端及存储介质 | |
US9864643B1 (en) | Using locks of different scopes in a data storage system to optimize performance and complexity | |
US8719478B2 (en) | Deadlock prevention | |
CN110309224B (zh) | 一种数据复制方法及装置 | |
US10884992B2 (en) | Multi-stream object-based upload in a distributed file system | |
US20140229670A1 (en) | Cache coherency and synchronization support in expanders in a raid topology with multiple initiators | |
CN105264494B (zh) | 鉴权处理装置和方法 | |
CN110347517B (zh) | 双系统的通信方法及计算机可读存储介质 | |
US10331498B1 (en) | ColoredLock synchronization object, allowing flow specific policy of lock canceling | |
KR102162466B1 (ko) | 분산 스토리지 서버, 그것에 포함되는 서버 장치, 및 서버 장치를 동작시키는 방법 | |
US10936502B2 (en) | Shadow address space for sharing storage | |
WO2023077846A1 (zh) | 数据处理方法、设备、系统及装置 |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20220415 |
|
WW01 | Invention patent application withdrawn after publication |