掌桥专利:专业的专利平台
掌桥专利
首页

批量任务中异常处理方法、装置、计算机设备与存储介质

文献发布时间:2023-06-19 18:29:06


批量任务中异常处理方法、装置、计算机设备与存储介质

技术领域

本申请涉及数据处理技术领域,特别是涉及一种批量任务中异常处理方法、装置、计算机设备、存储介质和计算机程序产品。

背景技术

随着数据处理技术的发展,对任务进行批量处理的技术也应运而生,对任务进行批量处理不仅能够加快处理速度,而且能够减少操作次数,不需要完成一条数据后还需一定的操作才能处理下一条数据;但是,在处理批量任务时也会遇到一些不可预见的问题,导致无法对数据进行处理。

传统技术中,当处理批量任务时遇到异常我们一般是直接将异常任务抛出,导致批量任务中断,进入失败状态,等待人工干预。

然而,一旦遇到异常就要中断批量任务,大大降低了处理批量任务的效率,使大面积数据处理延迟,这不仅影响下游系统,还严重影响第二天正常业务的办理。

发明内容

基于此,有必要针对上述技术问题,提供一种能够提高批量任务处理效率的批量任务中异常处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。

第一方面,本申请提供了一种批量任务中异常处理方法。所述方法包括:

侦测异常任务,生成批量任务的异常数据;

调用自动挂起处理器读取所述批量任务的异常数据表征的状态信息;

根据所述批量任务的异常数据表征的状态信息,调用自动挂起处理器自动挂起任务,并发送报警信息;

接收所述报警信息对应的回复信息,根据所述回复信息更新所述批量任务的异常数据表征的状态信息;

根据所述更新后的批量任务的异常数据表征的状态信息,对异常任务进行处理。

在其中一个实施例中,所述侦测异常任务,生成批量任务的异常数据包括:

获取批量任务中所有任务的执行语句;

调用try catch语句侦测所述所有任务的执行语句是否存在异常;

当侦测到异常任务时,获取所述异常任务的唯一标识、批量任务序号、异常信息与状态信息,生成批量任务的异常数据。

在其中一个实施例中,所述根据所述批量任务的异常数据表征的状态信息,调用自动挂起处理器自动挂起任务,并发送报警信息包括:

当所述批量任务为串行任务时,调用自动挂起处理器挂起异常任务,并发送报警信息;

当所述批量任务为并行任务时,调用自动挂起处理器自动挂起所述并行任务中的异常任务,并发送报警信息;

当所述批量任务包括并行任务以及串行任务、且异常任务处于并行任务链中时,调用自动挂起处理器自动挂起未处理的所有任务,并发送报警信息。

在其中一个实施例中,所述接收所述报警信息对应的回复信息,根据所述回复信息更新所述批量任务的异常数据表征的状态信息包括:

接收所述报警信息对应的回复信息;

当所述回复信息表征跳过异常时,更新所述批量任务的异常数据表征的状态信息为跳过;

当所述回复信息表征任务中断时,更新所述批量任务的异常数据表征的状态信息为中断。

在其中一个实施例中,所述根据所述更新后的批量任务的异常数据表征的状态信息,对异常任务进行处理包括:

当所述批量任务的异常数据表征的状态信息为跳过、且单次挂起时间超过预设时间阈值时,调用自动挂起处理器读取所述批量任务的异常数据表征的状态信息,跳过当前异常任务;

当所述批量任务的异常数据表征的状态信息为中断、且单次挂起时间超过预设时间阈值时,调用自动挂起处理器读取所述批量任务的异常数据表征的状态信息,中断当前未处理的所有任务。

在其中一个实施例中,所述方法还包括:

当在预设循环次数阈值内不能接收到所述报警信息对应的回复信息时,更新批量任务的异常数据表征的状态信息为跳过,调用自动挂起处理器读取所述批量任务的异常数据表征的状态信息,跳过当前异常任务。

第二方面,本申请还提供了一种批量任务中异常处理装置。所述装置包括:

数据生成模块,用于侦测异常任务,生成批量任务的异常数据;

状态读取模块,用于调用自动挂起处理器读取所述批量任务的异常数据表征的状态信息;

自动挂起模块,用于根据所述批量任务的异常数据表征的状态信息,调用自动挂起处理器自动挂起任务,并发送报警信息;

状态更新模块,用于接收所述报警信息对应的回复信息,根据所述回复信息更新所述批量任务的异常数据表征的状态信息;

