【技术实现步骤摘要】
一种基于锁状态缓存的分布式锁管理器的实现方法
本专利技术属于数据库
,涉及分布式锁管理器,尤其是一种基于锁状态缓存的分布式锁管理器的实现方法。
技术介绍
随着信息技术的飞速发展,应用系统的并发请求越来越高,仅靠一台数据库服务器对外提供服务已经不能满足用户高频、高并发的访问需求。通过将数据库实例分散在多台服务器上,对外提供统一的数据库服务,可以将请求压力均匀分散到各个服务器,达到提高吞吐量的目的。基于上述背景,神通数据库提供了基于共享存储的数据库集群系统。共享存储集群拥有多个数据库节点,每个节点可以独立的对外提供服务,多个节点操作位于共享存储设施上的数据内容。集群内部各个节点间通过高速网络进行交互,保证数据库的一致性。通过多个节点并行服务,提高了数据库的吞吐量,同时提供了高可用性,能够保证在集群中只要有一个节点存活,就能正常对外提供服务。数据库集群中的各个节点在提供服务的同时,可能对数据库中的某项资源进行或读或写的操作。当有多个节点同时访问同一资源时,因为并发操作的原因,可能造成数据的不一致。协调不同节点 ...
【技术保护点】
1.一种基于锁状态缓存的分布式锁管理器的实现方法,其特征在于:包括以下步骤:/n步骤1、上层模块调用锁模块,进入锁模块并进行快速加锁;/n步骤2、检查是否有其他事务已经持有锁,处理锁冲突;/n步骤3、等待本节点事务放锁;/n步骤4、向主节点请求加锁,主节点处理加锁请求;/n步骤5、向持有锁的远程节点请求放锁,从节点处理放锁请求;/n步骤6、加锁成功,记录加锁信息并返回到上层模块。/n
【技术特征摘要】
1.一种基于锁状态缓存的分布式锁管理器的实现方法,其特征在于:包括以下步骤:
步骤1、上层模块调用锁模块,进入锁模块并进行快速加锁;
步骤2、检查是否有其他事务已经持有锁,处理锁冲突;
步骤3、等待本节点事务放锁;
步骤4、向主节点请求加锁,主节点处理加锁请求;
步骤5、向持有锁的远程节点请求放锁,从节点处理放锁请求;
步骤6、加锁成功,记录加锁信息并返回到上层模块。
2.根据权利要求1所述的一种基于锁状态缓存的分布式锁管理器的实现方法,其特征在于:所述步骤1的具体实现方法包括以下步骤:
⑴检查当前请求锁的事务是否已经持有锁,若已经持有,则加锁成功,转到步骤6;
⑵检查请求的锁是否存在;
⑶若当前节点是主节点,且锁不存在,则加锁成功,转到步骤6;
⑷若当前节点是从节点,或锁存在,则转到步骤2。
3.根据权利要求1所述的一种基于锁状态缓存的分布式锁管理器的实现方法,其特征在于:所述步骤2的具体实现方法包括以下步骤:
⑴如果没有其他事务持有该锁,则进行如下处理:
①如果是从节点,检查锁状态缓存是否有效;如果该锁的锁状态缓存有效,则加锁成功,转到步骤6,否则转到步骤4;
②如果是主节点,则加锁成功,转到步骤6;
⑵如果已经有事务持有该锁,则进行如下处理:
①如果是从节点,则继续执行步骤3;
②如果是主节点,则判断持有锁的事务是否属于远程节点,如果属于远程节点,则转到步骤5,否则转到步骤3。
4.根据权利要求1所述的一种基...
【专利技术属性】
技术研发人员:刘碧楠,周勇亮,吴嵩,蒋旭,于凯,马岳,李彬,陈振巍,
申请(专利权)人:天津神舟通用数据技术有限公司,
类型:发明
国别省市:天津;12
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。