CN108446337B - 一种锁资源控制权限迁移方法以及装置 - Google Patents

一种锁资源控制权限迁移方法以及装置 Download PDF

Info

Publication number
CN108446337B
CN108446337B CN201810165989.XA CN201810165989A CN108446337B CN 108446337 B CN108446337 B CN 108446337B CN 201810165989 A CN201810165989 A CN 201810165989A CN 108446337 B CN108446337 B CN 108446337B
Authority
CN
China
Prior art keywords
node
locking
lock
request
locking request
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
Application number
CN201810165989.XA
Other languages
English (en)
Other versions
CN108446337A (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.)
New H3C Cloud Technologies Co Ltd
Original Assignee
New H3C Cloud Technologies 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 New H3C Cloud Technologies Co Ltd filed Critical New H3C Cloud Technologies Co Ltd
Priority to CN201810165989.XA priority Critical patent/CN108446337B/zh
Publication of CN108446337A publication Critical patent/CN108446337A/zh
Application granted granted Critical
Publication of CN108446337B publication Critical patent/CN108446337B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • G06F16/1767Concurrency control, e.g. optimistic or pessimistic approaches
    • G06F16/1774Locking methods, e.g. locking methods for file systems allowing shared and concurrent access to files

Abstract

本申请涉及一种锁资源控制权限迁移方法以及装置,通过共享存储将锁资源的owner节点由源节点迁移至加锁请求节点,使得加锁请求节点要对锁资源的操作在本地完成,不需要再经由网络通过与源节点之间的锁消息交换而实现,不会造成加锁请求节点的加锁请求无法得到加锁授权而阻塞的问题。该方法包括:加锁请求节点向共享存储中写入锁资源控制权限迁移请求,以使源节点根据锁资源控制权限迁移请求向共享存储中写入同意迁移指令;当检测到共享存储中存在同意迁移指令时,将锁资源的owner节点标识从源节点标识变更为加锁请求节点标识,所述加锁请求节点标识用于表征所述加锁请求节点能够对锁资源进行加锁操作。

Description

