多模式的业务处理方法、装置及设备制造方法及图纸

技术编号:29135438 阅读:20 留言:0更新日期:2021-07-02 22:31
本申请实施例提供一种多模式的业务处理方法、装置及设备,该方法包括:获取业务处理请求,业务处理请求用于请求对第一业务进行处理,第一业务包括至少一个第一子业务和至少一个第二子业务,第一子业务和第二子业务的模式不同;分别对每个第一子业务进行预处理,预处理用于使得对第一子业务进行执行处理的结果为执行成功;若对至少一个第一子业务进行预处理成功,则对至少一个第二子业务进行业务处理,得到至少一个第二子业务对应的第二执行结果;根据第二执行结果,分别对每个第一子业务进行执行处理或者回退处理,得到每个第一子业务对应到第一执行结果,第一执行结果与第二执行结果相同。提高了业务处理的可靠性。

【技术实现步骤摘要】
多模式的业务处理方法、装置及设备
本专利技术涉及计算机技术,尤其涉及一种多模式的业务处理方法、装置及设备。
技术介绍
分布式业务系统可以对分布式业务进行处理,分布式业务系统中包括多个子业务系统,分布式业务中包括多个子业务,一个子业务系统通常用于对一个子业务进行处理。目前,子业务系统可以为用于处理长活事务的SAGA模式或者尝试-确认-取消(Try-Confirm-Cancel,TCC)模式。分布式业务处理系统在处理分布式业务时,需要保证对分布式业务中各个子业务的处理结果一致,即,要么对各个子业务均处理成功,要么对各个子业务均处理失败。在相关技术中,为了保证对分布式业务中各个子业务的处理结果一致,需要将分布式业务系统中的各个子业务系统的模式设置为相同模式,若业务系统中各子业务系统的模式不同,则无法保证对分布式业务中各个子业务的处理结果一致,进而导致业务处理的可靠性较差。
技术实现思路
本申请实施例提供一种多模式的业务处理方法、装置及设备。提高了而业务处理的可靠性。第一方面,本申请实施例提供一种多模式的业务处理方法,包括:获取业务处理请求,所述业务处理请求用于请求对第一业务进行处理,所述第一业务包括至少一个第一子业务和至少一个第二子业务,所述第一子业务和所述第二子业务的模式不同;分别对每个第一子业务进行预处理,所述预处理用于使得对所述第一子业务进行执行处理的结果为执行成功;若对所述至少一个第一子业务进行预处理成功,则对所述至少一个第二子业务进行业务处理,得到所述至少一个第二子业务对应的第二执行结果;根据所述第二执行结果,分别对每个第一子业务进行执行处理或者回退处理,得到每个第一子业务对应到第一执行结果,所述第一执行结果与所述第二执行结果相同。在一种可能的实施方式中,根据所述第二执行结果,分别对每个第一子业务进行执行处理或者回退处理,得到每个第一子业务对应到第一执行结果,包括:若所述第二执行结果为执行成功,则分别对每个第一子业务进行执行处理,得到每个第一子业务对应的第一执行结果,每个第一子业务对应的第一执行结果为执行成功;若所述第二执行结果为执行失败,则分别对每个第一子业务进行回退处理,得到每个第一子业务对应的第一执行结果,每个第一子业务对应的第一执行结果为执行失败。在一种可能的实施方式中,针对任意一个第一子业务;对所述第一子业务进行回退处理,得到所述第一子业务对应的第一执行结果,包括:对所述第一子业务的预处理进行回退处理,得到所述第一子业务对应的第一执行结果,进行回退处理后的所述第一子业务的状态与进行所述预处理前的所述第一子业务的状态相同。在一种可能的实施方式中,若所述第二执行结果为执行失败,所述方法还包括:在所述至少一个第二子业务中确定已进行业务处理的第二子业务;对已进行业务处理的第二子业务进行反业务处理。在一种可能的实施方式中,对所述至少一个第二子业务进行业务,得到所述至少一个第二子业务对应的第二执行结果,包括:确定所述至少一个第二子业务的执行顺序;按照所述执行顺序对所述至少一个第二子业务进行业务处理,直至对每个第二子业务均执行成功时,确定所述第二执行结果为执行成功,或者,直至确定对所述至少一个第二子业务中的任意第二子业务执行失败时,确定所述第二执行结果为执行失败。在一种可能的实施方式中,针对任意一个第二子业务,所述第二子业务在进行所述反业务处理后的状态,与所述第二子业务进行所述业务处理前的状态相同。在一种可能的实施方式中,针对任意一个第一子业务;对所述第一子业务进行预处理,包括:在所述业务处理请求中获取所述第一子业务对应的业务参数;判断所述业务参数是否满足所述第一子业务对应的业务需求;在确定所述业务参数满足所述第一子业务对应的业务需求时,为所述第一子业务分配业务资源,所述业务资源为对所述第一子业务进行所述执行处理所需的资源。在一种可能的实施方式中,若对所述至少一个第一子业务中的任意一个第一子业务预处理失败,所述方法还包括:对已经进行所述预处理的第一子业务进行回退处理;其中,进行回退处理后的所述第一子业务的状态与进行所述预处理前的所述第一子业务的状态相同。在一种可能的实施方式中,所述第一子业务的模式为尝试-确认-取消TCC模式,所述第二子业务的模式为SAGA模式。第二方面,本申请实施例提供一种多模式的业务处理装置,包括:获取模块、第一处理模块和第二处理模块,其中,所述获取模块用于,获取业务处理请求,所述业务处理请求用于请求对第一业务进行处理,所述第一业务包括至少一个第一子业务和至少一个第二子业务,所述第一子业务和所述第二子业务的模式不同;所述第一处理模块用于,分别对每个第一子业务进行预处理,所述预处理用于使得对所述第一子业务进行执行处理的结果为执行成功;所述第二处理模块用于,若所述第一处理模块对所述至少一个第一子业务进行预处理成功,则对所述至少一个第二子业务进行业务处理,得到所述至少一个第二子业务对应的第二执行结果;所述第一处理模块还用于,根据所述第二执行结果,分别对每个第一子业务进行执行处理或者回退处理,得到每个第一子业务对应到第一执行结果,所述第一执行结果与所述第二执行结果相同。在一种可能的实施方式中,所述第一处理模块具体用于:若所述第二执行结果为执行成功,则分别对每个第一子业务进行执行处理,得到每个第一子业务对应的第一执行结果,每个第一子业务对应的第一执行结果为执行成功;若所述第二执行结果为执行失败,则分别对每个第一子业务进行回退处理,得到每个第一子业务对应的第一执行结果,每个第一子业务对应的第一执行结果为执行失败。在一种可能的实施方式中,针对任意一个第一子业务;所述第一处理模块具体用于:对所述第一子业务的预处理进行回退处理,得到所述第一子业务对应的第一执行结果,进行回退处理后的所述第一子业务的状态与进行所述预处理前的所述第一子业务的状态相同。在一种可能的实施方式中,若所述第二执行结果为执行失败,所述第二处理模块还用于:在所述至少一个第二子业务中确定已进行业务处理的第二子业务;对已进行业务处理的第二子业务进行反业务处理。在一种可能的实施方式中,所述第二处理模块具体用于:确定所述至少一个第二子业务的执行顺序;按照所述执行顺序对所述至少一个第二子业务进行业务处理,直至对每个第二子业务均执行成功时,确定所述第二执行结果为执行成功,或者,直至确定对所述至少一个第二子业务中的任意第二子业务执行失败时,确定所述第二执行结果为执行失败。在一种可能的实施方式中,针对任意一个第二子业务,所述第二子业务在进行所述反业务处理后的状态,与所述第二子业务进行所述业务处理前的状态相同。在一种可能的实施方式中,针对任意一个第一子业务;所述第一处理模块具体用于:在所述业务处理请求中获取所述第一子业务对应的业务参数;本文档来自技高网...

