[发明专利]锁管理方法及系统、锁管理系统的配置方法及装置有效
申请号: | 201310746990.9 | 申请日: | 2013-12-30 |
公开(公告)号: | CN103744719B | 公开(公告)日: | 2017-12-29 |
发明(设计)人: | 黄文龙;车皓阳;王传廷 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/50 |
代理公司: | 北京中博世达专利商标代理有限公司11274 | 代理人: | 申健 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 管理 方法 系统 配置 装置 | ||
技术领域
本发明涉及计算机领域,尤其涉及一种锁管理方法及系统、锁管理系统的配置方法及装置。
背景技术
分布式系统中,数据被分布在多个业务执行节点中的进程共享,进程要对任意资源执行操作,都必须事先获得一个锁。不同进程间并发访问的控制由全局锁管理器来实现,全局锁管理器中记录着各个进程访问资源和持有锁的情况,并维护锁等待队列。当全局锁管理器收到锁请求时,根据锁类型、锁兼容性及锁持有状态来决定是否满足该锁请求。
现有的锁管理系统采用全局、节点锁管理器协同技术,在业务执行节点中每个系统实例上都有节点锁管理器,每个系统实例管理的进程共享锁管理器,系统实例对应的进程有了锁请求后,先发送该锁请求到节点锁管理器,如果节点锁管理器能处理该锁请求,则节点锁管理器返回锁给请求锁的进程;如果节点锁管理器无法处理该锁请求,节点锁管理器将锁请求发送到全局锁管理器,由全局锁管理器处理。
在实现上述锁管理系统的过程中,现有技术中的锁管理系统在程序开发时便决定了锁管理系统的层级,在系统出现大量锁访问请求时,锁访问延迟较高,系统运行性能无法得到保证。
发明内容
本发明的实施例提供一种锁管理方法及系统、锁管理系统的配置方法及装置,能够减少锁访问延迟,提高系统运行性能。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种分布式系统中的锁管理系统的配置方法,包括:
根据所述分布式系统包含的业务执行节点的数量、所有业务执行节点上系统实例的数量以及处理进程的数量、及各个业务执行节点到所述分布式系统的中心控制节点的访问延迟,为每个业务执行节点设置对应的锁管理系统的层级;
分别根据每个业务执行节点对应的所述锁管理系统的层级为每个业务执行节点至少分配一个锁管理器;
为所述每个锁管理器配置锁级别上下文,其中锁级别上下文用于确定所述每个锁管理器相邻的锁管理器。
结合第一方面,在第一种可能的实现方式中,所述分别根据每个业务执行节点对应的所述锁管理系统的层级为每个所述业务执行节点至少分配一个锁管理器,具体包括:
当为业务执行节点设置的锁管理系统为两个层级时,为该业务执行节点分配一个节点锁管理器及一个全局锁管理器,所述节点锁管理器的上级的锁管理器为全局锁管理器;
当为业务执行节点设置的锁管理系统的层级大于二层时,为该业务执行节点分配一个节点锁管理器、一个全局锁管理器及至少一个设置于所述节点锁管理器和全局锁管理器之间的局部锁管理器,并根据所述锁级别上下文确定每个局部锁管理器上级的锁管理器和下级的锁管理器,其中位于下级的锁管理器向位于上级的锁管理器请求锁。
结合第一方面第一种可能的实现方式,在第二种可能的实现方式中,根据每个业务执行节点对应的所述锁管理系统的层级为每个所述业务执行节点至少分配一个锁管理器后,还包括:
当所述全局锁管理器对应的业务执行节点与至少一个系统实例所在业务执行节点不同时,为所述至少一个系统实例对应的业务执行节点设置一个层级的锁管理器。
结合第一方面或第一方面任意一种可能的实现方式,在第三种可能的实现方式中,所述锁管理上下文包括:锁层级数量、锁管理器所在层级、上级的锁管理器、下级的锁管理器、锁管理器负责的业务执行节点。
第二方面,提供一种锁管理方法,包括:
通过为业务执行节点分配的节点锁管理器接收所述业务执行节点发送的锁请求,根据所述节点锁管理器持有锁的状态向上级的锁管理器继续发送所述锁请求,或者返回所述锁请求对应的锁给所述业务执行节点;
通过所述节点锁管理器的上级的锁管理器接收所述锁请求,根据持有锁的状态向更上级的锁管理器继续发送所述锁请求,或者返回所述锁请求对应的锁给所述节点锁管理器;
按照设置的锁管理系统的层级,所述节点锁管理器以上各级锁管理器依次按照本级持有锁的状态对所述锁请求进行处理,直到所述锁请求发送至所述全局锁管理器,通过所述全局锁管理器返回所述锁请求对应的锁给所述全局锁管理器的下级的锁管理器直到返回所述锁请求对应的锁至所述业务执行节点。
结合第二方面,在第一种可能的实现方式中,所述根据所述节点锁管理器持有锁的状态向上级的锁管理器继续发送所述锁请求,或者返回所述锁请求对应的锁给所述业务执行节点,具体包括:
当所述节点锁管理器持有所述锁请求对应的锁时,通过所述节点锁管理器返回所述锁请求对应的锁至所述业务执行节点;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310746990.9/2.html,转载请声明来源钻瓜专利网。