一种锁资源控制权限迁移方法以及装置
技术领域
本申请涉及共享文件管理技术领域,尤其涉及一种锁资源控制权限迁移方法以及装置。
背景技术
集群文件系统以及共享文件系统(以下统称为共享文件系统),是指可以在多个计算机节点组成的一个集群中同时挂载的文件系统,在集群中的任何一个节点上,都可以对该文件系统中的共享资源进行操作,并且在其它节点都能看到前述操作所产生的结果。分布式锁管理器(Distributed Lock Manager,DLM),用于集群中不同节点访问共享资源同步和协调,且在每一个节点上均安装有该分布式锁管理器。锁资源(Lock Resource)是指在文件系统中可以加锁的对象,其可以为磁盘上的元数据。逻辑单元号(Logical Unit Number,LUN)是通过外部磁盘阵列导出的一个逻辑盘,共享文件系统可以将其当作一个块设备进行访问,也即本申请中的共享磁盘。块设备是I/O设备中的一类,是将信息存储在固定大小的块中,每个块都有自己的地址,还可以在设备的任意位置读取一定长度的数据。
集群中的多个节点可以同时读取、修改共享文件系统中的文件,同时满足在一个节点对共享文件系统中的某个文件进行写操作的时候,其他节点不能够对同样的文件进行写操作。为了协调不同节点对共享文件系统中的共享资源的访问,采用分布式锁技术在节点间实现文件的同步和互斥。共享资源作为锁资源,每一个锁资源在集群中有唯一owner节点;当某节点欲要对某锁资源进行操作时,需要通过网络向该锁资源的控制权限拥有者(owner)节点发送加锁请求;owner节点根据当前集群内各个节点对于该锁资源的加锁状态信息,决定是否对请求节点授权加锁请求。
除了owner节点本身以外,其它所有节点的加锁请求和解锁请求都要通过网络传输给owner节点。这导致了当某节点与owner节点之间的网络不可用时,会造成该节点向owner节点发送加锁请求或者解锁请求时,无法得到owner节点的响应而阻塞。
发明内容
本申请实施例提供一种镜像文件的分布式锁资源控制权限迁移方法以及装置,用以在源节点与加锁请求节点之间的网络不可用时,通过共享存储将锁资源的owner节点由源节点迁移至加锁请求节点,使得加锁请求节点要对锁资源的操作在本地完成,不需要再经由网络通过与源节点之间的锁消息交换而实现,既不存在由于fence机制对故障节点重启时间周期过久而造成的业务无法正常进行的问题,也不会造成加锁请求节点的加锁请求无法得到加锁授权而阻塞的问题。
第一方面,提供一种锁资源控制权限迁移方法,应用于集群中进行锁资源控制权限迁移的加锁请求节点,所述加锁请求节点中保存有所述锁资源控制权限的拥有者owner节点标识,在进行锁资源控制权限迁移前,所述owner节点标识为源节点标识;该方法包括:
当需要对锁资源进行加锁操作时,若所述加锁请求节点与当前拥有所述锁资源控制权限的源节点之间的网络不可用,则向共享存储中写入锁资源控制权限迁移请求,以使所述源节点根据所述锁资源控制权限迁移请求向所述共享存储中写入同意迁移指令;
当检测到所述共享存储中存在所述同意迁移指令时,将所述锁资源的owner节点标识从所述源节点标识变更为所述加锁请求节点标识,所述加锁请求节点标识用于表征所述加锁请求节点能够对所述锁资源进行加锁操作。
第二方面,提供一种锁资源控制权限迁移方法,应用于集群中进行锁资源控制权限迁移的源节点,所述源节点中保存有所述锁资源控制权限的拥有者owner节点标识,在进行锁资源控制权限迁移前,所述owner节点标识为源节点标识;该方法包括:
周期性检测共享存储中是否存在加锁请求节点的锁资源控制权限迁移请求;
在检测到所述共享存储中存在所述锁资源控制权限迁移请求后,若确定能够进行锁资源控制权限迁移,则向所述共享存储中写入同意迁移指令,所述同意迁移指令用于指示所述加锁请求节点变更所述锁资源的owner节点标识。
第三方面,提供一种锁资源控制权限迁移装置,位于集群中进行锁资源控制权限迁移的加锁请求节点,所述加锁请求节点中保存有所述锁资源控制权限的拥有者owner节点标识,在进行锁资源控制权限迁移前,所述owner节点标识为源节点标识;该装置包括:
第一写入模块:用于当需要对锁资源进行加锁操作时,若所述加锁请求节点与当前拥有所述锁资源控制权限的源节点之间的网络不可用,则向共享存储中写入锁资源控制权限迁移请求,以使所述源节点根据所述锁资源控制权限迁移请求向所述共享存储中写入同意迁移指令;
变更模块,用于当检测到所述共享存储中存在所述同意迁移指令时,将所述锁资源的owner节点标识从所述源节点标识变更为所述加锁请求节点标识,所述加锁请求节点标识用于表征所述加锁请求节点能够对所述锁资源进行加锁操作。
第四方面,提供一种锁资源控制权限迁移装置,位于集群中进行锁资源控制权限迁移的源节点,所述源节点中保存有所述锁资源控制权限的拥有者owner节点标识,在进行锁资源控制权限迁移前,所述owner节点标识为源节点标识;该装置包括:
周期检测模块,用于周期性检测共享存储中是否存在加锁请求节点的锁资源控制权限迁移请求;
第二写入模块,用于在检测到所述共享存储中存在所述锁资源控制权限迁移请求后,若确定能够进行锁资源控制权限迁移,则向所述共享存储中写入同意迁移指令,所述同意迁移指令用于指示所述加锁请求节点变更所述锁资源的owner节点标识。
本申请实施例中,当加锁请求节点和作为锁资源owner节点的源节点之间的网络不可用,加锁请求节点无法通过网络与源节点交互锁消息时,一旦加锁请求节点要对锁资源进行操作,则会在源节点和加锁请求节点均能够访问的共享存储中写入锁资源控制权限迁移请求;当源节点检测到共享存储中存在加锁请求节点写入的锁资源控制权限迁移请求时,在确定能够进行锁资源控制权限迁移的前提下,在共享存储中写入同意迁移指令,这样,加锁请求节点在检测到共享存储中被源节点写入与锁资源控制权限迁移请求对应的同意迁移指令后,能够将锁资源的owner节点由源节点迁移至加锁请求节点,进而使得加锁请求节点要对锁资源的操作在本地完成,而不需要再经由网络通过与源节点之间的锁消息交换而实现,既不会由于fence机制对故障节点重启时间周期过久而造成的业务无法正常进行的问题,也不会造成加锁请求节点的加锁请求无法得到加锁授权而阻塞的问题。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要的附图做简单的介绍。显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1示出一种共享文件系统的组网图;
图2示出本申请实施例一所提供的锁资源控制权限迁移方法的流程示意图;
图3示出本申请实施例二所提供的锁资源控制权限迁移方法的流程示意图;
图4示出本申请实施例所提供的一种资源控制权限迁移装置的结构示意图;
图5示出本申请实施例所提供的另一种资源控制权限迁移装置的结构示意图;
图6示出本申请实施例所提供一种资源控制权限迁移装置100的结构示意图;
图7示出本申请实施例所提供另一种资源控制权限迁移装置200的结构示意图。
具体实施方式
如图1所示,是一种共享文件系统的组网图,在集群中包括节点A、节点B以及节点C;其中节点A、节点B和节点C均与网络交换机连接,并通过网络交换机交互锁消息(包括请求节点的加锁请求、owner节点对加锁请求的应答、请求节点的解锁请求、owner节点对解锁请求的应答等);节点A、节点B和节点C均与共享存储连接。这里的共享存储可以是各个节点共享的存储介质,比如可以是磁盘、光盘等任何具有存储功能的介质,也可以是包含多种存储介质的存储设备,还可以是一个分布式存储系统等,这里不做限制。在该集群中,锁资源的owner节点为节点B。当节点A或者节点C欲要对该锁资源进行操作时,则作为请求节点的节点A或者节点C需要通过网络向节点B发送加锁请求,以使节点B根据当前集群内节点A、节点B以及节点C对于该锁资源的加锁状态信息,决定是否对请求节点授权加锁请求。同样的,当节点A或节点C欲要释放对锁资源的授权加锁状态,则作为请求节点的节点A或者节点C需要通过网络向节点B发送解锁请求,对请求节点的已授权加锁状态进行解锁。
共享文件系统存在栅栏fence机制。fence机制使得管理网故障足够的预设长度后,主动将其中出现故障的节点重启,以解除集群阻塞。但是由于预设时间长度一般比较长,可以达到几分钟的时间长度,而这个时间长度对于一些运行在共享文件系统中的业务是不可接受的。一旦某节点无法及时对某些共享文件的进行操作,则会影响系统业务的正常进行。
例如,在上述图1中的共享文件系统中,节点A欲要对锁资源进行操作;在节点A和节点B之间的网络可用的情况下,节点A会通过网络交换机向节点B发送加锁请求。如果此时节点A和节点B之间的网络不可用,则节点A需要等待共享文件系统在预设时间长度后重启节点A或者节点B,使得节点A和节点B之间的网络可用时,方可生成新的加锁请求,并将新生成的加锁请求通过网络发送给节点B,而这对于某些需要在短时间内完成的业务是不可接受的。因为一旦A节点无法通过网络将加锁请求发送给节点B,也即,节点A无法对锁资源加锁成功,针对锁资源的写操作会随着该加锁请求的阻塞一直处于阻塞状态,在这个情况下想在共享文件系统中写文件的客户业务就会挂起。
同时,由于共享文件系统的fence机制是通过某一节点与集群内其他节点之间网络的可用率来确定该节点是否存在故障,也即,当某一节点与集群内的其他节点之间的网络可用率小于预设阈值时,确定该节点为故障节点。因此,如果在某一时刻,如果集群内多个节点都满足上述故障判断条件;fence机制在在这种情况下是无法从其中选择真正的故障节点,并将其重启,这可能导致集群的永久阻塞。
例在上述图1的共享文件系统中,如果节点A和节点B之间的网络不可用,且共享文件系统无法通过fence机制确定节点A或者故障B为故障节点,从而导致节点A的加锁请求会一直无法通过网络发送给节点B,导致节点A的加锁请求无法得到加锁授权而阻塞。
本申请实施例中,当某请求节点要对锁资源进行操作时,且该请求节点与锁资源的owner节点之间的网络不可用时,该请求节点在共享存储写入锁资源控制权限迁移请求;owner节点在检测到共享存储中存在该锁资源控制权限迁移请求时,在满足锁资源控制权限迁移条件的基础上,在共享存储中写入同意迁移指令;加锁请求节点根据该同意迁移指令,将锁资源的owner节点从原owner节点迁移至该请求节点,使得该请求节点的加锁请求不需要再通过网络传输给原来的owner节点,而能够在本地实现加锁操作,使得请求节点能够及时获得对锁资源的操作权限,既不会由于fence机制对故障节点重启时间周期过久而造成的业务无法正常进行的问题,也不会造成加锁请求节点的加锁请求无法得到加锁授权而阻塞的问题。
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请做进一步详细的说明。在本申请实施例中,锁资源控制权限迁移之前,锁资源的owner节点为源节点;源节点保存有集群内的各个节点对于锁资源的加锁状态信息;集群内除源节点以外的其它节点保存自身对于锁资源的加锁状态信息。锁资源控制权限迁移之后,锁资源的owner节点为加锁请求节点,加锁请求节点保存有owner节点标识,且在锁资源控制权限迁移之前,所保存的owner节点标识为源节点标识;锁资源控制权限迁移之后,所保存的owner节点标识为加锁请求节点标识。下面首先从执行主体为加锁请求节点对本申请实施例所提供的锁资源控制权限迁移方法加以说明。
参见图2所示,本申请实施例一所提供的锁资源控制权限迁移方法包括以下步骤:
S201:当需要对锁资源进行加锁操作时,若加锁请求节点与当前拥有锁资源控制权限的源节点之间的网络不可用,则向共享存储中写入锁资源控制权限迁移请求,以使源节点根据锁资源控制权限迁移请求向共享存储中写入同意迁移指令。
在具体实现的时候,当加锁请求节点要对锁资源进行操作的时候,会首先根据加锁请求节点所保存的源节点标识检测加锁请求节点与源节点之间的网络是否可用。如果此时加锁请求节点与源节点之间的网络可用,则按照正常的处理逻辑,也即,通过网络与源节点之间交互锁消息。一旦加锁请求节点与源节点之间的网络不可用,则加锁请求节点生成锁资源控制权限迁移请求,并将锁资源控制权限迁移请求写入源节点和加锁请求节点均能够访问的同一共享存储。
此处,为了防止多个节点同时将数据同时写入共享存储的同一存储空间,造成节点写入存储空间的数据均被打乱,可以使用小型计算机系统接口(Small Computer SystemInterface,SCSI)比较和写(compare and write,CAW)指令实现。该指令用于保证如下操作的原子性:节点向特定的逻辑区块地址(Logical Block Address,LBA)发起读请求,读取该LBA对应的存储空间的状态信息;如果读取的当前状态信息指示当前有其他节点正在向该存储空间写入数据,则终止本次CAW指定的写操作;如果读取的当前状态信息指示当前没有其他节点正在向该存储空间写入数据,则将该存储空间的状态信息更改为指示本节点正在向该存储空间写入数据后,向该存储空间写入数据。
例如,当存储空间的状态信息为0时,指示没有节点对该存储空间执行写操作;当存储空间的状态信息为1时,指示有其他节点对该存储空间执行写操作。加锁请求节点中在向共享存储写入锁资源控制权限迁移请求之前,首先要向特定的LBA发起读请求,读取该LBA对应的存储空间的状态信息;如果此时该存储空间的状态信息为1,则终止本次向该存储空间写入锁资源控制权限迁移请求的操作,并向其它LBA发起读请求,重复上述操作。直至加锁请求节点读取到某LBA对应存储空间的状态信息为0时,将该存储空间的状态信息由0改成1后,将锁资源控制权限迁移请求写入到该存储空间中。
需要注意的是,此处只有当源节点从上述存储空间中读取到锁资源控制权限迁移请求后,方可将该存储空间的状态信息由1改成0,允许其他节点对该存储空间执行写操作,防止在源节点还未从该存储空间读取到锁资源控制权限迁移指令之前,该存储空间所存储的锁资源控制权限迁移请求就被其他节点所写入的数据覆盖。
另外,可能存在加锁请求节点和源节点之间的网络在短时间内恢复可用,在这种情况下,如果再对owner节点进行迁移显然是不必要的,因此,还可以在检测到加锁请求节点和源节点之间的网络不可用时,隔预设时间,例如10秒、20秒后,再次检测加锁请求节点和源节点之间的网络是否可用;如果此时加锁请求节点和源节点之间的网络仍然不可用,则加锁请求节点才向共享存储中写入锁资源控制权限迁移请求。
在锁资源控制权限迁移请求中,会携带有文件系统标识、锁资源标识、加锁请求节点标识、源节点标识(也即,在控制权限迁移之前的owner节点标识),以及加锁请求节点所请求的加锁级别。
其中,文件系统标识用于确定共享文件系统;由于每一节点在同一时刻可能挂载多个共享文件系统,因此当源节点从共享存储读取到锁资源控制权限迁移请求的时候,为了区分从共享存储中读取到的锁资源控制权限迁移请求对应哪一个共享文件系统,使用锁资源控制权限迁移请求中携带的文件系统标识确定共享文件系统。
锁资源标识用于唯一标识集群内的锁资源,归属于同一共享文件系统中的锁资源与锁资源标识一一对应。
节点标识用于唯一标识集群内的节点,加锁请求节点标识用于标识加锁请求节点。源节点标识用于标识源节点。
加锁级别对应于的节点所请求的对锁资源的操作权限。节点对锁资源的操作包括读取操作、写操作等,且在同一时刻,仅有一个节点能够对锁资源进行写操作,而有多个节点能够对锁资源进行读取操作。互斥的加锁级别之间构成互斥域,在互斥域内,只要存在了对某一节点的授权加锁状态,与该授权加锁状态互斥的其它加锁请求就不能够再被授权。
当源节点与加锁请求节点之间的网络不可用后,加锁请求节点会周期性检测共享存储中是否存在加锁请求节点的锁资源控制权限迁移请求。在检测时,加锁请求节点根据文件系统标识、锁资源标识、加锁请求节点标识、源节点标识进行确定。
当源节点检测到共享存储中存在锁资源控制权限迁移请求后,如果此时满足锁资源控制权限迁移的条件,则向共享存储中写入同意迁移指令。
在同意迁移指令中,携带有文件系统标识、锁资源标识、加锁请求节点标识、源节点标识,这样,加锁请求节点根据文件系统标识、锁资源标识、加锁请求节点标识、源节点标识确定同意迁移指令是否与其所写入的锁资源控制权限迁移请求对应。
此处,还需要检测当前是否能够进行锁资源控制权限迁移。具体地,源节点要检测集群内除加锁请求节点以外的其它节点的授权加锁状态与锁资源控制权限迁移请求中的加锁级别是否兼容;如果兼容,则能够进行锁资源控制权限迁移;如果不兼容,则要等不兼容的授权加锁状态的降低至能够与锁资源控制权限迁移请求中的加锁级别兼容时,才能够进行锁资源控制权限迁移。
S202:当检测到共享存储中存在同意迁移指令时,将锁资源的owner节点标识从源节点标识变更为加锁请求节点标识,加锁请求节点标识用于表征加锁请求节点能够对锁资源进行加锁操作。
在具体实现的时候,加锁请求节点在向共享存储中写入锁资源控制权限迁移请求之后,会周期性检测共享存储中是否被源节点写入了同意迁移指令。如果加锁请求节点检测到共享存储中被源节点写入了同意迁移指令,则将其所保存的owner节点标识,由源节点标识更改为加锁请求节点标识。完成owner节点从源节点到加锁请求节点的迁移。
采用上述实施例,当加锁请求节点和作为锁资源owner节点的源节点之间的网络不可用,加锁请求节点无法通过网络与源节点交互锁消息时,一旦加锁请求节点要对锁资源进行操作,则会在源节点和加锁请求节点均能够访问的共享存储中写入锁资源控制权限迁移请求;当源节点检测到共享存储中存在加锁请求节点写入的锁资源控制权限迁移请求时,在确定能够进行锁资源控制权限迁移的前提下,在共享存储中写入同意迁移指令,以使加锁请求节点能够在检测到共享存储中被源节点写入与锁资源控制权限迁移请求对应的同意迁移指令后,能够将锁资源的owner节点由源节点迁移至加锁请求节点,进而使得加锁请求节点要对锁资源的操作在本地完成,而不需要再经由网络通过与源节点之间的锁消息交换而实现,既不会由于fence机制对故障节点重启时间周期过久而造成的业务无法正常进行的问题,也不会造成加锁请求节点的加锁请求无法得到加锁授权而阻塞的问题。
在本申请另一实施例中,在将锁资源的owner节点标识从源节点标识变更为加锁请求节点标识之后,还包括:
在与集群中除加锁请求节点外的其它节点之间的网络均可用后,向其它节点发送锁资源控制权限迁移通知,用于指示其它节点在需要对锁资源进行加锁操作时,向加锁请求节点发起加锁请求。
在具体实现的时候,由于锁资源的owner节点已经由源节点迁移至加锁请求节点,因此需要将owner节点的变更通知到集群内除加锁请求节点以外的其他节点。因此当加锁请求节点与集群内其他节点之间的网络均可用时,加锁请求节点会主动向集群内除加锁请求节点以外的其它节点发送锁资源控制权限迁移通知。在该锁资源控制权限迁移通知中,携带有加锁请求节点标识。当其它节点接收到加锁请求节点所发送的锁资源控制权限迁移通知后,会将自身所保存的锁资源的owner节点标识由源节点标识变更为加锁请求节点标识。当其它节点需要对锁资源进行操作的时候,会根据变更后的owner节点标识,与加锁请求节点之间进行锁信息交互。
在本申请另一实施例中,在将锁资源的owner节点标识从源节点标识变更为加锁请求节点标识之后,还包括:
当与源节点之间的网络可用后,从源节点处获取除加锁请求节点以外的各个节点对于锁资源的加锁状态信息;
根据获取的加锁状态信息,以及加锁请求节点对于锁资源的加锁状态信息,处理集群中各个节点针对锁资源的加锁请求。
再具体实现的时候,当加锁请求节点与源节点之间的网络不可用时,将owner节点从源节点迁移至加锁请求节点,仅仅是在加锁请求节点上完成owner节点标识从源节点标识到加锁请求节点标识的变更。集群内除加锁请求节点以外的其它节点对于锁资源的加锁状态信息被保存在原来的owner节点,也即源节点上,因此当加锁请求节点与源节点之间的网络可用时,会从加锁请求节点获得除加锁请求节点以外的其他节点对于锁资源的加锁状态信息,根据所获取的其他节点对于锁资源的加锁状态信息,以及在加锁请求节点上保存的其自身对于锁资源的加锁状态信息,处理集群中后续各个节点针对锁资源的加锁请求。
在处理集群中各个节点针对锁资源的加锁请求包括两种:其一,源节点在向共享存储中写入同意迁移指令后,会将除加锁请求节点以外的其它所有节点发送给源节点的加锁请求,作为待处理加锁请求进行保存;当源节点与加锁请求节点之间的网络可用后,源节点会将这些待处理加锁请求均发送给加锁请求节点。其二,集群内的各个节点在将锁资源的owner节点,由源节点变更为加锁请求节点后,如果要对锁资源进行操作,则直接通过网络向加锁请求节点发送加锁请求。
因此,加锁请求节点在处理集群中各个节点针对锁资源的加锁请求时,会在接收到集群中任一节点发送的针对锁资源的加锁请求后,根据获取的加锁状态信息,以及加锁情趣节点保存的加锁请求节点对于锁资源的加锁状态信息,对该任一节点发送的加锁请求进行加锁授权处理。
和/或,
接收源节点在与加锁请求节点之间的网络可用后所发送的待处理加锁请求;待处理加锁请求为源节点在向共享存储中写入同意迁移指令之后,所保存的除加锁请求节点外的其它节点发送的针对锁资源的加锁请求;根据获取的加锁状态信息,以及加锁请求节点对于锁资源的加锁状态信息,对待处理加锁请求进行加锁授权处理。
基于同一发明构思,本申请实施例中还提供了与上述锁资源控制权限迁移方法对应的另外一种锁资源控制权限迁移方法,从执行主体为源节点的角度对本申请实施例所提供的锁资源控制权限迁移方法加以说明。
参见3所示,本申请实施例二提供的锁资源控制权限迁移方法包括:
S301:周期性检测共享存储中是否存在加锁请求节点的锁资源控制权限迁移请求。
在具体实施中,加锁请求节点向共享存储中写入锁资源控制权限迁移请求的具体过程,以及检测共享存储是否存在锁资源控制权限迁移请求的具体过程参见上述S201,在此不再赘述。
此处,需要注意的是,与加锁请求节点向共享存储中写入锁资源控制权限迁移请求的过程类似,源节点在向共享存储中写入同意迁移指令之前,首先要向特定的LBA发起读请求,读取该LBA对应的存储空间的状态信息;如果此时该存储空间的状态信息为1,则终止本次向该存储空间写入同意迁移指令的操作,并向其它LBA发起读请求,重复上述操作。直至加锁请求节点读取到某LBA对应存储空间的状态信息为0时,将该存储空间的状态信息由0改成1后,将同意迁移指令写入到该存储空间中。
另外,源节点会周期性检测与加锁请求节点之间的网络是否可用。当检测到与加锁请求节点之间的网络不可用时,才会周期性检测共享存储中是否存在加锁请求节点的锁资源控制权限迁移请求。
S302:在检测到共享存储中存在锁资源控制权限迁移请求后,若确定能够进行锁资源控制权限迁移,则向共享存储中写入同意迁移指令,该同意迁移指令用于指示加锁请求节点变更锁资源的owner节点标识。
此处,当检测到共享存储中存在锁资源控制权限迁移请求,则检测当前是否能够进行锁资源控制权限迁移。
具体地,在检测当前是否能够进行锁资源控制权限迁移的时候,源节点首先要根据锁资源控制权限迁移请求中的所携带的锁资源标识,从内存中获取各个节点对于锁资源的锁状态信息。各个节点对于锁资源的状态信息包括两种:授权加锁状态以及无授权状态。
授权加锁状态,是指授权给节点能够对锁资源进行操作,也即,当节点的状态信息为授权加锁状态时,节点能够对锁资源进行操作;无授权状态,是指未授权节点对锁资源进行操作,也即,当节点的锁状态信息为未授权状态时,节点不能对锁资源进行操作。
授权加锁状态对应有不同的加锁级别。部分加锁级别可以兼容,例如加锁级别对应的授权内容为授权节点能够对锁资源进行读取操作时,则授权的节点可以有多个;部分加锁级别不可兼容,例如加锁级别对应的授权内容为授权节点能够对锁资源进行写操作时,在同一时刻授权的节点只能有一个。此处,需要注意的是,授权内容为授权节点能够对锁资源进行写操作的加锁级别,能够兼容授权内容为授权节点能够对锁资源进行读取操作的加锁级别;且所有授权加锁状态兼容无授权状态。
在下表1中示出一个集群中各个节点对于锁资源的锁状态信息示例。
表1
在该表中,集群中包括节点E、节点F、节点G和节点H四个节点;其中,对于锁资源的锁状态信息如上表1所示,且节点E的授权加锁状态的加锁级别为2,对应的授权内容为可对锁资源进行读取操作以及写操作;节点G和节点H的授权加锁状态的解锁级别均为1,对应的授权内容为可对锁资源进行读取操作;节点F为无授权状态,对应的授权内容为不可对锁资源进行任何操作。
当源节点从共享存储获取了加锁请求节点写入的锁资源控制权限迁移请求后,首先要根据锁资源控制权限迁移请求中携带的加锁级别,以及所获取的各个节点对于锁资源的锁状态信息,检测当前是否有除加锁请求节点以外的其它节点的授权加锁状态与加锁级别不兼容。如果检测到有除加锁请求节点以外的其它节点的授权加锁状态与加锁级别不兼容,则要将该节点的授权加锁状态降低至与加锁级别兼容后,向共享存储中写入同意迁移指令。
具体地,可以通过下述方法将授权加锁状态降低至与加锁级别兼容:
假设在图1对应共享文件系统的组网中,如果节点C的授权加锁状态的加锁级别为2,节点A所要求的加锁级别也为2,两者不能兼容,则作为锁资源的owner节点,节点B会向节点C发送加锁级别降低指令,该加锁级别降低指令中携带有此时节点C能够拥有的最高加锁级别,该最高加锁级别与锁资源控制权限迁移指令中的加锁级别可以兼容;节点C在接收到加锁级别降低指令后,会根据实际情况,将自身的加锁级别降低至最高加锁级别,或者最高加锁级别以下,并向节点B反馈加锁级别降低反馈信息。完成对节点C的加锁级别的降低。
此时,需要注意的是,若节点B和节点C之间的网络可用,则通过网络传输加锁级别降低指令以及加锁级别降低反馈信息。若节点B和节点C之间的网络不可用,则通过共享存储传输加锁级别降低指令以及加锁级别降低反馈信息。
另外,在检测到共享存储中存在锁资源控制权限迁移请求后,源节点还要将除加锁请求节点以外的其它节点所发送的加锁请求作为待处理加锁请求进行保存。当与加锁请求节点之间的网络可用后,将保存的待处理加锁请求发送给加锁请求节点,以使owner节点迁移至加锁请求节点后,加锁请求节点能够对在owner节点迁移过程中,源节点所接收到的待处理加锁请求进行处理。
具体地,在检测到共享存储中存在锁资源控制权限迁移请求后,源节点会从内存中获取各个节点对于锁资源的锁状态信息,并对该锁状态信息进行标记,例如标记为:DISK_MIGRATING。之后,所有发送到源节点的请求都全部悬挂。
S303:当与加锁请求节点之间的网络可用后,将除加锁请求节点以外的各个节点对于锁资源的加锁状态信息发送给加锁请求节点。
在具体实现的时候,除加锁请求节点以外的各个节点对于锁资源的加锁状态信息,可以由源节点主动发送给加锁请求节点,也可以应加锁请求节点的请求向加锁请求节点发送。当由源节点主动发送给加锁请求节点时,要求源节点在向共享存储写入同意迁移指令后,周期性检测与加锁请求节点之间的网络是否可用,并在检测到与目的之间的节点之间的网络可用时,由源节点发送给加锁请求节点。当应加锁请求节点的请求向加锁请求节点发送时,加锁请求节点会在将锁资源的owner节点标识从源节点标识变更为加锁请求节点标识后,周期性检测与源节点之间的网络是否可用;当检测与源节点之间的网络可用后,通过网络向源节点发送锁状态信息获取请求;源节点在通过网络接收到加锁请求节点发送的锁状态信息获取请求后,才会将除加锁请求节点以外的各个节点对于锁资源的加锁状态信息发送给加锁请求节点。
采用上述实施例,当加锁请求节点和作为锁资源owner节点的源节点之间的网络不可用,加锁请求节点无法通过网络与源节点交互锁消息时,一旦加锁请求节点要对锁资源进行操作,则会在源节点和加锁请求节点均能够访问的共享存储中写入锁资源控制权限迁移请求;当源节点检测到共享存储中存在加锁请求节点写入的锁资源控制权限迁移请求时,在确定能够进行锁资源控制权限迁移的前提下,在共享存储中写入同意迁移指令,以使加锁请求节点能够在检测到共享存储中被源节点写入与锁资源控制权限迁移请求对应的同意迁移指令后,能够将锁资源的owner节点由源节点迁移至加锁请求节点,进而使得加锁请求节点要对锁资源的操作在本地完成,而不需要再经由网络通过与源节点之间的锁消息交换而实现,既不会由于fence机制对故障节点重启时间周期过久而造成的业务无法正常进行的问题,也不会造成加锁请求节点的加锁请求无法得到加锁授权而阻塞的问题。
基于同一发明构思,本发明实施例中还提供了与上述图2所描述的锁资源控制权限迁移方法装置,由于本发明实施例中的装置解决问题的原理与本发明实施例上述锁资源控制权限迁移方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参见图4所示,本申请实施例所提供的锁资源控制权限迁移装置位于集群中进行锁资源控制权限迁移的加锁请求节点,加锁请求节点中保存有锁资源控制权限的拥有者owner节点标识,在进行锁资源控制权限迁移前,owner节点标识为源节点标识;该装置包括:
第一写入模块401:用于当需要对锁资源进行加锁操作时,若加锁请求节点与当前拥有锁资源控制权限的源节点之间的网络不可用,则向共享存储中写入锁资源控制权限迁移请求,以使源节点根据锁资源控制权限迁移请求向共享存储中写入同意迁移指令;
变更模块402,用于当检测到共享存储中存在同意迁移指令时,将锁资源的owner节点标识从源节点标识变更为加锁请求节点标识,加锁请求节点标识用于表征加锁请求节点能够对锁资源进行加锁操作。
在一可选实施例中,还包括:通知模块,用于在将锁资源的owner节点标识从源节点标识变更为加锁请求节点标识之后,在与集群中除加锁请求节点外的其它节点之间的网络均可用后,向其它节点发送锁资源控制权限迁移通知,锁资源控制权限迁移通知用于指示其它节点在需要对锁资源进行加锁操作时,向加锁请求节点发起加锁请求。
在一可选实施例中,还包括:获取模块,用于将锁资源的owner节点标识从源节点标识变更为加锁请求节点标识之后,当与源节点之间的网络可用后,从源节点处获取除加锁请求节点以外的各个节点对于锁资源的加锁状态信息;
处理模块,用于根据获取的加锁状态信息,以及加锁请求节点对于锁资源的加锁状态信息,处理集群中各个节点针对锁资源的加锁请求。
在一可选实施例中,处理模块,具体用于:在接收到集群中任一节点发送的针对锁资源的加锁请求后,根据获取的加锁状态信息,以及加锁请求节点对于锁资源的加锁状态信息,对该任一节点发送的加锁请求进行加锁授权处理;和/或,
接收源节点在与加锁请求节点之间的网络可用后所发送的待处理加锁请求;待处理加锁请求为源节点在向共享存储中写入同意迁移指令之后,所保存的除加锁请求节点外的其它节点发送的针对锁资源的加锁请求;根据获取的加锁状态信息,以及加锁请求节点对于锁资源的加锁状态信息,对待处理加锁请求进行加锁授权处理。
通过该锁资源控制权限迁移装置,在源节点和锁资源控制权限的拥有者源节点之间的网络不可用时,能够目通过共享存储,将锁资源控制权限从源节点迁移至加锁请求节点,从而使得加锁请求节点对锁资源的操作在本地完成,而不需要再经由网络通过与源节点之间的锁消息交换而实现,既不会由于fence机制对故障节点重启时间周期过久而造成的业务无法正常进行的问题,也不会造成加锁请求节点的加锁请求无法得到加锁授权而阻塞的问题。。
基于同一发明构思,本发明实施例中还提供了与上述图3所描述的锁资源控制权限迁移方法对应的锁资源控制权限迁移装置,由于本发明实施例中的装置解决问题的原理与本发明实施例上述锁资源控制权限迁移方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参见图5所示,本申请实施例所提供的锁资源控制权限迁移装置位于集群中进行锁资源控制权限迁移的源节点,源节点中保存有锁资源控制权限的拥有者owner节点标识,在进行锁资源控制权限迁移前,owner节点标识为源节点标识;该装置包括:
周期检测模块501,用于周期性检测共享存储中是否存在加锁请求节点的锁资源控制权限迁移请求;
第二写入模块502,用于在检测到共享存储中存在锁资源控制权限迁移请求后,若确定能够进行锁资源控制权限迁移,则向共享存储中写入同意迁移指令,所述同意迁移指令用于指示加锁请求节点变更锁资源的owner节点标识。
在一可选实施例中,锁资源控制权限迁移请求中携带有加锁级别;第二写入模块502,具体用于:当确定集群中除加锁请求节点以外的其它节点的授权加锁状态与加锁级别兼容后,向共享存储中写入同意迁移指令。
在一可选实施例中,还包括:第一发送模块,用于向共享存储中写入同意迁移指令之后,当与加锁请求节点之间的网络可用后,将除加锁请求节点以外的各个节点对于锁资源的加锁状态信息发送给加锁请求节点。
在一可选实施例中,还包括:保存模块,用于检测到共享存储中存在锁资源控制权限迁移请求后,将除加锁请求节点外的其它节点所发送的加锁请求作为待处理加锁请求进行保存;
第二发送模块,用于当与加锁请求节点之间的网络可用后,将保存的待处理加锁请求发送给加锁请求节点。
如图6所示,为本申请另一实施例所提供的锁资源控制权限迁移装置示意图,该锁资源控制权限迁移装置100包括:第一处理器110、第一存储器120和第一总线130,第一存储器120存储有执行指令,当装置运行时,第一处理器110与第一存储器120之间通过第一总线130通信,第一处理器110执行第一存储器120中存储的如下执行指令:
当需要对锁资源进行加锁操作时,若加锁请求节点与当前拥有锁资源控制权限的源节点之间的网络不可用,则向共享存储中写入锁资源控制权限迁移请求,以使源节点根据锁资源控制权限迁移请求向共享存储中写入同意迁移指令;
当检测到共享存储中存在同意迁移指令时,将锁资源的owner节点标识从源节点标识变更为加锁请求节点标识,所述加锁请求节点标识用于表征所述加锁请求节点能够对锁资源进行加锁操作。
可选地,第一处理器110还用于:将锁资源的owner节点标识从源节点标识变更为加锁请求节点标识之后,在与集群中除加锁请求节点外的其它节点之间的网络均可用后,向其它节点发送锁资源控制权限迁移通知,所述锁资源控制权限迁移通知用于指示其它节点在需要对锁资源进行加锁操作时,向加锁请求节点发起加锁请求。
可选地,第一处理器110还用于:将锁资源的owner节点标识从源节点标识变更为加锁请求节点标识之后,当与源节点之间的网络可用后,从源节点处获取除加锁请求节点以外的各个节点对于锁资源的加锁状态信息;
根据获取的加锁状态信息,以及加锁请求节点对于锁资源的加锁状态信息,处理集群中各个节点针对锁资源的加锁请求。
可选地,第一处理器110具体用于:在接收到集群中任一节点发送的针对锁资源的加锁请求后,根据获取的加锁状态信息,以及加锁请求节点对于锁资源的加锁状态信息,对该任一节点发送的加锁请求进行加锁授权处理;和/或,
接收源节点在与加锁请求节点之间的网络可用后所发送的待处理加锁请求;待处理加锁请求为源节点在向共享存储中写入同意迁移指令之后,所保存的除加锁请求节点外的其它节点发送的针对锁资源的加锁请求;根据获取的加锁状态信息,以及加锁请求节点对于锁资源的加锁状态信息,对待处理加锁请求进行加锁授权处理。
如图7所示,为本申请另一实施例所提供的锁资源控制权限迁移装置示意图,该镜像文件的分布式锁资源控制权限迁移装置200包括:第二处理器210、第二存储器220和第二总线230,第二存储器220存储有执行指令,当装置运行时,第二处理器210与第二存储器220之间通过第二总线230通信,第二处理器210执行第二存储器220中存储的如下执行指令:
周期性检测共享存储中是否存在加锁请求节点的锁资源控制权限迁移请求;
在检测到共享存储中存在锁资源控制权限迁移请求后,若确定能够进行锁资源控制权限迁移,则向共享存储中写入同意迁移指令,所述同意迁移指令用于指示加锁请求节点基于变更锁资源的owner节点标识。
可选地,锁资源控制权限迁移请求中携带有加锁级别;第二处理器210具体用于:当确定集群中除加锁请求节点以外的其它节点的授权加锁状态与加锁级别兼容后,向共享存储中写入同意迁移指令。
可选地,第二处理器210还用于:向共享存储中写入同意迁移指令之后,当与加锁请求节点之间的网络可用后,将除加锁请求节点以外的各个节点对于锁资源的加锁状态信息发送给加锁请求节点。
可选地,第二处理器210还用于:检测到共享存储中存在锁资源控制权限迁移请求后,将除加锁请求节点外的其它节点所发送的加锁请求作为待处理加锁请求进行保存;
当与加锁请求节点之间的网络可用后,将保存的待处理加锁请求发送给加锁请求节点。
本申请实施例所提供的锁资源控制权限迁移方法以及装置的计算机程序产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行前面方法实施例中的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (9)