异常处理模块,用于根据所述更新后的批量任务的异常数据表征的状态信息,对异常任务进行处理。

第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

侦测异常任务,生成批量任务的异常数据;

调用自动挂起处理器读取所述批量任务的异常数据表征的状态信息;

根据所述批量任务的异常数据表征的状态信息,调用自动挂起处理器自动挂起任务,并发送报警信息;

接收所述报警信息对应的回复信息,根据所述回复信息更新所述批量任务的异常数据表征的状态信息;

根据所述更新后的批量任务的异常数据表征的状态信息,对异常任务进行处理。

第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

侦测异常任务,生成批量任务的异常数据;

调用自动挂起处理器读取所述批量任务的异常数据表征的状态信息;

根据所述批量任务的异常数据表征的状态信息,调用自动挂起处理器自动挂起任务,并发送报警信息;

接收所述报警信息对应的回复信息,根据所述回复信息更新所述批量任务的异常数据表征的状态信息;

根据所述更新后的批量任务的异常数据表征的状态信息,对异常任务进行处理。

第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:

侦测异常任务,生成批量任务的异常数据;

调用自动挂起处理器读取所述批量任务的异常数据表征的状态信息;

根据所述批量任务的异常数据表征的状态信息,调用自动挂起处理器自动挂起任务,并发送报警信息;

接收所述报警信息对应的回复信息,根据所述回复信息更新所述批量任务的异常数据表征的状态信息;

根据所述更新后的批量任务的异常数据表征的状态信息,对异常任务进行处理。

上述批量任务中异常处理方法、装置、计算机设备、存储介质和计算机程序产品,首先,侦测异常任务,生成批量任务的异常数据;调用自动挂起处理器读取批量任务的异常数据表征的状态信息,自动挂起任务,并发送报警信息至用户,使异常任务不再被直接抛出,而是自动挂起后等待用户进一步处理;接收用户的回复信息,根据回复信息更新批量任务的异常数据表征的状态信息;根据更新后的批量任务的异常数据表征的状态信息,对异常任务进行处理,且对异常任务进行处理是通过用户对批量任务的异常数据评估后采取的不同处理方式来处理的。本申请通过自动挂起处理器自动挂起异常任务,并根据用户回复来对异常任务进行不同的处理,提高了处理批量任务的效率。

附图说明

图1为一个实施例中批量任务中异常处理方法的应用环境图;

图2为一个实施例中批量任务中异常处理方法的流程示意图;

图3为另一个实施例中批量任务中异常处理方法的流程示意图;

图4为又一个实施例中批量任务中异常处理方法的流程示意图;

图5为又一个实施例中批量任务中异常处理方法的流程示意图;

图6为又一个实施例中批量任务中异常处理方法的流程示意图;

图7为又一个实施例中批量任务中异常处理方法的流程示意图;

图8为又一个实施例中批量任务中异常处理装置的结构框图;

图9为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请实施例提供的批量任务中异常处理方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。首先,终端102发送异常任务处理请求至服务器104,异常任务处理请求中含有异常任务信息,服务器104接收到终端102传来的异常任务处理请求,从异常任务处理请求中提取异常任务信息,侦测异常任务,生成批量任务的异常数据;调用自动挂起处理器读取批量任务的异常数据表征的状态信息;根据批量任务的异常数据表征的状态信息,调用自动挂起处理器自动挂起任务,并发送报警信息;接收报警信息对应的回复信息,根据回复信息更新批量任务的异常数据表征的状态信息;根据更新后的批量任务的异常数据表征的状态信息,对异常任务进行处理。更进一步地,服务器104还可以把异常任务处理结果反馈给终端102。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机与平板电脑。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图2所示,提供了一种批量任务中异常处理方法,以该方法应用于图1中的终端102为例进行说明,包括以下步骤:

S100,侦测异常任务,生成批量任务的异常数据。

其中,批量任务的异常数据是指在处理批量任务中侦测到异常任务时通过分析该异常任务所得到的数据。

具体地,终端102发送异常任务处理请求至服务器104,异常任务处理请求中含有异常任务信息,服务器104接收到终端102传来的异常任务处理请求,从异常任务处理请求中提取异常任务信息,对异常任务进行侦测,分析侦测得到的异常任务,生成批量任务的异常数据。

更进一步地,生成批量任务的异常数据后,批量任务的异常数据被保存在数据库中,保存时,需要调用线程sleep语句设置程序休眠一定时间,保证批量任务的异常数据保存成功。

S200,调用自动挂起处理器读取批量任务的异常数据表征的状态信息。

