加锁异常的处理方法及装置、存储介质、计算机设备制造方法及图纸

技术编号:36355812 阅读:65 留言:0更新日期:2023-01-14 18:12
本申请涉及计算机技术领域,公开了一种加锁异常的处理方法及装置、存储介质、计算机设备,该方法包括:加锁组件接收对分布式锁工具的调用请求,其中,调用请求包括对分布式锁工具的调用顺序;根据调用顺序调用分布式锁工具;若存在一个分布式锁工具调用成功,则利用调用成功的分布式锁工具加锁;若所有分布式锁工具都调用异常,则中断加锁。实现了在调用分布式锁出现异常后,可以自动切换各个分布式锁工具,以节省人力资源,提高工作效率。提高工作效率。提高工作效率。

【技术实现步骤摘要】
加锁异常的处理方法及装置、存储介质、计算机设备


[0001]本申请涉及计算机
,尤其是涉及到一种加锁异常的处理方法及装置、存储介质、计算机设备。

技术介绍

[0002]加锁指的是获取某一资源,拥有该资源的控制权,实现加锁的方法包括调用分布式锁工具,而分布式锁工具的类型有很多,例如redis分布式锁,zo okeeper分布式锁,数据库唯一索引锁等。
[0003]目前,利用代码调用某一类型的分布式锁工具,但是当加锁异常(也就是调用失败)后,要么手动继续尝试几次,要么修改代码以便调用其他的分布式锁工具,这样处理加锁异常的方式浪费了大量的人力资源,降低了工作效率。

技术实现思路

