[发明专利]一种分布式应用锁实现方法及装置在审
申请号: | 202010560782.X | 申请日: | 2020-06-18 |
公开(公告)号: | CN111708793A | 公开(公告)日: | 2020-09-25 |
发明(设计)人: | 胡柯华;陈梓培;刘彦成 | 申请(专利权)人: | 辽宁振兴银行股份有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23 |
代理公司: | 郑州欧凯专利代理事务所(普通合伙) 41166 | 代理人: | 毛瑞官 |
地址: | 110000 辽*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 应用 实现 方法 装置 | ||
1.一种分布式应用锁实现方法,其特征在于,包括如下步骤:
S1分布式锁任务判断处理:
S101分布式任务执行前,查询指定分布锁是否存在,如果不存在,准备向数据库中插入指定分布式锁,如果存在,准备判断分布式锁心跳是否正常;
S102判断已存在的分布式锁心跳是否正常,如果心跳正常,说明锁被其他拥有者占用,则直接退出处理,如果锁刷新超时,心跳失常,则更新锁拥有者ID、锁状态、锁维护时间,同时刷新内存中分布式锁信息,然后开始具体任务处理;
S103如果分布式锁不存在,则尝试向数据库中插入分布式锁,如果插入失败,则直接退出处理,如果插入成功,则在内存中登记分布式锁信息,然后开始具体任务处理;
S104提交事务前,检查当前分布式锁是否继续持有,如果锁已被抢占或不存在,则回滚事务,任务更新为处理失败,如果锁继续持有,则提交事务,任务更新为处理成功,同时更新内存中锁状态为解锁;
S2分布锁状态监控和刷新:
S201分布锁状态后台监控线程对分布式锁放置内存区轮询监控检查,将状态正常需要刷新心跳的锁和状态异常准备解除的锁放入待刷新分布式锁队列,供后续刷新处理;
S202分布式锁状态刷新后台线程,轮询获取待刷新分布式锁队列中的锁对象,检查锁状态,如果状态为待解除,则删除数据库中相应的锁记录,如果锁状态正常,则更新数据库中锁维护时间,同时刷新内存中锁的心跳时间,以维持锁的继续使用。
2.一种分布式应用锁实现的装置,其特征在于,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述所述分布式应用锁实现方法步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于辽宁振兴银行股份有限公司,未经辽宁振兴银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010560782.X/1.html,转载请声明来源钻瓜专利网。