This application discloses a business compensation method, device and system. Among them, the method includes: obtaining business requests; determining the business requested by business requests according to business requests; business includes the first type of tasks and the second type of tasks, in which the first type of tasks are executed in the first system, the second type of tasks are executed in the second system, and the execution order of the second type of tasks is different from that of the first type of tasks; for the first type of tasks and the second type of tasks, the execution order is different. The execution status of tasks is detected, and the business is compensated if the execution anomalies of the first or second types of tasks are detected. It solves the technical problems of more threads involved in the process of business execution and more complex calling relationship between modules.
【技术实现步骤摘要】
业务补偿方法及装置、系统
本申请涉及计算机领域,具体而言,涉及一种业务补偿方法及装置、系统。
技术介绍
现有技术中,saga模型在处理多个业务时,需要在多个不同的业务模块中处理对应的业务,多个业务模块之间进行交互,例如:A模块负责业务数据的解析,B模块负责对各个业务进行排序,C模块记载各个任务的执行状态,D模块用于处理业务的数据,C模块调用E模块对执行异常的业务进行补偿,业务执行过程中涉及到的线程较多,模块之间调用关系较复杂。针对上述的问题,目前尚未提出有效的解决方案。
技术实现思路
本申请实施例提供了一种业务补偿方法及装置、系统,以至少解决业务执行过程中涉及到的线程较多,模块之间调用关系较复杂的技术问题。根据本申请实施例的一个方面,提供了一种业务补偿方法,包括:获取业务请求;根据业务请求,确定业务请求所请求的业务;业务中包括第一类任务与第二类任务,其中第一类任务在第一系统中执行,第二类任务在第二系统中执行,并且第二类任务与第一类任务的执行顺序是不同的;对第一类任务与第二类任务的执行状态进行检测,若检测到第一类任务或第二类任务执行异常,则对业务进行补偿。可选地,确定用于响应业务请求的业务之后,方法包括:记录业务的执行状态,第一执行状态至少包括以下之一:开始执行业务,业务执行结束,业务执行中,业务是否执行异常。可选地,对业务进行补偿之前,方法还包括:从冲正轨迹表中获取第一类任务和/或第二类任务的第二执行状态,其中,冲正轨迹表用于记录第一类任务和/或第二类任务的名称,以及第一类任务和/或第二类任务的第二执行状态;依据第二执行状态确定是否对业务进行补偿,其中,在第一 ...
【技术保护点】
1.一种业务补偿方法,其特征在于,所述方法包括:获取业务请求;根据所述业务请求,确定所述业务请求所请求的业务;所述业务中包括第一类任务与第二类任务,其中所述第一类任务在第一系统中执行,所述第二类任务在第二系统中执行,并且第二类任务与所述第一类任务的执行顺序是不同的;对第一类任务与第二类任务的执行状态进行检测,若检测到所述第一类任务或第二类任务执行异常,则对所述业务进行补偿。
【技术特征摘要】
1.一种业务补偿方法,其特征在于,所述方法包括:获取业务请求;根据所述业务请求,确定所述业务请求所请求的业务;所述业务中包括第一类任务与第二类任务,其中所述第一类任务在第一系统中执行,所述第二类任务在第二系统中执行,并且第二类任务与所述第一类任务的执行顺序是不同的;对第一类任务与第二类任务的执行状态进行检测,若检测到所述第一类任务或第二类任务执行异常,则对所述业务进行补偿。2.根据权利要求1所述的方法,其特征在于,确定用于响应所述业务请求的业务之后,所述方法包括:记录所述业务的执行状态,第一执行状态至少包括以下之一:开始执行业务,业务执行结束,业务执行中,业务是否执行异常。3.根据权利要求2所述的方法,其特征在于,对所述业务进行补偿之前,所述方法还包括:从冲正轨迹表中获取第一类任务和/或第二类任务的第二执行状态,其中,冲正轨迹表用于记录第一类任务和/或第二类任务的名称,以及第一类任务和/或第二类任务的第二执行状态;依据所述第二执行状态确定是否对所述业务进行补偿,其中,在第一类任务或第二类任务的第二执行状态指示异常时,确定对所述业务进行补偿。4.根据权利要求1所述的方法,其特征在于,在第一类任务或第二类任务的第二执行状态指示异常时,确定对所述业务进行补偿包括:确定所述业务的最大冲正次数与已冲正次数;若所述已冲正次数小于所述最大冲正次数,则确定对所述业务进行补偿。5.根据权利要求1所述的方法,其特征在于,对所述业务进行补偿之后,所述方法还包括:按照预设的时间周期,定时对所述业务的补偿状态进行检测,其中,所述补偿状态包括:补偿成功和与补偿失败;在检测到所述补偿...
【专利技术属性】
技术研发人员:张兰英,潘华,朱礼华,郝巍,康荣兴,马韬,
申请(专利权)人:中国邮政储蓄银行股份有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。