基于数据库的分布式锁的处理方法及装置制造方法及图纸

技术编号:30530226 阅读:42 留言:0更新日期:2021-10-30 12:28
本申请公开了一种基于数据库的分布式锁的处理方法及装置。该方法包括:在多个系统同时发起获取数据库中的锁的操作时,若目标系统成功获取到锁,开始计时,并允许目标系统携带锁执行任务;判断目标系统占有锁的时长是否超过预设时长;若目标系统占有锁的时长超过预设时长,则对目标系统占有的锁进行强行释放,以便使除目标系统之外的其它系统有获取锁的可能。通过本申请,解决了相关技术中系统在占有锁后执行任务时出现死锁的情况,导致其他系统无法获取锁不能执行任务的问题。无法获取锁不能执行任务的问题。无法获取锁不能执行任务的问题。

【技术实现步骤摘要】
基于数据库的分布式锁的处理方法及装置


[0001]本申请涉及计算机
,具体而言,涉及一种基于数据库的分布式锁的处理方法及装置。

技术介绍

[0002]在多个系统组成集群时,每个系统不可避免会存在一些任务调度的情况,因为集群用的是同一个数据库,这就要求同一个时间,只能有一个系统来操作任务调度,但是若某一个系统拿到锁在执行任务调度时,由于某种原因,处于停止状态,导致出现死锁的产生,这种情况下别的系统无法拿到锁,也无法执行任务。
[0003]针对相关技术中系统在占有锁后执行任务时出现死锁的情况,导致其他系统无法获取锁不能执行任务的问题,目前尚未提出有效的解决方案。

技术实现思路

[0004]本申请的主要目的在于提供一种基于数据库的分布式锁的处理方法及装置,以解决相关技术中系统在占有锁后执行任务时出现死锁的情况,导致其他系统无法获取锁不能执行任务的问题。
[0005]为了实现上述目的,根据本申请的一个方面,提供了一种基于数据库的分布式锁的处理方法。该方法包括:在多个系统同时发起获取数据库中的锁的操作时,若目标系统成本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于数据库的分布式锁的处理方法,其特征在于,包括:在多个系统同时发起获取数据库中的锁的操作时,若目标系统成功获取到所述锁,开始计时,并允许所述目标系统携带所述锁执行任务;判断所述目标系统占有所述锁的时长是否超过预设时长;若所述目标系统占有所述锁的时长超过所述预设时长,则对所述目标系统占有的所述锁进行强行释放,以便使除所述目标系统之外的其它系统有获取所述锁的可能。2.根据权利要求1所述的方法,其特征在于,在所述目标系统成功获取到所述锁之后,所述方法还包括:控制所述多个系统中除所述目标系统之外的其它系统终止本次获取所述数据库中的锁的操作。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述目标系统成功获取到所述锁之后,按照预设时间周期控制除所述目标系统之外的其它系统再次发起获取所述数据库中的锁的操作;若除所述目标系统之外的其它系统无法获取到所述锁,确定所述目标系统仍然占有所述锁,则执行判断所述目标系统占有所述锁的时长是否超过预设时长的步骤。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述目标系统成功获取到所述锁之后,所述目标系统修改所述锁的记录信息,以指示所述锁被占用;若在所述预设时长内,所述目标系统携带所述锁任务执行完成,所述目标系统再次修改所述锁的记录信息以指示所述锁未被占用,并释放所述锁。5.一种基于数据库的分布式锁的处理装置,其特征在于,包括:第一获取单元,用于在多个系统同时发起获取数据库中的锁的操作时,若目标系统成功获取到所述锁,开始计时,并允许所述目标系统携带所述锁执行任务;判断单元,用于判断所述目标系统占有所述锁的时长是否超过预设时长;第一控制单元,用于在所述目标系统占有...

【专利技术属性】
技术研发人员:陈集锋
申请(专利权)人:北京国双科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1