[发明专利]基于数据库的分布式锁处理方法、装置、存储介质及系统在审
| 申请号: | 202210294664.8 | 申请日: | 2022-03-22 |
| 公开(公告)号: | CN114647655A | 公开(公告)日: | 2022-06-21 |
| 发明(设计)人: | 李斌 | 申请(专利权)人: | 康键信息技术(深圳)有限公司 |
| 主分类号: | G06F16/23 | 分类号: | G06F16/23 |
| 代理公司: | 上海汉之律师事务所 31378 | 代理人: | 周婷婷 |
| 地址: | 518066 广东省深圳市前海深港合作区前*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 数据库 分布式 处理 方法 装置 存储 介质 系统 | ||
本发明涉及计算机技术领域,提供一种基于数据库的分布式锁处理方法、装置、存储介质及系统,处理方法包括:获取内存锁,以确定持有所述内存锁的进程;当所述进程未持有分布式锁时,生成申请分布式锁的标志,并确定分布式锁的标识;基于所述申请分布式锁的标志和所述分布式锁的标识,发送取锁请求;数据库接收所述取锁请求,并基于所述分布式锁的标识进行空锁检测和锁超时检测,以确定将所述分布式锁分配给所述进程;本发明的基于数据库的分布式锁处理方法及装置能够避免请求锁的服务器在取锁过程中被阻塞;并且在取锁时判断当前锁是否超时,以避免因当前锁所在的服务器突然宕机,长时间无法释放锁,导致其他服务器一直无法获取到锁。
技术领域
本发明涉及计算机技术领域,特别是涉及基于数据库的分布式锁处理方法、装置、存储介质及系统。
背景技术
目前,不论是单进程程序、多进程程序还是分布式系统,都需要面对一个并发程序处理最常见的问题:共享资源的争用,即如何保证并发场景下对共享资源读写操作的时序性、原子性以及一致性;通常的解决方法是使用“锁”对并发读写数据进行保护。比如,单进程程序中使用内存锁、多进程程序中使用文件锁、以及分布式系统中使用分布式锁等;由于分布式系统的应用普及,因此,对分布式系统中“锁”的使用尤为关注。
现有技术中,在分布式系统中分布式锁的使用是通过数据库来实现的,主要有两种方法,一种是基于数据库的行级锁;一种是通过比较表字段的值来实现的乐观锁;第一种方法会使系统线程被阻塞,这种阻塞状态不会因等待时长超时被取消,而是直到线程获取到锁,阻塞状态才能取消;第二种方法是多个线程先对共享数据进行操作,再在提交时进行冲突检测,这种处理仍会存在脏读的问题,无法有效锁住资源;此外,在获取到锁的服务器宕机未释放锁时,其它服务器无法获取到该锁。
因此,如何有针对性且灵活地进行分布式锁的处理是一个亟待解决的问题。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于数据库的分布式锁处理方法、装置、存储介质及系统,用于解决现有技术中无法正对性且灵活地进行分布式锁的处理的问题。
为实现上述目的及其他相关目的,本发明提供一种基于数据库的分布式锁处理方法,包括以下步骤:获取内存锁,以确定持有所述内存锁的进程;当所述进程未持有分布式锁时,生成申请分布式锁的标志,并确定分布式锁的标识;基于所述申请分布式锁的标志和所述分布式锁的标识,发送取锁请求;数据库接收所述取锁请求,并基于所述分布式锁的标识进行空锁检测和锁超时检测,以确定将所述分布式锁分配给所述进程。
于本发明的一实施例中,所述当所述进程未持有分布式锁时,生成申请分布式锁的标志,以确定分布式锁的标识,包括:当所述进程未持有所述分布式锁时,基于所述进程,生成申请所述分布式锁的标志;基于所述进程,获取所述进程争用的共享资源;基于所述共享资源确定分布式锁的标识。
于本发明的一实施例中,所述基于所述申请分布式锁的标志和所述分布式锁的标识,发送取锁请求,包括:基于所述分布式锁的标识,在所述数据库中预设的分布式锁的数据表中查询分布式锁的标识对应的字段是否有所述标识;当所述标识存在时,基于所述申请分布式锁的标志和所述分布式锁的标识,发送所述取锁请求;当所述标识不存在时,在所述数据库的分布式锁的标识对应的字段中创建所述分布式锁的标识;再基于所述申请分布式锁的标志和所述分布式锁的标识,发送所述取锁请求。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于康键信息技术(深圳)有限公司,未经康键信息技术(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210294664.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种东风螺半循环式工厂化养殖方法
- 下一篇:一种风力发电塔用送电线路走线结构





