CN113867841A - 业务系统的调用异常处理方法、装置、设备及存储介质 - Google Patents
业务系统的调用异常处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113867841A CN113867841A CN202111155093.1A CN202111155093A CN113867841A CN 113867841 A CN113867841 A CN 113867841A CN 202111155093 A CN202111155093 A CN 202111155093A CN 113867841 A CN113867841 A CN 113867841A
- Authority
- CN
- China
- Prior art keywords
- calling
- exception
- exception handling
- processing
- call
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 172
- 238000012545 processing Methods 0.000 claims abstract description 136
- 230000002159 abnormal effect Effects 0.000 claims abstract description 42
- 230000008569 process Effects 0.000 claims abstract description 27
- 230000001360 synchronised effect Effects 0.000 claims description 7
- 238000005096 rolling process Methods 0.000 claims description 3
- 230000005856 abnormality Effects 0.000 claims description 2
- 238000012423 maintenance Methods 0.000 abstract description 11
- 238000013473 artificial intelligence Methods 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 7
- 230000003111 delayed effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及人工智能,本申请提供一种业务系统的调用异常处理方法、装置、设备及存储介质,即通过调用异常处理系统:获取调用异常事件调用异常的至少一调用方法及其对应的业务数据;根据预设数据表中所述业务系统对应的配置文件,确定所述调用异常事件的调用方法对应的处理模式以及处理规则,并根据上述处理信息重新调用所述调用异常事件的调用方法对所述业务数据进行处理。本发明通过业务系统对应的调用异常处理系统进行业务系统的调用异常处理,实现调用异常代码的针对性维护,避免开发人员重复编码。在数据表定义配置文件,便于对各个调用方法的处理模式及处理规则进行设置及维护,提高了业务系统的维护效率。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种业务系统的调用异常处理方法、装置、设备及计算机可读存储介质。
背景技术
在可延迟处理的业务系统(如订单流转、调用支付模块等业务场景)中,可能发生某些因素(如网络问题、系统异常等不确定因素)导致调用异常的问题。在调用失败时,业务系统需要对调用失败的情况进行处理。目前,不同业务系统对调用异常的处理方法不同,因此,在不同业务系统的调用异常逻辑发生变化时,开发人员需要对不同业务系统的代码进行修改。因此,如何解决目前业务系统的维护效率低下的问题,成为了目前亟待解决的技术问题。
发明内容
本发明的主要目的在于提供一种业务系统的调用异常处理方法、装置、设备及计算机可读存储介质,旨在解决目前业务系统的维护效率低下的技术问题。
为实现上述目的,本发明提供一种业务系统的调用异常处理方法,所述方法应用于调用异常处理系统,所述方法包括以下步骤:所述调用异常处理系统在检测到对应业务系统发生调用异常事件时,获取所述调用异常事件调用异常的调用方法及所述调用异常事件对应的业务数据,其中,不同的业务系统对应不同的调用异常处理系统;所述调用异常处理系统根据预设数据表中所述对应业务系统对应的配置文件,确定所述调用异常事件的调用方法对应的处理模式以及处理规则;所述调用异常处理系统按照所述处理模式以及所述处理规则,重新调用所述调用异常事件的调用方法对所述业务数据进行处理。
此外,为实现上述目的,本发明还提供一种业务系统的调用异常处理装置,所述装置应用于调用异常处理系统,所述装置包括:异常方法获取模块,用于所述调用异常处理系统在检测到对应业务系统发生调用异常事件时,获取所述调用异常事件调用异常的调用方法及所述调用异常事件对应的业务数据,其中,不同的业务系统对应不同的调用异常处理系统;处理策略获取模块,用于所述调用异常处理系统根据预设数据表中所述对应业务系统对应的配置文件,确定所述调用异常事件的调用方法对应的处理模式以及处理规则;异常方法重试模块,用于所述调用异常处理系统按照所述处理模式以及所述处理规则,重新调用所述调用异常事件的调用方法对所述业务数据进行处理。
此外,为实现上述目的,本发明还提供一种业务系统的调用异常处理设备,所述业务系统的调用异常处理设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的业务系统的调用异常处理程序,其中所述业务系统的调用异常处理程序被所述处理器执行时,实现如上述的业务系统的调用异常处理方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有业务系统的调用异常处理程序,其中所述业务系统的调用异常处理程序被处理器执行时,实现如上述的业务系统的调用异常处理方法的步骤。
本发明提供一种业务系统的调用异常处理方法,所述方法应用于调用异常处理系统,所述方法通过所述调用异常处理系统在检测到对应业务系统发生调用异常事件时,获取所述调用异常事件调用异常的调用方法及所述调用异常事件对应的业务数据,其中,不同的业务系统对应不同的调用异常处理系统;所述调用异常处理系统根据预设数据表中所述对应业务系统对应的配置文件,确定所述调用异常事件的调用方法对应的处理模式以及处理规则;所述调用异常处理系统按照所述处理模式以及所述处理规则,重新调用所述调用异常事件的调用方法对所述业务数据进行处理。通过上述方式,本发明通过业务系统对应的调用异常处理系统进行业务系统的调用异常处理,实现调用异常代码的针对性维护,避免开发人员重复编码。在数据表定义各个业务系统对应各个调用方法的处理模式以及处理规则,作为各个业务系统的配置文件,便于对各个调用方法的处理模式及处理规则进行设置及维护,提高了业务系统的维护效率,解决了目前业务系统的维护效率低下的技术问题。
附图说明
图1为本发明实施例方案中涉及的业务系统的调用异常处理设备的硬件结构示意图;
图2为本发明业务系统的调用异常处理方法第一实施例的流程示意图;
图3为本发明业务系统的调用异常处理方法第二实施例的流程示意图;
图4为本发明业务系统的调用异常处理装置第一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例涉及的业务系统的调用异常处理方法主要应用于业务系统的调用异常处理设备,该业务系统的调用异常处理设备可以是PC、便携计算机、移动终端等具有显示和处理功能的设备。
参照图1,图1为本发明实施例方案中涉及的业务系统的调用异常处理设备的硬件结构示意图。本发明实施例中,业务系统的调用异常处理设备可以包括处理器1001(例如CPU),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口);存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的硬件结构并不构成对业务系统的调用异常处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
继续参照图1,图1中作为一种计算机可读存储介质的存储器1005可以包括操作系统、网络通信模块以及业务系统的调用异常处理程序。
在图1中,网络通信模块主要用于连接服务器,与服务器进行数据通信;而处理器1001可以调用存储器1005中存储的业务系统的调用异常处理程序,并执行本发明实施例提供的业务系统的调用异常处理方法。
本发明实施例提供了一种业务系统的调用异常处理方法。
参照图2,图2为本发明业务系统的调用异常处理方法第一实施例的流程示意图。
本实施例中,所述方法应用于调用异常处理系统,所述业务系统的调用异常处理方法包括以下步骤:
步骤S10,所述调用异常处理系统在检测到对应业务系统发生调用异常事件时,获取所述调用异常事件调用异常的调用方法及所述调用异常事件对应的业务数据,其中,不同的业务系统对应不同的调用异常处理系统;
为了避免在不同业务系统的调用异常逻辑发生变化时,需要对不同业务系统的代码进行修改。本发明将业务代码与调用异常处理代码进行解藕,并将调用异常处理代码封装为调用异常处理系统,便于维护业务系统代码,避免开发人员重复编码。具体可将各个调用异常处理代码封装为各个jar包,业务系统通过调用jar包完成调用异常的处理。并在数据表定义各个业务系统对应各个调用方法的处理模式以及处理规则,作为各个业务系统的配置文件,便于对各个调用方法的处理模式及处理规则进行设置及维护,提高了业务系统的维护效率。
本实施例中,在检测到业务系统调用失败时,则产生中断,以抛出调用异常事件,具体可基于spring架构的全局异常捕获机制捕获,例如,在接口直调、微服务调用、RPC远程调用等业务处理场景中抛出指定的接口调用异常,在全局异常中捕获该异常,确定该异常对应的调用异常事件。获取调用异常的调用方法及通过该调用方法处理的业务数据。其中,可针对不同的业务系统开发不同的调用异常处理系统,即不同的调用异常处理系统对应不同的jar包。通过在业务代码中添加对应jar包的注解,以便业务代码对jar包进行识别,并通过jar包捕获业务代码中的调用异常;或通过Try catch机制捕获调用异常,即将业务代码添加在try中,在业务代码发生异常时,会转入catch,抛出异常retryException。
进一步地,所述方法还包括:
在所述调用异常事件包括至少两个调用方法时,所述调用异常处理系统将所述调用异常事件包括的各个调用方法添加至延迟队列;
所述调用异常处理系统根据所述各个调用方法的添加先后顺序,依次对所述延迟队列中的各个调用方法进行处理。
本实施例中,在所述调用异常事件包括至少两个调用方法时,将各个调用方法加入延迟队列中,然后对各个调用方法依次进行重新调用处理。
示例性的,所述调用异常处理系统将所述调用异常事件包括的各个调用方法添加至延迟队列的步骤具体包括:
所述调用异常处理系统获取一调用方法,作为一延迟任务,并获取一时间轮,以通过所述时间轮各个槽中的任务链表存储所述延迟队列中的各个延迟任务;
所述调用异常处理系统根据各个所述延迟任务对应的执行时间、所述时间轮的槽数以及所述时间轮中一槽的转动时间,将各个所述延迟任务添加至所述时间轮各槽中的任务链表。
本实施例中,基于时间轮实现延迟队列,获取各个调用方法,作为各个延迟任务,在将各个延迟任务放入时间轮时,根据时间轮的槽数、每个槽的转动时间、以及各个延迟队列的执行时间,计算出各个延迟任务分别添加至哪个槽。例如:一延迟任务的执行时间为5s,当前时间是0s,时间轮的各个槽组成的环形队列大小为8s,每个槽的执行时间为1s,则上述延迟任务应添加至时间轮的5号槽中,即将该延迟任务封装成时间轮对象后添加至5号槽的任务链表中。在时间轮转动时,启动一个线程推动指针移动,到达5号槽后将任务链表中的延迟任务取出并执行。具体实施例中,若各个延迟任务的执行时间大于一层时间轮的各个槽组成的环形队列大小,则再创建一层时间轮,第二层时间轮每一个槽所能表示的时间是第一层时间轮所能表示的时间范围,其他属性均继承第一层时间轮,即8s(23),第二层时间轮的时间表示则为0~64s(26),依次类推,可根据更多延迟任务创建第三、第四层等时间轮。由此依次执行所述时间轮中的时间轮对象(即各个延迟任务,也就是各个调用方法),在取出一个调用方法对象后,通过java反射机制将各个调用方法对应的业务数据传入调用方法完成调用。若调用成功,则向业务系统反馈调用成功的处理结果;若调用失败,则重新捕获该对象,而不抛到全局异常,将该对象重新添加至所述延迟队列中等待调用,重试次数更新(减一或加一),直至调用次数达到重试次数,则向业务系统反馈调用失败的处理结果。
步骤S20,所述调用异常处理系统根据预设数据表中所述对应业务系统对应的配置文件,确定所述调用异常事件的调用方法对应的处理模式以及处理规则;
本实施例中,在数据库的数据表中确定所述业务系统对应的配置文件,并根据所述配置文件确定所述调用方法对应的处理模式(如同步模式或异步模式)以及处理规则(包括等待时长或重试次数)。其中,所述数据库中预存储的配置文件可以是用户上传或者服务器根据与所述调用失败事件相同的事件(即属于相同失败类型以及相同调用失败方法)在历史配置文件库中确定的通用配置文件。
步骤S30,所述调用异常处理系统按照所述处理模式以及所述处理规则,重新调用所述调用异常事件的调用方法对所述业务数据进行处理。
本实施例中,按照所述处理模式,重新调用所述调用异常事件的调用方法对所述业务数据进行处理,直至达到所述处理规则中设定的条件。如重新调用调用失败的调用方法并将需传入的业务数据传入所述调用方法,由此,重新调用所述调用方法,直至调用成功时,将调用成功的处理结果返回至调用所述异常处理系统的业务系统;或直至调用该调用方法的失败次数达到配置的重试次数或直至重试时长达到配置的等待时长等,将调用失败的处理结果返回至调用所述异常处理系统的业务系统。还可以在进行调用异常的处理前,返回等待的提醒信息至所述业务系统,并同时重新调用方法对所述业务数据进行重新处理,并在后续调用成功或失败后,将调用成功或调用失败的处理结果反馈至所述业务系统。
本实施例提供一种业务系统的调用异常处理方法,所述方法应用于调用异常处理系统,所述调用异常处理系统在检测到对应业务系统发生调用异常事件时,获取所述调用异常事件调用异常的调用方法及所述调用异常事件对应的业务数据,其中,不同的业务系统对应不同的调用异常处理系统;所述调用异常处理系统根据预设数据表中所述对应业务系统对应的配置文件,确定所述调用异常事件的调用方法对应的处理模式以及处理规则;所述调用异常处理系统按照所述处理模式以及所述处理规则,重新调用所述调用异常事件的调用方法对所述业务数据进行处理。通过上述方式,本发明通过业务系统对应的调用异常处理系统进行业务系统的调用异常处理,实现调用异常代码的针对性维护,避免开发人员重复编码。在数据表定义各个业务系统对应各个调用方法的处理模式以及处理规则,作为各个业务系统的配置文件,便于对各个调用方法的处理模式及处理规则进行设置及维护,提高了业务系统的维护效率,解决了目前业务系统的维护效率低下的技术问题。
参照图3,图3为本发明业务系统的调用异常处理方法第二实施例的流程示意图。
基于上述图2所示实施例,本实施例中,所述步骤S30具体包括:
步骤S31,在所述处理模式为同步处理模式时,所述调用异常处理系统按照所述处理规则重新调用所述调用异常事件的调用方法对所述业务数据进行处理,并将处理结果反馈至所述业务系统。
本实施例中,在所述处理模式为同步模式时,即暂不向所述业务系统反馈调用失败的处理结果,并重新调用所述调用失败事件对应的方法或接口,获取调用失败的调用方法及其需传入数据,在调用成功或达到配置好的等待时长或重试次数前,进行所述调用方法的重复调用,直到调用方法的失败次数达到预设次数或调用方法的重复调用时长达到预设的等待时长,将所述调用方法的处理结果(调用成功或调用失败)返回至所述业务系统。
进一步地,所述将处理结果反馈至所述业务系统的步骤具体包括:
所述调用异常处理系统在处理成功时,将处理成功的结果反馈至所述业务系统;
所述调用异常处理系统在处理失败时,重新调用所述调用异常事件的调用方法对所述业务数据进行处理,直至调用次数达到所述处理规则中的重试次数或调用时长达到所述处理规则中的等待时长,并处理失败的结果反馈至所述业务系统。
本实施例中,在同步模式下调用时,若重新调用成功,则直接将调用成功的处理结果反馈至业务系统;若调用失败,则重新调用该调用方法,直至重新调用次数达到处理规则中设定的重试次数,或重新调用该调用方法的调用时长达到处理规则中设定的等待时长,则向业务系统反馈调用失败的处理结果。
步骤S32,在所述处理模式为异步处理模式时,所述调用异常处理系统生成等待重新调用的提醒消息,并将所述等待重新调用的提醒消息反馈至所述业务系统;
步骤S33,所述调用异常处理系统根据所述处理规则中的重试次数和/或等待时长,重新调用所述调用异常事件的调用方法对所述业务数据进行处理,并将处理成功或处理失败的结果反馈至所述业务系统。
本实施例中,在异步模式下调用时,首先向业务系统反馈当前调用失败等待重新调用的提醒消息,然后重新调用所述调用异常事件的调用方法对所述业务数据进行处理,并在调用成功时,向业务系统反馈调用成功的处理结果;在重新调用次数达到处理规则中设定的重试次数,或重新调用该调用方法的调用时长达到处理规则中设定的等待时长,向业务系统反馈调用失败的处理结果。
解耦了业务处理代码以及失败补偿代码,将失败补偿代码与业务处理系统对应的代码进行分离,抽象出失败补偿逻辑,在调用服务失败后抛出特定异常并调用失败补偿方法即可,在补偿对象发生变化时,在数据库中维护相应的字段,即可维护失败补偿代码,提高了编程人员的开发效率以及失败补偿代码的维护效率。
进一步地,所述方法还包括:
所述调用异常处理系统将所述处理失败的结果反馈至所述业务系统时,获取所述调用异常事件对应的上下文参数,并根据所述上下文参数对所述调用异常事件对应的更新数据进行回滚处理。
本实施例中,为了避免调用失败对业务系统的数据产生影响,在重新调用所述调用方法失败时,即获取所述调用异常事件对应的上下文参数,并根据所述上下文参数,确定所述调用异常事件对应的更新数据,并将所述更新数据进行回滚处理,如在调用支付方法支付失败时,对商品库存回滚至更新前的商品库存,避免调用失败导致商品库存与实际不一致。
此外,本发明实施例还提供一种业务系统的调用异常处理装置。
参照图4,图4为本发明业务系统的调用异常处理装置第一实施例的功能模块示意图。
本实施例中,所述装置应用于调用异常处理系统,所述业务系统的调用异常处理装置包括:
异常方法获取模块10,用于所述调用异常处理系统在检测到对应业务系统发生调用异常事件时,获取所述调用异常事件调用异常的调用方法及所述调用异常事件对应的业务数据,其中,不同的业务系统对应不同的调用异常处理系统;
处理策略获取模块20,用于所述调用异常处理系统根据预设数据表中所述对应业务系统对应的配置文件,确定所述调用异常事件的调用方法对应的处理模式以及处理规则;
异常方法重试模块30,用于所述调用异常处理系统按照所述处理模式以及所述处理规则,重新调用所述调用异常事件的调用方法对所述业务数据进行处理。
进一步地,所述异常方法重试模块30具体包括:
同步模式重试单元,用于在所述处理模式为同步处理模式时,所述调用异常处理系统按照所述处理规则重新调用所述调用异常事件的调用方法对所述业务数据进行处理,并将处理结果反馈至所述业务系统。
进一步地,所述同步模式重试单元具体包括:
调用成功反馈子单元,用于所述调用异常处理系统在处理成功时,将处理成功的结果反馈至所述业务系统;
调用失败反馈子单元,用于所述调用异常处理系统在处理失败时,重新调用所述调用异常事件的调用方法对所述业务数据进行处理,直至调用次数达到所述处理规则中的重试次数或调用时长达到所述处理规则中的等待时长,并处理失败的结果反馈至所述业务系统。
进一步地,所述异常方法重试模块30具体包括:
异步模式重试单元,用于在所述处理模式为异步处理模式时,所述调用异常处理系统生成等待重新调用的提醒消息,并将所述等待重新调用的提醒消息反馈至所述业务系统;
异步模式反馈单元,用于所述调用异常处理系统根据所述处理规则中的重试次数和/或等待时长,重新调用所述调用异常事件的调用方法对所述业务数据进行处理,并将处理成功或处理失败的结果反馈至所述业务系统。
进一步地,所述装置还包括延迟任务添加模块,所述延迟任务添加模块用于:
在所述调用异常事件包括至少两个调用方法时,所述调用异常处理系统将所述调用异常事件包括的各个调用方法添加至延迟队列;
所述调用异常处理系统根据所述各个调用方法的添加先后顺序,依次对所述延迟队列中的各个调用方法进行处理。
进一步地,所述延迟任务添加模块还用于:
所述调用异常处理系统获取一调用方法,作为一延迟任务,并获取一时间轮,以通过所述时间轮各个槽中的任务链表存储所述延迟队列中的各个延迟任务;
所述调用异常处理系统根据各个所述延迟任务对应的执行时间、所述时间轮的槽数以及所述时间轮中一槽的转动时间,将各个所述延迟任务添加至所述时间轮各槽中的任务链表。
进一步地,所述装置还包括调用失败回滚模块,所述调用失败回滚模块用于:
所述调用异常处理系统将所述处理失败的结果反馈至所述业务系统时,获取所述调用异常事件对应的上下文参数,并根据所述上下文参数对所述调用异常事件对应的更新数据进行回滚处理。
其中,上述业务系统的调用异常处理装置中各个模块与上述业务系统的调用异常处理方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
此外,本发明实施例还提供一种计算机可读存储介质。
本发明计算机可读存储介质上存储有业务系统的调用异常处理程序,其中所述业务系统的调用异常处理程序被处理器执行时,实现如上述的业务系统的调用异常处理方法的步骤。
其中,业务系统的调用异常处理程序被执行时所实现的方法可参照本发明业务系统的调用异常处理方法的各个实施例,此处不再赘述。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种业务系统的调用异常处理方法,其特征在于,所述方法应用于调用异常处理系统,所述方法包括以下步骤:
所述调用异常处理系统在检测到对应业务系统发生调用异常事件时,获取所述调用异常事件调用异常的调用方法及所述调用异常事件对应的业务数据,其中,不同的业务系统对应不同的调用异常处理系统;
所述调用异常处理系统根据预设数据表中所述对应业务系统对应的配置文件,确定所述调用异常事件的调用方法对应的处理模式以及处理规则;
所述调用异常处理系统按照所述处理模式以及所述处理规则,重新调用所述调用异常事件的调用方法对所述业务数据进行处理。
2.如权利要求1所述的业务系统的调用异常处理方法,其特征在于,所述调用异常处理系统按照所述处理模式以及所述处理规则,重新调用所述调用异常事件的调用方法对所述业务数据进行处理的步骤具体包括:
在所述处理模式为同步处理模式时,所述调用异常处理系统按照所述处理规则重新调用所述调用异常事件的调用方法对所述业务数据进行处理,并将处理结果反馈至所述业务系统。
3.如权利要求2所述的业务系统的调用异常处理方法,其特征在于,所述将处理结果反馈至所述业务系统的步骤具体包括:
所述调用异常处理系统在处理成功时,将处理成功的结果反馈至所述业务系统;
所述调用异常处理系统在处理失败时,重新调用所述调用异常事件的调用方法对所述业务数据进行处理,直至调用次数达到所述处理规则中的重试次数或调用时长达到所述处理规则中的等待时长,并处理失败的结果反馈至所述业务系统。
4.如权利要求2所述的业务系统的调用异常处理方法,其特征在于,所述调用异常处理系统按照所述处理模式以及所述处理规则,重新调用所述调用异常事件的调用方法对所述业务数据进行处理的步骤具体包括:
在所述处理模式为异步处理模式时,所述调用异常处理系统生成等待重新调用的提醒消息,并将所述等待重新调用的提醒消息反馈至所述业务系统;
所述调用异常处理系统根据所述处理规则中的重试次数和/或等待时长,重新调用所述调用异常事件的调用方法对所述业务数据进行处理,并将处理成功或处理失败的结果反馈至所述业务系统。
5.如权利要求1所述的业务系统的调用异常处理方法,其特征在于,所述方法还包括:
在所述调用异常事件包括至少两个调用方法时,所述调用异常处理系统将所述调用异常事件包括的各个调用方法添加至延迟队列;
所述调用异常处理系统根据所述各个调用方法的添加先后顺序,依次对所述延迟队列中的各个调用方法进行处理。
6.如权利要求5所述的业务系统的调用异常处理方法,其特征在于,所述调用异常处理系统将所述调用异常事件包括的各个调用方法添加至延迟队列的步骤具体包括:
所述调用异常处理系统获取一调用方法,作为一延迟任务,并获取一时间轮,以通过所述时间轮各个槽中的任务链表存储所述延迟队列中的各个延迟任务;
所述调用异常处理系统根据各个所述延迟任务对应的执行时间、所述时间轮的槽数以及所述时间轮中一槽的转动时间,将各个所述延迟任务添加至所述时间轮各槽中的任务链表。
7.如权利要求1至6任意一项所述的业务系统的调用异常处理方法,其特征在于,所述方法还包括:
所述调用异常处理系统将所述处理失败的结果反馈至所述业务系统时,获取所述调用异常事件对应的上下文参数,并根据所述上下文参数对所述调用异常事件对应的更新数据进行回滚处理。
8.一种业务系统的调用异常处理装置,其特征在于,所述装置应用于调用异常处理系统,所述装置包括:
异常方法获取模块,用于所述调用异常处理系统在检测到对应业务系统发生调用异常事件时,获取所述调用异常事件调用异常的调用方法及所述调用异常事件对应的业务数据,其中,不同的业务系统对应不同的调用异常处理系统;
处理策略获取模块,用于所述调用异常处理系统根据预设数据表中所述对应业务系统对应的配置文件,确定所述调用异常事件的调用方法对应的处理模式以及处理规则;
异常方法重试模块,用于所述调用异常处理系统按照所述处理模式以及所述处理规则,重新调用所述调用异常事件的调用方法对所述业务数据进行处理。
9.一种业务系统的调用异常处理设备,其特征在于,所述业务系统的调用异常处理设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的业务系统的调用异常处理程序,其中所述业务系统的调用异常处理程序被所述处理器执行时,实现如权利要求1至7中任一项所述的业务系统的调用异常处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有业务系统的调用异常处理程序,其中所述业务系统的调用异常处理程序被处理器执行时,实现如权利要求1至7中任一项所述的业务系统的调用异常处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111155093.1A CN113867841A (zh) | 2021-09-29 | 2021-09-29 | 业务系统的调用异常处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111155093.1A CN113867841A (zh) | 2021-09-29 | 2021-09-29 | 业务系统的调用异常处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113867841A true CN113867841A (zh) | 2021-12-31 |
Family
ID=79000591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111155093.1A Pending CN113867841A (zh) | 2021-09-29 | 2021-09-29 | 业务系统的调用异常处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113867841A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111666491A (zh) * | 2020-04-28 | 2020-09-15 | 平安科技(深圳)有限公司 | 异常数据查询方法、装置、计算机设备及存储介质 |
CN111782431A (zh) * | 2020-06-22 | 2020-10-16 | 深圳乐信软件技术有限公司 | 一种异常的处理方法、装置、终端及存储介质 |
CN111899105A (zh) * | 2020-08-04 | 2020-11-06 | 深圳乐信软件技术有限公司 | 系统异常处理方法、装置、计算机设备及存储介质 |
CN113360321A (zh) * | 2021-06-23 | 2021-09-07 | 平安普惠企业管理有限公司 | 微服务重试调用方法、装置、电子设备及存储介质 |
CN113377559A (zh) * | 2020-03-10 | 2021-09-10 | 北京同邦卓益科技有限公司 | 基于大数据的异常处理方法、装置、设备及存储介质 |
-
2021
- 2021-09-29 CN CN202111155093.1A patent/CN113867841A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113377559A (zh) * | 2020-03-10 | 2021-09-10 | 北京同邦卓益科技有限公司 | 基于大数据的异常处理方法、装置、设备及存储介质 |
CN111666491A (zh) * | 2020-04-28 | 2020-09-15 | 平安科技(深圳)有限公司 | 异常数据查询方法、装置、计算机设备及存储介质 |
CN111782431A (zh) * | 2020-06-22 | 2020-10-16 | 深圳乐信软件技术有限公司 | 一种异常的处理方法、装置、终端及存储介质 |
CN111899105A (zh) * | 2020-08-04 | 2020-11-06 | 深圳乐信软件技术有限公司 | 系统异常处理方法、装置、计算机设备及存储介质 |
CN113360321A (zh) * | 2021-06-23 | 2021-09-07 | 平安普惠企业管理有限公司 | 微服务重试调用方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9886261B1 (en) | System to prioritize update distribution to devices | |
CN110825535A (zh) | 一种作业调度的方法和系统 | |
US10924326B2 (en) | Method and system for clustered real-time correlation of trace data fragments describing distributed transaction executions | |
US20150319221A1 (en) | Tracing business transactions based on application frameworks | |
CN113220431B (zh) | 跨云的分布式数据任务调度方法、设备及存储介质 | |
CN106407021A (zh) | 一种基于队列的业务请求处理方法 | |
US20130103990A1 (en) | Change management system and method | |
CN111090532B (zh) | 应用服务的调用方法、其装置、电子设备及计算机存储介质 | |
CN109614164B (zh) | 实现插件可配置的方法、装置、设备及可读存储介质 | |
CN107066339A (zh) | 分布式作业管理器及分布式作业管理方法 | |
CN112667382A (zh) | 任务调度方法、装置、设备及存储介质 | |
CN112346926A (zh) | 资源状态监控方法、装置及电子设备 | |
CN110389976B (zh) | 一种多接口数据的调度方法和装置 | |
CN114546588A (zh) | 任务的部署方法、装置、存储介质及电子装置 | |
CN113867841A (zh) | 业务系统的调用异常处理方法、装置、设备及存储介质 | |
CN107463390A (zh) | 一种软件升级方法及升级服务器 | |
CN106933932B (zh) | 数据处理方法、装置及应用服务器 | |
CN108347456B (zh) | 一种应用程序下载方法及装置 | |
CN115357403A (zh) | 一种用于任务调度的微服务系统及任务调度方法 | |
CN115145756A (zh) | 熔断方法、装置、设备及存储介质 | |
CN115333942A (zh) | 事件重试方法及装置、存储介质及电子设备 | |
CN110704208B (zh) | 多个系统的消息处理方法、服务器及存储介质 | |
CN114968726A (zh) | 系统资产变更的监控方法、系统、电子设备及存储介质 | |
JP5499484B2 (ja) | プログラム修正システム、端末装置、サーバ装置、プログラム修正方法、エラー検出プログラム及び管理プログラム | |
CN112579960A (zh) | 一种网页取证方法、网页取证装置及服务器 |
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 |