[发明专利]一种锁操作处理方法及装置有效
申请号: | 201710330135.8 | 申请日: | 2017-05-11 |
公开(公告)号: | CN107544851B | 公开(公告)日: | 2020-06-09 |
发明(设计)人: | 钟晋明 | 申请(专利权)人: | 新华三云计算技术有限公司 |
主分类号: | G06F9/52 | 分类号: | G06F9/52 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
地址: | 610041 四川省成都市高新区天华二路2*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 操作 处理 方法 装置 | ||
本发明提供一种锁操作处理方法及装置,所述方法包括:当检测到第一类型锁操作,且锁资源的状态为第一状态时,将所述第一类型锁操作下发到磁盘,并将所述锁资源的状态设置为第二状态;其中,所述锁资源的初始状态为第一状态;当再次检测到所述第一类型锁操作时,将所述第一类型锁操作下发到内存。应用本发明实施例可以减少锁操作在磁盘上的处理,提高锁操作处理性能。
技术领域
本发明涉及数据处理技术领域,尤其涉及一种锁操作处理方法及装置。
背景技术
共享文件系统是指多个节点组成一个集群,访问同一块存储空间,在任意节点上读写文件,在其他节点上也仍可以访问该文件,节点间通过分布式锁协商读写权限。
磁盘锁是一种分布式锁,基于ATS(Atomic TestSet,原子测试与设置)的SCSI(Small Computer System Interface,小型计算机系统接口)比较写指令来实现;比较写是原子操作,不可中断的,因此用来实现磁盘锁。
当调用节点的共享文件系统的系统操作接口,如获取属性(getattr),设置属性(setattr),读目录(readdir)时,会触发磁盘锁操作。
共享文件系统可以挂载在通用文件系统VFS(Virtual File System,虚拟文件系统)下。VFS通过锁资源(lockres)将磁盘锁下发到磁盘,其中,磁盘锁可以包括PR锁(Protective Read lock,保护读锁)和EX锁(EXclusive lock,排它锁);PR锁可由多个节点同时获取,EX锁只能在无锁时获取,且只有一个节点能获取;加PR锁后,锁状态为PR,加EX锁后,锁状态为EX。获取PR锁的多个节点全部解锁PR后,成为无锁。获取EX锁的节点解锁EX后,成为无锁。
实践发现,用户对共享文件系统进行操作时,会下发大量的getattr、readdir等操作,从而会引发大量的磁盘锁操作,磁盘锁操作较为耗时,且性能较低。
发明内容
本发明提供一种锁操作处理方法及装置,以减少锁操作在磁盘上的处理,提高锁操作处理性能。
根据本发明的第一方面,提供一种锁操作处理方法,包括:
当检测到第一类型锁操作,且锁资源的状态为第一状态时,将所述第一类型锁操作下发到磁盘,并将所述锁资源的状态设置为第二状态;其中,所述锁资源的初始状态为第一状态;
当再次检测到所述第一类型锁操作时,将所述第一类型锁操作下发到内存。
根据本发明的第二方面,提供一种锁操作处理装置,包括:检测单元、下发单元以及设置单元;其中:
所述下发单元,用于当所述检测单元检测到第一类型锁操作,且锁资源的状态为第一状态时,将所述第一类型锁操作下发到磁盘;其中,所述锁资源的初始状态为第一状态;
所述设置单元,用于当所述下发单元将所述第一类型锁操作下发到磁盘时,将所述锁资源的状态设置为第二状态;
所述下发单元,还用于当所述检测单元再次检测到所述第一类型锁操作时,将所述第一类型锁操作下发到内存。
应用本发明公开的技术方案,当检测到第一类型锁操作,且锁资源的状态为第一状态时,将第一类型锁操作下发到磁盘,并将锁资源的状态设置为第二状态;当再次检测到第一类型锁操作时,将第一类型锁操作下发到内存,对于连续多次同一类型的锁操作,仅需要进行一次实际的磁盘锁操作,从而,减少了锁操作在磁盘上的处理,提高了锁操作处理性能。
附图说明
图1是本发明实施例提供的一种锁操作处理方法的流程示意图;
图2A~2D是本发明实施例提供的具体实例中锁操作的示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于新华三云计算技术有限公司,未经新华三云计算技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710330135.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于控制分布式锁的方法和装置
- 下一篇:信息推送方法和装置