[发明专利]分布式锁的调用方法、装置、电子设备和存储介质在审
申请号: | 202110087440.5 | 申请日: | 2021-01-22 |
公开(公告)号: | CN112799791A | 公开(公告)日: | 2021-05-14 |
发明(设计)人: | 胡胜利 | 申请(专利权)人: | 平安普惠企业管理有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/52;G06F16/23 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 熊永强 |
地址: | 518000 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 调用 方法 装置 电子设备 存储 介质 | ||
1.一种分布式锁的调用方法,其特征在于,包括:
获取至少一个任务,并从所述至少一个任务中筛选出包含注解标签的目标任务,所述注解标签对应了至少一个分布式锁;
确定所述目标任务的任务信息,并根据所述任务信息从所述至少一个分布式锁中确定出目标分布式锁,所述任务信息包括任务类型、触发时间和任务来源中的至少一种;
基于所述目标分布式锁对所述目标任务进行加锁处理,得到目标加锁任务;
确定所述目标分布式锁对应的目标线程,并调用所述目标线程执行所述目标加锁任务;
在检测到满足解锁条件时,基于所述目标分布式锁对应的解锁逻辑对所述目标加锁任务进行解锁处理,并释放所述目标线程。
2.根据权利要求1所述的方法,其特征在于,所述获取至少一个任务之前,所述方法还包括:
获取预设的N个代码模块,N个代码模块中每个代码模块用于实现分布式锁中对应的功能,N为正整数;
基于目标聚合规则对所述N个代码模块进行聚合处理,得到至少一个代码模块集合,每个代码模块集合包括K个代码模块,所述K个代码模块共同实现一种类型的分布式锁,K为正整数;
基于所述至少一个代码模块集合构建至少一个分布式锁;
建立注解标签与所述至少一个分布式锁之间的对应关系,并将所述注解标签和所述至少一个分布式锁对应存储于数据库中;
响应于针对目标任务的标签添加指令,为所述目标任务添加注解标签。
3.根据权利要求2所述的方法,其特征在于,所述N个代码模块中包括运行于不同运行环境的代码模块,所述目标聚合规则包括基于运行环境进行聚合的规则,所述基于目标聚合规则对所述N个代码模块进行聚合处理,包括:
获取所述N个代码模块中每个代码模块对应的运行环境;
基于各个代码模块的运行环境对所述N个代码块进行聚合处理,得到至少一个代码模块集合,每个代码模块集合包括K个对应相同运行环境的代码模块。
4.根据权利要求1所述的方法,其特征在于,所述任务信息包括任务类型,所述根据所述任务信息从所述至少一个分布式锁中确定出目标分布式锁,包括:
从历史记录中获取所述目标任务的任务类型对应的至少一个历史任务,并确定所述至少一个历史任务在目标运行环境下的平均处理时长;
基于所述平均处理时长确定针对分布式锁的目标异常判定时长;
从所述至少一个分布式锁中筛选出异常判定时长中为所述目标异常判定时长的分布式锁,作为目标分布式锁,所述至少一个分布式锁中不同分布式锁对应有不同的异常判定时长,所述异常判定时长用于判定采用分布式锁加锁的任务是否处理异常。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述调用所述目标线程执行所述目标加锁任务之后,所述方法还包括:
获取所述目标线程对目标加锁任务的处理信息,所述处理信息包括处理进度和处理时长;
若所述处理进度指示针对所述目标加锁任务处理完成,则确定满足解锁条件;
或者,若所述处理时长大于目标异常判定时长,则确定满足所述解锁条件,其中,目标异常判定时长用于判定采用所述目标分布式锁加锁的任务是否处理异常。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述确定所述目标分布式锁对应的目标线程,包括:
获取至少一个空闲工作线程,并确定每个空闲工作线程对采用所述目标分布式锁进行加锁的任务的历史执行频次;
将历史执行频次最高的空闲工作线程,确定为所述目标分布式锁对应的目标工作线程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安普惠企业管理有限公司,未经平安普惠企业管理有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110087440.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种光缆热熔型阻水缆膏喷雾式防溢填充设备
- 下一篇:电气比例压力阀