一种磁盘锁的管理方法、装置和系统制造方法及图纸

技术编号:15329286 阅读:119 留言:0更新日期:2017-05-16 12:59
本发明专利技术实施例公开了一种磁盘锁的管理方法,装置和系统,该方法包括:第一节点向数据存储系统发送获取请求,获取请求用于请求获取磁盘锁;第一节点接收释放请求,释放请求用于请求第一节点释放磁盘锁;第一节点向数据存储系统发送释放消息,释放消息用于释放磁盘锁。第一节点在完成本次访问操作后,并不会立即释放获取的磁盘锁,而是持续占有该磁盘锁,当有第二节点需要获取该磁盘锁时,占有该磁盘锁的第一节点会接收到释放请求,并根据释放请求释放该磁盘锁,以供第二节点使用,从而避免了对磁盘锁频繁的申请和释放的操作,减少了对因申请和释放磁盘锁对磁盘IO的占用,提升了系统的整体性能。

Method, device and system for managing disk lock

The embodiment of the invention discloses a management method for disk lock, device and system. The method includes: a first node sends a request to access a data storage system, request for requesting access to the disk lock; the first node receives a release request release request used to request the first node release disk lock release; the first node sends a message to the data storage system for releasing disk lock release message. The first node in the completion of the visit after the operation, and will not immediately release the disk lock, but continue to hold the disk lock, when there are second nodes need to access the disk lock, the lock disk occupies the first node receives a release request, and according to the release request to release the lock disk, for second nodes, thus avoiding the frequent disk lock request and release operations, reduced due to the application and release the lock on the disk IO disk occupancy, improve the overall performance of the system.

