CN111444033A - 基于springbatch的任务容错处理方法及相关设备 - Google Patents

基于springbatch的任务容错处理方法及相关设备 Download PDF

Info

Publication number
CN111444033A
CN111444033A CN202010182281.2A CN202010182281A CN111444033A CN 111444033 A CN111444033 A CN 111444033A CN 202010182281 A CN202010182281 A CN 202010182281A CN 111444033 A CN111444033 A CN 111444033A
Authority
CN
China
Prior art keywords
batch
task
tasks
determining
running
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
Application number
CN202010182281.2A
Other languages
English (en)
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.)
Ping An Life Insurance Company of China Ltd
Original Assignee
Ping An Life Insurance Company of China 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 Ping An Life Insurance Company of China Ltd filed Critical Ping An Life Insurance Company of China Ltd
Priority to CN202010182281.2A priority Critical patent/CN111444033A/zh
Publication of CN111444033A publication Critical patent/CN111444033A/zh
Pending legal-status Critical Current

Links

Images

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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging

Abstract

本申请涉及数据处理技术领域,尤其涉及一种基于springbatch的任务容错处理方法及相关设备,包括:获取待重新执行的批次任务,发送批次任务的编号至用户端,接收用户端的反馈信息,根据反馈信息,确定批次任务的运行模式;根据运行模式,运行批次任务,记录批次任务的运行起始时间和运行终止时间;获取运行起始时间至运行终止时间产生的数据偏移量;若数据偏移量等于批次任务的行数,则输出运行结果;若数据偏移量小于批次任务的行数,则数据偏移量,确定断点位置,根据断点位置确定未运行的任务批次,运行未运行的任务批次,输出运行结果。有效的解决了SpringBatch的批处理的容错机制主要在代码层面处理,不够灵活的问题。

Description