1.一种锁资源控制权限迁移方法,应用于集群中请求锁资源控制权限迁移的加锁请求节点,所述集群包括:多个节点,以及与各个节点连接的共享存储;其特征在于,所述加锁请求节点中保存有所述锁资源控制权限的拥有者owner节点标识,在进行锁资源控制权限迁移前,所述owner节点标识为源节点标识;该方法包括:
当需要对锁资源进行加锁操作时,若所述加锁请求节点与当前拥有所述锁资源控制权限的源节点之间的网络不可用,则向共享存储中写入锁资源控制权限迁移请求,以使所述源节点根据所述锁资源控制权限迁移请求向所述共享存储中写入同意迁移指令;
当检测到所述共享存储中存在所述同意迁移指令时,将所述锁资源的owner节点标识从所述源节点标识变更为所述加锁请求节点标识,以将所述锁资源控制权限由源节点迁移至所述加锁请求节点;所述加锁请求节点标识用于表征所述加锁请求节点能够对所述锁资源进行加锁操作。
2.根据权利要求1所述的方法,其特征在于,将所述锁资源的owner节点标识从所述源节点标识变更为所述加锁请求节点标识之后,还包括:
在与集群中除所述加锁请求节点外的其它节点之间的网络均可用后,向所述其它节点发送锁资源控制权限迁移通知,所述锁资源控制权限迁移通知用于指示所述其它节点在需要对所述锁资源进行加锁操作时,向所述加锁请求节点发起加锁请求。
3.根据权利要求1所述的方法,其特征在于,将所述锁资源的owner节点标识从所述源节点标识变更为所述加锁请求节点标识之后,还包括:
当与所述源节点之间的网络可用后,从所述源节点处获取除所述加锁请求节点以外的各个节点对于所述锁资源的加锁状态信息;
根据获取的所述加锁状态信息,以及所述加锁请求节点对于所述锁资源的加锁状态信息,处理集群中各个节点针对所述锁资源的加锁请求。
4.根据权利要求3所述的方法,其特征在于,所述处理集群中各个节点针对所述锁资源的加锁请求,包括:
在接收到集群中任一节点发送的针对所述锁资源的加锁请求后,根据获取的所述加锁状态信息,以及所述加锁请求节点保存的所述加锁请求节点对于所述锁资源的加锁状态信息,对该任一节点发送的加锁请求进行加锁授权处理;和/或,
接收所述源节点在与所述加锁请求节点之间的网络可用后所发送的待处理加锁请求;所述待处理加锁请求为所述源节点在向所述共享存储中写入同意迁移指令之后,所保存的除所述加锁请求节点外的其它节点发送的针对所述锁资源的加锁请求;根据获取的所述加锁状态信息,以及所述加锁请求节点对于所述锁资源的加锁状态信息,对所述待处理加锁请求进行加锁授权处理。
5.一种锁资源控制权限迁移方法,应用于集群中进行锁资源控制权限迁移的源节点,所述集群包括:多个节点,以及与各个节点连接的共享存储;其特征在于,所述源节点中保存有所述锁资源控制权限的拥有者owner节点标识,在进行锁资源控制权限迁移前,所述owner节点标识为源节点标识;该方法包括:
周期性检测共享存储中是否存在加锁请求节点的锁资源控制权限迁移请求;所述锁资源控制权限迁移请求中携带有加锁级别;
在检测到所述共享存储中存在所述锁资源控制权限迁移请求后,若集群中除加锁请求节点以外的其它节点的授权加锁状态与所述加锁级别兼容,则向所述共享存储中写入同意迁移指令,所述同意迁移指令用于指示所述加锁请求节点变更所述锁资源的owner节点标识。
6.根据权利要求5所述的方法,其特征在于,向所述共享存储中写入同意迁移指令之后,还包括:
当与所述加锁请求节点之间的网络可用后,将除所述加锁请求节点以外的各个节点对于所述锁资源的加锁状态信息发送给所述加锁请求节点。
7.根据权利要求5所述的方法,其特征在于,所述检测到所述共享存储中存在所述锁资源控制权限迁移请求后,还包括:
将除加锁请求节点外的其它节点所发送的加锁请求作为待处理加锁请求进行保存;
当与所述加锁请求节点之间的网络可用后,将保存的所述待处理加锁请求发送给所述加锁请求节点。
8.一种锁资源控制权限迁移装置,位于集群中请求锁资源控制权限迁移的加锁请求节点,所述集群包括:多个节点,以及与各个节点连接的共享存储;其特征在于,所述加锁请求节点中保存有所述锁资源控制权限的拥有者owner节点标识,在进行锁资源控制权限迁移前,所述owner节点标识为源节点标识;该装置包括:
第一写入模块:用于当需要对锁资源进行加锁操作时,若所述加锁请求节点与当前拥有所述锁资源控制权限的源节点之间的网络不可用,则向共享存储中写入锁资源控制权限迁移请求,以使所述源节点根据所述锁资源控制权限迁移请求向所述共享存储中写入同意迁移指令;
变更模块,用于当检测到所述共享存储中存在所述同意迁移指令时,将所述锁资源的owner节点标识从所述源节点标识变更为所述加锁请求节点标识,以将所述锁资源控制权限由源节点迁移至所述加锁请求节点;所述加锁请求节点标识用于表征所述加锁请求节点能够对所述锁资源进行加锁操作。
9.一种锁资源控制权限迁移装置,位于集群中进行锁资源控制权限迁移的源节点,所述集群包括:多个节点,以及与各个节点连接的共享存储;其特征在于,所述源节点中保存有所述锁资源控制权限的拥有者owner节点标识,在进行锁资源控制权限迁移前,所述owner节点标识为源节点标识;该装置包括:
周期检测模块,用于周期性检测共享存储中是否存在加锁请求节点的锁资源控制权限迁移请求;所述锁资源控制权限迁移请求中携带有加锁级别;
第二写入模块,用于在检测到所述共享存储中存在所述锁资源控制权限迁移请求后,若集群中除加锁请求节点以外的其它节点的授权加锁状态与所述加锁级别兼容,则向所述共享存储中写入同意迁移指令,所述同意迁移指令用于指示所述加锁请求节点变更所述锁资源的owner节点标识。
CN201810165989.XA 2018-02-28 2018-02-28 一种锁资源控制权限迁移方法以及装置 Active CN108446337B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810165989.XA CN108446337B (zh) 2018-02-28 2018-02-28 一种锁资源控制权限迁移方法以及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810165989.XA CN108446337B (zh) 2018-02-28 2018-02-28 一种锁资源控制权限迁移方法以及装置

