System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请属于计算机,尤其涉及一种业务处理方法、装置、电子设备和计算机可读存储介质。
技术介绍
1、随着互联网技术的发展,分布式应用越来越普及,此时,分布式锁的作用就显得尤为重要。分布式锁主要用于控制分布式环境下对共享资源的访问,保证所有节点在处理相同业务时的同步性和一致性。但相关技术中通过分布式锁进行业务处理的可靠性不足。
技术实现思路
1、本申请实施例提供一种业务处理方法、装置、电子设备和计算机可读存储介质,可以提高业务处理的可靠性。
2、本申请实施例第一方面提供一种业务处理方法,包括:响应于第一线程发送的第一锁分配请求,在所述第一线程满足锁分配条件的情况下,通过redis原子性操作命令获取分布式锁的锁标识,并向所述第一线程发送所述分布式锁的锁标识,以控制所述第一线程在接收到所述锁标识时执行业务请求;在接收到所述分布式锁的锁释放请求之前,响应于第二线程发送的第二锁分配请求,确认所述第二线程未满足所述锁分配条件。
3、在第一方面的一些实施方式中,所述业务请求为资源读写请求时,在目标资源空闲时确认所述第一线程满足锁分配条件,其中,所述目标资源为所述资源读写请求指向的资源;或者,所述业务请求为任务调度请求时,在目标任务停止执行时确认所述第一线程满足锁分配条件,其中,所述目标任务为所述任务调度请求所需执行的任务;或者,所述业务请求为接口调用请求时,在目标接口未被调用时确认所述第一线程满足锁分配条件,其中,所述目标接口为所述接口调用请求调用的接口。
4、在
5、在第一方面的一些实施方式中,所述锁释放请求携带有待校验的锁标识,所述待校验的锁标识用于与分配给所述第一线程的锁标识进行比对。
6、在第一方面的一些实施方式中,所述响应于第一线程发送的第一锁分配请求,在所述第一线程满足锁分配条件的情况下,通过redis原子性操作命令获取分布式锁的锁标识,并向所述第一线程发送所述分布式锁的锁标识,包括:响应于业务代码的配置操作,将用于分配所述分布式锁的业务代码封装为函数;响应于所述第一锁分配请求,运行所述函数,以在所述第一线程满足锁分配条件的情况下,通过redis原子性操作命令获取所述分布式锁的锁标识,并向所述第一线程发送所述分布式锁的锁标识。
7、在第一方面的一些实施方式中,所述业务处理方法还包括:显示所述业务代码的注解信息。
8、在第一方面的一些实施方式中,所述业务处理方法应用于第一服务器;所述第一服务器配置于包含多个服务器的服务器集群中;所述第一锁分配请求为所述第一线程在所述服务器集群中进行服务器轮询,并在轮询到所述第一服务器时,向所述第一服务器发送的。
9、本申请实施例第二方面提供的一种业务处理装置,包括:业务处理单元,用于响应于第一线程发送的第一锁分配请求,在所述第一线程满足锁分配条件的情况下,通过redis原子性操作命令获取分布式锁的锁标识,并向所述第一线程发送所述分布式锁的锁标识,以控制所述第一线程在接收到所述锁标识时执行业务请求;确认单元,用于在接收到所述分布式锁的锁释放请求之前,响应于第二线程发送的第二锁分配请求,确认所述第二线程未满足所述锁分配条件。
10、本申请实施例第三方面提供一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述业务处理方法的步骤。
11、本申请实施例第四方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述业务处理方法的步骤。
12、本申请实施例第五方面提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述业务处理方法的步骤。
13、在本申请的实施方式中,响应于第一线程发送的第一锁分配请求,在第一线程满足锁分配条件的情况下,通过redis原子性操作命令获取分布式锁的锁标识,并向第一线程发送所述分布式锁的锁标识,以控制第一线程在接收到锁标识时执行业务请求,能够使用redis原子性操作命令保障锁获取的安全性,并且,在接收到分布式锁的锁释放请求之前,响应于第二线程发送的第二锁分配请求,确认第二线程未满足锁分配条件,可以防止第一线程和第二线程之间的业务处理发生冲突,保障业务处理的可靠性。
本文档来自技高网...【技术保护点】
1.一种业务处理方法,其特征在于,包括:
2.如权利要求1所述的业务处理方法,其特征在于,所述业务处理方法还包括:
3.如权利要求1所述的业务处理方法,其特征在于,所述锁释放请求为所述第一线程在所述业务请求的处理时长超过预设时长时生成的;
4.如权利要求3所述的业务处理方法,其特征在于,所述锁释放请求携带有待校验的锁标识,所述待校验的锁标识用于与分配给所述第一线程的锁标识进行比对。
5.如权利要求1至4任意一项所述的业务处理方法,其特征在于,所述响应于第一线程发送的第一锁分配请求,在所述第一线程满足锁分配条件的情况下,通过Redis原子性操作命令获取分布式锁的锁标识,并向所述第一线程发送所述分布式锁的锁标识,包括:
6.如权利要求5所述的业务处理方法,其特征在于,所述业务处理方法还包括:显示所述业务代码的注解信息。
7.如权利要求1至4任意一项所述的业务处理方法,其特征在于,所述业务处理方法应用于第一服务器;所述第一服务器配置于包含多个服务器的服务器集群中;所述第一锁分配请求为所述第一线程在所述服务器集群中进
8.一种业务处理装置,其特征在于,包括:
9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述业务处理方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述业务处理方法的步骤。
...【技术特征摘要】
1.一种业务处理方法,其特征在于,包括:
2.如权利要求1所述的业务处理方法,其特征在于,所述业务处理方法还包括:
3.如权利要求1所述的业务处理方法,其特征在于,所述锁释放请求为所述第一线程在所述业务请求的处理时长超过预设时长时生成的;
4.如权利要求3所述的业务处理方法,其特征在于,所述锁释放请求携带有待校验的锁标识,所述待校验的锁标识用于与分配给所述第一线程的锁标识进行比对。
5.如权利要求1至4任意一项所述的业务处理方法,其特征在于,所述响应于第一线程发送的第一锁分配请求,在所述第一线程满足锁分配条件的情况下,通过redis原子性操作命令获取分布式锁的锁标识,并向所述第一线程发送所述分布式锁的锁标识,包括:
6.如权利要求5所述的业务处理方法,其特征在于,所述业务处理...
【专利技术属性】
技术研发人员:莫维,
申请(专利权)人:深圳市优必选科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。