一种锁操作处理方法及装置制造方法及图纸

技术编号:16969365 阅读:31 留言:0更新日期:2018-01-07 06:25
本发明专利技术提供一种锁操作处理方法及装置,所述方法包括:当检测到第一类型锁操作,且锁资源的状态为第一状态时,将所述第一类型锁操作下发到磁盘,并将所述锁资源的状态设置为第二状态;其中,所述锁资源的初始状态为第一状态;当再次检测到所述第一类型锁操作时,将所述第一类型锁操作下发到内存。应用本发明专利技术实施例可以减少锁操作在磁盘上的处理,提高锁操作处理性能。

【技术实现步骤摘要】
一种锁操作处理方法及装置
本专利技术涉及数据处理
,尤其涉及一种锁操作处理方法及装置。
技术介绍
共享文件系统是指多个节点组成一个集群,访问同一块存储空间,在任意节点上读写文件,在其他节点上也仍可以访问该文件,节点间通过分布式锁协商读写权限。磁盘锁是一种分布式锁,基于ATS(AtomicTest&Set,原子测试与设置)的SCSI(SmallComputerSystemInterface,小型计算机系统接口)比较写指令来实现;比较写是原子操作,不可中断的,因此用来实现磁盘锁。当调用节点的共享文件系统的系统操作接口,如获取属性(getattr),设置属性(setattr),读目录(readdir)时,会触发磁盘锁操作。共享文件系统可以挂载在通用文件系统VFS(VirtualFileSystem,虚拟文件系统)下。VFS通过锁资源(lockres)将磁盘锁下发到磁盘,其中,磁盘锁可以包括PR锁(ProtectiveReadlock,保护读锁)和EX锁(EXclusivelock,排它锁);PR锁可由多个节点同时获取,EX锁只能在无锁时获取,且只有一个节点能获取;加PR锁后,锁状态为PR,加EX锁后,锁状态为EX。获取PR锁的多个节点全部解锁PR后,成为无锁。获取EX锁的节点解锁EX后,成为无锁。实践发现,用户对共享文件系统进行操作时,会下发大量的getattr、readdir等操作,从而会引发大量的磁盘锁操作,磁盘锁操作较为耗时,且性能较低。
技术实现思路
本专利技术提供一种锁操作处理方法及装置,以减少锁操作在磁盘上的处理,提高锁操作处理性能。根据本专利技术的第一方面,提供一种锁操作处理方法,包括:当检测到第一类型锁操作,且锁资源的状态为第一状态时,将所述第一类型锁操作下发到磁盘,并将所述锁资源的状态设置为第二状态;其中,所述锁资源的初始状态为第一状态;当再次检测到所述第一类型锁操作时,将所述第一类型锁操作下发到内存。根据本专利技术的第二方面,提供一种锁操作处理装置,包括:检测单元、下发单元以及设置单元;其中:所述下发单元,用于当所述检测单元检测到第一类型锁操作,且锁资源的状态为第一状态时,将所述第一类型锁操作下发到磁盘;其中,所述锁资源的初始状态为第一状态;所述设置单元,用于当所述下发单元将所述第一类型锁操作下发到磁盘时,将所述锁资源的状态设置为第二状态;所述下发单元,还用于当所述检测单元再次检测到所述第一类型锁操作时,将所述第一类型锁操作下发到内存。应用本专利技术公开的技术方案,当检测到第一类型锁操作,且锁资源的状态为第一状态时,将第一类型锁操作下发到磁盘,并将锁资源的状态设置为第二状态;当再次检测到第一类型锁操作时,将第一类型锁操作下发到内存,对于连续多次同一类型的锁操作,仅需要进行一次实际的磁盘锁操作,从而,减少了锁操作在磁盘上的处理,提高了锁操作处理性能。附图说明图1是本专利技术实施例提供的一种锁操作处理方法的流程示意图;图2A~2D是本专利技术实施例提供的具体实例中锁操作的示意图;图3是本专利技术实施例提供的一种锁操作处理装置的结构示意图。具体实施方式为了使本
的人员更好地理解本专利技术实施例中的技术方案,下面先对本专利技术实施例中涉及的部分概念进行简单解释说明。锁操作:包括PR锁操作以及EX锁操作,PR锁操作以及EX锁操作均分别包括加锁操作(PR加锁操作、EX加锁操作)和解锁操作(PR解锁操作、EX解锁操作)。锁资源的状态:包括第一状态和第二状态;其中:当锁资源的状态为第一状态时,锁操作下发到磁盘,并将锁资源的状态设置为第二状态;当锁资源的状态为第二状态时,锁操作下发到内存;其中,锁资源的初始状态为第一状态。磁盘锁的状态:包括第三状态和第四状态;其中:磁盘锁的状态为第三状态,表明磁盘中锁的状态与内存中锁的状态一致;磁盘锁的状态为第四状态,表明磁盘中锁的状态与内存中锁的状态不一致;其中,磁盘锁的初始状态为第三状态。定义如下操作:R+:加PR锁到磁盘;R+:加PR锁到内存;R-:解PR锁到磁盘;R-:解PR锁到内存;X+:加EX锁到磁盘;X+:加EX锁到内存;X-:解EX锁到磁盘;X-:解EX锁到内存。为了使本专利技术实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本专利技术实施例中技术方案作进一步详细的说明。请参见图1,为本专利技术实施例提供的一种锁操作处理方法的流程示意图,其中,该锁操作处理方法可以应用于部署共享文件系统的集群节点,如图1所示,该锁操作处理方法可以包括以下步骤:步骤101、当检测到第一类型锁操作,且锁资源的状态为第一状态时,将该第一类型锁操作下发到磁盘,并将该锁资源的状态设置为第二状态;其中,锁资源的初始状态为第一状态。本专利技术实施例中,第一类型锁可以包括PR锁或EX锁。当集群节点检测到第一类型锁操作时,可以获取当前锁资源的状态,若锁资源的状态为第一状态,则集群节点可以将该第一类型锁操作下发到磁盘,并将锁资源的状态设置为第二状态。举例来说,假设第一类型锁为PR锁,当集群节点检测到PR加锁操作,且当前锁资源的状态为第一状态时,集群节点可以将该RP加锁操作下发的磁盘,当锁操作成功时,磁盘中锁的状态为PR加锁状态,此时,集群节点可以将锁资源的状态设置为第二状态。步骤102、当再次检测到第一类型锁操作时,将该第一类型锁操作下发到内存。本专利技术实施例中,当集群节点将锁资源的状态设置为第二状态之后,若再次接收到第一类型锁操作时,集群节点只需要将该第一类型锁操作下发到内存中,而不需要将其下发到磁盘,从而,能够减少锁操作在磁盘上的处理,提高锁操作处理性能。举例来说,假设第一类型锁为PR锁,当集群节点检测到PR加锁操作,且当前锁资源的状态为第一状态时,集群节点可以将该RP加锁操作下发的磁盘,当锁操作成功时,磁盘中锁的状态为PR加锁状态,此时,集群节点可以将锁资源的状态设置为第二状态。在该情况下,当集群节点检测到PR解锁操作时,集群节点仅会将该PR解锁操作下发到内存,而不会下发到磁盘,即磁盘中锁的状态仍然为PR加锁状态;当集群节点再次检测到PR加锁操作时,集群节点仍然仅会将该PR加锁操作下发到内存,而不会下发到磁盘。可见,在本专利技术实施例中,对于连续多次同一类型的锁操作,仅需要进行一次实际的磁盘锁操作,从而,减少了锁操作在磁盘上的处理,提高了锁操作处理性能。进一步地,在本专利技术实施例中,上述将第一类型锁操作下发到磁盘之后,还可以包括:当检测到第二类型锁操作时,确定该第二类型锁操作失败,并将磁盘锁的状态设置为第四状态;其中,该磁盘锁的初始状态为第三状态。本专利技术实施例中,当磁盘中锁状态为EX加锁状态,且集群节点检测到PR加锁操作时,或者,当磁盘中锁状态为PR加锁状态,且集群节点检测到EX加锁操作时,集群节点均需将磁盘锁的状态设置为第四状态。相应地,在本专利技术实施例中,当集群节点将第一类型锁操作下发到磁盘之后,集群节点会将锁资源的状态设置为第二状态,即下次锁操作会被下发到内存。此时,若集群节点接收到第二类型锁操作,则内存中为第二类型锁,而磁盘中为第一类型锁,显然,磁盘中锁的状态与内存中锁的状态不一致,此时,集群节点可以确定该第二类型锁操作失败,并将磁盘锁的状态设置为第四状态。进一步地,在本专利技术实施例中,上述确定第二类型锁本文档来自技高网
...
一种锁操作处理方法及装置

