CN108681598B - 任务自动重跑方法、***、计算机设备和存储介质 - Google Patents

任务自动重跑方法、***、计算机设备和存储介质 Download PDF

Info

Publication number
CN108681598B
CN108681598B CN201810486865.1A CN201810486865A CN108681598B CN 108681598 B CN108681598 B CN 108681598B CN 201810486865 A CN201810486865 A CN 201810486865A CN 108681598 B CN108681598 B CN 108681598B
Authority
CN
China
Prior art keywords
error reporting
running
task
polling
reporting
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
CN201810486865.1A
Other languages
English (en)
Other versions
CN108681598A (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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201810486865.1A priority Critical patent/CN108681598B/zh
Priority to PCT/CN2018/104367 priority patent/WO2019223174A1/zh
Publication of CN108681598A publication Critical patent/CN108681598A/zh
Application granted granted Critical
Publication of CN108681598B publication Critical patent/CN108681598B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及数据处理技术领域,尤其涉及一种任务自动重跑方法、***、计算机设备和存储介质。任务重跑方法包括:在调度平台数据库中创建报错关键字配置表,接收报错关键字及对应的重跑范围、重跑次数和重跑间隔,并配置到报错关键字配置表中;创建定时轮询脚本,定时从调度平台的任务运行日志表中轮询报错日志记录的报错关键字,并将报错关键字从日志表中提取;在报错关键字配置表中存在提取的报错关键字,且当前任务符合报重跑范围、重跑次数和重跑间隔后,将当前任务的报错状态修改为准备状态。本技术方案通过报错关键字配置表进行自动重跑,提高了ETL任务的运行效率,节省了运维时间和开发同事人工介入处理的时间。

Description

任务自动重跑方法、***、计算机设备和存储介质
技术领域
本发明涉及数据处理技术领域,尤其涉及一种任务自动重跑方法、***、计算机设备和存储介质。
背景技术
BI(商务智能)是从许多来自不同的企业运作***的数据中提取出有用的数据并进行清理,以保证数据的正确性,然后经过抽取(Extraction)、转换(Transformation)和装载(Load),即ETL(数据仓库技术)过程,合并到一个企业级的数据仓库里,从而得到企业数据的一个全局视图,在此基础上利用合适的查询和分析工具、数据挖掘工具、OLAP工具等对其进行分析和处理,最后将知识呈现给管理者,为管理者的决策过程提供数据支持。
在一些较大规模的BI项目中,ETL任务的调度均采取专用调度工具进行调度,目前市场上调度工具在调度ELT任务时,对于报错的任务,需要人工干预才能完成报错任务的重跑。而事实上对于某些特定的报错,通过自动重跑即可运行通过,无需运维或开发工程师的介入。
现有技术中调度平台在进行任务重跑时人工介入的缺陷主要有:
1.增加了运维或开发工程师的处理时间成本;
2.影响了ETL任务的运行效率。
发明内容
有鉴于此,有必要针对现有技术中调度平台在进行任务重跑时人工介入的缺陷,提供一种任务自动重跑方法、***、计算机设备和存储介质。
一种任务自动重跑方法,所述重跑方法包括:
S1:在调度平台数据库中创建报错关键字配置表,接收人工收集的报错关键字及报错关键字对应的重跑范围、重跑次数和重跑间隔,并配置到报错关键字配置表中;
S2:创建定时轮询脚本,定时轮询脚本定时从调度平台的任务运行日志表中轮询报错日志记录的报错关键字,并将报错日志记录的报错关键字从日志表中提取;
S3:在报错关键字配置表中存在提取的报错关键字,且当前任务符合报错关键字对应的重跑范围、重跑次数和重跑间隔后,将当前任务的报错状态修改为准备状态。
在其中一个实施例中,所述S1包括:
S101:在调度平台上设置一配置输入界面,配置输入界面中设有包括报错关键字字段、重跑范围字段、重跑次数字段和重跑间隔字段的字段信息;
S102:在调度平台的数据库中创建报错关键字配置表,接收配置输入界面中输入的字段信息,将字段信息存储在报错关键字配置表中。
在其中一个实施例中,所述S2包括:
S201:在调度平台中创建定时轮询脚本,并设定包括轮询时间、轮询任务名称及报错运行次数在内的轮询参数;
S202:定时轮询脚本根据轮询参数定时轮询任务运行日志表;
S203:逐个将任务运行日志表中报错日志记录的报错关键字从任务运行日志表中进行提取。
在其中一个实施例中,所述S3包括:
S301:将步骤S2提取的报错关键字与步骤S1中的报错关键字配置表中的报错关键字进行比对,若报错关键字配置表中存在步骤S2提取的报错关键字,则进入下一步,否则返回S203继续轮询;
S302:提取报错关键字配置表中与报错关键字对应的重跑范围,判断当前任务的轮询任务名称是否在重跑范围内,若是在重跑范围内,则进入下一步,否则返回S203继续轮询;
S303:提取报错关键字配置表中与报错关键字对应的重跑次数,判断当前任务的报错运行次数是否小于等于重跑次数,若报错运行次数小于等于重跑次数,则进入下一步,否则返回S203继续轮询;
S304:提取报错关键字配置表中与报错关键字对应的重跑间隔,判断当前任务的轮询时间加上重跑间隔预设的时间是否是调度平台当前时间,若是当前时间,则进入下一步,否则延时进入下一步,延时时间为轮询时间加上重跑间隔预设的时间减去当前时间;
S305:将当前任务运行日志表中的报错日志记录从报错状态修改为准备状态,并将当前任务的报错运行次数加一。
在其中一个实施例中,在调度平台上设置一轮询参数输入界面,轮询参数输入界面中设有包括轮询时间字段、轮询任务名称字段的字段信息;
调度平台接收轮询参数输入界面中输入的字段信息,将字段信息存储在定时轮询脚本对应的轮询参数中。
在其中一个实施例中,所述重跑间隔为一分钟至二十分钟之间的时间。
一种任务自动重跑***,所述重跑***包括:
配置单元,用于选择一调度平台,在调度平台数据库中创建报错关键字配置表,接收人工收集的报错关键字及报错关键字对应的重跑范围、重跑次数和重跑间隔,并配置到报错关键字配置表中;
提取报错关键字单元,用于创建定时轮询脚本,定时轮询脚本定时从调度平台的任务运行日志表中轮询报错日志记录的报错关键字,并将报错日志记录的报错关键字从日志表中提取;
判断单元,用于在报错关键字配置表中存在提取的报错关键字,且当前任务符合报错关键字对应的重跑范围、重跑次数和重跑间隔后,将当前任务的报错状态修改为准备状态。
在其中一个实施例中,所述配置单元包括:
输入模块,用于在调度平台上设置一配置输入界面,配置输入界面中设有包括报错关键字字段、重跑范围字段、重跑次数字段和重跑间隔字段的字段信息;
接收存储模块,用于在调度平台的数据库中创建报错关键字配置表,接收配置输入界面中输入的字段信息,将字段信息存储在报错关键字配置表中。
在其中一个实施例中,所述提取报错关键字单元包括:
创建模块,用于在调度平台中创建定时轮询脚本,并设定包括轮询时间、轮询任务名称及报错运行次数在内的轮询参数;
轮询模块,用于定时轮询脚本根据轮询参数定时轮询任务运行日志表;
提取模块,用于逐个将任务运行日志表中报错日志记录的报错关键字从任务运行日志表中进行提取。
在其中一个实施例中,所述判断单元包括:
报错关键字比对模块,用于将所述提取报错关键字单元提取的报错关键字与报错关键字配置表中的报错关键字进行比对,若报错关键字配置表中存在所述提取报错关键字单元提取的报错关键字,则进入下一步,否则返回所述提取模块继续轮询;
重跑范围判断模块,用于提取报错关键字配置表中与报错关键字对应的重跑范围,判断当前任务的轮询任务名称是否在重跑范围内,若是在重跑范围内,则进入下一步,否则返回所述提取模块继续轮询;
重跑次数判断模块,用于提取报错关键字配置表中与报错关键字对应的重跑次数,判断当前任务的报错运行次数是否小于等于重跑次数,若报错运行次数小于等于重跑次数,则进入下一步,否则返回所述提取模块继续轮询;
重跑间隔判断模块,用于提取报错关键字配置表中与报错关键字对应的重跑间隔,判断当前任务的轮询时间加上重跑间隔预设的时间是否是调度平台当前时间,若是当前时间,则进入下一步,否则延时进入下一步,延时时间为轮询时间加上重跑间隔预设的时间减去当前时间;
状态修改模块,用于将当前任务运行日志表中的报错日志记录从报错状态修改为准备状态,并将当前任务的报错运行次数加一。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述任务自动重跑方法的步骤。
一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任务自动重跑方法的步骤。
上述任务自动重跑方法、装置、计算机设备和存储介质,通过在调度平台数据库中创建报错关键字配置表,人工配置报错关键字及报错关键字对应的重跑范围、重跑次数和重跑间隔,通过定时轮询脚本定时从调度平台的任务运行日志表中轮询报错日志记录的报错关键字,并将报错日志记录的报错关键字从日志表中提取后,在报错关键字配置表中存在提取的报错关键字时,当前任务符合报错关键字对应的重跑范围、重跑次数和重跑间隔后,将当前任务的报错状态修改为准备状态。本技术方案通过报错关键字配置表进行自动重跑,提高了ETL任务的运行效率,节省了运维时间和开发同事人工介入处理的时间,还可进行重跑范围、重跑次数、重跑间隔的灵活配置,提升了调度平台产品的竞争力。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。
图1为本发明一个实施例中的任务自动重跑方法的流程图;
图2为图1中步骤S1的流程图;
图3为图1中步骤S2和步骤S3的流程图;
图4为本发明一个实施例中的任务自动重跑***的结构图;
图5为图4中的配置单元的模块示意图;
图6为图4中的提取报错关键字单元的模块示意图;
图7为图4中的判断单元的模块示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
图1为本发明一个实施例中的任务自动重跑方法的流程图,如图1所示,一种任务自动重跑方法,包括以下步骤:
步骤S1,在调度平台数据库中创建报错关键字配置表,接收人工收集的报错关键字及报错关键字对应的重跑范围、重跑次数和重跑间隔,并配置到报错关键字配置表中。
本实施例的ETL任务过程采用Datastage数据调度平台作为调动工具,Datastage数据调度平台是一种数据集成软件平台,能够帮助开发者从散布在各个***中的复杂异构信息获得更多价值。由于Datastage数据调度平台提供了图形框架,可使用该框架来设计和运行用于变换和清理数据的作业,使开发者能够了解、清理、变换和交付值得信赖且上下文丰富的信息。
步骤S2,创建定时轮询脚本,定时轮询脚本定时从调度平台的任务运行日志表中轮询报错日志记录的报错关键字,并将报错日志记录的报错关键字从日志表中提取。
Datastage数据调度平台在进行调度任务运行过程中,会实时产生任务运行日志表,当运行出现错误时,任务运行日志表中的日志记录为报错日志记录,报错日志记录中包括报错关键字。
本实施例的定时轮询脚本采用oracle的job定时执行任务,它是一种基于存储过程的定时任务,使用oracle的存储过程,可以大大减少java程序代码的编写工作量,而且存储过程执行在数据库上,这样可以利用oracle的良好性能支持,极大地提高程序执行效率和稳定性。定时执行存储过程,就要用到oracle的job定时执行任务。在设定好轮询参数后,job定时执行任务可以在指定的时间点或每天的某个时间点自行执行任务。
job定时执行任务定时从Datastage数据调度平台的任务运行日志表中轮询报错关键字,并将报错关键字从日志表中提取出来,单独进行下一步分析判断。
步骤S3,在报错关键字配置表中存在提取的报错关键字,且前任务符合报错关键字对应的重跑范围、重跑次数和重跑间隔后,将当前任务的报错状态修改为准备状态。
在对步骤S2提取的报错关键字进行判断时,分别为四个判断过程:是否存在于报错关键字配置表中,是否符合重跑范围,是否符合重跑次数,是否符合重跑间隔,当四个判断过程均通过后,将重置任务,即将当前任务运行日志表中的报错日志记录,从报错状态修改为准备状态,准备状态的日志记录会被Datastage数据调度平台再次自动抓取执行。
本实施例根据报错关键字配置表,job定时执行任务通过定时轮询任务运行日志表,一旦发现报错日志记录的报错关键字与报错关键字配置表中的报错关键字匹配且符合要求后,该任务就会自动重跑,无需人工干预,大大提高了Datastage数据调度平台的运行效率。
在一个实施例中,如图2所示,步骤S1可包括如下具体步骤:
步骤S101,在调度平台上设置一配置输入界面,配置输入界面中设有包括报错关键字字段、重跑范围字段、重跑次数字段和重跑间隔字段的字段信息。
报错关键字一般是从运维或开发工程师处进行收集,收集调度平台可以重跑通过的报错关键字,如Datastage数据调度平台的需要重跑的报错关键字有:ORA-00020、ORA-01555、ORA-03113、ORA-12170和Connect failed等,这些报错关键字对应的报错关键在代码如下表1所示:
Figure GDA0001761381630000081
表1
通过配置输入界面将这些收集的可以重跑通过的报错关键字一一进行录入,并根据开发经验设置报错关键字对应的重跑范围、重跑次数和重跑间隔,得到字段信息。
步骤S102,在调度平台的数据库中创建报错关键字配置表,接收配置输入界面中输入的字段信息,将字段信息存储在报错关键字配置表中。
报错关键字配置表如下表2所示:
Figure GDA0001761381630000091
表2
报错关键字配置表包括报错关键字、重跑范围、重跑次数和重跑间隔。其中,重跑范围:在调度平台上有众多任务在运行,不同类型的任务可能具有相同的报错关键字,对于这些报错关键字,有些任务类型需要自动重跑,有些类型的任务重跑是无效的。重跑范围的预设就是来控制哪些任务需要重跑,哪些任务不需要重跑。
重跑次数:当前任务运行报错引起的自动重跑也可能继续报错,但为了防止无限重跑,所以设置了重跑次数。重跑次数代表报错中出现这个报错关键字后,自动重跑的最大次数。当然,在没有到达最大重跑次数之前如果重跑成功了,该任务也会停止重跑。
重跑间隔:在某些情况下,任务报错了并非需要马上重跑,隔一段时间再重跑能提高重跑的成功率。例如:在一个任务在连接数据库时,由于每一个数据库能接收的连接数有限,当数据库连接数饱和之后,再连接数据库的任务就会由于访问权限不足而无法连接,从而又出现报错,此时,通过设置延时,即隔一段期间再去重跑任务,则可有效的避免与其他任务的连接冲突,此时部分任务的连接已经被被释放,从而提高了此次任务重跑的成功率。
具体的,重跑间隔优选设置为一分钟至二十分钟之间的时间。在设置时间间隔时,可以根据每个任务现状不同,设定不同的重跑间隔,以便于即能提高重跑的成功率,又能提高调度平台的调度效率。
本实施例通过配置输入界面录入字段信息,并将字段信息配置于报错关键字配置表中,录入方式简单方便,能实现自动配置目的。如果需要修改配置时,直接修改报错关键字配置表即可,修改灵活。
在一个实施例中,如图3所示,步骤S2可包括如下具体步骤:
步骤S201,在调度平台中创建定时轮询脚本,并设定包括轮询时间、轮询任务名称及报错运行次数在内的轮询参数。
定时轮询脚本采用oracle的job定时执行任务时,job定时执行任务需要依托存储过程,需要先创建存储过程,然后创建job,如创建MYPROC存储过程可以采用如下:
create or replace procedure MYPROC as
begin
insert into TEST values(sysdate);
end;
variable job1number;
begin
dbms_job.submit(:job1,'MYPROC;',trunc(sysdate+1),'sysdate+1');--从今晚12开始运行,以后每天运行一次
end;
在创建job定时执行任务时,应明确运行的开始时间,即轮询时间,需要执行任务的PL/SQL块,即轮询任务名称,还设报错运行次数,对每次重跑的任务进行计数,每个任务报错运行次数的初始值均为0。
具体的,可以在调度平台上设置一轮询参数输入界面,轮询参数输入界面中设有包括轮询时间字段、轮询任务名称字段的字段信息,调度平台接收轮询参数输入界面中输入的字段信息,将字段信息存储在定时轮询脚本对应的轮询参数中。
本步骤通过设置轮询参数输入界面录入字段信息,并将字段信息存储于轮询参数中,修改轮询参数的方式简单方便,能实现较好的人机互动目的。
步骤S202,定时轮询脚本根据轮询参数定时轮询任务运行日志表。
定时轮询脚本根据预设的轮询时间,对预设的轮询任务名称对应的任务运行日志表进行轮询。还可以根据其他轮询参数,如每天运行一次或每周的某一天运行一次等参数设置,则定时轮询脚本在以后的每天或每周的某一个天,到预设的轮询时间开始运行,进行轮询任务运行日志表工作。
步骤S203,逐个将任务运行日志表中报错日志记录的报错关键字从任务运行日志表中进行提取。
定时轮询脚本会从头开始轮询任务运行日志表,在任务运行日志表中,存在有若干条日志记录,通常报错日志记录采用特定格式记录,定时轮询脚本逐个轮询到报错日志,并对报错日志记录的报错关键字进行提取,给下一步工序。
本实施例通过创建定时轮询脚本,设定轮询参数,定时且有针对性的对特定任务运行日志表进行轮询,能实现自动轮询目的,无需运维或开发工程师经常人工介入,能大大减少处理时间。
在一个实施例中,如图3所示,步骤S3可包括如下具体步骤:
步骤S301,将步骤S2提取的报错关键字与步骤S1中的报错关键字配置表中的报错关键字进行比对,若报错关键字配置表中存在步骤S2提取的报错关键字,则进入下一步,否则返回S203继续轮询。
在判断某一任务报错后是否进行重跑的第一步是,判断此任务的报错关键字是否在报错关键字配置表中存在,如果不存在,则默认此任务即使报错,也无需进行重跑工序,继续轮询下一个报错日志记录,对下一个报错日志记录的报错关键字再次判断。
当步骤S2提取的报错关键字在报错关键字配置表中,则会继续进行下一步判断。比如,步骤S2提取的报错关键字为“ORA-12170”,报错关键字配置表中也配置了此报错关键字,则认为此任务需要重跑,继续进入下一步判断。
步骤S302,提取报错关键字配置表中与报错关键字对应的重跑范围,判断当前任务的轮询任务名称是否在重跑范围内,若是在重跑范围内,则进入下一步,否则返回S203继续轮询。
不同的任务在报错时,可能会产生相同的报错关键字,比如不同任务都可能存在连接数据库失败的报错,就会产生相同的报错关键字“ORA-12170”,有些任务不需要重新连接数据库,而有些任务需再次连接。因此本实施例设置重跑范围,在配置报错关键字配置表时,针对任一一个报错关键字都设置对应的重跑范围,即罗列出需要重跑的任务名称。当提取的报错关键字对应的任务名称不在重跑范围内时,则默认此任务即使报错,也无需进行重跑工序,继续轮询下一个报错日志记录,对下一个报错关键字对应的重跑范围再次判断。
当提取的报错关键字对应的任务名称在重跑范围中时,则认为此任务需要重跑,继续进入下一步判断。
步骤S303,提取报错关键字配置表中与报错关键字对应的重跑次数,判断当前任务的报错运行次数是否小于等于重跑次数,若报错运行次数小于等于重跑次数,则进入下一步,否则返回S203继续轮询。
当某一任务进行重跑后,可能还会报错,为了防止无限重跑,因此本实施例设置重跑次数,在配置报错关键字配置表时,针对任一一个报错关键字都设置对应的重跑次数,当提取的报错关键字对应的报错运行次数与预设的重跑次数相同时,则默认此任务即使报错,也无需进行重跑工序,继续轮询下一个报错日志记录,对下一个报错关键字对应的重跑次数再次判断。
当提取的报错关键字对应的报错运行次数没有达到预设的重跑次数时,则认为此任务需要重跑,继续进入下一步判断。
步骤S304,提取报错关键字配置表中与报错关键字对应的重跑间隔,判断当前任务的轮询时间加上重跑间隔预设的时间是否是调度平台当前时间,若是当前时间,则进入下一步,否则延时进入下一步,延时时间为轮询时间加上重跑间隔预设的时间减去当前时间。
当某一任务马上进行重跑工序,可能会出现重跑失败,比如报错关键字“ORA-12170”对应的任务马上进行重跑,则对应任务去连接数据库,此时,如果数据库连接数是饱和状态,则连接数据库的任务由于访问权限不足无法连接,从而又出现报错,再次记录为错误日志。因此本实施例设置重跑次数,在配置报错关键字配置表时,针对任一一个报错关键字都设置对应的重跑间隔,对需要重跑的任务进行延时重跑工序。
步骤S305,将当前任务运行日志表中的报错日志记录从报错状态修改为准备状态,并将当前任务的报错运行次数加一。
现有的调度平台一般都会根据日志记录的状态,自动抓取需要执行的任务,比如日志记录中的状态为准备状态时,调度平台的调度程序自动再次抓取任务进行执行。因此本实施例只需将任务运行日志表中的报错日志记录从报错状态修改为准备状态即可实现自动重跑功能,无需人工介入。
另外,由于本实施例设置重跑次数,因此在当前任务进行重跑后,将当前任务的报错关键字对应的报错运行次数加一标记,为下一次此任务运行失败,再次报错时的判断重跑次数做依据。
本实施例通过报错关键字、重跑范围、重跑次数、重跑间隔的依次判断,确定可以重跑的任务,通过修改任务状态,实现自动重跑的功能,无需人工干预,提高了调度平台的运行效率。
在一个实施例中,提出了一种任务自动重跑***,如图4所示,其包括:配置单元,用于选择一调度平台,在调度平台数据库中创建报错关键字配置表,接收人工收集的报错关键字及报错关键字对应的重跑范围、重跑次数和重跑间隔,并配置到报错关键字配置表中。
提取报错关键字单元,用于创建定时轮询脚本,定时轮询脚本定时从调度平台的任务运行日志表中轮询报错日志记录的报错关键字,并将报错日志记录的报错关键字从日志表中提取。
判断单元,用于在报错关键字配置表中存在提取的报错关键字,且当前任务符合报错关键字对应的重跑范围、重跑次数和重跑间隔后,将当前任务的报错状态修改为准备状态。
在一个实施例中,如图5所示,配置单元包括:
输入模块,用于在调度平台上设置一配置输入界面,配置输入界面中设有包括报错关键字字段、重跑范围字段、重跑次数字段和重跑间隔字段的字段信息。
接收存储模块,用于在调度平台的数据库中创建报错关键字配置表,接收配置输入界面中输入的字段信息,将字段信息存储在报错关键字配置表中。
在一个实施例中,如图6所示,提取报错关键字单元包括:
创建模块,用于在调度平台中创建定时轮询脚本,并设定包括轮询时间、轮询任务名称及报错运行次数在内的轮询参数;
轮询模块,用于定时轮询脚本根据轮询参数定时轮询任务运行日志表;
提取模块,用于逐个将任务运行日志表中报错日志记录的报错关键字从任务运行日志表中进行提取。
在一个实施例中,如图7所示,判断单元包括:
报错关键字比对模块,用于将提取报错关键字单元提取的报错关键字与报错关键字配置表中的报错关键字进行比对,若报错关键字配置表中存在提取报错关键字单元提取的报错关键字,则进入下一步,否则返回提取模块继续轮询。
重跑范围判断模块,用于提取报错关键字配置表中与报错关键字对应的重跑范围,判断当前任务的轮询任务名称是否在重跑范围内,若是在重跑范围内,则进入下一步,否则返回提取模块继续轮询。
重跑次数判断模块,用于提取报错关键字配置表中与报错关键字对应的重跑次数,判断当前任务的报错运行次数是否小于等于重跑次数,若报错运行次数小于等于重跑次数,则进入下一步,否则返回提取模块继续轮询。
重跑间隔判断模块,用于提取报错关键字配置表中与报错关键字对应的重跑间隔,判断当前任务的轮询时间加上重跑间隔预设的时间是否是调度平台当前时间,若是当前时间,则进入下一步,否则延时进入下一步,延时时间为轮询时间加上重跑间隔预设的时间减去当前时间。
状态修改模块,用于将当前任务运行日志表中的报错日志记录从报错状态修改为准备状态,并将当前任务的报错运行次数加一。
在一个实施例中,提出了一种计算机设备,包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行计算机可读指令时实现以下步骤:选择一调度平台,在调度平台数据库中创建报错关键字配置表,接收人工收集的报错关键字及报错关键字对应的重跑范围、重跑次数和重跑间隔,并配置到报错关键字配置表中;创建定时轮询脚本,定时轮询脚本定时从调度平台的任务运行日志表中轮询报错日志记录的报错关键字,并将报错日志记录的报错关键字从日志表中提取;在报错关键字配置表中存在提取的报错关键字,且当前任务符合报错关键字对应的重跑范围、重跑次数和重跑间隔后,将当前任务的报错状态修改为准备状态。
在一个实施例中,提出了一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:选择一调度平台,在调度平台数据库中创建报错关键字配置表,接收人工收集的报错关键字及报错关键字对应的重跑范围、重跑次数和重跑间隔,并配置到报错关键字配置表中;创建定时轮询脚本,定时轮询脚本定时从调度平台的任务运行日志表中轮询报错日志记录的报错关键字,并将报错日志记录的报错关键字从日志表中提取;在报错关键字配置表中存在提取的报错关键字,且当前任务符合报错关键字对应的重跑范围、重跑次数和重跑间隔后,将当前任务的报错状态修改为准备状态。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁盘或光盘等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明一些示例性实施例,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (7)

1.一种任务自动重跑方法,其特征在于,所述重跑方法包括:
S1:在调度平台数据库中创建报错关键字配置表,接收人工收集的报错关键字及报错关键字对应的重跑范围、重跑次数和重跑间隔,并配置到报错关键字配置表中;
S2:创建定时轮询脚本,定时轮询脚本定时从调度平台的任务运行日志表中轮询报错日志记录的报错关键字,并将报错日志记录的报错关键字从日志表中提取;
S3:在报错关键字配置表中存在提取的报错关键字,且当前任务符合报错关键字对应的重跑范围、重跑次数和重跑间隔后,将当前任务的报错状态修改为准备状态;
所述S2包括:
S201:在调度平台中创建定时轮询脚本,并设定包括轮询时间、轮询任务名称及报错运行次数在内的轮询参数;
S202:定时轮询脚本根据轮询参数定时轮询任务运行日志表;
S203:逐个将任务运行日志表中报错日志记录的报错关键字从任务运行日志表中进行提取;
所述S3包括:
S301:将步骤S2提取的报错关键字与步骤S1中的报错关键字配置表中的报错关键字进行比对,若报错关键字配置表中存在步骤S2提取的报错关键字,则进入下一步,否则返回S203继续轮询;
S302:提取报错关键字配置表中与报错关键字对应的重跑范围,判断当前任务的轮询任务名称是否在重跑范围内,若是在重跑范围内,则进入下一步,否则返回S203继续轮询;
S303:提取报错关键字配置表中与报错关键字对应的重跑次数,判断当前任务的报错运行次数是否小于等于重跑次数,若报错运行次数小于等于重跑次数,则进入下一步,否则返回S203继续轮询;
S304:提取报错关键字配置表中与报错关键字对应的重跑间隔,判断当前任务的轮询时间加上重跑间隔预设的时间是否是调度平台当前时间,若是当前时间,则进入下一步,否则延时进入下一步,延时时间为轮询时间加上重跑间隔预设的时间减去当前时间;
S305:将当前任务运行日志表中的报错日志记录从报错状态修改为准备状态,并将当前任务的报错运行次数加一。
2.根据权利要求1所述的任务自动重跑方法,其特征在于,所述S1包括:
S101:在调度平台上设置一配置输入界面,配置输入界面中设有包括报错关键字字段、重跑范围字段、重跑次数字段和重跑间隔字段的字段信息;
S102:在调度平台的数据库中创建报错关键字配置表,接收配置输入界面中输入的字段信息,将字段信息存储在报错关键字配置表中。
3.根据权利要求1所述的任务自动重跑方法,其特征在于,在调度平台上设置一轮询参数输入界面,轮询参数输入界面中设有包括轮询时间字段、轮询任务名称字段的字段信息;
调度平台接收轮询参数输入界面中输入的字段信息,将字段信息存储在定时轮询脚本对应的轮询参数中。
4.根据权利要求1所述的任务自动重跑方法,其特征在于,所述重跑间隔为一分钟至二十分钟之间的时间。
5.一种任务自动重跑***,其特征在于,所述重跑***包括:
配置单元,用于选择一调度平台,在调度平台数据库中创建报错关键字配置表,接收人工收集的报错关键字及报错关键字对应的重跑范围、重跑次数和重跑间隔,并配置到报错关键字配置表中;
提取报错关键字单元,用于创建定时轮询脚本,定时轮询脚本定时从调度平台的任务运行日志表中轮询报错日志记录的报错关键字,并将报错日志记录的报错关键字从日志表中提取;
判断单元,用于在报错关键字配置表中存在提取的报错关键字,且当前任务符合报错关键字对应的重跑范围、重跑次数和重跑间隔后,将当前任务的报错状态修改为准备状态;
所述提取报错关键字单元包括:
创建模块,用于在调度平台中创建定时轮询脚本,并设定包括轮询时间、轮询任务名称及报错运行次数在内的轮询参数;
轮询模块,用于定时轮询脚本根据轮询参数定时轮询任务运行日志表;
提取模块,用于逐个将任务运行日志表中报错日志记录的报错关键字从任务运行日志表中进行提取;
所述判断单元包括:
报错关键字比对模块,用于将所述提取报错关键字单元提取的报错关键字与报错关键字配置表中的报错关键字进行比对,若报错关键字配置表中存在所述提取报错关键字单元提取的报错关键字,则进入下一步,否则返回所述提取模块继续轮询;
重跑范围判断模块,用于提取报错关键字配置表中与报错关键字对应的重跑范围,判断当前任务的轮询任务名称是否在重跑范围内,若是在重跑范围内,则进入下一步,否则返回所述提取模块继续轮询;
重跑次数判断模块,用于提取报错关键字配置表中与报错关键字对应的重跑次数,判断当前任务的报错运行次数是否小于等于重跑次数,若报错运行次数小于等于重跑次数,则进入下一步,否则返回所述提取模块继续轮询;
重跑间隔判断模块,用于提取报错关键字配置表中与报错关键字对应的重跑间隔,判断当前任务的轮询时间加上重跑间隔预设的时间是否是调度平台当前时间,若是当前时间,则进入下一步,否则延时进入下一步,延时时间为轮询时间加上重跑间隔预设的时间减去当前时间;
状态修改模块,用于将当前任务运行日志表中的报错日志记录从报错状态修改为准备状态,并将当前任务的报错运行次数加一。
6.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至4中任一项权利要求所述任务自动重跑方法的步骤。
7.一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至4中任一项权利要求所述任务自动重跑方法的步骤。
CN201810486865.1A 2018-05-21 2018-05-21 任务自动重跑方法、***、计算机设备和存储介质 Active CN108681598B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810486865.1A CN108681598B (zh) 2018-05-21 2018-05-21 任务自动重跑方法、***、计算机设备和存储介质
PCT/CN2018/104367 WO2019223174A1 (zh) 2018-05-21 2018-09-06 任务自动重跑方法、***、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810486865.1A CN108681598B (zh) 2018-05-21 2018-05-21 任务自动重跑方法、***、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN108681598A CN108681598A (zh) 2018-10-19
CN108681598B true CN108681598B (zh) 2023-06-02

Family

ID=63806868

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810486865.1A Active CN108681598B (zh) 2018-05-21 2018-05-21 任务自动重跑方法、***、计算机设备和存储介质

Country Status (2)

Country Link
CN (1) CN108681598B (zh)
WO (1) WO2019223174A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111177232B (zh) * 2018-11-09 2022-12-13 中移(苏州)软件技术有限公司 一种数据处理方法、装置、***和存储介质
CN110096416B (zh) * 2019-03-13 2022-07-08 中国平安人寿保险股份有限公司 异常报警方法、装置、计算机装置及可读存储介质
CN110380817A (zh) * 2019-06-28 2019-10-25 苏州浪潮智能科技有限公司 持续抓取crc报错数量的方法、装置、终端及存储介质
CN111414203A (zh) * 2020-03-14 2020-07-14 北京数巫大数据研究院有限公司 一种智能数据etl任务运行***
CN111611127B (zh) * 2020-04-26 2023-10-31 第四范式(北京)技术有限公司 任务运行日志的处理方法、装置、设备及存储介质
CN111626770A (zh) * 2020-04-30 2020-09-04 上海携程商务有限公司 人群计算的控制方法、***、设备和介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102479113A (zh) * 2010-11-30 2012-05-30 ***通信集团黑龙江有限公司 异常自适应处理方法及***
CN105468500A (zh) * 2015-11-16 2016-04-06 中国建设银行股份有限公司 定时任务监控方法和装置
CN105897487A (zh) * 2016-06-13 2016-08-24 北京百度网讯科技有限公司 用于运维***的设备管理方法和装置
CN107870948A (zh) * 2016-09-28 2018-04-03 平安科技(深圳)有限公司 任务调度方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107025224B (zh) * 2016-01-29 2020-10-16 阿里巴巴集团控股有限公司 一种监控任务运行的方法和设备
CN106201754A (zh) * 2016-07-06 2016-12-07 乐视控股(北京)有限公司 任务信息分析方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102479113A (zh) * 2010-11-30 2012-05-30 ***通信集团黑龙江有限公司 异常自适应处理方法及***
CN105468500A (zh) * 2015-11-16 2016-04-06 中国建设银行股份有限公司 定时任务监控方法和装置
CN105897487A (zh) * 2016-06-13 2016-08-24 北京百度网讯科技有限公司 用于运维***的设备管理方法和装置
CN107870948A (zh) * 2016-09-28 2018-04-03 平安科技(深圳)有限公司 任务调度方法和装置

Also Published As

Publication number Publication date
CN108681598A (zh) 2018-10-19
WO2019223174A1 (zh) 2019-11-28

Similar Documents

Publication Publication Date Title
CN108681598B (zh) 任务自动重跑方法、***、计算机设备和存储介质
US11947438B2 (en) Operation and maintenance system and method
CN107678907B (zh) 数据库业务逻辑监控方法、***、及存储介质
US9336288B2 (en) Workflow controller compatibility
EP3447642A1 (en) System and method for predicting application performance for large data size on big data cluster
US9940598B2 (en) Apparatus and method for controlling execution workflows
CN111125444A (zh) 大数据任务调度管理方法、装置、设备及存储介质
EP3019976A1 (en) Dynamic migration script management
CN106354817B (zh) 一种日志的处理方法及装置
CN101996214A (zh) 用于处理数据库操作请求的方法和装置
US20220222266A1 (en) Monitoring and alerting platform for extract, transform, and load jobs
CN108121774B (zh) 一种数据表备份方法及终端设备
US10826764B2 (en) Dynamic server allocation for automated server builds
CN107766131B (zh) 任务调度方法和装置
KR101609915B1 (ko) 다차원 시간차 분석 방법 및 장치
CN102221995A (zh) 地震数据处理作业的断点恢复方法
CN112256418B (zh) 一种大数据任务调度方法
CN112817808B (zh) 一种计算机集群维护任务管理方法及***
US11755609B2 (en) Automatically detecting data offloading methods using data bucketing and machine learning techniques
CN111177116B (zh) 一种数据库智能管理平台及其管理方法
CN113553320B (zh) 数据质量监控方法及装置
CN113806051B (zh) 计算设备的任务管理方法及装置、存储介质、计算设备
CN117271183A (zh) 数据库异常作业调度重试策略的获取方法及其装置
US20230004322A1 (en) Managing provenance information for data processing pipelines
CN116483672A (zh) Oracle数据库性能指标采集方法及装置

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