[发明专利]分布式锁的调用方法、装置、计算机设备及存储介质在审
申请号: | 202010147521.5 | 申请日: | 2020-03-05 |
公开(公告)号: | CN111475516A | 公开(公告)日: | 2020-07-31 |
发明(设计)人: | 朱承荣 | 申请(专利权)人: | 深圳壹账通智能科技有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23 |
代理公司: | 深圳市世联合知识产权代理有限公司 44385 | 代理人: | 汪琳琳 |
地址: | 518000 广东省深圳市前海深港合作区前*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 调用 方法 装置 计算机 设备 存储 介质 | ||
本申请实施例属于数据资源分布式调用的技术领域,涉及一种分布式锁的调用方法,包括根据分布式锁的框架内容,预设与分布式锁对应的至少一组调用函数;根据所述调用函数,定义至少一组与一个所述调用函数相对应的注解;将所述注解插入到业务代码需要操作分布式锁的相应位置;在运行业务代码的状态下,根据插入的至少一组注解的种类和所述注解当中设置的参数,执行分布式锁的调用和/或释放。本申请还提供一种分布式锁的调用装置、计算机设备及存储介质。本申请能够通过标签在代码的特定位置调使用分布式锁。无需多次编辑代码,或对一个完整的分布式锁的类进行频繁的实例化,大大降低了代码的调用复杂度,并能够有效的提升代码的运行效率。
技术领域
本申请涉及数据资源分布式调用的技术领域,尤其涉及一种分布式锁的调用方法、装置、计算机设备及存储介质。
背景技术
服务器上存放的数据资源可以被多个任务同时调用处理。为了保证大家访问的数据是一致的,就要求对资源加锁,使得当一个任务对该资源进行访问的时候,其他资源无法对该资源进行访问,如此能够防止各个进程读取到不一样的数据。在分布式的应用环境当中,同样存在类似的应用场景,需要对资源提供加锁,而在这种应用场景当中,需要对分布在各个服务器上的资源用分布式锁,保证同一时间在所有的服务器上,只有一个进程对同一个资源进行访问,防止各个进程之间出现访问到的资源不统一的问题。
现有常见的分布式锁方案包括:①基于数据库实现;②基于redis实现;③基于zookeeper实现,这三种实现方式,其中zookeeper的实现效果较好,所以常常作为推荐的实现方法。但是zookeeper的实现过程相对复杂,在程序编辑的过程当中,开发人员需要通过复杂的程序语句对zookeeper进行调用,即便是将其中的一些步骤封装为公有函数进行调用,因为需要加锁的业务代码通常有很多处,代码量依然很大,以至于影响开发速度。除此之外,当前状况下,如果开发人员使用zookeeper锁,调用过程并非完全透明的,需要开发人员事先学习该工具的相关原理,才能具备对zookeeper锁的调用能力。总体来说对其实现调用的程序编辑效率不高。虽然也可以使用分布式锁的部署工具来逐个撰写或者通过函数调用分布式锁的方法,但相应的性能出色的分布式锁的部署工具一般都相对复杂,在使用的过程当中同样会产生上述问题。
此外,分布式锁因为是在不同业务中的特定步骤之前或之后使用,其调用本身简单但是灵活多样,在现有的操作过程当中,这些步骤在私有函数当中,仅供一处业务代码进行调用,或者是封装为一组类库供编辑业务代码的工程师调用,对于面向过程的编程思路而言,使用者将会在程序文件中直接通过zookeeper框架中定义的函数一步一步的判断节点,创建节点,监控事件,获取和释放锁。而对于常规的面向对象的编程方法而言,分布式锁的获取和释放这一系列的操作,很难抽象到一个具体类或者对象当中,在调用的过程当中,因为对象中有关锁的函数和其他的主体函数同时存在,所以只能在主体函数相应的对象中调用锁,并且与主体函数有关的业务中实现复用,那么对应多组业务代码就需要定义多种类与其相对应,这样代码的复用将大大折扣,代码量相对还是较大且繁杂,影响开发进度,并且影响运行的开销。
发明内容
本申请实施例的目的在于提出一种能够在调用分布式锁时操作尽量透明,以高效的实现分布式锁调用的调用方法。
为了解决上述技术问题,本申请实施例提供一种分布式锁的调用方法,采用了如下所述的技术方案:
一种分布式锁的调用方法,包括下述步骤:根据分布式锁的框架内容,预设与分布式锁对应的至少一组调用函数;针对每一组调用函数,定义至少一组相对应的注解,所述注解中包括指定对应业务代码的参数,并且所述注解均具有标记以表明注解的种类;将所述注解插入到业务代码需要操作分布式锁的相应位置;在运行业务代码的状态下,根据插入的至少一组注解的种类和所述注解当中设置的参数,执行分布式锁的调用和/或释放。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳壹账通智能科技有限公司,未经深圳壹账通智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010147521.5/2.html,转载请声明来源钻瓜专利网。