【技术保护点】
一种锁操作处理方法,其特征在于,包括:当检测到第一类型锁操作,且锁资源的状态为第一状态时,将所述第一类型锁操作下发到磁盘,并将所述锁资源的状态设置为第二状态;其中,所述锁资源的初始状态为第一状态;当再次检测到所述第一类型锁操作时,将所述第一类型锁操作下发到内存。

【技术特征摘要】
1.一种锁操作处理方法,其特征在于,包括:当检测到第一类型锁操作,且锁资源的状态为第一状态时,将所述第一类型锁操作下发到磁盘,并将所述锁资源的状态设置为第二状态;其中,所述锁资源的初始状态为第一状态;当再次检测到所述第一类型锁操作时,将所述第一类型锁操作下发到内存。2.根据权利要求1所述的方法,其特征在于,所述将所述第一类型锁操作下发到磁盘之后,还包括:当检测到第二类型锁操作时,确定该第二类型锁操作失败,并将磁盘锁的状态设置为第四状态;其中,所述磁盘锁的初始状态为第三状态。3.根据权利要求2所述的方法,其特征在于,所述确定该第二类型锁操作失败之后,还包括:若上一次第一类型锁操作为加锁操作,则当检测到解锁操作的第一类型锁操作时,将该解锁操作的第一类型锁操作下发到磁盘,并将所述锁资源设置为第一状态;若上一次第一类型锁操作为解锁操作,则将该解锁操作的第一类型锁操作下发到磁盘,并将所述锁资源设置为第一状态。4.根据权利要求3所述的方法,其特征在于,当所述第一类型锁为排它锁时,所述将该解锁操作的第一类型锁操作下发到磁盘之后,还包括:将所述磁盘锁的状态设置为第三状态。5.根据权利要求3所述的方法,其特征在于,当所述第一类型锁为保护读锁,所述第二类型锁为排它锁时,所述将所述锁资源设置为第一状态之后,还包括:当获取所述第一类型锁的所有节点均完成解锁操作,且检测到加锁操作的第二类型锁操作时,将该加锁操作的第二类型锁操作下发到磁盘,并将所述磁盘锁的状态设置为第三状态。6.一种锁操作处理装置,其特征在于,包括:检测单元、下发单元以及设置单元;其中:所述下发单元,用于当所述检测单元检测到第一类型锁操作,且锁资源的状态为第一状...

【专利技术属性】
技术研发人员:钟晋明
申请(专利权)人:新华三云计算技术有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1