(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210369278.0
(22)申请日 2022.04.08
(71)申请人 腾讯科技 (深圳) 有限公司
地址 518057 广东省深圳市南 山区高新区
科技中一路腾讯大厦3 5层
(72)发明人 叶盛 潘安群 雷海林
(74)专利代理 机构 北京三高永信知识产权代理
有限责任公司 1 1138
专利代理师 李文静
(51)Int.Cl.
G06F 16/23(2019.01)
G06F 16/27(2019.01)
(54)发明名称
分布式数据库 的锁管理方法、 装置、 设备及
存储介质
(57)摘要
本申请公开了一种分布式数据库的锁管理
方法、 装置、 设备及存储介质, 涉及数据库技术领
域。 本申请实施例可应用于云技术、 人工智能、 智
慧交通、 辅助 驾驶、 区块链等各种 场景。 在本申请
中, 分布式数据库包括管控节点和多个计算节
点, 所述方法由管控节点执行, 所述方法包括: 接
收多个计算节点中的第一计算节点发送的锁申
请消息; 根据全局锁管理信息, 确定锁申请消息
是否有效; 在确定锁申请消息有效的情况下, 在
全局锁管理信息中记录第一会话与第一锁之间
的占用关系。 本申请减少了接收到客户端请求的
计算节点在使用数据时对锁信息的获取难度, 减
少了获取锁信息所消耗的时间, 提高了数据处理
的效率。
权利要求书2页 说明书14页 附图5页
CN 115114305 A
2022.09.27
CN 115114305 A
1.一种分布式数据库的锁管理方法, 其特征在于, 所述分布式数据库包括管控节点和
多个计算节点, 所述方法由所述管控节点执 行, 所述方法包括:
接收所述多个计算节点中的第 一计算节点发送的锁申请消息, 所述锁申请消息用于为
第一会话申请针对第一数据的第一锁;
根据全局锁管理信 息, 确定所述锁申请消息是否有效; 其中, 所述全局锁管理信 息包括
多个所述计算节点 为不同会话申请的针对所述分布式数据库中不同数据的锁;
在确定所述锁申请消息有 效的情况下, 在所述全局锁管理信 息中记录所述第 一会话与
所述第一锁之间的占用关系。
2.根据权利要求1所述的方法, 其特征在于, 所述锁申请消息中包括: 所述第一锁的名
称信息;
所述根据全局锁管理信息, 确定所述锁申请消息是否有效, 包括:
检测所述全局锁管理信息中是否已记录所述第一锁的名称信息;
若所述全局锁管理信息中未记录所述第一锁的名称信息, 则确定所述锁申请消息有
效。
3.根据权利要求2所述的方法, 其特征在于, 所述锁申请消息中还包括: 所述第一锁的
类型信息, 所述类型信息用于指示所述第一锁的类型, 所述第一锁的类型为读锁和写锁中
的一种;
所述检测所述全局锁管理信息中是否已记录所述第一锁的名称信息之后, 还 包括:
若所述全局 锁管理信 息中已记录所述第 一锁的名称信 息, 则根据 所述第一锁的类型信
息, 检测所述第一锁是否满足兼容性条件; 其中, 所述兼容性条件用于指示针对同一数据的
多个锁之间的兼容 性;
若所述第一锁满足所述兼容 性条件, 则确定所述锁申请消息有效。
4.根据权利要求3所述的方法, 其特征在于, 所述根据所述第一锁的类型信息, 检测所
述第一锁是否满足兼容 性条件之后, 还 包括:
若所述第一锁不满足所述兼容 性条件, 则确定所述锁申请信息无效;
或者,
若所述第一锁不满足所述兼容性条件, 则将所述锁申请信消息放入消息队列中, 在所
述全局锁管理信息中记录的与所述第一锁不具备 兼容性的第二锁被释放之后, 从所述消息
队列中读取所述锁申请消息, 并根据所述锁申请消息, 在所述全局锁管理信息中记录所述
第一会话与所述第一锁之间的占用关系。
5.根据权利要求2所述的方法, 其特征在于, 所述锁申请消息中还包括: 所述第一计算
节点的信息和所述第一会话的信息;
所述方法还 包括:
检测所述第一计算节点的信息和所述第一会话的信息是否合法;
若所述第一计算节点的信 息和所述第 一会话的信 息合法, 则执行所述检测所述全局 锁
管理信息中是否已记录所述第一锁的名称信息的步骤。
6.根据权利要求1所述的方法, 其特 征在于, 所述方法还 包括:
接收所述第 一计算节点发送的锁释放消息, 所述锁释放消息用于释放所述第 一会话占
用的所述第一锁;权 利 要 求 书 1/2 页
2
CN 115114305 A
2在根据所述全局锁管理信 息确定所述锁释放消息有 效的情况下, 在所述全局 锁管理信
息中删除所述第一会话与所述第一锁之间的占用关系。
7.根据权利要求1所述的方法, 其特 征在于, 所述方法还 包括:
在所述管控节点发生故障且恢 复运行之后, 将所述管控节点的磁盘中存储的所述全局
锁管理信息加载到所述管控节点的内存中, 以及将原始的第一标识信息更新为第二标识信
息; 向所述全局锁管理信息中记录的各个锁所对应的计算节点发送通知消息, 所述通知消
息用于指示所述第一标识信息已失效; 接收所述第一计算节点对所述第一标识信息进 行更
新后发送的回复消息, 所述回复消息中携带更新后的标识信息; 在所述更新后的标识信息
与所述第二标识信息相匹配的情况 下, 确认所述第一计算节点持有的锁继续 生效;
或者,
在超过第一 时长未接收到来自所述第 一计算节点的心跳信 息的情况下, 确定所述第 一
计算节点处于失活状态, 以及将原始的第一标识信息更新为第二标识信息; 接 收所述第一
计算节点在从所述失活状态恢复为运行状态后发送的重新申请请求, 所述重新申请请求中
携带更新后的标识信息; 在所述更新后的标识信息与所述第二标识信息相匹配的情况下,
确认所述第一计算节点持有的锁继续 生效。
8.一种分布式数据库的锁管理装置, 其特征在于, 所述分布式数据库包括管控节点和
多个计算节点, 所述装置设置在所述管控节点中, 所述装置包括:
申请消息接收模块, 用于接收所述多个计算节点中的第一计算节点发送的锁申请消
息, 所述锁申请消息用于为第一会话申请针对第一数据的第一锁;
申请消息验证模块, 用于根据全局锁管理信息, 确定所述锁申请消息是否有效; 其中,
所述全局锁管理信息包括多个所述计算节点为不同会话申请的针对所述分布式数据库中
不同数据的锁;
锁信息记录模块, 用于在确定所述锁申请消息有效的情况下, 在所述全局锁管理信息
中记录所述第一会话与所述第一锁之间的占用关系。
9.一种计算机设备, 其特征在于, 所述计算机设备包括处理器和存储器, 所述存储器中
存储有计算机程序, 至少一段程序由所述处理器加载并执行以实现如权利要求 1至7任一项
所述的方法。
10.一种计算机可读存储介质, 其特征在于, 所述计算机可读存储介质中存储有计算机
程序, 至少一段程序由处 理器加载并执 行以实现如权利要求1至7任一项所述的方法。权 利 要 求 书 2/2 页
3
CN 115114305 A
3
专利 分布式数据库的锁管理方法、装置、设备及存储介质
安全报告 >
其他 >
文档预览
中文文档
22 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共22页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 思考人生 于 2024-02-24 08:50:02上传分享