【技术实现步骤摘要】
一种磁盘锁的管理方法、装置和系统
本专利技术实施例涉及计算机领域,尤其涉及一种资源访问的方法、装置和系统。
技术介绍
在分布式系统中,分布式锁是不可或缺。而分布式锁有很多种实现方法。磁盘锁是分布式锁的一种实现形式,拥有磁盘锁的节点用于访问磁盘锁对应资源的权限,节点通过光纤存储区域网络(FiberChannelStorageAreaNetwork,FCSAN)或互联网协议存储区域网络(InternetProtocolStorageAreaNetwork,IPSAN)以小型计算机系统接口(Smallcomputersysteminterface,SCSI)命令的形式将加锁、解锁的消息写入磁盘,或者通过FC-SAN或IP-SAN以SCSI命令的形式从磁盘读出锁的状态,从而决定是否加锁或解锁。磁盘锁存储于磁盘上的,每次要刷新锁的信息就是不断地读磁盘,然后将新的锁信息写到磁盘,对磁盘锁的频繁刷新会锁消耗大量的磁盘输入输出(InputOutput,IO)。在一个中等规模的分布式系统中,如果所有节点都这样不断地从磁盘读锁信息,然后将锁信息写到磁盘,那么大量地IO将被磁盘锁占用,系统的性能将会受到很大的影响。
技术实现思路
有鉴于此,本专利技术实施例公开了一种磁盘锁的管理方法、装置和系统。以根据实际的需求,来对磁盘锁进行操作,减少了对磁盘锁的频繁更新,提升了分布式系统的性能。第一方面,本申请提供了一种磁盘锁的管理方法,资源和资源的磁盘锁保存在数据存储系统中,占有磁盘锁的节点拥有访问资源的权限,该方法包括:第一节点向数据存储系统发送获取请求,获取请求用于请求获取磁盘锁;第一节点接收释放请求,释放请求用于请求第一节点释放磁盘锁;第一节点向数据存储系统发送释放消息,释放消息用于释放磁盘锁。结合第一方面,在第一方面第一种可能的实现方式中,第一节点接收释放请求包括:第一节点接收来自第二节点的释放请求,第二节点为待请求获取磁盘锁的节点。如果第一节点和第二节点互联,则第二节点需要访问资源时,可以直接向第一节点发送释放请求,请求第一节点释放该资源的磁盘锁。结合第一方面第一种可能的实现方式,在第一方面第二种可能的实现方式中,第一节点向数据存储系统发送释放消息之后,该方法还包括:第一节点向第二节点发送确认消息,确认消息用于指示第一节点已经释放磁盘锁。第一节点释放磁盘锁后,可以通过向第二节点发送确认消息,用于指示已经释放了磁盘锁,第二节点接收到确认消息后,可以去申请磁盘锁,从而获得访问资源的权限。结合第一方面或第一方面以上任一种可能的实现方式,在第一方面第三种可能的实现方式中,第一节点接收释放请求包括:第一节点接收来自数据存储系统的释放请求。当第二节点和第一节点没有互联时,可以通过数据存储系统向第一节点发送释放请求,从而使第一节点释放磁盘锁。结合第一方面或第一方面以上任一种可能的实现方式,在第一方面第四种可能的实现方式中,第一节点向数据存储系统发送释放消息之前,该方法还包括:第一节点确定第一节点占用磁盘锁的时间超过预设的阈值。为了避免频繁的锁申请和锁释放,可以为每个节点设置一个预设的时间阈值,当一个节点对磁盘锁的占用时间超过这个预设的阈值后,才会释放磁盘锁。结合第一方面或第一方面以上任一种可能的实现方式,在第一方面第五种可能的实现方式中,磁盘锁包含占有字段,占有字段用于记录占有磁盘锁的节点,获取请求中携带第一节点的标识,获取请求用于将第一节点的标识写入磁盘锁的占有字段。第二方面,本申请提供一种磁盘锁的管理方法,资源和资源的磁盘锁保存在数据存储系统中,磁盘锁包含占有字段,占有字段用于记录占有磁盘锁的节点,占有磁盘锁的节点拥有访问资源的权限,该方法包括:第二节点读取磁盘锁;第二节点根据读取的磁盘锁的占有字段,确定磁盘锁被第一节点占用;第二节点向第一节点发送释放请求,释放请求用于请求第一节点释放磁盘锁。结合第二方面,在第二方面第一种可能的实现方式中,第二节点向第一节点发送释放请求之后,该方法还包括:第二节点接收第一节点发送的确认消息,确认消息用于指示第一节点已经释放磁盘锁。第一节点释放磁盘锁后,可以通过主动通知的形式,使得第二节点获取这一消息,第二节点获取确认消息后,可以去申请磁盘锁,从而可以避免第二节点对磁盘锁状态频繁的确认操作。结合第二方面或第二方面第一种可能的实现方式,在第二方面第二种可能的实现方式中,所第二节点向第一节点发送释放请求之后,该方法还包括:第二节点向数据存储系统发送获取请求,磁获取请求用于请求获取磁盘锁。第三方面,一种可读介质,其特征在于,包括执行指令,当计算设备的处理器执行该执行指令时,该计算设备执行以上任一方面或以上任一方面的任一种可能的实现方式中的方法。第四方面,本申请提供了一种计算设备,其特征在于,包括:处理器、存储器和总线;存储器用于存储执行指令,处理器与存储器通过总线连接,当计算设备运行时,处理器执行存储器存储的执行指令,以使计算设备执行以上任一方面或以上任一方面的任一种可能的实现方式中的方法。第五方面,本申请提供了一种磁盘锁的管理装置,资源和资源的磁盘锁保存在数据存储系统中,占有磁盘锁的节点拥有访问资源的权限,该装置包括:发送单元,用于向数据存储系统发送获取请求,获取请求用于请求获取磁盘锁;接收单元,用于接收释放请求,释放请求用于请求第一节点释放磁盘锁;发送单元还用于向数据存储系统发送释放消息,释放消息用于释放磁盘锁。结合第五方面,在第五方面第一种可能的实现方式中,接收单元具体用于接收来自第二节点的释放请求,第二节点为待请求获取磁盘锁的节点。结合第五方面第一种可能的实现方式,在第五方面第二种可能的实现方式中,发送单元向数据存储系统发送释放消息之后,还用于向第二节点发送确认消息,确认消息用于指示第一节点已经释放磁盘锁。结合第五方面,在第五方面第三种可能的实现方式中,接收单元具体用于接收来自数据存储系统的释放请求。结合第五方面或第五方面以上任一种可能的实现方式,在第五方面第四种可能的实现方式中,该装置还包括确定单元,发送单元向数据存储系统发送释放消息之前,确定单元用于确定第一节点占用磁盘锁的时间超过预设的阈值。结合第五方面或第五方面以上任一种可能的实现方式,在第五方面第五种可能的实现方式中,磁盘锁包含占有字段,占有字段用于记录占有磁盘锁的节点,获取请求中携带第一节点的标识,获取请求用于将第一节点的标识写入磁盘锁的占有字段。第五方面为第一方面方法对应的装置实现方式,第一方面或第一方面任一种可能的实现方式中的描述对应适用于第五方面或第五方面任一种可能的实现方式,在此不再赘述。第六方面,本申请提供一种磁盘锁的管理装置,资源和资源的磁盘锁保存在数据存储系统中,磁盘锁包含占有字段,占有字段用于记录占有磁盘锁的节点,占有磁盘锁的节点拥有访问资源的权限,该装置包括:读取单元,用于读取磁盘锁;确定单元,用于根据读取的磁盘锁的占有字段,确定磁盘锁被第一节点占用;发送单元,用于向第一节点发送释放请求,释放请求用于请求第一节点释放磁盘锁。结合第六方面,在第六方面第一种可能的实现方式中,该装置还包括接收单元,发送单元向第一节点发送释放请求之后,接收单元用于接收第一节点发送的确认消息,确认消息用于指示第一节点已经释放磁盘锁。结合第六方面或本文档来自技高网...
一种磁盘锁的管理方法、装置和系统