其中,自动挂起处理器是封装好的一个公用处理器,它在每个任务处理时都能被调用,可以实现任务的循环挂起,使程序无法对挂起的任务进行处理;状态信息是指批量任务的异常数据自身可以被自动挂起处理器读取的状态,本申请中批量任务的异常数据表征的状态信息包括挂起、中断与跳过,且批量任务的异常数据表征的状态信息会初始化为挂起。

具体地,服务器104生成批量任务的异常数据后,调用封装好的自动挂起处理器读取批量任务的异常数据表征的状态信息,由于批量任务的异常数据表征的状态信息被初始化为挂起,所以调用自动挂起处理器对批量任务的异常数据进行读取的结果是读取到批量任务的异常数据表征的状态信息为挂起。

S300,根据批量任务的异常数据表征的状态信息,调用自动挂起处理器自动挂起任务,并发送报警信息。

其中,报警信息包括批量任务的异常数据说明以及待回复内容,批量任务的异常数据说明为批量任务的异常数据表征的唯一标识、批量任务序号、异常信息与状态;待回复内容为“是否跳过以续跑”。

具体地,根据读取到的批量任务的异常数据表征的状态信息为挂起,此时,服务器104调用自动挂起处理器自动挂起任务,并发送报警信息给用户。

更进一步地,自动挂起处理器可以实现对任务的循环挂起,读取批量任务的异常数据表征的状态信息后,由于状态信息初始化为挂起,所以在自动挂起处理器读取后会自动挂起异常任务,经过预设时间阈值后,再次读取批量任务的异常数据表征的状态信息,判断是否仍为挂起,若不为挂起,则取消任务的挂起;若为挂起,则再次挂起异常任务预设时间阈值,循环达到挂起的目的。

S400,接收报警信息对应的回复信息,根据回复信息更新批量任务的异常数据表征的状态信息。

其中,回复信息包括“是”或“否”。

具体地,用户接收到报警信息后,对报警信息中的批量任务的异常数据说明进行评估,判断该异常任务是否可以暂时先不处理或者必须马上处理,根据评估结果按照报警信息里的待回复内容来发送回复信息,服务器104接收到用户对于报警信息评估后的回复信息后,可以将批量任务的异常数据表征的状态信息按用户的回复信息来更新。

S500,根据更新后的批量任务的异常数据表征的状态信息,对异常任务进行处理。

具体地,服务器104得到更新后的批量任务的异常数据表征的状态信息后,根据得到的更新后的批量任务的异常数据表征的状态信息,判断后续对异常任务进行处理的操作,并对异常任务进行处理。

上述批量任务中异常处理方法中,首先,侦测异常任务,生成批量任务的异常数据;调用自动挂起处理器读取批量任务的异常数据表征的状态信息,自动挂起任务,并发送报警信息至用户,使异常任务不再被直接抛出,而是自动挂起后等待用户进一步处理;接收用户的回复信息,根据回复信息更新批量任务的异常数据表征的状态信息;根据更新后的批量任务的异常数据表征的状态信息,对异常任务进行处理,且对异常任务进行处理是通过用户对批量任务的异常数据评估后采取的不同处理方式来处理的。本申请通过自动挂起处理器自动挂起异常任务,并根据用户回复来对异常任务进行不同的处理,提高了处理批量任务的效率。

在一个实施例中,如图3所示,S100包括:

S120,获取批量任务中所有任务的执行语句。

S140,调用try catch语句侦测所有任务的执行语句是否存在异常。

具体地,把所有任务的执行语句封装在try语句块中,用以侦测执行所有任务时可能发生的异常,当侦测到异常时,就会执行catch里的语句。

S160,当侦测到异常任务时,获取异常任务的唯一标识、批量任务序号、异常信息与状态信息,生成批量任务的异常数据。

其中,批量任务序号是指异常任务所在批量任务中的序号,表示异常任务处于批量任务中的第几个任务。

示例性地,一个核算系统于晚间3点跑批,对客户的借据信息进行全生命周期的核算记账,有次在晚上对核算记账的批量任务进行处理时,因为程序问题,缺少了一个关键要素,导致这一个客户的还款记账任务出现异常,当try catch语句侦测到还款记账任务出现异常后,就会获取当前这一异常的核算任务的唯一标识、批量任务序号、异常信息与状态信息,来生成批量任务的异常数据,生成的批量任务的异常数据被保存在数据库中。此时,保存在数据库里的核算系统中批量任务的异常数据要素如表1所示:

