全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210569348.7 (22)申请日 2022.05.24 (71)申请人 天翼云科技有限公司 地址 100007 北京市东城区青龙胡同甲1 号、 3号2幢2层20 5-32室 (72)发明人 刘岩东 白雪 李建松 李霖洁  杜炀东 吴兴  (74)专利代理 机构 北京同达信恒知识产权代理 有限公司 1 1291 专利代理师 贺迎辉 (51)Int.Cl. G06F 16/23(2019.01) G06F 9/50(2006.01) (54)发明名称 一种分布式锁加锁方法、 装置、 设备及 介质 (57)摘要 本申请实施例提供了一种分布式锁加锁方 法、 装置、 设备及介质, 在非公平锁模式下, 当第 一组件存在对目标分布式锁进行加锁的需求时, 该第一组件向分布式锁代理模块发送第一加锁 申请, 若该目标分布式锁当前被加锁, 且该第一 组件支持延时获取分布式锁, 则该分布式锁代理 模块会将第一组件添加到目标竞争者队列中, 之 后该第一组件 无需再次发送加锁申请。 分布式锁 代理模块识别到目标分布式锁被释放后, 从目标 竞争者队列中选择出对目标分布式锁进行加锁 的第二组件, 避免了每个有对该目标分布式锁加 锁需求的组件不断地向分布式锁中心服务器申 请加锁, 降低了分布式中心服务器的负载压力, 也节约了 每个组件的CPU资源。 权利要求书2页 说明书16页 附图8页 CN 115033579 A 2022.09.09 CN 115033579 A 1.一种分布式锁加锁方法, 其特 征在于, 所述方法包括: 接收第一组件发送的第 一加锁申请, 其中所述第 一加锁申请中携带有待加 锁的目标分 布式锁的键KE Y、 第一加锁信息, 以及所述第一组件是否支持延时申请分布式锁; 若所述KEY对应的目标分布式锁已被加锁, 且所述第 一组件支持延时申请分布式锁, 则 将所述第一组件添加到所述目标分布式锁对应的目标竞争者队列中; 若识别到所述目标分布式锁被释放, 且当前模式为非公平锁模式, 则生成 随机数, 并根 据所述随机数和所述目标竞争者队列中包含的组件数量, 确定对所述目标分布式锁进 行加 锁的第二组件, 使用所述第二组件 对应的第二加锁信息对所述目标分布式锁进行加锁。 2.根据权利要求1所述的方法, 其特征在于, 若所述第一组件支持延时申请分布式锁, 则所述第一加锁申请中还携带有延时 时长; 所述将所述第 一组件添加到所述目标分布式锁对应的目标竞争者队列中之前, 所述方 法还包括: 根据所述延时时长及定时器指针在定时器数组中的第 二位置, 确定所述第 一组件在预 先设置的定时器数组中的第一位置, 并将所述第一组件添加到所述定时器数组中的第一位 置中; 所述将所述第一组件添加到所述目标分布式锁对应的目标竞争者队列中包括: 将所述第一 位置和所述第一加锁信息保存到所述目标竞争者队列中。 3.根据权利要求2所述的方法, 其特 征在于, 所述方法还 包括: 向所述第二组件返回加锁成功的信息, 并在所述目标竞争者队列中删除所述第二组 件; 根据所述目标竞争者队列中保存的第 二组件对应的第 三位置, 在所述定时器数组的第 三位置中删除所述第二组件。 4.根据权利要求2所述的方法, 其特征在于, 所述根据所述延时时长及定时器指针在定 时器数组中的第二 位置, 确定所述第一组件在预 先设置的定时器数组中的第一 位置包括: 确定所述延时时长与 所述定时器数组中包含的位置的总数量的第 一余数, 确定所述第 一余数与所述第二位置对应的序号的第一和值, 确定所述第一和值与所述总数量的第二余 数; 将所述定时器数组中所述第二 余数对应为 位置, 确定为所述第一 位置。 5.根据权利要求 4所述的方法, 其特 征在于, 所述方法还 包括: 确定所述第 一和值与 所述延时时长的第 二和值, 将所述第 二和值与 所述总数量的比值 的整数部分确定为所述第一组件在所述定时器数组中保存的目标轮数; 所述将所述第一组件添加到所述第一 位置中包括: 将所述第一组件对应的所述目标分布式锁的KEY、 所述第一加锁信息和所述目标轮数 对应保存到所述第一 位置中。 6.根据权利要求5所述的方法, 其特 征在于, 所述方法还 包括: 每隔预设的时间单位, 对所述定时器指针的第二 位置进行 更新; 对更新后的第二 位置中保存的每 个组件的轮数进行 更新; 识别更新后的轮数小于预设阈值的第 三组件, 并在所述定时器数组中和所述目标竞争 者队列中删除所述第三组件, 向所述第三组件返回加锁失败的信息 。权 利 要 求 书 1/2 页 2 CN 115033579 A 27.根据权利要求1所述的方法, 其特征在于, 若识别到所述目标分布式锁被释放, 且当 前模式为公平 锁模式, 所述方法还 包括: 确定所述目标竞争者队列中的首个第四组件, 使用所述第四组件对应的第 三加锁信 息 对所述目标分布式锁进行加锁。 8.一种分布式锁加锁装置, 其特 征在于, 所述设备包括: 接收模块, 用于接收第一组件发送的第一加锁申请, 其中所述第一加锁申请中携带有 待加锁的目标分布式锁的键KEY、 第一加锁信息, 以及所述第一组件 是否支持延时申请分布 式锁; 处理模块, 用于若所述KEY对应的目标分布式锁已被加锁, 且所述第一组件支持延时申 请分布式锁, 则将所述第一组件添加到所述目标分布式锁对应的目标竞争者队列中; 加锁模块, 用于若识别到所述目标分布式锁被释放, 且当前模式为非公平锁模式, 则生 成随机数, 并根据所述 随机数和所述 目标竞争者队列中包含的组件数量, 确定对所述 目标 分布式锁进行加锁的第二组件, 使用所述第二组件对应的第二加锁信息对 所述目标分布式 锁进行加锁。 9.一种电子设备, 其特征在于, 所述电子设备包括处理器, 所述处理器用于执行存储器 中存储的计算机程序时实现如权利要求1 ‑7任一所述分布式锁加锁方法的步骤。 10.一种计算机可读存储介质, 其特征在于, 其存储有计算机程序, 所述计算机程序被 处理器执行时实现如权利要求1 ‑7任一所述分布式锁加锁方法的步骤。权 利 要 求 书 2/2 页 3 CN 115033579 A 3

PDF文档 专利 一种分布式锁加锁方法、装置、设备及介质

文档预览
中文文档 27 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共27页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种分布式锁加锁方法、装置、设备及介质 第 1 页 专利 一种分布式锁加锁方法、装置、设备及介质 第 2 页 专利 一种分布式锁加锁方法、装置、设备及介质 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-02-24 00:43:53上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。