基于springbatch的任务容错处理方法及相关设备
技术领域
本申请涉及数据处理技术领域,尤其涉及一种基于springbatch的任务容错处理方法及相关设备。
背景技术
SpringBatch是一个批处理的框架,作为一个Spring组件,提供了通过使用Spring的依赖注入(dependency injection)来处理批处理的条件。Spring Batch使用三层架构,三层分别为应用、核心和基础服务。应用层是用户写的批处理任务。核心层包含执行和控制任务必须的核心类。如JobLauncher、Job和Step的实现。应用和核心层基于一层公用的基础服务。基础服务包括通用的Reader,Writers,RetryTemplate。
目前,当前SpringBatch的批处理的容错机制主要在代码层面处理,不够灵活,增加某些容错场景还要修改代码,造成系统出错风险增大;在多物理节点运行批处理程序时,如遇到错误无法很好的定位和处理,数据批次处理程度不够透明。
发明内容
基于此,针对目前SpringBatch的批处理的容错机制主要在代码层面处理,不够灵活,增加某些容错场景还要修改代码,造成系统出错风险增大的问题,提供一种基于springbatch的任务容错处理方法及相关设备。
一种基于springbatch的任务容错处理方法,包括如下步骤:
获取待重新执行的批次任务,发送所述批次任务至用户端,接收所述用户端的反馈信息,根据所述反馈信息,确定所述批次任务的运行模式;
根据所述运行模式,运行所述批次任务,记录所述批次任务的运行起始时间和运行终止时间;
获取所述运行起始时间至所述运行终止时间段内产生的数据偏移量;
若所述数据偏移量等于所述批次任务的行数,则输出运行结果;
若所述数据偏移量小于所述批次任务的行数,则根据所述数据偏移量,确定断点位置,根据所述断点位置确定未运行的任务批次,并重新运行所述未运行的任务批次,输出运行结果。
在其中一个可能的实施例中,所述获取待重新执行的批次任务,发送所述批次任务至用户端,接收所述用户端的反馈信息,根据所述反馈信息,确定所述批次任务的运行模式,包括:
接收用户端的异常报警信号,标记所述异常报警信号产生的时间节点对应的任务为待重新执行的批次任务;
发送所述批次任务至用户端,接收所述用户端的反馈信息,提取所述反馈信息中的关键词;
若所述关键词为单机,则确定所述运行模式为单机模式以及确定应用所述用户端运行所述批次任务,若所述关键词为多点,则确定所述运行方式为多点模式,并获取网络中各节点的配置参数,根据所述配置参数,确定所述各节点运行所述批次任务的运行参数。
在其中一个可能的实施例中,所述根据所述运行模式,运行所述批次任务,记录所述批次任务的运行起始时间和运行终止时间,包括:
若所述运行模式为单机模式,则获取所述批次任务的数据类型,根据所述数据类型确定所述批次任务的运行线程,运行所述批次任务,记录所述批次任务的运行起始时间和运行终止时间;
若所述运行方式为多点模式,则获取所述各节点的IP地址,根据所述各节点IP地址,确定所述批次任务中各批次任务的运行节点,依次运行所述各批次任务,记录所述各批次任务的运行起始时间和运行终止时间。
在其中一个可能的实施例中,所述获取所述各节点的IP地址,根据所述各节点IP地址,确定所述批次任务中各批次的运行节点,包括:
获取所述各节点的IP地址,根据所述各节点的IP地址确定连接方式,根据所述连接方式连接所述各节点;
获取线程ID,根据所述线程ID,确定所述各节点的线程数量,根据所述线程数量,确定所述各节点的负载;
根据所述各节点的负载,确定所述批次任务中各批次任务的运行节点。
在其中一个可能的实施例中,所述获取所述运行起始时间至所述运行终止时间段内产生的数据偏移量,包括:
获取所述批次任务的数据数量,标记处于所述批次任务末端的数据为特征数据;
分别记录所述特征数据在所述运行起始时间时的初始位置和所述运行起始时间时的终止位置;
计算所述终止位置和所述初始位置的位置差值,根据所述位置差值确定所述数据偏移量。
在其中一个可能的实施例中,所述获取待重新执行的批次任务,发送所述批次任务至用户端,接收所述用户端的反馈信息,根据所述反馈信息,确定所述批次任务的运行模式之前,所述方法还包括:
获取异常信号,根据所述异常信号的产生时间,确定异常任务的任务编号;
根据所述任务编号在预置异常任务处理表中的处理方式,确定所述异常任务是否为所述待重新执行的批次任务。
在其中一个可能的实施例中,所述获取待重新执行的批次任务,发送所述批次任务至用户端,接收所述用户端的反馈信息,根据所述反馈信息,确定所述批次任务的运行模式之前,所述方法还包括:
获取任务的处理参数,根据所述任务的处理参数,确定任务的执行方式;
对所述任务运行情况进行监控,当所述任务触发所述任务执行方式中的重新执行指令时,发送所述重新执行指令至所述用户端。
一种基于springbatch的任务容错处理装置,包括如下模块:
模式确定模块,设置为获取待重新执行的批次任务,发送所述批次任务至用户端,接收所述用户端的反馈信息,根据所述反馈信息,确定所述批次任务的运行模式;
时间确认模块,设置为根据所述运行模式,运行所述批次任务,记录所述批次任务的运行起始时间和运行终止时间;
结果输出模块,设置为获取所述运行起始时间至所述运行终止时间段内产生的数据偏移量;若所述数据偏移量等于所述批次任务的行数,则输出运行结果;若所述数据偏移量小于所述批次任务的行数,则根据所述数据偏移量,确定断点位置,根据所述断点位置确定未运行的任务批次,并重新运行所述未运行的任务批次,输出运行结果。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述基于springbatch的任务容错处理方法的步骤。
一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述基于springbatch的任务容错处理方法的步骤。
与现有机制相比,本申请通过获取待重新执行的批次任务,发送所述批次任务至用户端,接收所述用户端的反馈信息,根据所述反馈信息,确定所述批次任务的运行模式;根据所述运行模式,运行所述批次任务,记录所述批次任务的运行起始时间和运行终止时间;获取所述运行起始时间至所述运行终止时间段内产生的数据偏移量;若所述数据偏移量等于所述批次任务的行数,则输出运行结果;若所述数据偏移量小于所述批次任务的行数,则根据所述数据偏移量,确定断点位置,根据所述断点位置确定未运行的任务批次,并重新运行所述未运行的任务批次,输出运行结果。可以有效的解决目前SpringBatch的批处理的容错机制主要在代码层面处理,不够灵活;在多物理节点运行批处理程序时,如遇到错误无法很好的定位和处理,数据批次处理程度不够透明的问题。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。
图1为本申请在一个实施例中的一种基于springbatch的任务容错处理方法的整体流程图;
图2为本申请在一个实施例中的一种基于springbatch的任务容错处理方法中的运行模式确定过程示意图;
图3为本申请在一个实施例中的一种基于springbatch的任务容错处理装置的结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
图1为本申请在一个实施例中的一种基于springbatch的任务容错处理方法的整体流程图,一种基于springbatch的任务容错处理方法,包括以下步骤:
S1、获取待重新执行的批次任务,发送所述批次任务至用户端,接收所述用户端的反馈信息,根据所述反馈信息,确定所述批次任务的运行模式;
具体的,待重新执行的问题任务通常包括两种情况,第一种是任务未执行完全,例如,A任务一共有100行,当执行到第50行时发生异常导致任务执行中断;第二种是任务执行以后得到的结果溢出正常的取值范围。每一个任务在执行时,都会要求用户端进行编号,编号的顺序可以是任务执行的先后次序。
用户的反馈信息可以通过在用户端的容错处理界面进行接收,这个界面是通过VUE写的web界面。在这个界面上可以选择批次任务失败后跳过错误记录处理,这种情况往往是由于某一批次任务中的数据由于某些小的条件没有符合导致了出现异常中断,如果这样设置,那么整个批次会接着运行,直接把错误记录忽略掉,不影响整个批次的任务运行。可以选择任务失败后回滚,就是任务执行到一半的时候有异常数据,不能继续执行,也可以对这个批次的所有数据进行回滚,相当于没有执行。待任务下次重新运行的时候重新开始拉取数据再执行业务逻辑;可以选择失败后重新执行:这个相当于对第2点的自动处理,任务执行到一半就中断了,然后系统遇到这个参数就直接再重复执行一次批次任务;可以选择任务失败后自动切换,这种情况运用在多机模式,如果当前机器出现故障,系统可以动态切换到其他正常运行的机器上接着运行;任务失败后快速中断:这种情况是用户选择了中断,即任务中断就断掉了,不要再继续执行,先找到中断的原因,把异常数据处理掉再接着运行。任务并行调用多个服务器:这种情况也是运用在多台机器上的场景,某一个批次任务可以设置这个参数,在多台机器上执行,也可以设置具体在哪台机器IP上来执行。
用户在容错处理界面上进行对于问题任务的操作选择后,用户端会将选择结果发送至后台服务器进行相应模式的处理。
S2、根据所述运行模式,运行所述批次任务,记录所述批次任务的运行起始时间和运行终止时间;
具体的,运行模式主要有两种,第一种是单机模式,第二中是多点模式。如果采用了单机模式,那么这个批次任务会在单个机器上运行,充分发挥单台机器的性能,其中会以batchlog方式记录批次任务运行某一条记录的日志;如读取客户数据由A库同步到B库,在这个任务运行过程中分为100条记录一个批次来执行(100条这个参数可以配置),当任务每执行一个批次,都会向batchlog文件写入相关的日志记录,示例如insert B库.B1表values(1,1,1);开始记录1,1,1结束记录2,2,2;记录行数100;偏移量100;每100行结束后带有一个commit(提交);日志文件记录了原始库,目标库,具体数据记录,开始数据记录,结束数据记录,记录行数,记录偏移量等信息,便于后续批次任务异常时使用。通过查阅日志文件就可以获得问题任务的运行起始时间和运行终止时间。
如果是分布式多节点运行模式:该方式是基于单节点原理的扩展,在多节点模式下,还需要在batchlog日志中记录每个物理节点的节点状态信息,如IP,机器CPU,内存,线程数,任务数,线程ID,当前批次处理结果状态等。通过获得各个节点的日志文件并进行汇总后就可以得到问题任务的运行起始时间和运行终止时间。
S3、获取所述运行起始时间至所述运行终止时间段内产生的数据偏移量;
若所述数据偏移量等于所述批次任务的行数,则输出运行结果;
若所述数据偏移量小于所述批次任务的行数,则根据所述数据偏移量,确定断点位置,根据所述断点位置确定未运行的任务批次,并重新运行所述未运行的任务批次,输出运行结果。
具体的,当批次任务运行到100行结束后中断,这种情况如果要回复整个批次,直接按照当前批次历史日志进行执行,因为当前批次历史日志都是完整的,恰好到了100行结束直接提交即可;
当批次任务运行一半,比如50行中断,这个时候batchlog记录了一半的记录,同时也记录了数据的偏移量,还有上次50行中断批次的偏移量,这种情况要回复整个批次需要先找到上个小段批次的偏移量,即当前批次的上个commit(提交)点在哪一行记录,把这行记录找到,同时找到对应的偏移量,先把之前完整带有commit段的数据执行,即补充了当前批次中一部分数据,再把记录了一半数据的这个commit段舍弃,这个时候由于记录了偏移量,也记录了数据的开始和结束,通过这几个参数可以找到被舍弃段记录的开始和结束标志及偏移量,根据这个记录再接着上个commit段执行,这样可以把数据对接上。
本实施例,通过偏移量来确定出现问题的批次任务的具体位置,来解决SpringBatch在进行批任务容错处理需要进行代码修改的问题。
图2为本申请在一个实施例中的一种基于springbatch的任务容错处理方法中的运行模式确定过程示意图,如图所示,所述S1、获取待重新执行的批次任务,发送所述批次任务至用户端,接收所述用户端的反馈信息,根据所述反馈信息,确定所述批次任务的运行模式,包括:
S11、接收用户端的异常报警信号,标记所述异常报警信号产生的时间节点对应的任务为待重新执行的批次任务;
具体的,在用户端进行任务处理时,如果发生任务过程中发生中断,在用户端的系统日志中会出现数据断点,当发生数据断点后,用户端会在断点产生的时间节点发送报警信号至后台服务器。同时,在容错界面上对用户进行提醒,如出现红色报警文字等。
S12、发送所述批次任务至用户端,接收所述用户端的反馈信息,提取所述反馈信息中的关键词;
具体的,由于用户端在执行任务时可能是多个任务并行执行,且并行执行的多个任务之间存在着关联,因此在用户端往往是运行一个任务包而不会对任务包中的每一个任务情况进行编号。本步骤中的问题任务的任务编号对应着不同的任务属性,如编号首字符为A,则该任务为保费金额统计任务等等。
S13、若所述关键词为单机,则确定所述运行模式为单机模式以及确定应用所述用户端运行所述批次任务,若所述关键词为多点,则确定所述运行方式为多点模式,并获取网络中各节点的配置参数,根据所述配置参数,确定所述各节点运行所述批次任务的运行参数。
具体的,由于用户端在执行任务时可能是多个任务并行执行,且并行执行的多个任务之间存在着关联,因此在用户端往往是运行一个任务包而不会对任务包中的每一个任务情况进行编号。本步骤中的问题任务的任务编号对应着不同的任务属性,如编号首字符为A,则该任务为保费金额统计任务等等。
本实施例,通过对问题任务选择合适的运行模式,从而避免了修改代码,节约了容错处理的时间。
在一个实施例中,所述根据所述运行模式,运行所述批次任务,记录所述批次任务的运行起始时间和运行终止时间,包括:
若所述运行模式为单机模式,则获取所述批次任务的数据类型,根据所述数据类型确定所述批次任务的运行线程,运行所述批次任务,记录所述批次任务的运行起始时间和运行终止时间;
其中,数据类型包括:byte型、Int型等,不同的数据类型决定了问题任务运行需要的线程不同,不同线程的负载则决定了运行终止时间。
若所述运行方式为多点模式,则获取所述各节点的IP地址,根据所述各节点IP地址,确定所述批次任务中各批次任务的运行节点,依次运行所述各批次任务,记录所述各批次任务的运行起始时间和运行终止时间。
具体可以采用有如下步骤进行运行节点的确定:获取所述各节点的IP地址,根据所述各节点的IP地址确定连接方式,根据所述连接方式连接所述各节点;
获取线程ID,根据所述线程ID,确定所述各节点的线程数量,根据所述线程数量,确定所述各节点的负载;
根据所述各节点的负载,确定所述批次任务中各批次任务的运行节点。
本实施例,通过选择不同的运行方式从而使异常处理更加方便灵活。
在一个实施例中,所述获取所述运行起始时间至所述运行终止时间段内产生的数据偏移量,包括:
获取所述批次任务的数据数量,标记处于所述批次任务末端的数据为特征数据;
其中,标记末端数据可以记录问题任务的行数,在执行问题任务时,末端数据会向前进行移动,从而准确的获得偏移量。
分别记录所述特征数据在所述运行起始时间时的初始位置和所述运行起始时间时的终止位置;
计算所述终止位置和所述初始位置的位置差值,根据所述位置差值确定所述数据偏移量。
本实施例,通过偏移量能够准确的获知问题任务出现问题的批次,从而进行有效的接续运行,达到容错的目的。
在一个实施例中,所述获取待重新执行的批次任务,发送所述批次任务至用户端,接收所述用户端的反馈信息,根据所述反馈信息,确定所述批次任务的运行模式之前,所述方法还包括:
获取异常信号,根据所述异常信号的产生时间,确定异常任务的任务编号;
根据所述任务编号在预置异常任务处理表中的处理方式,确定所述异常任务是否为所述待重新执行的批次任务。
在一个实施例中,所述获取待重新执行的批次任务,发送所述批次任务至用户端,接收所述用户端的反馈信息,根据所述反馈信息,确定所述批次任务的运行模式之前,所述方法还包括:
获取任务的处理参数,根据所述任务的处理参数,确定任务的执行方式;
对所述任务运行情况进行监控,当所述任务触发所述任务执行方式中的重新执行指令时,发送所述重新执行指令至所述用户端。
本实施例,对于有些任务不需要进行重新执行,该任务即使发生错误,就以错误结果为最终的输出结果进行输出展示。
上述任一所对应的实施例或实施方式中所提及的技术特征也同样适用于本申请中的图3所对应的实施例,后续类似之处不再赘述。
以上对本申请中一种基于springbatch的任务容错处理方法进行说明,以下对执行上述基于springbatch的任务容错处理装置进行描述。
如图3所示的一种基于springbatch的任务容错处理装置的结构图,其可应用于基于springbatch的任务容错处理。本申请实施例中的基于springbatch的任务容错处理装置能够实现对应于上述图1所对应的实施例中所执行的基于springbatch的任务容错处理方法的步骤。基于springbatch的任务容错处理装置实现的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。
在一个实施例中,提出了一种基于springbatch的任务容错处理装置,如图3所示,包括如下模块:
模式确定模块10,设置为获取待重新执行的批次任务,发送所述批次任务至用户端,接收所述用户端的反馈信息,根据所述反馈信息,确定所述批次任务的运行模式;
时间确认模块20,设置为根据所述运行模式,运行所述批次任务,记录所述批次任务的运行起始时间和运行终止时间;
结果输出模块30,设置为获取所述运行起始时间至所述运行终止时间段内产生的数据偏移量;若所述数据偏移量等于所述批次任务的行数,则输出运行结果;若所述数据偏移量小于所述批次任务的行数,则根据所述数据偏移量,确定断点位置,根据所述断点位置确定未运行的任务批次,并重新运行所述未运行的任务批次,输出运行结果。
在一个实施例中,提出了一种计算机设备,所述计算机设备包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中的所述基于springbatch的任务容错处理方法的步骤。
在一个实施例中,提出了一种存储有计算机可读指令的存储介质,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述各实施例中的所述基于springbatch的任务容错处理方法的步骤。其中,所述存储介质可以为非易失性存储介质,也可以是易失性存储介质,具体本申请不做限定。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁盘或光盘等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请一些示例性实施例,其中描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种基于springbatch的任务容错处理方法,其特征在于,包括:
获取待重新执行的批次任务,发送所述批次任务至用户端,接收所述用户端的反馈信息,根据所述反馈信息,确定所述批次任务的运行模式;
根据所述运行模式,运行所述批次任务,记录所述批次任务的运行起始时间和运行终止时间;
获取所述运行起始时间至所述运行终止时间段内产生的数据偏移量;
若所述数据偏移量等于所述批次任务的行数,则输出运行结果;
若所述数据偏移量小于所述批次任务的行数,则根据所述数据偏移量,确定断点位置,根据所述断点位置确定未运行的任务批次,并重新运行所述未运行的任务批次,输出运行结果。
2.根据权利要求1所述的基于springbatch的任务容错处理方法,其特征在于,所述获取待重新执行的批次任务,发送所述批次任务至用户端,接收所述用户端的反馈信息,根据所述反馈信息,确定所述批次任务的运行模式,包括:
接收用户端的异常报警信号,标记所述异常报警信号产生的时间节点对应的任务为待重新执行的批次任务;
发送所述批次任务至用户端,接收所述用户端的反馈信息,提取所述反馈信息中的关键词;
若所述关键词为单机,则确定所述运行模式为单机模式以及确定应用所述用户端运行所述批次任务,若所述关键词为多点,则确定所述运行方式为多点模式,并获取网络中各节点的配置参数,根据所述配置参数,确定所述各节点运行所述批次任务的运行参数。
3.根据权利要求2所述的基于springbatch的任务容错处理方法,其特征在于,所述根据所述运行模式,运行所述批次任务,记录所述批次任务的运行起始时间和运行终止时间,包括:
若所述运行模式为单机模式,则获取所述批次任务的数据类型,根据所述数据类型确定所述批次任务的运行线程,运行所述批次任务,记录所述批次任务的运行起始时间和运行终止时间;
若所述运行方式为多点模式,则获取所述各节点的IP地址,根据所述各节点IP地址,确定所述批次任务中各批次任务的运行节点,依次运行所述各批次任务,记录所述各批次任务的运行起始时间和运行终止时间。
4.根据权利要求3所述的基于springbatch的任务容错处理方法,其特征在于,所述获取所述各节点的IP地址,根据所述各节点IP地址,确定所述批次任务中各批次的运行节点,包括:
获取所述各节点的IP地址,根据所述各节点的IP地址确定连接方式,根据所述连接方式连接所述各节点;
获取线程ID,根据所述线程ID,确定所述各节点的线程数量,根据所述线程数量,确定所述各节点的负载;
根据所述各节点的负载,确定所述批次任务中各批次任务的运行节点。
5.根据权利要求1至4任一项所述的基于springbatch的任务容错处理方法,其特征在于,所述获取所述运行起始时间至所述运行终止时间段内产生的数据偏移量,包括:
获取所述批次任务的数据数量,标记处于所述批次任务末端的数据为特征数据;
分别记录所述特征数据在所述运行起始时间时的初始位置和所述运行起始时间时的终止位置;
计算所述终止位置和所述初始位置的位置差值,根据所述位置差值确定所述数据偏移量。
6.根据权利要求5所述的基于springbatch的任务容错处理方法,其特征在于,所述获取待重新执行的批次任务,发送所述批次任务至用户端,接收所述用户端的反馈信息,根据所述反馈信息,确定所述批次任务的运行模式之前,所述方法还包括:
获取异常信号,根据所述异常信号的产生时间,确定异常任务的任务编号;
根据所述任务编号在预置异常任务处理表中的处理方式,确定所述异常任务是否为所述待重新执行的批次任务。
7.根据权利要求5所述的基于springbatch的任务容错处理方法,其特征在于,所述获取待重新执行的批次任务,发送所述批次任务至用户端,接收所述用户端的反馈信息,根据所述反馈信息,确定所述批次任务的运行模式之前,所述方法还包括:
获取任务的处理参数,根据所述任务的处理参数,确定任务的执行方式;
对所述任务运行情况进行监控,当所述任务触发所述任务执行方式中的重新执行指令时,发送所述重新执行指令至所述用户端。
8.一种基于springbatch的任务容错处理装置,其特征在于,包括以下模块:
模式确定模块,设置为获取待重新执行的批次任务,发送所述批次任务至用户端,接收所述用户端的反馈信息,根据所述反馈信息,确定所述批次任务的运行模式;
时间确认模块,设置为根据所述运行模式,运行所述批次任务,记录所述批次任务的运行起始时间和运行终止时间;
结果输出模块,设置为获取所述运行起始时间至所述运行终止时间段内产生的数据偏移量;若所述数据偏移量等于所述批次任务的行数,则输出运行结果;若所述数据偏移量小于所述批次任务的行数,则根据所述数据偏移量,确定断点位置,根据所述断点位置确定未运行的任务批次,并重新运行所述未运行的任务批次,输出运行结果。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,其特征在于,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项权利要求所述基于springbatch的任务容错处理方法的步骤。
10.一种存储有计算机可读指令的存储介质,其特征在于,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项权利要求所述基于springbatch的任务容错处理方法的步骤。
CN202010182281.2A 2020-03-16 2020-03-16 基于springbatch的任务容错处理方法及相关设备 Pending CN111444033A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010182281.2A CN111444033A (zh) 2020-03-16 2020-03-16 基于springbatch的任务容错处理方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010182281.2A CN111444033A (zh) 2020-03-16 2020-03-16 基于springbatch的任务容错处理方法及相关设备

