[发明专利]分布式锁的数据处理方法、装置以及电子设备在审
申请号: | 202111560222.5 | 申请日: | 2021-12-20 |
公开(公告)号: | CN114265706A | 公开(公告)日: | 2022-04-01 |
发明(设计)人: | 曾洋 | 申请(专利权)人: | 吉旗(成都)科技有限公司 |
主分类号: | G06F9/52 | 分类号: | G06F9/52;G06F21/60;G06F21/62 |
代理公司: | 北京超凡宏宇专利代理事务所(特殊普通合伙) 11463 | 代理人: | 徐丽 |
地址: | 610000 四川省*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 数据处理 方法 装置 以及 电子设备 | ||
本发明提供了一种分布式锁的数据处理方法、装置以及电子设备,涉及分布式锁技术领域,缓解了现有技术中分布式锁服务的局限性较高的技术问题。该方法包括:服务端响应于客户端针对数据的加锁请求指令,对客户端的身份进行鉴权,得到第一身份鉴权结果;如果第一身份鉴权结果为鉴权成功,服务端则对分布式锁的类型进行检查;其中,分布式锁的类型包括redis锁机制和/或etcd锁机制;服务端基于分布式锁的类型对数据进行加锁操作。
技术领域
本申请涉及分布式锁技术领域,尤其是涉及一种分布式锁的数据处理方法、装置以及电子设备。
背景技术
分布式锁是在分布式系统中,控制对数据并发访问所需要的基础的中间件,其作用是保证一个方法或属性在高并发情况下的同一时间只能被同一个线程执行。例如,当前分布式锁服务都是基于软件开发工具包(Software Development Kit,SDK)的模式,底层基于某种中间件,如远程字典服务(Remote Dictionary Server,redis)、etcd等。
但是,对于现有的这种分布式锁服务,存在着局限性较高的技术问题。
发明内容
本申请的目的在于提供一种分布式锁的数据处理方法、装置以及电子设备,以缓解现有技术中分布式锁服务的局限性较高的技术问题。
第一方面,本申请实施例提供了一种分布式锁的数据处理方法,应用于分布式锁的数据处理系统,所述分布式锁的数据处理系统包括客户端以及服务端;所述方法包括:
所述服务端响应于所述客户端针对数据的加锁请求指令,对所述客户端的身份进行鉴权,得到第一身份鉴权结果;
如果所述第一身份鉴权结果为鉴权成功,所述服务端则对所述分布式锁的类型进行检查;其中,所述分布式锁的类型包括redis锁机制和/或etcd锁机制;
所述服务端基于所述分布式锁的类型对所述数据进行加锁操作。
在一个可能的实现中,所述分布式锁为redis锁机制;所述服务端基于所述分布式锁的类型对所述数据进行加锁操作的步骤,包括:
所述服务端向所述redis锁机制发送添加redis分布式锁的第一请求信息;
如果所述redis分布式锁已存在且持有者与所述客户端的身份不同,所述服务端则向所述redis锁机制发送第一订阅请求,并按第一预设时间设置第一定时器;其中,所述第一订阅请求对应所述redis分布式锁的释放信息;
如果所述服务端在所述第一定时器的第一预设时间内接收到了所述释放信息,所述服务端则通过所述redis锁机制对所述数据进行加锁操作。
在一个可能的实现中,所述分布式锁为etcd锁机制,所述客户端拥有对应的客户端关键字(key)值;所述服务端基于所述分布式锁的类型对所述数据进行加锁操作的步骤,包括:
所述服务端根据所述客户端key值,向所述etcd锁机制发送查询所述客户端key值所对应的etcd分布式锁是否存在的第二请求信息;
如果所述etcd分布式锁不存在,所述服务端则向所述etcd锁机制申请获取所有key值,并且比较所述客户端key值在所述所有key值中排名是否为第一;
如果所述客户端key值在所述所有key值中排名不为第一,所述服务端则向所述etcd锁机制发送第二订阅请求,并按第二预设时间设置第二定时器;其中,所述第二订阅请求对应排在所述客户端key值前一位的key值的删除信息;
如果所述服务端在所述第二定时器的第二预设时间内接收到了所述删除信息,所述服务端则通过所述etcd锁机制对所述数据进行加锁操作。
在一个可能的实现中,所述方法还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于吉旗(成都)科技有限公司,未经吉旗(成都)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111560222.5/2.html,转载请声明来源钻瓜专利网。