[发明专利]一种基于分布式数据库的表锁实现方法有效

专利信息
申请号: 202110214101.9 申请日: 2021-02-26
公开(公告)号: CN112835982B 公开(公告)日: 2023-03-24
发明(设计)人: 张琦;周恒;陈磊;李欣泽 申请(专利权)人: 浪潮云信息技术股份公司
主分类号: G06F16/27 分类号: G06F16/27;G06F16/2455
代理公司: 济南信达专利事务所有限公司 37100 代理人: 郗艳荣
地址: 250100 山东省济南市高*** 国省代码: 山东;37
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 分布式 数据库 实现 方法
【权利要求书】:

1.一种基于分布式数据库的表锁实现方法,其特征在于:当数据库中出现长事务时,通过上表锁将事务要进行读和/或写操作的table变为该事务独有,并将该事务的优先级设置为最大,以保证该事务在与其他事务产生冲突时自身不被回滚;

具体包括以下步骤:

步骤1:在分布式系统启动时自动创建一个系统表lock_table,用于存储表锁的相关信息;

步骤2:在分布式系统的各个节点缓存表级锁信息

在数据库的每个节点构造一个节点级别的缓存,用于将表锁信息缓存到每个节点本地,避免每次获取表锁信息时跨节点和读磁盘,造成巨大的性能损耗;

步骤3:在各个节点加入阻塞队列,用于延迟事务拿到表锁的时间,防止由于锁冲突而立刻回滚;

所述表锁只能在显示事务中通过对应的语法添加,加锁步骤如下:

(1)在使用加锁语法后,通过sql引擎解析加锁语法,将加锁操作发送到目标表所在节点;

(2)通过检查本节点表锁缓存来判断目标表是否已被加锁,如果已被加锁,则进入等待队列;如果表锁缓存中没有目标表的加锁信息,则表示目标表没有被加锁,则在系统表lock_table中写入加锁信息,然后将增量加锁信息通过gossip广播至所有节点;

步骤4:实现保护机制,防止死锁

系统设置阈时间,当事务持有的锁超时时,自动解锁;

当节点宕机时,事务持有的该节点的表的锁自动解锁,阻塞事务全部回滚;

使用死锁检测算法,当多个事务发生死锁时,随机回滚其中一个事务打破死锁;

所述步骤4中,在事务进入等待状态后,开启新携程计时,当超过阈时间的3倍时间后仍未受到更新表锁的信息时,认为广播表锁信息的节点宕机,解锁当前节点中等到状态的事务查询表锁信息,若发现上锁信息已过期,则广播解锁信息。

2.根据权利要求1所述的基于分布式数据库的表锁实现方法,其特征在于:所述步骤1中,当增加/删除表锁信息时,先更新系统表lock_table,然后将更新的表锁信息通过gossip从输入节点传播至全集群每个节点,用于更新各节点的表锁缓存。

3.根据权利要求1或2所述的基于分布式数据库的表锁实现方法,其特征在于:所述步骤3中,利用缓存队列保证FIFO,防止事务饿死;通过心跳更新队列将回滚事务及时从队列中清除。

4.根据权利要求1所述的基于分布式数据库的表锁实现方法,其特征在于:所述表锁解锁时,先执行解锁语法,将目标锁信息从系统表lock_table中删除,然后将删除动作通过gossip广播至所有节点;在所有节点执行删除动作并将加锁信息从缓存中删除,同时唤醒在该表的等待队列上的队首请求,获取该表锁。

5.根据权利要求4所述的基于分布式数据库的表锁实现方法,其特征在于:所述步骤4中,通过语法设置本集群的阈时间,用于每隔该时间更新每个节点的表锁缓存;当事务获取到目标关系存在表锁时,当发现其存储的加锁时间与当下的时间距离超过了阈时间的2倍时,认为该上锁信息已过期,重新构建一条解锁消息覆盖已过期的上锁信息即可。

6.根据权利要求4所述的基于分布式数据库的表锁实现方法,其特征在于:所述步骤4中,当两个事务因产生冲突均进入等待状态产生死锁的情况时,通过使用死锁检测算法,在构建上锁计划层的同时,向store层发送验证是否存在死锁的判断,当发现产生死锁时,随机回滚一个事务。

7.根据权利要求4所述的基于分布式数据库的表锁实现方法,其特征在于:当拥有表锁的事务提交或回滚,但并未解锁时,通过计时器定时加锁的lock操作会失败,当发现加锁失败时,通过新起事务构建解锁消息覆盖原有加锁信息。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202110214101.9/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top