CN116560896B - 一种异常补偿方法、装置、设备及存储介质 - Google Patents

一种异常补偿方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116560896B
CN116560896B CN202310842422.2A CN202310842422A CN116560896B CN 116560896 B CN116560896 B CN 116560896B CN 202310842422 A CN202310842422 A CN 202310842422A CN 116560896 B CN116560896 B CN 116560896B
Authority
CN
China
Prior art keywords
service
service data
executed
preset
compensated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310842422.2A
Other languages
English (en)
Other versions
CN116560896A (zh
Inventor
廖振伟
李国庆
左勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Athena Eyes Co Ltd
Original Assignee
Athena Eyes Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Athena Eyes Co Ltd filed Critical Athena Eyes Co Ltd
Priority to CN202310842422.2A priority Critical patent/CN116560896B/zh
Publication of CN116560896A publication Critical patent/CN116560896A/zh
Application granted granted Critical
Publication of CN116560896B publication Critical patent/CN116560896B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种异常补偿方法、装置、设备及存储介质,涉及计算机技术领域,包括:通过AOP对预先标记的业务进行拦截,并当判定业务执行失败时确定为待补偿业务;通过执行预设定时任务从预设数据库中调用对应的业务数据,以基于业务数据执行异常补偿操作;在异常补偿操作执行完毕后,判断当前异常补偿操作是否执行成功得到判断结果;若判断结果表明操作执行失败,并且当前业务数据调用次数小于预设阈值,则重新跳转至通过执行预设定时任务从预设数据库中调用对应的业务数据的步骤;若判断结果表明执行成功,则修改业务数据状态为执行成功。本申请在每次异常补偿操作执行完成后判断是否执行成功来确定是否补偿成功,能够有效提高用户体验感。

Description

一种异常补偿方法、装置、设备及存储介质
技术领域
本发明涉及计算机技术领域,特别涉及一种异常补偿方法、装置、设备及存储介质。
背景技术
随着互联网技术的发展,各类基础技术迭代也在不断更新,系统上的业务功能有时会遇到一些特殊情况而导致部分功能异常。
在现有系统中通常会有类似这样的功能,用户购买了某些东西会获得具体的积分或抵用券,在这种业务场景如果用户在前一步骤执行成功,而后一步骤因为其他因素导致异常失败,但是用户并无感知,这样就会给用户造成损失,同时也会对系统有所影响。
发明内容
有鉴于此,本发明的目的在于提供一种异常补偿方法、装置、设备及存储介质,能够有效提高工作效率,提高用户体验感。其具体方案如下:
第一方面,本申请提供了一种异常补偿方法,包括:
通过AOP对预先标记的业务进行拦截,并当判定所述业务执行失败时,确定所述业务为待补偿业务;
通过执行预设定时任务从预设数据库中调用与所述待补偿业务对应的业务数据,以基于所述业务数据针对所述待补偿业务执行相应的异常补偿操作;
在所述异常补偿操作执行完毕之后,判断当前所述异常补偿操作是否执行成功,得到相应的判断结果;
若所述判断结果表明当前所述异常补偿操作执行失败,并且当前相应的业务数据调用次数小于对应的预设阈值,则重新跳转至所述通过执行预设定时任务从预设数据库中调用与所述待补偿业务对应的业务数据的步骤,以再次执行相应的所述异常补偿操作;
若所述判断结果表明当前所述异常补偿操作执行成功,则修改相应的业务数据状态为执行成功。
可选的,所述确定所述业务为待补偿业务之后,还包括:
将与所述待补偿业务对应的所述业务数据存储至所述预设数据库中,并标记相应的所述业务数据状态为未执行;所述业务数据包括相应的预设异常补偿注解信息。
可选的,所述并且当前相应的业务数据调用次数小于对应的预设阈值之前,还包括:
基于所述业务数据中的所述预设异常补偿注解信息确定对应的所述预设阈值,以基于所述预设阈值对相应的业务数据调用次数进行判断。
可选的,所述通过执行预设定时任务从预设数据库中调用与所述待补偿业务对应的业务数据,包括:
基于预设定时查询时间点定时查询所述预设数据库中对应的所述业务数据状态为未执行的所述业务数据,并执行相应的业务数据调用操作。
可选的,所述基于预设定时查询时间点定时查询所述预设数据库中对应的所述业务数据状态为未执行的所述业务数据,并执行相应的业务数据调用操作之后,还包括:
将相应的所述业务数据状态修改为执行中。
可选的,所述若所述判断结果表明当前所述异常补偿操作执行失败之后,还包括:
当相应的所述业务数据调用次数等于对应的所述预设阈值时,修改相应的所述业务数据状态为执行失败。
可选的,所述修改相应的所述业务数据状态为执行失败之后,还包括:
判断当前是否需要执行相应的消息通知操作,如果是则通过消息队列下发相应的通知信息。
第二方面,本申请提供了一种异常补偿装置,包括:
待补偿业务确定模块,用于通过AOP对预先标记的业务进行拦截,并当判定所述业务执行失败时,确定所述业务为待补偿业务;
数据定时获取模块,用于通过执行预设定时任务从预设数据库中调用与所述待补偿业务对应的业务数据,以基于所述业务数据针对所述待补偿业务执行相应的异常补偿操作;
异常补偿操作判断模块,用于在所述异常补偿操作执行完毕之后,判断当前所述异常补偿操作是否执行成功,得到相应的判断结果;
第一判断结果执行模块,用于若所述判断结果表明当前所述异常补偿操作执行失败,并且当前相应的业务数据调用次数小于对应的预设阈值,则重新跳转至所述通过执行预设定时任务从预设数据库中调用与所述待补偿业务对应的业务数据的步骤,以再次执行相应的所述异常补偿操作;
第二判断结果执行模块,用于若所述判断结果表明当前所述异常补偿操作执行成功,则修改相应的业务数据状态为执行成功。
第三方面,本申请提供了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述的异常补偿方法的步骤。
第四方面,本申请提供了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现前述的异常补偿方法的步骤。
可见,本申请中,通过AOP对预先标记的业务进行拦截,并当判定所述业务执行失败时,确定所述业务为待补偿业务;通过执行预设定时任务从预设数据库中调用与所述待补偿业务对应的业务数据,以基于所述业务数据针对所述待补偿业务执行相应的异常补偿操作;在所述异常补偿操作执行完毕之后,判断当前所述异常补偿操作是否执行成功,得到相应的判断结果;若所述判断结果表明当前所述异常补偿操作执行失败,并且当前相应的业务数据调用次数小于对应的预设阈值,则重新跳转至所述通过执行预设定时任务从预设数据库中调用与所述待补偿业务对应的业务数据的步骤,以再次执行相应的所述异常补偿操作;若所述判断结果表明当前所述异常补偿操作执行成功,则修改相应的业务数据状态为执行成功。本申请先通过AOP对预先标记的业务进行拦截,然后筛选相应的待补偿业务。之后定时从预设数据库中获取相应的业务数据来进行补偿,并在补偿后判断是否执行成功,并针对补偿成功和补偿失败两种情况执行不同的相应的操作。这样一来,本申请实现了统一的异常补偿处理,提高了工作效率,使得开发人员能够更关注于业务开发。同时,本实施例在执行过程中能够极大的减少一些业务功能因为其他因素而导致的异常问题,提高了系统的安全可靠性,有效提高了用户体验感。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种异常补偿方法流程图;
图2为本申请提供的一种具体的异常补偿方法流程示意图;
图3为本申请提供的一种具体的异常补偿方法流程图;
图4为本申请提供的一种异常补偿装置结构示意图;
图5为本申请提供的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
随着互联网技术的发展,各类基础技术迭代也在不断更新,系统上的业务功能有时会遇到一些特殊情况而导致部分功能异常。在现有系统中通常会有类似这样的功能,用户购买了某些东西会获得具体的积分或抵用券,在这种业务场景如果用户在前一步骤执行成功,而后一步骤因为其他因素导致异常失败,但是用户并无感知,这样就会给用户造成损失,同时也会对系统有所影响。为此,本申请提供了一种异常补偿方案,能够有效提升用户体验感。
参见图1所示,本发明实施例公开了一种异常补偿方法,包括:
步骤S11、通过AOP对预先标记的业务进行拦截,并当判定所述业务执行失败时,确定所述业务为待补偿业务。
具体的,本实施例中,在对特定的业务进行拦截之前,需要创建异常补偿注解类,所述异常补偿注解类中可以具体包括相应的最大补偿执行次数,预警类型。之后,需要将相应的所述异常补偿注解类标注到相应的业务上。然后,创建异常补偿AOP(Aspect OrientedProgramming,面向面编程)拦截类,以通过所述异常补偿AOP拦截类对预先标记注解类的业务进行拦截。具体的,特定的所述业务包括但不限于商品积分生产业务、累计签到奖励业务。针对所述商品积分生产业务,当所述商品积分生产业务正常执行时,在购买商品后会生成与所购买商品对应的积分。针对所述累计签到奖励业务,当所述累计签到奖励业务正常执行时,在累计签到次数达到一定数量后将发放一定额度的积分或优惠券。
进一步的,在拦截业务之后,执行拦截到的所述业务,然后判断所述业务是否正常执行成功,若否,也即若所述业务执行失败,则确定所述业务为待补偿业务,然后将与所述待补偿业务对应的所述业务数据存储至所述预设数据库中,并标记相应的所述业务数据状态为未执行;所述业务数据包括相应的预设异常补偿注解信息。其中,所述预设异常补偿注解信息为与所述待补偿业务对应的所述异常补偿注解类的具体信息。需要理解的是,针对所述业务数据,当拦截到的所述业务存在具体功能步骤执行异常时,被确定为待补偿业务,相应的,在存储与所述待补偿业务对应的业务数据时,所述业务数据中包含与所述具体功能步骤对应的功能步骤规则信息以及相应的功能步骤参数。
步骤S12、通过执行预设定时任务从预设数据库中调用与所述待补偿业务对应的业务数据,以基于所述业务数据针对所述待补偿业务执行相应的异常补偿操作。
具体的,本实施例中,在将相应的所述业务数据保存至所述预设数据库中之后,会通过执行预先创建的定时任务执行类来定时查询业务数据,以基于所述业务数据执行相应的异常补偿操作。其中,本实施例在定时获取业务数据的过程中,将对相应的所述业务数据状态进行修改,具体修改为执行中,以表明数据已获取并将执行相应的补偿操作。与此同时,通过消息队列下发具体的所述业务数据。
步骤S13、在所述异常补偿操作执行完毕之后,判断当前所述异常补偿操作是否执行成功,得到相应的判断结果。
需要理解的是,本实施例中,在执行补偿操作时,具体是基于预先创建的异常补偿执行类,接收消息队列下发的消息数据并解析来得到相应的所述业务数据,以通过数据反射出业务对象并进行所述异常补偿操作的执行。然后在所述异常补偿操作执行完毕之后获取执行结果,并判断是否执行成功。
步骤S15、若所述判断结果表明当前所述异常补偿操作执行失败,并且当前相应的业务数据调用次数小于对应的预设阈值,则重新跳转至所述通过执行预设定时任务从预设数据库中调用与所述待补偿业务对应的业务数据的步骤,以再次执行相应的所述异常补偿操作。
本实施例中,结合图2所示,如果当前所述异常补偿操作执行失败,则先查看当前相应的业务数据调用次数,如果所述业务数据调用次数小于对应的所述最大补偿执行次数,也即预设阈值,则重新从所述预设数据库中获取与所述待补偿业务对应的所述业务数据并再次执行相应的所述异常补偿操作。
可以理解的是,如果所述业务数据调用次数等于对应的所述最大补偿执行次数,也即所述预设阈值,则可以修改相应的所述业务数据状态为执行失败,也表明了所述业务无法正常执行。此时,如果所述待补偿业务需要在执行异常时进行预警,则执行相应的预警操作。具体的,可以先判断当前是否需要执行相应的消息通知操作来进行预警,如果是则通过消息队列下发相应的通知信息。也就是说,如果所述待补偿业务的所述预设异常补偿注解信息中包含与相应的所述异常补偿注解类中的所述预警类型对应的具体预警信息,则可以基于所述预警信息执行相应的预警操作。
需要理解的是,若需要进行预警,则具体是通过预先创建的消息通知执行类来完成的。也即,通过接收消息队列下发的消息数据获取对应的所述通知信息等数据,组装具体通知数据,然后通过短信/平台消息/邮件等方式来向管理人员或用户进行预警,这样一来,所述管理人员或所述用户可以再次进行干预,提高了系统的容错率。
步骤S15、若所述判断结果表明当前所述异常补偿操作执行成功,则修改相应的业务数据状态为执行成功。
本实施例中,如果所述异常补偿操作执行成功,也表明当前所述待补偿业务能够正常执行,此时需要对相应的业务数据状态进行修改,具体修改为执行成功。
由此可见,本申请实施例中,通过AOP对预先标记的业务进行拦截,并当判定所述业务执行失败时,确定所述业务为待补偿业务;通过执行预设定时任务从预设数据库中调用与所述待补偿业务对应的业务数据,以基于所述业务数据针对所述待补偿业务执行相应的异常补偿操作;在所述异常补偿操作执行完毕之后,判断当前所述异常补偿操作是否执行成功,得到相应的判断结果;若所述判断结果表明当前所述异常补偿操作执行失败,并且当前相应的业务数据调用次数小于对应的预设阈值,则重新跳转至所述通过执行预设定时任务从预设数据库中调用与所述待补偿业务对应的业务数据的步骤,以再次执行相应的所述异常补偿操作;若所述判断结果表明当前所述异常补偿操作执行成功,则修改相应的业务数据状态为执行成功。本申请先通过AOP对预先标记的业务进行拦截,然后筛选相应的待补偿业务。之后定时从预设数据库中获取相应的业务数据来进行补偿,并在补偿后判断是否执行成功,并针对补偿成功和补偿失败两种情况执行不同的相应的操作。这样一来,实现了统一的异常补偿处理,提高了工作效率,使得开发人员能够更关注于业务开发。同时,本实施例在执行过程中能够极大的减少一些业务功能因为其他因素而导致的异常问题,提高了系统的安全可靠性,有效提高了用户体验感。
参见图3所示,本发明实施例公开了一种异常补偿方法,包括:
步骤S21、通过AOP对预先标记的业务进行拦截,并当判定所述业务执行失败时,确定所述业务为待补偿业务。
步骤S22、基于预设定时查询时间点定时查询所述预设数据库中对应的所述业务数据状态为未执行的所述业务数据,并执行相应的业务数据调用操作。
据具体的,本实施例中,所述预设数据库中保存着与不同的所述待补偿业务对应的所述业务数据,各所述业务数据均有与之相对应的所述业务数据状态。其中,所述业务数据状态为针对不同的阶段显示相应的数据状态,包括未执行、执行中、执行失败、执行成功,显然,显示为执行中或执行失败或执行成功的所述业务数据当前无需再执行相应的数据获取操作。因此,本实施例在获取业务数据时,具体是基于预设定时查询时间点定时查询所述预设数据库中对应的所述业务数据状态为未执行的所述业务数据,并执行相应的业务数据调用操作,其中,所述预设定时查询时间点可以基于用户实际需求来设置。
步骤S23、在所述异常补偿操作执行完毕之后,判断当前所述异常补偿操作是否执行成功,得到相应的判断结果。
步骤S24、若所述判断结果表明当前所述异常补偿操作执行失败,并且当前相应的业务数据调用次数小于对应的预设阈值,则重新跳转至所述通过执行预设定时任务从预设数据库中调用与所述待补偿业务对应的业务数据的步骤,以再次执行相应的所述异常补偿操作。
步骤S25、若所述判断结果表明当前所述异常补偿操作执行成功,则修改相应的业务数据状态为执行成功。
其中,关于上述步骤S21、步骤S23至步骤S25的具体过程可以参考前述实施例公开的相应内容,在此不再进行赘述。
由此可见,本申请实施例中,在确定所述待补偿业务之后,具体通过基于预设定时查询时间点定时查询所述预设数据库中对应的所述业务数据状态为未执行的所述业务数据,并执行相应的业务数据调用操作。然后再执行相应的异常补偿操作并判断操作执行结果。这样一来,能够有效减少开发人员编写重复代码的工作时间,进而提高用户体验感。
参见图4所示,本申请实施例还相应公开了一种异常补偿装置,包括:
待补偿业务确定模块11,用于通过AOP对预先标记的业务进行拦截,并当判定所述业务执行失败时,确定所述业务为待补偿业务;
数据定时获取模块12,用于通过执行预设定时任务从预设数据库中调用与所述待补偿业务对应的业务数据,以基于所述业务数据针对所述待补偿业务执行相应的异常补偿操作;
异常补偿操作判断模块13,用于在所述异常补偿操作执行完毕之后,判断当前所述异常补偿操作是否执行成功,得到相应的判断结果;
第一判断结果执行模块14,用于若所述判断结果表明当前所述异常补偿操作执行失败,并且当前相应的业务数据调用次数小于对应的预设阈值,则重新跳转至所述通过执行预设定时任务从预设数据库中调用与所述待补偿业务对应的业务数据的步骤,以再次执行相应的所述异常补偿操作;
第二判断结果执行模块15,用于若所述判断结果表明当前所述异常补偿操作执行成功,则修改相应的业务数据状态为执行成功。
其中,关于上述各个模块更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
由此可见,本申请实施例,通过AOP对预先标记的业务进行拦截,并当判定所述业务执行失败时,确定所述业务为待补偿业务;通过执行预设定时任务从预设数据库中调用与所述待补偿业务对应的业务数据,以基于所述业务数据针对所述待补偿业务执行相应的异常补偿操作;在所述异常补偿操作执行完毕之后,判断当前所述异常补偿操作是否执行成功,得到相应的判断结果;若所述判断结果表明当前所述异常补偿操作执行失败,并且当前相应的业务数据调用次数小于对应的预设阈值,则重新跳转至所述通过执行预设定时任务从预设数据库中调用与所述待补偿业务对应的业务数据的步骤,以再次执行相应的所述异常补偿操作;若所述判断结果表明当前所述异常补偿操作执行成功,则修改相应的业务数据状态为执行成功。本申请先通过AOP对预先标记的业务进行拦截,然后筛选相应的待补偿业务。之后定时从预设数据库中获取相应的业务数据来进行补偿,并在补偿后判断是否执行成功,并针对补偿成功和补偿失败两种情况执行不同的相应的操作。这样一来,实现了统一的异常补偿处理,提高了工作效率,使得开发人员能够更关注于业务开发。同时,本实施例在执行过程中能够极大的减少一些业务功能因为其他因素而导致的异常问题,提高了系统的安全可靠性,有效提高了用户体验感。
在一些具体实施例中,所述异常补偿装置,具体还可以包括:
业务数据存储单元,用于将与所述待补偿业务对应的所述业务数据存储至所述预设数据库中,并标记相应的所述业务数据状态为未执行;所述业务数据包括相应的预设异常补偿注解信息。
在一些具体实施例中,所述异常补偿装置,具体还可以包括:
预设阈值确定单元,用于基于所述业务数据中的所述预设异常补偿注解信息确定对应的所述预设阈值,以基于所述预设阈值对相应的业务数据调用次数进行判断。
在一些具体实施例中,所述数据定时获取模块12,具体可以包括:
未执行业务定时查询单元,用于基于预设定时查询时间点定时查询所述预设数据库中对应的所述业务数据状态为未执行的所述业务数据,并执行相应的业务数据调用操作。
在一些具体实施例中,所述异常补偿装置,具体还可以包括:
第一状态修改单元,用于将相应的所述业务数据状态修改为执行中。
在一些具体实施例中,所述异常补偿装置,具体还可以包括:
第二状态修改单元,用于当相应的所述业务数据调用次数等于对应的所述预设阈值时,修改相应的所述业务数据状态为执行失败。
在一些具体实施例中,所述异常补偿装置,具体还可以包括:
第三状态修改单元,用于当相应的所述业务数据调用次数等于对应的所述预设阈值时,修改相应的所述业务数据状态为执行失败。
进一步的,本申请实施例还公开了一种电子设备,图5是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图5为本申请实施例提供的一种电子设备20的结构示意图。该电子设备 20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的异常补偿方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的异常补偿方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请还公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的异常补偿方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的技术方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (8)

1.一种异常补偿方法,其特征在于,包括:
通过AOP对预先标记的业务进行拦截,并当判定所述业务执行失败时,确定所述业务为待补偿业务;
通过执行预设定时任务从预设数据库中调用与所述待补偿业务对应的业务数据,以基于所述业务数据针对所述待补偿业务执行相应的异常补偿操作;
在所述异常补偿操作执行完毕之后,判断当前所述异常补偿操作是否执行成功,得到相应的判断结果;
若所述判断结果表明当前所述异常补偿操作执行失败,并且当前相应的业务数据调用次数小于对应的预设阈值,则重新跳转至所述通过执行预设定时任务从预设数据库中调用与所述待补偿业务对应的业务数据的步骤,以再次执行相应的所述异常补偿操作;
若所述判断结果表明当前所述异常补偿操作执行成功,则修改相应的业务数据状态为执行成功;
其中,所述确定所述业务为待补偿业务之后,还包括:
将与所述待补偿业务对应的所述业务数据存储至所述预设数据库中,并标记相应的所述业务数据状态为未执行;所述业务数据包括相应的预设异常补偿注解信息;
所述通过执行预设定时任务从预设数据库中调用与所述待补偿业务对应的业务数据,包括:
基于预设定时查询时间点定时查询所述预设数据库中对应的所述业务数据状态为未执行的所述业务数据,并执行相应的业务数据调用操作。
2.根据权利要求1所述的异常补偿方法,其特征在于,所述并且当前相应的业务数据调用次数小于对应的预设阈值之前,还包括:
基于所述业务数据中的所述预设异常补偿注解信息确定对应的所述预设阈值,以基于所述预设阈值对相应的业务数据调用次数进行判断。
3.根据权利要求1所述的异常补偿方法,其特征在于,所述基于预设定时查询时间点定时查询所述预设数据库中对应的所述业务数据状态为未执行的所述业务数据,并执行相应的业务数据调用操作之后,还包括:
将相应的所述业务数据状态修改为执行中。
4.根据权利要求1至3任一项所述的异常补偿方法,其特征在于,所述若所述判断结果表明当前所述异常补偿操作执行失败之后,还包括:
当相应的所述业务数据调用次数等于对应的所述预设阈值时,修改相应的所述业务数据状态为执行失败。
5.根据权利要求4所述的异常补偿方法,其特征在于,所述修改相应的所述业务数据状态为执行失败之后,还包括:
判断当前是否需要执行相应的消息通知操作,如果是则通过消息队列下发相应的通知信息。
6.一种异常补偿装置,其特征在于,包括:
待补偿业务确定模块,用于通过AOP对预先标记的业务进行拦截,并当判定所述业务执行失败时,确定所述业务为待补偿业务;
数据定时获取模块,用于通过执行预设定时任务从预设数据库中调用与所述待补偿业务对应的业务数据,以基于所述业务数据针对所述待补偿业务执行相应的异常补偿操作;
异常补偿操作判断模块,用于在所述异常补偿操作执行完毕之后,判断当前所述异常补偿操作是否执行成功,得到相应的判断结果;
第一判断结果执行模块,用于若所述判断结果表明当前所述异常补偿操作执行失败,并且当前相应的业务数据调用次数小于对应的预设阈值,则重新跳转至所述通过执行预设定时任务从预设数据库中调用与所述待补偿业务对应的业务数据的步骤,以再次执行相应的所述异常补偿操作;
第二判断结果执行模块,用于若所述判断结果表明当前所述异常补偿操作执行成功,则修改相应的业务数据状态为执行成功;
其中,所述异常补偿装置,还包括:
业务数据存储单元,用于将与所述待补偿业务对应的所述业务数据存储至所述预设数据库中,并标记相应的所述业务数据状态为未执行;所述业务数据包括相应的预设异常补偿注解信息;
所述数据定时获取模块,包括:
未执行业务定时查询单元,用于基于预设定时查询时间点定时查询所述预设数据库中对应的所述业务数据状态为未执行的所述业务数据,并执行相应的业务数据调用操作。
7.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至5任一项所述的异常补偿方法。
8.一种计算机可读存储介质,其特征在于,用于保存计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的异常补偿方法。
CN202310842422.2A 2023-07-11 2023-07-11 一种异常补偿方法、装置、设备及存储介质 Active CN116560896B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310842422.2A CN116560896B (zh) 2023-07-11 2023-07-11 一种异常补偿方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310842422.2A CN116560896B (zh) 2023-07-11 2023-07-11 一种异常补偿方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN116560896A CN116560896A (zh) 2023-08-08
CN116560896B true CN116560896B (zh) 2023-10-10

Family

ID=87491940

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310842422.2A Active CN116560896B (zh) 2023-07-11 2023-07-11 一种异常补偿方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116560896B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116909760B (zh) * 2023-09-13 2023-11-28 中移(苏州)软件技术有限公司 数据处理方法、装置、可读存储介质、电子设备
CN117522349B (zh) * 2024-01-04 2024-03-29 山东保医通信息科技有限公司 一种多源数据业务的自动化处理方法、设备及介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6918053B1 (en) * 2000-04-28 2005-07-12 Microsoft Corporation Compensation framework for long running transactions
CN108989413A (zh) * 2018-07-06 2018-12-11 深圳市牛鼎丰科技有限公司 异常业务补偿方法、装置、计算机设备及存储介质
CN111258790A (zh) * 2018-12-03 2020-06-09 北京京东振世信息技术有限公司 异常补偿方法和装置
CN111738728A (zh) * 2020-05-15 2020-10-02 苏宁金融科技(南京)有限公司 交易补偿方法及装置
CN111813791A (zh) * 2020-06-17 2020-10-23 上海悦易网络信息技术有限公司 一种分布式补偿事务的方法及设备
CN111984447A (zh) * 2020-08-10 2020-11-24 江苏苏宁银行股份有限公司 一种银行交易超时或异常场景中的注册补偿系统及方法
WO2020233351A1 (zh) * 2019-05-22 2020-11-26 深圳壹账通智能科技有限公司 面向区块链的数据管理方法、装置、设备及存储介质
WO2020232885A1 (zh) * 2019-05-22 2020-11-26 平安科技(深圳)有限公司 数据入链事务处理方法、装置、计算机设备及存储介质
CN113190371A (zh) * 2021-05-18 2021-07-30 京东数科海益信息科技有限公司 一种任务补偿方法、装置、电子设备及可读存储介质
CN113900840A (zh) * 2021-12-08 2022-01-07 浙江新华移动传媒股份有限公司 一种分布式事务最终一致性处理方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070050364A1 (en) * 2005-09-01 2007-03-01 Cummins Fred A System, method, and software for implementing business rules in an entity
US8380679B2 (en) * 2008-02-11 2013-02-19 Infosys Technologies Limited Method of handling transaction in a service oriented architecture environment

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6918053B1 (en) * 2000-04-28 2005-07-12 Microsoft Corporation Compensation framework for long running transactions
CN108989413A (zh) * 2018-07-06 2018-12-11 深圳市牛鼎丰科技有限公司 异常业务补偿方法、装置、计算机设备及存储介质
CN111258790A (zh) * 2018-12-03 2020-06-09 北京京东振世信息技术有限公司 异常补偿方法和装置
WO2020233351A1 (zh) * 2019-05-22 2020-11-26 深圳壹账通智能科技有限公司 面向区块链的数据管理方法、装置、设备及存储介质
WO2020232885A1 (zh) * 2019-05-22 2020-11-26 平安科技(深圳)有限公司 数据入链事务处理方法、装置、计算机设备及存储介质
CN111738728A (zh) * 2020-05-15 2020-10-02 苏宁金融科技(南京)有限公司 交易补偿方法及装置
CN111813791A (zh) * 2020-06-17 2020-10-23 上海悦易网络信息技术有限公司 一种分布式补偿事务的方法及设备
CN111984447A (zh) * 2020-08-10 2020-11-24 江苏苏宁银行股份有限公司 一种银行交易超时或异常场景中的注册补偿系统及方法
CN113190371A (zh) * 2021-05-18 2021-07-30 京东数科海益信息科技有限公司 一种任务补偿方法、装置、电子设备及可读存储介质
CN113900840A (zh) * 2021-12-08 2022-01-07 浙江新华移动传媒股份有限公司 一种分布式事务最终一致性处理方法及装置

Also Published As

Publication number Publication date
CN116560896A (zh) 2023-08-08

Similar Documents

Publication Publication Date Title
CN116560896B (zh) 一种异常补偿方法、装置、设备及存储介质
US20160098293A1 (en) System, method, and software for controlled interruption of batch job processing
US7890959B2 (en) System and method for message lifetime management
CN111314141A (zh) 路由更新方法及装置
US10171315B2 (en) Orchestration process template for generation of orchestration process to tolerate errors
US9417938B2 (en) Remote procedure call chains
CN111258565B (zh) 小程序的生成方法、系统、服务器及存储介质
WO2019148727A1 (zh) 电子装置、基于redis的异常预警方法及存储介质
US7987450B2 (en) Stack-based problem identification for a software component
US10216608B1 (en) Load testing with automated service dependency discovery
JP5705871B2 (ja) 分散された永続性インスタンスに対するロックの解決
US20180159724A1 (en) Automatic task tracking
US10951509B1 (en) Methods, systems, and computer readable media for providing intent-driven microapps for execution on communications network testing devices
CN111930472B (zh) 一种代码调试方法、装置、电子设备及存储介质
CN110764894A (zh) 一种定时任务管理方法、装置、设备及存储介质
CN104866296A (zh) 数据处理方法和装置
US11204756B1 (en) Deploying software updates in coordination with end-user productivity
CN111538602B (zh) 一种消息队列的消息转发方法及设备
CN113434230A (zh) H5页面的跳转控制方法、装置、存储介质及电子装置
US9632904B1 (en) Alerting based on service dependencies of modeled processes
CN113723942A (zh) 聚合支付方法、装置、设备及存储介质
US11030024B2 (en) Assigning a severity level to a computing service using tenant telemetry data
CN111538483A (zh) 一种数据处理方法、设备、服务器及可读存储介质
US8468529B2 (en) Correlating, logging and tracing messaging events between workflow instances with globally unique identifiers
US10015078B2 (en) Policy-based order jeopardy management

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: No. 205, Building B1, Huigu Science and Technology Industrial Park, No. 336 Bachelor Road, Bachelor Street, Yuelu District, Changsha City, Hunan Province, 410000

Patentee after: Wisdom Eye Technology Co.,Ltd.

Address before: 410205, Changsha high tech Zone, Hunan Province, China

Patentee before: Wisdom Eye Technology Co.,Ltd.