表1核算系统中批量任务的异常数据要素

本实施例中,通过侦测异常任务,得到批量任务的异常数据,能够根据批量任务的异常数据对异常任务进行处理。

在一个实施例中,如图4所示,S300包括:

S320,当批量任务为串行任务时,调用自动挂起处理器挂起异常任务,并发送报警信息。

其中,串行任务是指顺序执行的任务,串行任务中一个任务必须在另一个任务结束之后才能开始执行。

具体地,当需要执行的批量任务为串行任务,即必须先执行完前一个任务才能执行后一个任务时,自动挂起处理器已经读取到批量任务的异常数据表征的状态信息,且由于状态信息被初始化为挂起,所以调用自动挂起处理器来挂起异常任务,并向用户发送报警短信,短信内容包括任务异常数据说明以及待回复内容。

更进一步地,当异常任务被挂起,则此时的串行任务中在异常任务之后的所有任务均不能执行。

S340,当批量任务为并行任务时,调用自动挂起处理器自动挂起并行任务中的异常任务,并发送报警信息。

其中,并行任务是指包括多个串行且多个串行之间可以同时执行的任务。

具体地,当需要执行的批量任务为并行任务,且侦测到并行任务中的某个或多个串行发生异常时,自动挂起处理器已经读取到批量任务的异常数据表征的状态信息,由于状态信息被初始化为挂起,所以调用自动挂起处理器来挂起存在异常任务的串行中的异常任务,且其它不存在异常任务的串行将继续执行直至完成串行的任务,且在挂起异常任务的同时会向用户发送报警短信,短信内容包括任务异常数据说明以及待回复内容。

更进一步地,当存在异常任务的串行中的异常任务被挂起,则该并行任务中与异常任务同一串行的所有任务均不能执行。

S360,当批量任务包括并行任务以及串行任务、且异常任务处于并行任务链中时,调用自动挂起处理器自动挂起未处理的所有任务,并发送报警信息。

其中,任务链是指将不同的步骤串联起来执行,并且一个步骤执行完成之后才能够执行下一个步骤;并行任务链是在并行任务基础上组成的任务链条,即并行任务链包括多个可以同时执行的任务链。

具体地,当需要执行的批量任务包括并行任务以及串行任务、且侦测到的异常任务处于并行任务链中时,用自动挂起处理器自动挂起未处理的所有任务,并向用户发送报警短信,短信内容包括任务异常数据说明以及待回复内容。

更进一步地,可以分为两种情况:一种是异常任务所处的并行任务为批量任务中最后的任务,此时调用自动挂起处理器来挂起存在异常任务的串行中的异常任务,该并行任务中与异常任务同一串行的所有任务均不能处理,其它不存在异常任务的串行将继续执行直至完成串行的任务,此时未处理的所有任务包括并行任务中异常任务所在串行的所有任务;第二种是当在异常任务所处的并行任务之后还存在任务时,调用自动挂起处理器自动挂起存在异常任务的串行,其它不存在异常任务的串行将继续执行完成串行的任务,此时并行任务中与异常任务同一串行的任务由于被挂起所以未被处理完成,所以即使其它不存在异常任务的串行处理完成了,并行任务之后的任务也无法继续进行处理,调用自动挂起处理器自动挂起此时未处理的所有任务,此时未处理的所有任务包括并行任务中异常任务所在串行的所有任务以及并行任务之后的所有任务。

本实施例中,通过对异常任务是在串行任务还是并行任务的判断,能够灵活处理批量任务异常的情况,适应处理批量任务异常的更多情形。

在一个实施例中,如图5所示,S400包括:

S420,接收报警信息对应的回复信息。

具体地,当用户接收到报警信息时,对报警信息里批量任务的异常数据说明进行评估,判断是否要对异常任务进行及时的处理,评估完成后发送与报警信息的待回复内容“是否跳过以续跑”相对应的回复信息,发送的回复信息被服务器104接收。

更进一步地,如果判断异常任务可跳过第二天再处理,则回复“是”,此时回复信息表征跳过异常任务;如果判断异常任务不能进行挂起处理,必须及时解决,则回复“否”,此时回复信息表征任务中断。

S440,当回复信息表征跳过异常时,更新批量任务的异常数据表征的状态信息为跳过。

具体地,当回复信息为“是”,即表征跳过异常任务时,批量任务的异常数据表征的状态信息会被更新为跳过。

S460,当回复信息表征任务中断时,更新批量任务的异常数据表征的状态信息为中断。