【技术保护点】
一种磁盘锁的管理方法,其特征在于,资源和所述资源的磁盘锁保存在数据存储系统中,占有所述磁盘锁的节点拥有访问所述资源的权限,所述方法包括:第一节点向所述数据存储系统发送获取请求,所述获取请求用于请求获取所述磁盘锁;所述第一节点接收释放请求,所述释放请求用于请求所述第一节点释放所述磁盘锁;所述第一节点向所述数据存储系统发送释放消息,所述释放消息用于释放所述磁盘锁。

【技术特征摘要】
1.一种磁盘锁的管理方法,其特征在于,资源和所述资源的磁盘锁保存在数据存储系统中,占有所述磁盘锁的节点拥有访问所述资源的权限,所述方法包括:第一节点向所述数据存储系统发送获取请求,所述获取请求用于请求获取所述磁盘锁;所述第一节点接收释放请求,所述释放请求用于请求所述第一节点释放所述磁盘锁;所述第一节点向所述数据存储系统发送释放消息,所述释放消息用于释放所述磁盘锁。2.根据权利要求1所述的方法,其特征在于,所述第一节点接收释放请求包括:所述第一节点接收来自第二节点的释放请求,所述第二节点为待请求获取所述磁盘锁的节点。3.根据权利要求2所述的方法,其特征在于,所述第一节点向所述数据存储系统发送释放消息之后,所述方法还包括:所述第一节点向所述第二节点发送确认消息,所述确认消息用于指示所述第一节点已经释放所述磁盘锁。4.根据权利要求1所述的方法,其特征在于,所述第一节点接收释放请求包括:所述第一节点接收来自所述数据存储系统的释放请求。5.根据权利要求1-4任一项所述的方法,其特征在于,所述第一节点向所述数据存储系统发送释放消息之前,所述方法还包括:所述第一节点确定所述第一节点占用所述磁盘锁的时间超过预设的阈值。6.根据权利要求1-5任一项所述的方法,其特征在于,所述磁盘锁包含占有字段,所述占有字段用于记录占有所述磁盘锁的节点,所述获取请求中携带所述第一节点的标识,所述获取请求用于将所述第一节点的标识写入所述磁盘锁的占有字段。7.一种磁盘锁的管理方法,其特征在于,资源和所述资源的磁盘锁保存在数据存储系统中,所述磁盘锁包含占有字段,所述占有字段用于记录占有所述磁盘锁的节点,占有所述磁盘锁的节点拥有访问所述资源的权限,所述方法包括:第二节点读取所述磁盘锁;所述第二节点根据读取的所述磁盘锁的占有字段,确定所述磁盘锁被第一节点占用;所述第二节点向所述第一节点发送释放请求,所述释放请求用于请求所述第一节点释放所述磁盘锁。8.根据权利要求7所述的方法,其特征在于,所述第二节点向所述第一节点发送释放请求之后,还包括:所述第二节点接收所述第一节点发送的确认消息,所述确认消息用于指示所述第一节点已经释放所述磁盘锁。9.根据权利要求7或8所述的方法,其特征在于,所所述第二节点向所述第一节点发送释放请求之后,所述方法还包括:所述第二节点向所述数据存储系统发送获取请求,所述磁获取请求用于请求获取所述磁盘锁。10.一种磁盘锁的管理装置,其特征在于,资源和所述资源的磁盘锁保存在数据存储系统中,占有所述磁盘锁的节点拥有访问所述资源的权限,所述装置包括:发送单元,用于向所述数据存储系统发送获取请求,所述获取请求用于请求获取所述磁盘锁;接收单元,用于接收释放请求,所述释放请求用于请求所述第一节点释放所述磁盘锁;所述发送单元还用于向所述数据存储系统发送释放消息,所述释放消息用于释放所述磁盘锁。11.根据权利要求10所述的装置,其特征在于,所述接收单元具体用于接收来自第二节点的释放请求,所述第二节点为待请求获取所述磁盘锁的节点。12.根据权利要求11所述的装置,其特征在于,所述发送单元向所述数据存储系统发送释放消息之后,还用于向所述第二节点发送确认消息,所述确认消息用于指示所述第一节点已经释放所述磁盘锁。13.根据权利要求10所述的装置,其特征在于,所述接收单元具体用于接收来自所述数据存储系统的释放请求。14.根据权利要求10-13任...

【专利技术属性】
技术研发人员:程菊生薛玖飞江毅文王义彬
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1