【技术保护点】
1.一种多模式的业务处理方法,其特征在于,包括:/n获取业务处理请求,所述业务处理请求用于请求对第一业务进行处理,所述第一业务包括至少一个第一子业务和至少一个第二子业务,所述第一子业务和所述第二子业务的模式不同;/n分别对每个第一子业务进行预处理,所述预处理用于使得对所述第一子业务进行执行处理的结果为执行成功;/n若对所述至少一个第一子业务进行预处理成功,则对所述至少一个第二子业务进行业务处理,得到所述至少一个第二子业务对应的第二执行结果;/n根据所述第二执行结果,分别对每个第一子业务进行执行处理或者回退处理,得到每个第一子业务对应到第一执行结果,所述第一执行结果与所述第二执行结果相同。/n

【技术特征摘要】
1.一种多模式的业务处理方法,其特征在于,包括:
获取业务处理请求,所述业务处理请求用于请求对第一业务进行处理,所述第一业务包括至少一个第一子业务和至少一个第二子业务,所述第一子业务和所述第二子业务的模式不同;
分别对每个第一子业务进行预处理,所述预处理用于使得对所述第一子业务进行执行处理的结果为执行成功;
若对所述至少一个第一子业务进行预处理成功,则对所述至少一个第二子业务进行业务处理,得到所述至少一个第二子业务对应的第二执行结果;
根据所述第二执行结果,分别对每个第一子业务进行执行处理或者回退处理,得到每个第一子业务对应到第一执行结果,所述第一执行结果与所述第二执行结果相同。


2.根据权利要求1所述的方法,其特征在于,根据所述第二执行结果,分别对每个第一子业务进行执行处理或者回退处理,得到每个第一子业务对应到第一执行结果,包括:
若所述第二执行结果为执行成功,则分别对每个第一子业务进行执行处理,得到每个第一子业务对应的第一执行结果,每个第一子业务对应的第一执行结果为执行成功;
若所述第二执行结果为执行失败,则分别对每个第一子业务进行回退处理,得到每个第一子业务对应的第一执行结果,每个第一子业务对应的第一执行结果为执行失败。


3.根据权利要求2所述的方法,其特征在于,针对任意一个第一子业务;对所述第一子业务进行回退处理,得到所述第一子业务对应的第一执行结果,包括:
对所述第一子业务的预处理进行回退处理,得到所述第一子业务对应的第一执行结果,进行回退处理后的所述第一子业务的状态与进行所述预处理前的所述第一子业务的状态相同。


4.根据权利要求2或3所述的方法,其特征在于,若所述第二执行结果为执行失败,所述方法还包括:
在所述至少一个第二子业务中确定已进行业务处理的第二子业务;
对已进行业务处理的第二子业务进行反业务处理。


5.根据权利要求4所述的方法,其特征在于,对所述至少一个第二子业务进行业务,得到所述至少一个第二子业务对应的第二执行结果,包括:
确定所述至少一个第二子业务的执行顺序;
按照所述执行顺序对所述至少一个第二子业务进行业务处理,直至对每个第二子业务均执行成功时,确定所述第二执行结果为执行成功,或者,直至确定对所述至少一个第二子业务中的任意第二子业务执行失败时,确定所述第二执行结果为执行失败。


6.根据权利要求5所述的方法,其特征在于,针对任意一个第二子业务,所述第二子业务在进行所述反业务处理后的状态,与所述第二子业务进行所述业务处理前的状...

【专利技术属性】
技术研发人员:梁向东刘浩
申请(专利权)人:中国农业银行股份有限公司
类型:发明
国别省市:北京;11

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

1