Publications (2)

Publication Number Publication Date
CN108446337A CN108446337A (zh) 2018-08-24
CN108446337B true CN108446337B (zh) 2019-09-13

Family

ID=63192706

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810165989.XA Active CN108446337B (zh) 2018-02-28 2018-02-28 一种锁资源控制权限迁移方法以及装置

Country Status (1)

Country Link
CN (1) CN108446337B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110096232B (zh) * 2019-04-25 2022-09-09 新华三云计算技术有限公司 磁盘锁的处理方法、存储单元的创建方法及相关装置
CN110096231A (zh) * 2019-04-25 2019-08-06 新华三云计算技术有限公司 磁盘锁的处理方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103064729A (zh) * 2012-12-19 2013-04-24 上海西本网络科技有限公司 对共享资源的加锁、控制方法和装置
CN103078845A (zh) * 2012-12-19 2013-05-01 华为技术有限公司 访问控制列表的校验方法和共享存储系统
CN103458036A (zh) * 2013-09-03 2013-12-18 杭州华三通信技术有限公司 一种集群文件系统的访问装置和方法
CN104486373A (zh) * 2014-11-21 2015-04-01 华为技术有限公司 一种锁资源迁移方法、节点及分布式系统
CN104702655A (zh) * 2014-03-21 2015-06-10 杭州海康威视系统技术有限公司 云存储资源分配方法及其系统
CN106649600A (zh) * 2016-11-25 2017-05-10 华为技术有限公司 一种迁移文件权限的方法、装置以及系统
US9852073B2 (en) * 2012-08-07 2017-12-26 Dell Products L.P. System and method for data redundancy within a cache
CN107733916A (zh) * 2017-11-09 2018-02-23 新华三云计算技术有限公司 一种镜像文件的分布式锁资源控制权限迁移方法以及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9852073B2 (en) * 2012-08-07 2017-12-26 Dell Products L.P. System and method for data redundancy within a cache
CN103064729A (zh) * 2012-12-19 2013-04-24 上海西本网络科技有限公司 对共享资源的加锁、控制方法和装置
CN103078845A (zh) * 2012-12-19 2013-05-01 华为技术有限公司 访问控制列表的校验方法和共享存储系统
CN103458036A (zh) * 2013-09-03 2013-12-18 杭州华三通信技术有限公司 一种集群文件系统的访问装置和方法
CN104702655A (zh) * 2014-03-21 2015-06-10 杭州海康威视系统技术有限公司 云存储资源分配方法及其系统
CN104486373A (zh) * 2014-11-21 2015-04-01 华为技术有限公司 一种锁资源迁移方法、节点及分布式系统
CN106649600A (zh) * 2016-11-25 2017-05-10 华为技术有限公司 一种迁移文件权限的方法、装置以及系统
CN107733916A (zh) * 2017-11-09 2018-02-23 新华三云计算技术有限公司 一种镜像文件的分布式锁资源控制权限迁移方法以及装置

