[发明专利]一种基于redis的动态集群锁系统在审

专利信息
申请号: 202011097234.4 申请日: 2020-10-14
公开(公告)号: CN112256443A 公开(公告)日: 2021-01-22
发明(设计)人: 代存折;李妃军;龚勤 申请(专利权)人: 杭州当虹科技股份有限公司
主分类号: G06F9/52 分类号: G06F9/52
代理公司: 杭州橙知果专利代理事务所(特殊普通合伙) 33261 代理人: 杜放
地址: 310000 浙江省杭州市西*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 redis 动态 集群 系统
【说明书】:

发明公开了一种基于redis的动态集群锁系统。它包括定义模块、加锁模块、守护模块、计算模块、业务执行模块、释放守护模块、解锁模块,定义模块用于在内存中声明被锁资源的唯一标识集合;加锁模块用于使用redis提供的setnx原子方法对定义模块声明的资源唯一标识进行设置锁时间;守护模块用于启用延迟线程监听加锁模块中被锁资源的使用情况;计算模块用于通过对资源锁的时间及资源集合进行临界值计算,到期后通知加锁模块;业务执行模块用于业务逻辑执行;释放守护模块用于在业务执行模块结束后对守护模块的延迟线程的释放;解锁模块用于把该资源的标识从redis中剔除。本发明的有益效果是:对锁进行动态管控,让被锁资源能够被其他服务正常使用。

技术领域

本发明涉及数据处理相关技术领域,尤其是指一种基于redis的动态集群锁系统。

背景技术

由于目前微服务集群化,但是资源比如文件、视频等只存在一份,如果每个服务都要来获取相关资源会造成数据混乱;如果单纯使用锁机制且无动态机制的话,会造成持锁的服务由于部分原因停止服务而导致其对应的资源被锁住。目前业界大部分使用的集群锁没有对锁进行动态管控。

发明内容

本发明是为了克服现有技术中存在上述的不足,提供了一种能够对锁进行动态管控的基于redis的动态集群锁系统。

为了实现上述目的,本发明采用以下技术方案:

一种基于redis的动态集群锁系统,包括定义模块、加锁模块、守护模块、计算模块、业务执行模块、释放守护模块、解锁模块,所述的定义模块用于在内存中声明被锁资源的唯一标识集合,与加锁模块连接;所述的加锁模块用于使用redis提供的setnx原子方法对定义模块声明的资源唯一标识进行设置锁时间,分别与守护模块、计算模块、业务执行模块连接;所述的守护模块用于启用延迟线程监听加锁模块中被锁资源的使用情况,与计算模块连接;所述的计算模块用于通过对资源锁的时间及资源集合进行临界值计算,到期后通知加锁模块;所述的业务执行模块用于业务逻辑执行,分别与释放守护模块、解锁模块连接;所述的释放守护模块用于在业务执行模块结束后对守护模块的延迟线程的释放;所述的解锁模块用于把该资源的标识从redis中剔除。

本发明公开了一种基于redis的动态集群锁方案,包括定义模块、加锁模块、守护模块、计算模块、业务执行模块、释放守护模块、解锁模块,通过基于redis的动态集群锁,能够对锁进行动态管控,从而保证集群下使用锁的服务在宕机、停止服务时可以自动释放所持的锁,让被锁资源能够被其他服务正常使用。

作为优选,所述的定义模块中,被锁资源的唯一标识集合必须为线程安全,即多线程读写一致,使用java线程安全集合进行定义,值定义为资源唯一标识。

作为优选,所述的加锁模块中,由于redis提供的setnx方法为原子操作,因此可用于集群下的锁管理,setnx流程是设置一个值到redis,如果redis已经有了则设置失败,反之成功,利用该原理通过setnx设置资源的唯一标识,如果失败说明被别的服务使用,则放弃本次业务操作,如果成功需要设置过期时间即过期后该资源唯一标识从redis中自动剔除,过期时间设置为服务启动耗时时间,是为了方便服务重启后锁的时间刚好到期。

作为优选,所述的守护模块中,加锁模块成功后,启动一个延迟异步线程,该线程持续对该资源在redis中的过期时间进行变更。

作为优选,所述的计算模块中,根据资源锁的时间乘以85%得到延迟时间,用于守护模块创建的延迟线程的开始执行时间,剩余15%的时间是预留给操作redis耗时时间;延迟开始执行前需要获取定义模块中的资源锁集合,判断集合中是否有该资源锁,只有存在才会执行加锁模块。

作为优选,所述的业务执行模块中,根据具体的业务逻辑执行相应操作,因为计算模块已经完成了动态加锁的流程,业务未执行完成前,该锁一直在。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州当虹科技股份有限公司,未经杭州当虹科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202011097234.4/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top