System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及分布式领域,尤其涉及一种业务处理方法、装置及设备。
技术介绍
1、每个主业务可以对应多个子业务,在对主业务进行处理时,需要对该主业务对应的多个子业务依次进行处理,以得到主业务的处理结果。
2、在相关技术中,为保证一致性,可以将主业务对应的多个子业务依次串联,并在对主业务的任意一个业务处理请求进行处理时,对这多个子业务进行锁表处理,直至得到该业务处理请求的处理结果后,对多个子业务进行解锁处理,以进行该主业务的下一个业务处理请求的处理。
3、然而,当存在多个业务处理请求并发时,若采用相关技术中的方法对多个并发的业务处理请求进行处理,将导致每个业务处理请求等待时间过长,进而导致并发处理超时,业务处理效率较低。
技术实现思路
1、本申请提供一种业务处理方法、装置及设备,用以解决相关技术中的方法对多个并发的业务处理请求进行处理,将导致每个业务处理请求等待时间过长,进而导致并发处理超时,业务处理效率较低的问题。
2、第一方面,本申请提供一种业务处理方法,所述方法包括:
3、获取待通过目标任务链进行处理的任务序列,所述任务序列包括顺序排列的多个业务处理请求,所述目标任务链至少包括第一任务节点和第二任务节点,所述第一任务节点的处理顺序在所述第二任务节点之前;根据所述多个业务处理请求在所述任务序列中的排列顺序,通过所述第一任务节点依次对每个业务处理请求进行处理;针对任意一个业务处理请求,若所述第一任务节点对所述业务处理请求处理成功,则得到所述
4、在一种可能的设计中,根据所述第一子处理结果,通过所述第二任务节点对所述业务处理请求继续处理,以得到所述业务处理请求的处理结果,包括:
5、根据所述第一子处理结果,通过所述第二任务节点对所述业务处理请求继续处理;确定所述第二任务节点对所述业务处理请求的第一处理状态;根据所述第一处理状态,获取所述处理结果。
6、在一种可能的设计中,根据所述第一处理状态,获取所述处理结果,包括:
7、若所述第一处理状态为处理成功,则得到所述第二任务节点对所述业务处理请求的第二子处理结果,并根据所述第二子处理结果,获取所述处理结果,以及通过所述第二任务节点对所述业务处理请求的下一个业务处理请求进行处理;若所述第一处理状态为处理失败,则通过所述第二任务节点对所述业务处理请求的下一个业务处理请求进行处理,并在所述第一任务节点中对所述业务处理请求进行回滚处理。
8、在一种可能的设计中,在所述第一任务节点中对所述业务处理请求进行回滚处理,包括:
9、生成所述业务处理请求对应的回滚任务,所述回滚任务用于所述第一任务节点对所述业务处理请求的历史执行操作进行回滚处理;若所述第一任务节点的当前工作状态为空闲状态,则通过所述第一任务节点执行所述回滚任务;若所述第一任务节点的当前工作状态为占用状态,则将所述回滚任务添加至所述第一任务节点的待处理任务序列中,以等待所述第一任务节点对所述回滚任务进行处理。
10、在一种可能的设计中,在所述目标任务链中,所述第二任务节点之后还包括互锁的第三任务节点和第四任务节点,所述第三任务节点的处理顺序在所述第四任务节点之前;根据所述第二子处理结果,获取所述处理结果,包括:
11、对所述第四任务节点进行锁表处理,根据所述第二子处理结果,通过所述第三任务节点对所述业务处理请求继续进行处理,并确定所述第三任务节点对所述业务处理请求的第二处理状态;若所述第二处理状态为处理成功,则得到所述第三任务节点对所述业务处理请求的第三子处理结果,对所述第三任务节点进行锁表处理,并根据所述第三子处理结果,通过所述第四任务节点对所述业务处理请求继续进行处理,以得到所述处理结果;若所述第二处理状态为处理失败,则通过所述第三任务节点对所述业务处理请求的下一个业务处理请求进行处理,并依次在所述第一任务节点和所述第二任务节点中对所述业务处理请求进行回滚处理。
12、在一种可能的设计中,根据所述第三子处理结果,通过所述第四任务节点对所述业务处理请求继续进行处理,以得到所述处理结果,包括:
13、根据所述第三子处理结果,通过所述第四任务节点对所述业务处理请求继续进行处理,并确定所述第四任务节点对所述业务处理请求的第三处理状态;若所述第三处理状态为处理成功,则得到所述处理结果,并对所述第三任务节点进行解锁处理,以通过所述第三任务节点对所述业务处理请求的下一个业务处理请求进行处理;若所述第三处理状态为处理失败,则对所述第四任务节点进行锁表处理,并通过所述第三任务节点对所述业务处理请求的下一个业务处理请求进行处理,以及依次在所述第一任务节点、所述第二任务节点和所述第三任务节点中对所述业务处理请求进行回滚处理。
14、在一种可能的设计中,根据所述第一子处理结果,通过所述第二任务节点对所述业务处理请求继续处理,包括:
15、确定所述第二任务节点的当前工作状态;若所述第二任务节点的当前工作状态为空闲状态,则根据所述第一子处理结果,通过所述第二任务节点对所述业务处理请求进行处理;若所述第二任务节点的当前工作状态为占用状态,则对应存储所述业务处理请求和所述第一子处理结果,并将所述业务处理请求添加至所述第二任务节点的待处理任务序列尾部,以等待所述第二任务节点对所述业务处理请求进行处理。
16、第二方面,本申请提供一种业务处理装置,包括:
17、获取模块,用于获取待通过目标任务链进行处理的任务序列,所述任务序列包括顺序排列的多个业务处理请求,所述目标任务链至少包括第一任务节点和第二任务节点,所述第一任务节点的处理顺序在所述第二任务节点之前;
18、处理模块,用于根据所述多个业务处理请求在所述任务序列中的排列顺序,通过所述第一任务节点依次对每个业务处理请求进行处理;
19、处理模块,还用于针对任意一个业务处理请求,若所述第一任务节点对所述业务处理请求处理成功,则得到所述第一任务节点对所述业务处理请求的第一子处理结果,并根据所述第一子处理结果,通过所述第二任务节点对所述业务处理请求继续处理,以得到所述业务处理请求的处理结果;
20、处理模块,还用于若所述第一任务节点对所述业务处理请求处理失败,则通过所述第一任务节点对所述业务处理请求的下一个业务处理请求进行处理。
21、在一种可能的设计中,所述处理模块具体用于:
22、根据所述第一子处理结果,通过所述第二任务节点对所述业务处理请求继续处理;确定所述第二任务节点对所述业务处理请求的第一处理状态;根据所述第一处理状态,获取所述处理结果。
23、在一种本文档来自技高网...
【技术保护点】
1.一种业务处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,根据所述第一子处理结果,通过所述第二任务节点对所述业务处理请求继续处理,以得到所述业务处理请求的处理结果,包括:
3.根据权利要求2所述的方法,其特征在于,根据所述第一处理状态,获取所述处理结果,包括:
4.根据权利要求3所述的方法,其特征在于,在所述第一任务节点中对所述业务处理请求进行回滚处理,包括:
5.根据权利要求3所述的方法,其特征在于,在所述目标任务链中,所述第二任务节点之后还包括互锁的第三任务节点和第四任务节点,所述第三任务节点的处理顺序在所述第四任务节点之前;
6.根据权利要求5所述的方法,其特征在于,根据所述第三子处理结果,通过所述第四任务节点对所述业务处理请求继续进行处理,以得到所述处理结果,包括:
7.根据权利要求2-6任一项所述的方法,其特征在于,根据所述第一子处理结果,通过所述第二任务节点对所述业务处理请求继续处理,包括:
8.一种业务处理装置,其特征在于,包括:
9.一
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至7中任一项所述的方法。
11.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法。
...【技术特征摘要】
1.一种业务处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,根据所述第一子处理结果,通过所述第二任务节点对所述业务处理请求继续处理,以得到所述业务处理请求的处理结果,包括:
3.根据权利要求2所述的方法,其特征在于,根据所述第一处理状态,获取所述处理结果,包括:
4.根据权利要求3所述的方法,其特征在于,在所述第一任务节点中对所述业务处理请求进行回滚处理,包括:
5.根据权利要求3所述的方法,其特征在于,在所述目标任务链中,所述第二任务节点之后还包括互锁的第三任务节点和第四任务节点,所述第三任务节点的处理顺序在所述第四任务节点之前;
6.根据权利要求5所述的方法,其特征在于,根据所述第三子...
【专利技术属性】
技术研发人员:刘海港,刘艳,罗军珍,
申请(专利权)人:中国建设银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。