Publications (1)

Publication Number Publication Date
CN111444033A true CN111444033A (zh) 2020-07-24

Family

ID=71627565

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010182281.2A Pending CN111444033A (zh) 2020-03-16 2020-03-16 基于springbatch的任务容错处理方法及相关设备

Country Status (1)

Country Link
CN (1) CN111444033A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113127412A (zh) * 2021-04-23 2021-07-16 深圳市酷开网络科技股份有限公司 一种数据迁移方法、装置、计算机设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113127412A (zh) * 2021-04-23 2021-07-16 深圳市酷开网络科技股份有限公司 一种数据迁移方法、装置、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
US6026499A (en) Scheme for restarting processes at distributed checkpoints in client-server computer system
US7590668B2 (en) Pausable backups of file system items
WO2017124704A1 (zh) 日志内容的显示方法及装置
CN109815291B (zh) 数据同步方法、装置、电子设备及存储介质
US11461195B2 (en) Query fault processing method and processing apparatus
CN108418859B (zh) 写数据的方法和装置
JPS6375963A (ja) システム回復方式
CN111444033A (zh) 基于springbatch的任务容错处理方法及相关设备
CN110647463A (zh) 一种恢复测试断点的方法、装置、电子设备
CN115314361B (zh) 一种服务器集群管理方法及其相关组件
JP2778798B2 (ja) 制御データのキュー構造管理処理方式
CN116069765A (zh) 数据迁移方法、装置、电子设备及存储介质
US10474443B2 (en) Code lineage tool
CN112527497B (zh) 一种序列化多线程数据处理系统
CN114756410A (zh) 一种双机热备系统的数据恢复方法、装置及介质
CN115268785A (zh) 一种应用于分布式存储系统的管理方法、装置及存储介质
CN113553217A (zh) 数据恢复方法、装置、存储介质及计算机设备
CN113448758A (zh) 处理任务的方法、装置及终端设备
CN114625702A (zh) 数据的存储方法、装置、系统及电子设备
CN110908821A (zh) 任务失败管理的方法、装置、设备和存储介质
CN110968486A (zh) 一种脚本运行方法及装置
CN114356643B (zh) 一种遥感卫星处理系统中自动发现任务失败和恢复方法
CN116126969A (zh) 分布式数据库的重启方法、装置、存储介质以及电子设备
CN110647526B (zh) 批量数据处理方法、装置、计算机设备及存储介质
CN110209884B (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