(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 20221090859 9.3 (22)申请日 2022.07.29 (71)申请人 天翼云科技有限公司 地址 100007 北京市东城区青龙胡同甲1 号、 3号2幢2层20 5-32室 (72)发明人 洪水能 邓志强 邓龙亮 浣浩  (74)专利代理 机构 北京三聚阳光知识产权代理 有限公司 1 1250 专利代理师 熊飞雪 (51)Int.Cl. G06F 9/46(2006.01) G06F 9/50(2006.01) G06F 16/23(2019.01) (54)发明名称 一种分布式锁管理方法、 装置、 电子设备及 存储介质 (57)摘要 本申请提供一种分布式锁管理方法、 装置、 电子设备及存储介质, 该方法包括: 在当前设备 的任一线程准备请求访问共享资源时, 开启获取 锁数据库事务, 判断该线程是否拥有分布式锁对 象; 若有, 根据该分布式锁对象的属性信息, 判断 该分布式锁对象是否失效; 若失效, 清空线程关 于分布式锁对象的局部变量, 在数据库的锁表中 删除该分布式锁对象对应的记录; 为线程新建新 的分布式锁对象, 提交获取锁数据库事务。 通过 在设备线程准备请求访问共享资源时, 判断分布 式锁对象是否失效, 在失效的情况下删除相应的 记录, 并为其创建新的分布式锁对象, 以避免线 程在请求访问共享资源时因分布式锁失效而无 法正常进 入共享资源访问队列。 权利要求书2页 说明书11页 附图3页 CN 115454581 A 2022.12.09 CN 115454581 A 1.一种分布式锁管理方法, 其特 征在于, 包括: 在当前设备的任一线程准备请求访 问共享资源时, 开启获取锁数据库事务, 判断该线 程是否拥有分布式锁对象; 若有, 则根据该分布式锁对象的属性信息, 判断该分布式锁对象是否失效; 若失效, 则清空所述线程关于所述分布式锁对象的局部变量, 并在数据库的锁表中删 除该分布式锁对象对应的记录; 为所述线程新建新的分布式锁对象, 提交所述获取锁数据库事务, 以使所述线程基于 新的分布式锁对象请求访问所述共享资源。 2.根据权利要求1所述的方法, 其特征在于, 所述分布式锁对象的属性信 息至少包括创 建时间和有效时长, 所述根据该分布式锁对象的属性信息, 判断该分布式锁对象是否失效, 包括: 根据所述分布式锁对象的创建时间和当前系统时间, 确定所述分布式锁对象的存在时 长; 当所述分布式锁对象的存在时长超出 所述有效时长时, 确定所述分布式锁对象失效。 3.根据权利要求1所述的方法, 其特 征在于, 还 包括: 若该分布式锁对象未失效, 再次为所述线程获取分布式锁对象, 提交所述获取锁数据 库事务, 以使所述线程累计获取同一个分布式锁对 象, 增加所述线程的分布式锁对 象持有 量。 4.根据权利要求1所述的方法, 其特征在于, 所述为所述线程新建新的分布式锁对象, 包括: 获取所述当前设备的分布式锁创建参数; 根据所述分布式锁创建参数, 向所述数据库的锁 表中添加对应的记录; 向所述线程的局部变量写入所述 新的分布式锁对象。 5.根据权利要求4所述的方法, 其特征在于, 在向所述线程的局部变量写入所述新的分 布式锁对象之前, 所述方法还 包括: 判断所述数据库是否报出分布式锁唯一约束异常; 若是, 则根据所述 新的分布式锁对象的锁标识, 在所述锁 表中发起锁查询; 若查询结果 为空, 则根据所述线程的业 务接口参数, 判断是否进入阻塞状态; 若是, 则进入阻塞状态, 使所述线程休眠特定时长, 并返回到所述获取所述当前设备的 分布式锁构建参数的步骤。 6.根据权利要求5所述的方法, 其特 征在于, 还 包括: 若所述查询结果不为空, 则根据所述查询结果, 判断所述查询结果对应的分布式锁对 象是否失效; 若是, 则在数据库的锁 表中删除该分布式锁对象对应的记录 。 7.根据权利要求3所述的方法, 其特 征在于, 还 包括: 在所述线程基于分布式锁对象完成对所述共享资源的访问后, 开启释放锁数据库事 务; 判断所述线程当前拥有的分布式锁对象是否经 过累计获取; 若是, 则对所述线程对分布式锁对象持有量进行递减;权 利 要 求 书 1/2 页 2 CN 115454581 A 2当所述线程递减后的分布式锁持有量等于0时, 释放所述线程的分布式锁对象, 并删除 所述分布式锁对象在所述锁 表中的记录, 提交所述释放锁数据库事务。 8.一种分布式锁管理装置, 其特 征在于, 包括: 第一判断模块, 用于在当前设备的任一线程准备请求访 问共享资源时, 开启获取锁数 据库事务, 判断该线程是否拥有分布式锁对象; 第二判断模块, 用于若有, 则根据该分布式锁对象的属性信 息, 判断该分布式锁对象是 否失效; 数据处理模块, 用于若失效, 则清 空所述线程关于所述分布式锁对象的局部变量, 并在 数据库的锁 表中删除该分布式锁对象对应的记录; 管理模块, 用于为所述线程新建新的分布式锁对象, 提交所述获取锁数据库事务, 以使 所述线程基于新的分布式锁对象请求访问所述共享资源。 9.一种电子设备, 其特 征在于, 包括: 至少一个处 理器和存 储器; 所述存储器存储计算机执 行指令; 所述至少一个处理器执行所述存储器存储的计算机执行指令, 使得所述至少一个处理 器执行如权利要求1至7任一项所述的方法。 10.一种计算机可读存储介质, 其特征在于, 所述计算机可读存储介质中存储有计算机 执行指令, 当处 理器执行所述计算机执 行指令时, 实现如权利要求1至7任一项所述的方法。权 利 要 求 书 2/2 页 3 CN 115454581 A 3

.PDF文档 专利 一种分布式锁管理方法、装置、电子设备及存储介质

安全报告 > 其他 > 文档预览
中文文档 17 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共17页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种分布式锁管理方法、装置、电子设备及存储介质 第 1 页 专利 一种分布式锁管理方法、装置、电子设备及存储介质 第 2 页 专利 一种分布式锁管理方法、装置、电子设备及存储介质 第 3 页
下载文档到电脑,方便使用
本文档由 思考人生2024-02-07 20:38:16上传分享
给文档打分
您好可以输入 255 个字符
网站域名是多少( 答案:github5.com )
评论列表
  • 暂时还没有评论,期待您的金玉良言
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。