[0004]有鉴于此,本申请提供了一种加锁异常的处理方法及装置、存储介质、计算机设备,实现了在调用分布式锁出现异常后,可以自动切换各个分布式锁工具,以节省人力资源,提高工作效率。
[0005]根据本申请的一个方面,提供了一种加锁异常的处理方法,所述方法包括:
[0006]加锁组件接收对分布式锁工具的调用请求,其中,所述调用请求包括对所述分布式锁工具的调用顺序;
[0007]根据所述调用顺序调用所述分布式锁工具;
[0008]若存在一个所述分布式锁工具调用成功,则利用调用成功的所述分布式锁工具加锁;
[0009]若所有所述分布式锁工具都调用异常,则中断加锁。
[0010]可选地,所述根据所述调用顺序调用所述分布式锁工具,包括:
[0011]根据所述调用顺序确定第一顺位的分布式锁工具,调用所述第一顺位的分布式锁工具;
[0012]判断所述第一顺位的分布式锁工具是否调用成功;
[0013]若所述第一顺位的分布式锁工具调用成功,则使用所述第一顺位的分布式锁工具加锁;
[0014]若所述第一顺位的分布式锁工具调用异常,则根据所述调用顺序确定第二顺位的分布式锁工具,并判断所述第二顺位的分布式锁工具是否调用成功,直至存在一个所述分布式锁工具调用成功时停止,或者直至所有所述分布式锁工具都调用异常后停止。
[0015]可选地,所述调用请求还包括:每个所述分布式锁工具在调用异常后的重复调用次数;
[0016]所述判断所述第一顺位的分布式锁工具是否调用成功,包括:
[0017]若所述第一顺位的分布式锁工具在小于等于所述重复调用次数内存在一次调用
成功,则所述第一顺位的分布式锁工具调用成功;
[0018]若所述第一顺位的分布式锁工具在小于等于所述重复调用次数内均调用异常,则所述第一顺位的分布式锁工具调用异常。
[0019]根据本申请的另一个方面,提供了一种加锁异常的处理方法,所述方法包括:
[0020]向加锁组件发送分布式锁的调用请求,以使所述加锁组件根据所述调用请求调用所述加锁组件封装的分布式锁工具;
[0021]若存在一个所述分布式锁工具调用成功,则接收所述加锁组件发送的加锁成功信息;
[0022]若所有所述分布式锁工具都出现调用异常,则接收所述加锁组件发送的中断加锁信息。
[0023]可选地,在所述向加锁组件发送分布式锁的调用请求之前,所述方法还包括:
[0024]将分布式锁工具封装在加锁组件中。
[0025]可选地,所述方法还包括:
[0026]确定新增分布式锁工具,将所述新增分布式锁工具更新至所述加锁组件;
[0027]所述向加锁组件发送分布式锁的调用请求,包括:
[0028]向更新了所述新增分布式锁工具的加锁组件发送分布式锁的调用请求。
[0029]根据本申请的又一方面,提供了一种加锁异常的处理装置,所述装置包括:
[0030]接收模块,用于加锁组件接收对分布式锁工具的调用请求,其中,所述调用请求包括对所述分布式锁工具的调用顺序;
[0031]调用模块,用于根据所述调用顺序调用所述分布式锁工具;
[0032]加锁模块,用于若存在一个所述分布式锁工具调用成功,则利用调用成功的所述分布式锁工具加锁;
[0033]中断模块,用于若所有所述分布式锁工具都调用异常,则中断加锁。
[0034]根据本申请的再一方面,提供了一种加锁异常的处理装置,所述装置包括:
[0035]发送模块,用于向加锁组件发送分布式锁的调用请求,以使所述加锁组件根据所述调用请求调用所述加锁组件封装的分布式锁工具;
[0036]第一接收模块,用于若存在一个所述分布式锁工具调用成功,则接收所述加锁组件发送的加锁成功信息;
[0037]第二接收模块,用于若所有所述分布式锁工具都出现调用异常,则接收所述加锁组件发送的中断加锁信息。
[0038]依据本申请又一个方面,提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述加锁异常的处理方法。
[0039]依据本申请再一个方面,提供了一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述加锁异常的处理方法。
[0040]借由上述技术方案,本申请提供的一种加锁异常的处理方法及装置、存储介质、计算机设备,首先加锁组件接收对分布式锁工具的调用请求,其中,调用请求包括对分布式锁工具的调用顺序;进一步的,根据调用顺序调用分布式锁工具;最后,若存在一个分布式锁工具调用成功,则利用调用成功的分布式锁工具加锁;若所有分布式锁工具都调用异常,则
中断加锁。
[0041]加锁组件中封装了分布式锁工具,相比于现有技术通过代码调用的方式加锁,本申请直接向加锁组件发送分布式锁工具的调用请求,调用请求中包括对分布式锁工具的调用顺序,加锁组件在出现加锁异常时按照调用顺序依次调用已封装的分布式锁工具,实现了多个分布式锁工具的自动切换,无需人工重复尝试或人工修改代码,减少了人力资源的浪费,提高了工作效率。
[0042]上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
[0043]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0044]图1示出了本申请实施例提供的一种加锁异常的处理方法的流程示意图;
[0045]图2示出了本申请实施例提供的另一种加锁异常的处理方法的流程示意图;
[0046]图3示出了本申请实施例提供的又一种加锁异常的处理方法的流程示意图;
[0047]图4示出了本申请实施例提供的一种加锁异常的处理装置的结构示意图;
[0048]图5示出了本申请实施例提供的另一种加锁异常的处理装置的结构示意图;
[0049]图6示出了本申请实施例提供的又一种加锁异常的处理装置的结构示意图。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种加锁异常的处理方法,其特征在于,所述方法包括:加锁组件接收对分布式锁工具的调用请求,其中,所述调用请求包括对所述分布式锁工具的调用顺序;根据所述调用顺序调用所述分布式锁工具;若存在一个所述分布式锁工具调用成功,则利用调用成功的所述分布式锁工具加锁;若所有所述分布式锁工具都调用异常,则中断加锁。2.根据权利要求1所述的方法,其特征在于,所述根据所述调用顺序调用所述分布式锁工具,包括:根据所述调用顺序确定第一顺位的分布式锁工具,调用所述第一顺位的分布式锁工具;判断所述第一顺位的分布式锁工具是否调用成功;若所述第一顺位的分布式锁工具调用成功,则使用所述第一顺位的分布式锁工具加锁;若所述第一顺位的分布式锁工具调用异常,则根据所述调用顺序确定第二顺位的分布式锁工具,并判断所述第二顺位的分布式锁工具是否调用成功,直至存在一个所述分布式锁工具调用成功时停止,或者直至所有所述分布式锁工具都调用异常后停止。3.根据权利要求2所述的方法,其特征在于,所述调用请求还包括:每个所述分布式锁工具在调用异常后的重复调用次数;所述判断所述第一顺位的分布式锁工具是否调用成功,包括:若所述第一顺位的分布式锁工具在小于等于所述重复调用次数内存在一次调用成功,则所述第一顺位的分布式锁工具调用成功;若所述第一顺位的分布式锁工具在小于等于所述重复调用次数内均调用异常,则所述第一顺位的分布式锁工具调用异常。4.一种加锁异常的处理方法,其特征在于,所述方法包括:向加锁组件发送分布式锁的调用请求,以使所述加锁组件根据所述调用请求调用所述加锁组件封装的分布式锁工具;若存在一个所述分布式锁工具调用成功,则接收所述加锁组件发送的加锁成功信息;若所有所述分布式锁工具都出现调用异常...

【专利技术属性】
技术研发人员:何辉
申请(专利权)人:平安壹钱包电子商务有限公司
类型:发明
国别省市:

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

1