其中,中断是指处理程序运行中出现的紧急事件的整个过程中,系统外部、系统内部或者现行程序本身若出现紧急事件,立即中止现行程序的运行,并等待处理完后,再返回原来的程序运行。

具体地,当回复信息为“否”,即表征任务中断时,批量任务的异常数据表征的状态信息会被更新为中断。

本实施例中,通过根据接收的回复信息来更新批量任务的异常数据表征的状态信息,能够使自动挂起处理器读取的是更新后的状态信息,从而对异常任务进行正确的处理。

在一个实施例中,如图6所示,S500包括:

S520,当批量任务的异常数据表征的状态信息为跳过、且单次挂起时间超过预设时间阈值时,调用自动挂起处理器读取批量任务的异常数据表征的状态信息,跳过当前异常任务。

其中,预设时间阈值是指自动挂起处理器预设的单次挂起时间,即每经过一次预设时间阈值,自动挂起处理器就会读取批量任务的异常数据表征的状态信息一次。

具体地,当批量任务的异常数据表征的状态信息被更新为跳过、且单次挂起时间超过预设的挂起时间时,调用自动挂起处理器读取批量任务的异常数据表征的状态信息,自动挂起处理器会读取到状态信息为跳过,此时自动挂起处理器对当前异常任务不做任何处理,直接跳过当前异常任务直接进行所在串行下一条任务的处理,以保证批量任务继续正常跑完不影响整体,并需人工在第二天根据批量任务的异常数据说明进行分析和人工处理。

S540,当批量任务的异常数据表征的状态信息为中断、且单次挂起时间超过预设时间阈值时,调用自动挂起处理器读取批量任务的异常数据表征的状态信息,中断当前未处理的所有任务。

具体地,当批量任务的异常数据表征的状态信息被更新为中断、且单次挂起时间超过预设的挂起时间时,调用自动挂起处理器读取批量任务的异常数据表征的状态信息,自动挂起处理器会读取到状态信息为中断,此时中断当前未处理的所有任务,即跑批中断,进入失败状态,需要人工马上赶到现场来进行处理。

更进一步地,当批量任务为串行任务时,中断串行上的异常任务,异常任务后续的任务随之被中断,此时需要中断的未处理的所有任务包括串行任务上的异常任务以及串行任务上异常任务之后的所有任务;当批量任务为并行任务时,中断存在异常任务的串行上的异常任务,异常任务所在串行的任务随之被中断,即中断异常任务所在串行上的所有任务,其它不存在异常任务的串行会在处理完成后中断,此时需要中断的未处理的所有任务包括并行任务上存在异常任务的串行的所有任务;当批量任务包括并行任务以及串行任务、且异常任务处于并行任务链中时,若并行任务后续还有其它任务,则需要中断的未处理的所有任务包括并行任务上存在异常任务的串行的所有任务以及并行任务之后的所有任务。

本实施例中,通过调用自动挂起处理器来读取更新后的批量任务的异常数据表征的状态信息,能够根据状态信息对异常任务进行不同的处理,提高了处理批量任务的效率。

在一个实施例中,批量任务中异常处理方法还包括:

当在预设循环次数阈值内不能接收到报警信息对应的回复信息时,更新批量任务的异常数据表征的状态信息为跳过,调用自动挂起处理器读取批量任务的异常数据表征的状态信息,跳过当前异常任务。

其中,预设循环次数阈值是指自动挂起处理器设置的循环次数上限。

具体地,设置一个自动挂起处理器的循环次数上限,当已经达到了自动挂起处理器设置的循环次数上限,但仍未接收到用户发送的报警信息对应的回复信息,批量任务的异常数据表征的状态信息会被更新为跳过,调用自动挂起处理器读取批量任务的异常数据表征的状态信息,自动挂起处理器会读取到状态信息为跳过,此时自动挂起处理器对当前异常任务不做任何处理,直接跳过当前异常任务直接进行所在串行下一条任务的处理。

更进一步地,为了保证批量任务继续正常跑完不影响整体,未接收到用户发送的报警信息对应的回复信息导致异常任务被跳过后,也需人工在第二天根据批量任务的异常数据说明进行分析和人工处理。

本实施例中,通过设置循环次数阈值,能够减少由于用户未看到报警信息导致不能及时评估异常任务的风险。

在一个实施例中,如图7所示,批量任务中异常处理方法包括:

获取批量任务中所有任务的执行语句;

调用try catch语句侦测所有任务的执行语句是否存在异常;