Also Published As

Publication number Publication date
CN108446337A (zh) 2018-08-24

Similar Documents

Publication Publication Date Title
US7840995B2 (en) File level security for a metadata controller in a storage area network
US20180150475A1 (en) Virtual private cloud that provides enterprise grade functionality and compliance
JP4249622B2 (ja) 共有ストレージを備えたマルチノード環境のためのシステムおよび方法
US20030220923A1 (en) Mechanism for running parallel application programs on metadata controller nodes
KR101801432B1 (ko) 파일 시스템 내에 투명 페일오버의 제공
CN112840318A (zh) 用于计算机系统的自动化操作管理
CN103324533B (zh) 分布式数据处理方法、装置及系统
US20060282877A1 (en) Mobile authorization using policy based access control
US8990954B2 (en) Distributed lock manager for file system objects in a shared file system
CN108628658A (zh) 一种容器的许可证管理方法及装置
CN109120645A (zh) 一种文件上传方法、装置、电子设备及介质
CN106063218A (zh) 虚拟化系统中加解密的方法、装置和系统
WO2007133035A1 (en) Method and apparatus for creating and applying secure file identifier of rights object by using random numbers
CN108897628A (zh) 一种分布式锁的实现方法、装置及电子设备
EP2649548A1 (en) Antimalware protection of virtual machines
CN107402822B (zh) 死锁处理方法及装置
CN111625496B (zh) 分布式文件系统在虚拟机环境下的部署方法、装置及设备
CN108446337B (zh) 一种锁资源控制权限迁移方法以及装置
US8140622B2 (en) Parallel metadata service in storage area network environment
US20030220943A1 (en) Recovery of a single metadata controller failure in a storage area network environment
TWI226549B (en) High-performance lock management for flash copy in n-way shared storage systems
CN114244568B (zh) 基于终端访问行为的安全接入控制方法、装置和设备
US20140041053A1 (en) Data block access control
Li et al. Pagurus: Eliminating cold startup in serverless computing with inter-action container sharing
GB2496840A (en) Controlling access to a shared storage system

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
GR01 Patent grant
GR01 Patent grant