一种任务自动重跑方法、系统、装置及存储介质与流程

文档序号:37171177发布日期:2024-03-01 12:18阅读:27来源:国知局
一种任务自动重跑方法、系统、装置及存储介质与流程

本发明涉及大数据领域,尤其涉及一种任务自动重跑方法、系统、装置及存储介质。


背景技术:

1、目前大数据领域依然以hadoop架构进行数据处理,技术人员根据业务开发的需求,基于现有的调度平台进行离线作业的开发部署,例如dolphinscheduler,airflow等;由于实际业务的需求,技术人员开发部署的离线业务之间通常有依赖关系;通过依赖关系可以自动检测离线任务中上游任务的执行状态,如果检测到上游任务执行失败,那么,下游任务则不会执行;而且在检测到任务执行失败后,通过预先设置的重跑机制进行任务重跑。

2、但在实际的业务执行中,存在业务口径变更或者初始数据源不完整等异常情况,因而需要重跑dag(有向无环图,从任意顶点出发,经过若干条有向边,都无法回到该顶点)任务中的某个节点以及该节点对应的下游的所有任务,或者所有任务都进行手动重跑;这些操作都需要技术人员进行人工干预,执行成本高,效率较低。


技术实现思路

1、有鉴于此,本发明实施例的目的是提供一种任务自动重跑方法、系统、装置及存储介质,可减少人工干预的程度,实现降本增效。

2、一方面,本发明实施例提供了一种任务自动重跑方法,包括以下步骤:

3、获取编辑日志数据;其中,所述编辑日志数据包括数据文件的操作记录;

4、对所述编辑日志数据进行分析,得到若干个第一信息表,并将若干个所述第一信息表发送至任务队列;其中,所述第一信息表包括更新表的元数据信息;

5、根据所述任务队列依次获取所述第一信息表,并根据所述第一信息表与第一关系矩阵确定重跑任务信息,以触发任务执行;其中,所述重跑任务信息包括重跑任务节点以及重跑顺序。

6、可选地,所述对所述编辑日志数据进行分析,得到若干个第一信息表,具体包括:

7、根据所述编辑日志数据确定操作信息;其中,所述操作信息包括操作数据文件对象以及操作类型,所述操作类型包括增加、删除以及修改;

8、将所述操作信息与第一集合进行匹配,得到第一信息表;其中,所述第一集合包括若干个hive元数据表。

9、可选地,所述构建第一关系矩阵,具体包括:

10、获取离线任务列表,并对矩阵集合进行初始化;

11、根据所述离线任务列表确定第一关系表;

12、根据所述第一关系表与初始化的矩阵集合确定第一关系矩阵。

13、可选地,所述根据所述离线任务列表确定第一关系表,具体包括:

14、对第一列表和第二列表进行初始化;

15、根据所述离线任务列表确定任务间上下游依赖关系,并根据所述任务间上下游依赖关系对初始化的所述第一列表进行更新,得到任务间上下游依赖关系表;

16、根据所述离线任务列表确定任务类型,若所述任务类型为非sql任务类型,根据所述离线任务列表确定第一任务输入输出关系,并根据所述第一任务输入输出关系对初始化的所述第二列表进行更新,得到第一任务输入输出表;

17、根据所述任务间上下游依赖关系表与所述第一任务输入输出表确定第一关系表。

18、可选地,所述根据所述离线任务列表确定第一关系表,还包括:

19、对第三列表进行初始化;

20、根据所述离线任务列表确定任务间上下游依赖关系,并根据所述任务间上下游依赖关系对初始化的所述第三列表进行更新,得到任务间上下游依赖关系表;

21、根据所述离线任务列表确定任务类型,若所述任务类型为sql任务类型,根据血缘解析工具对所述离线任务列表进行解析,得到第二任务输入输出表;

22、根据所述任务间上下游依赖关系表与所述第二任务输入输出表确定第一关系表。

23、可选地,所述根据所述第一关系表与初始化的矩阵集合确定第一关系矩阵,具体包括:

24、根据初始化的所述矩阵集合确定第一矩阵和第二矩阵;

25、根据所述第一关系表对所述第一矩阵进行更新,得到数据表与任务关系矩阵,根据所述第一关系表对所述第二矩阵进行更新,得到任务间关系矩阵;

26、根据所述数据表与任务关系矩阵以及所述任务间关系矩阵确定第一关系矩阵。

27、可选地,所述根据所述第一信息表与第一关系矩阵确定重跑任务信息,具体包括:

28、根据所述第一信息表进行确定表信息;其中,所述表信息包括数据表名、数据表的位置信息、数据表的大小信息以及数据表的更新时间信息;

29、将所述表信息与第一关系矩阵进行匹配,确定任务节点以及对应的关联任务节点,并将所述任务节点以及对应的关联任务节点作为重跑任务信息。

30、另一方面,本发明实施例提供了一种任务自动重跑系统,包括:

31、第一模块,用于获取编辑日志数据;其中,所述编辑日志数据包括数据文件的操作记录;

32、第二模块,用于对所述编辑日志数据进行分析,得到若干个第一信息表,并将若干个所述第一信息表发送至任务队列;其中,所述第一信息表包括更新表元数据信息;

33、第三模块,用于构建第一关系矩阵,根据所述任务队列依次获取所述第一信息表,根据所述第一信息表与第一关系矩阵确定重跑任务信息,以触发任务执行;其中,所述重跑任务信息包括重跑任务节点以及重跑顺序。

34、另一方面,本发明实施例提供了一种任务自动重跑装置,包括:

35、至少一个处理器;

36、至少一个存储器,用于存储至少一个程序;

37、当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现前面方法实施例所述的方法。

38、另一方面,本发明实施例提供了一种计算机可读存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由处理器执行时用于执行前面方法实施例所述的方法。

39、实施本发明实施例包括以下有益效果:本实施例首先实时获取系统的编辑日志数据,然后,对编辑日志数据进行分析,确定编辑日志数据中进行操作更新的数据文件对象,并根据操作更新的数据文件对象得到具体的数据表及其对应的表信息,包括数据表的名称、位置以及大小等,然后,将确定的具体的数据表及其对应的表信息发送至任务队列,通过编辑的离线任务列表构建第一关系矩阵,然后,从任务队列中依次读取具体的数据表及其对应的表信息,将获取的具体的数据表及其对应的表信息与构建的第一关系矩阵进行匹配,确定任务列表中需要触发执行重跑的任务节点以及对应的下游的关联任务节点,以执行任务重跑操作;通过编辑的离线任务列表构建起第一关系矩阵,对编辑日志数据进行分析,确定因业务口径发生变更或者是上游数据源发生变更导致的数据表元数据信息变更,通过变更的数据表元数据信息和第一关系矩阵确定重跑任务节点及关联的下游任务节点,进行任务重跑;通过将更新表信息发送到队列中,通过读取队列进行任务重跑的执行,提高任务重跑的执行的实时性;减少大量的手动启动任务执行,减少人工干预所带来的人工和时间成本,实现降本增效。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1