[发明专利]一种分布式锁在审

专利信息
申请号: 202110642984.3 申请日: 2021-06-09
公开(公告)号: CN113312185A 公开(公告)日: 2021-08-27
发明(设计)人: 宋喆;张建伟;江燕 申请(专利权)人: 浪潮云信息技术股份公司
主分类号: G06F9/52 分类号: G06F9/52
代理公司: 济南信达专利事务所有限公司 37100 代理人: 姜鹏
地址: 250100 山东省济南市高*** 国省代码: 山东;37
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 分布式
【说明书】:

发明涉及计算机技术领域,具体提供了一种分布式锁,基于Redis的自身特性以及命令,设置key值及过期时间,利用分布式锁加锁、释放锁和释放锁前置检查过程,用于保证进程访问共享资源的完整性和一致性。与现有技术相比,本发明避免了同时访问时对资源进行争夺导致系统错误,提高了程序稳定性,具有良好的推广价值。

技术领域

本发明涉及计算机技术领域,具体提供一种分布式锁。

背景技术

在单机时代,尽管不需要分布式锁,但仍然面临的类似问题,多个线程对临界资源访问的时候,面临着如何保证资源一致性和完整性的问题,我们可以通过线程间加速的方式,如ava中synchronize/Lock等。随着互联网技术的不断发展,分布式系统成为常见的场景,共享资源存在于不同节点中,简单的线程间加锁的方式就难以满足应用的需要。

发明内容

本发明是针对上述现有技术的不足,提供一种实用性强的分布式锁。

本发明解决其技术问题所采用的技术方案是:

一种分布式锁,基于Redis的自身特性以及命令,设置key值及过期时间,利用分布式锁加锁、释放锁和释放锁前置检查过程,用于保证进程访问共享资源的完整性和一致性。

进一步的,在分布式锁加锁中,Redis的setnx命令适合作为排他性的锁实现,该命令只有在相应key值不存在的情况下才会通过该命令设置value成功,否则返回失败结果。

进一步的,当一个进程需要独占某个共享资源时,需要通过setnx命令设置value,当其余进程再执行该命令时,则设置value失败即为获得锁失败。

进一步的,所述加锁的流程为:

加锁时通过命令设置key值及过期时间,若命令执行成功,则说明获得锁成功,若命令执行失败,则获取已存在锁的过期时间与当前系统时间进行比较,若过期时间小于当前系统时间,说明锁已过期,则可以由该进程重新获得,使用getset命令设置新的过期时间;若过期时间大于当前系统时间,说明锁未过期,则无法获得。

进一步的,在释放锁中,当一个进程完成对某个共享资源的独占使用后,可以执行delete命令删除此前获得锁过程中所设置的键值对;此后其余进程需要对该共享资源的进行独占访问时,即可通过setnx命令获得锁。

进一步的,所述释放锁的流程为:

释放锁时首先验证已存在锁的特征值,判断是否为当前进程所设置,若验证失败,则不可进行释放锁操作;若验证成功,则获取该锁的过期时间,与当前系统时间进行比较,若过期时间小于当前系统时间,说明锁已过期,无需进行操作,若过期时间大于当前系统时间,则执行delete命令,进行释放锁操作。

进一步的,释放锁前置检查,当一个进程还没有结束对共享资源的独占访问,锁会当达到超时时间而释放掉,当另外进程获得锁后,则当一个进程结束对资源的访问后,则会错误执行释放锁操作。

进一步的,当进程进行释放锁操作时,通过get命令获得value,验证此value是否为该进程设置的identifier,若验证通过,则可进行delete操作。

本发明的一种分布式锁和现有技术相比,具有以下突出的有益效果:

本发明实现的分布式锁,具有互斥性、无死锁、容错性的特点。在分布式系统环境下,保证了多个客户端对共享资源进行独享访问时完整性和一致性,避免了同时访问时对资源进行争夺导致系统错误,提高了程序稳定性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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