当侦测到异常任务时,获取异常任务的唯一标识、批量任务序号、异常信息与状态信息,生成批量任务的异常数据;

调用自动挂起处理器读取批量任务的异常数据表征的状态信息;

当批量任务为串行任务时,调用自动挂起处理器挂起异常任务,并发送报警信息;

当批量任务为并行任务时,调用自动挂起处理器自动挂起并行任务中的异常任务,并发送报警信息;

当批量任务包括并行任务以及串行任务、且异常任务处于并行任务链中时,调用自动挂起处理器自动挂起未处理的所有任务,并发送报警信息;

接收报警信息对应的回复信息;

当回复信息表征跳过异常时,更新批量任务的异常数据表征的状态信息为跳过;

当回复信息表征任务中断时,更新批量任务的异常数据表征的状态信息为中断;

当批量任务的异常数据表征的状态信息为跳过、且单次挂起时间超过预设时间阈值时,调用自动挂起处理器读取批量任务的异常数据表征的状态信息,跳过当前异常任务;

当批量任务的异常数据表征的状态信息为中断、且单次挂起时间超过预设时间阈值时,调用自动挂起处理器读取批量任务的异常数据表征的状态信息,中断当前所有任务。

应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的批量任务中异常处理方法的批量任务中异常处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个批量任务中异常处理装置实施例中的具体限定可以参见上文中对于批量任务中异常处理方法的限定,在此不再赘述。

在一个实施例中,如图8所示,提供了一种批量任务中异常处理装置,包括:数据生成模块100、状态读取模块200、自动挂起模块300、状态更新模块400和异常处理模块500,其中:

数据生成模块100,用于侦测异常任务,生成批量任务的异常数据。

状态读取模块200,用于调用自动挂起处理器读取批量任务的异常数据表征的状态信息。

自动挂起模块300,用于根据批量任务的异常数据表征的状态信息,调用自动挂起处理器自动挂起任务,并发送报警信息。

状态更新模块400,用于接收报警信息对应的回复信息,根据回复信息更新批量任务的异常数据表征的状态信息。

异常处理模块500,用于根据更新后的批量任务的异常数据表征的状态信息,对异常任务进行处理。

在一个实施例中,数据生成模块100用于:获取批量任务中所有任务的执行语句;调用try catch语句侦测所有任务的执行语句是否存在异常;当侦测到异常任务时,获取异常任务的唯一标识、批量任务序号、异常信息与状态信息,生成批量任务的异常数据。

在一个实施例中,自动挂起模块300用于:当批量任务为串行任务时,调用自动挂起处理器挂起异常任务,并发送报警信息;当批量任务为并行任务时,调用自动挂起处理器自动挂起并行任务中的异常任务,并发送报警信息;当批量任务包括并行任务以及串行任务、且异常任务处于并行任务链中时,调用自动挂起处理器自动挂起未处理的所有任务,并发送报警信息。

在一个实施例中,状态更新模块400用于:接收报警信息对应的回复信息;当回复信息表征跳过异常时,更新批量任务的异常数据表征的状态信息为跳过;当回复信息表征任务中断时,更新批量任务的异常数据表征的状态信息为中断。

在一个实施例中,异常处理模块500用于:当批量任务的异常数据表征的状态信息为跳过、且单次挂起时间超过预设时间阈值时,调用自动挂起处理器读取批量任务的异常数据表征的状态信息,跳过当前异常任务;当批量任务的异常数据表征的状态信息为中断、且单次挂起时间超过预设时间阈值时,调用自动挂起处理器读取批量任务的异常数据表征的状态信息,中断当前未处理的所有任务。

在一个实施例中,还包括挂起上限模块,挂起上限模块用于:当在预设循环次数阈值内不能接收到报警信息对应的回复信息时,更新批量任务的异常数据表征的状态信息为跳过,调用自动挂起处理器读取批量任务的异常数据表征的状态信息,跳过当前异常任务。

上述批量任务中异常处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储批量任务的异常数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种批量任务中异常处理方法。

本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。

在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

相关技术
  • 异常处理方法、装置、计算机设备及存储介质
  • 异常处理方法、装置、计算机设备以及存储介质
  • 任务处理方法、装置、电子设备及计算机可读存储介质
  • 绩效任务数据处理方法、装置、计算机设备及存储介质
  • 任务处理方法、装置、电子设备及计算机可读存储介质
  • 批量任务处理方法和装置、计算机存储介质、电子设备
  • 任务批量处理方法、装置、计算机设备及存储介质
技术分类

06120115582660