作业调度方法和装置、存储介质及电子设备制造方法及图纸

技术编号:39153192 阅读:7 留言:0更新日期:2023-10-23 14:59
本申请公开了一种作业调度方法和装置、存储介质及电子设备,涉及大数据处理技术领域,该方法包括:获取多个目标作业和每个目标作业对应的数据信息,其中,所述数据信息至少包括:多个结构化查询语言语句、作业触发条件和并发度;依据每个目标作业对应的数据信息中的结构化查询语言语句,构建所述多个目标作业对应的目标有向图;依据所述目标有向图,执行所述多个目标作业。通过本申请,解决了相关技术中大数据ETL调度系统中复杂批量作业的执行时间过长的问题。长的问题。长的问题。

【技术实现步骤摘要】
作业调度方法和装置、存储介质及电子设备


[0001]本申请涉及大数据处理
,具体而言,涉及一种作业调度方法和装置、存储介质及电子设备。

技术介绍

[0002]随着社会发展,数据越来越多,利用数据却越来越困难。大数据平台以数据仓库或数据湖为基础,通过ETL调度系统对这些数据进行加工处理,形成有用的数据或知识,为数据分析师或经营管理人员进行分析决策提供支撑。
[0003]ETL调度系统根据相应的条件对批量作业进行调度,比如在数据到达时调起相应的作业,或在某作业完成后调起后续的作业。批量作业主要以SQL语言编写,在Hive、Spark或其它数据库引擎上执行,在调度时按顺序执行相应的SQL语句。
[0004]由于部分批量作业较为复杂,包含多条SQL语句,这些批量作业的执行时间较长。虽然可以通过人工的方式对这种复杂批量作业进行优化,如将其拆分成多个作业使其可以并发执行,以充分利用资源。但这种方式需要付出额外的人力成本;另一方面,这些复杂的批量作业有很多,对所有批量作业进行优化的成本过高。
[0005]针对相关技术中大数据ETL调度系统中复杂批量作业的执行时间过长的问题,目前尚未提出有效的解决方案。

技术实现思路

[0006]本申请的主要目的在于提供一种作业调度方法和装置、存储介质及电子设备,以解决相关技术中大数据ETL调度系统中复杂批量作业的执行时间过长的问题。
[0007]为了实现上述目的,根据本申请的一个方面,提供了一种作业调度方法。该方法包括:获取多个目标作业和每个目标作业对应的数据信息,其中,所述数据信息至少包括:多个结构化查询语言语句、作业触发条件和并发度;依据每个目标作业对应的数据信息中的结构化查询语言语句,构建所述多个目标作业对应的目标有向图;依据所述目标有向图,执行所述多个目标作业。
[0008]进一步地,依据每个目标作业对应的数据信息中的结构化查询语言语句,构建所述多个目标作业对应的目标有向图包括:对每个目标作业对应的数据信息中的结构化查询语言语句进行转化,得到语法树;对所述语法树进行遍历,得到每个结构化查询语言语句对应的数据表;依据每个结构化查询语言语句对应的数据表,构建所述目标有向图。
[0009]进一步地,依据每个结构化查询语言语句对应的数据表,构建所述目标有向图包括:对每个结构化查询语言语句对应的数据表进行分类,得到多个读写表;依据所述多个读写表和所述结构化查询语言语句对所述多个读写表的访问顺序,得到所述目标有向图,其中,所述目标有向图包括每个结构化查询语言语句对应的节点和所述节点之间的边。
[0010]进一步地,依据所述多个读写表和所述结构化查询语言语句对所述多个读写表的访问顺序,得到所述目标有向图包括:构建每个结构化查询语言语句对应的节点;依据所述
多个读写表和所述结构化查询语言语句对所述多个读写表的访问顺序,构建所述节点之间的边;依据每个结构化查询语言语句对应的节点和所述节点之间的边,构建初始有向图;对所述初始有向图中的节点之间的边进行剪枝处理,得到所述目标有向图。
[0011]进一步地,对所述初始有向图中的节点之间的边进行剪枝处理,得到所述目标有向图包括:为所述初始有向图中的节点之间的边设置预设权重值;依据所述预设权重值和所述初始有向图进行计算,得到所述初始有向图中任意两个节点之间的目标路径值;依据所述目标路径值,对所述初始有向图中的节点之间的边进行剪枝处理,得到所述目标有向图。
[0012]进一步地,依据所述目标有向图,执行所述多个目标作业包括:依据所述目标有向图,确定每个目标作业中的当前待执行的子作业,其中,所述目标有向图中的每个节点对应的结构化查询语言语句为一个子作业;将所述当前待执行的子作业添加到队列中,并依据所述并发度,构建多个子作业执行线程;依据所述多个子作业执行线程执行所述队列当前时刻包含的子作业;在所述队列当前时刻包含的子作业执行完成的情况下,重新确定每个目标作业中的当前待执行的子作业,直至完成每个目标作业中的所有子作业。
[0013]进一步地,依据所述目标有向图,确定每个目标作业中的当前待执行的子作业包括:依据所述目标有向图,计算所述目标有向图中的每个节点的入度;依据每个节点的入度,确定每个目标作业中的当前待执行的子作业。
[0014]为了实现上述目的,根据本申请的另一方面,提供了一种作业调度装置。该装置包括:获取单元,用于获取多个目标作业和每个目标作业对应的数据信息,其中,所述数据信息至少包括:多个结构化查询语言语句、作业触发条件和并发度;构建单元,用于依据每个目标作业对应的数据信息中的结构化查询语言语句,构建所述多个目标作业对应的目标有向图;执行单元,用于依据所述目标有向图,执行所述多个目标作业。
[0015]进一步地,所述构建单元包括:转换子单元,用于对每个目标作业对应的数据信息中的结构化查询语言语句进行转化,得到语法树;遍历子单元,用于对所述语法树进行遍历,得到每个结构化查询语言语句对应的数据表;第一构建子单元,用于依据每个结构化查询语言语句对应的数据表,构建所述目标有向图。
[0016]进一步地,所述第一构建子单元包括:分类模块,用于对每个结构化查询语言语句对应的数据表进行分类,得到多个读写表;第一确定模块,用于依据所述多个读写表和所述结构化查询语言语句对所述多个读写表的访问顺序,得到所述目标有向图,其中,所述目标有向图包括每个结构化查询语言语句对应的节点和所述节点之间的边。
[0017]进一步地,所述确定模块包括:第一构建子模块,用于构建每个结构化查询语言语句对应的节点;第二构建子模块,用于依据所述多个读写表和所述结构化查询语言语句对所述多个读写表的访问顺序,构建所述节点之间的边;第三构建子模块,用于依据每个结构化查询语言语句对应的节点和所述节点之间的边,构建初始有向图;剪枝子模块,用于对所述初始有向图中的节点之间的边进行剪枝处理,得到所述目标有向图。
[0018]进一步地,所述剪枝子模块包括:设置次子模块,用于为所述初始有向图中的节点之间的边设置预设权重值;计算次子模块,用于依据所述预设权重值和所述初始有向图进行计算,得到所述初始有向图中任意两个节点之间的目标路径值;剪枝次子模块,用于依据所述目标路径值,对所述初始有向图中的节点之间的边进行剪枝处理,得到所述目标有向
图。
[0019]进一步地,所述执行单元包括:第一确定子单元,用于依据所述目标有向图,确定每个目标作业中的当前待执行的子作业,其中,所述目标有向图中的每个节点对应的结构化查询语言语句为一个子作业;第二构建子单元,用于将所述当前待执行的子作业添加到队列中,并依据所述并发度,构建多个子作业执行线程;执行子单元,用于依据所述多个子作业执行线程执行所述队列当前时刻包含的子作业;第二确定子单元,用于在所述队列当前时刻包含的子作业执行完成的情况下,重新确定每个目标作业中的当前待执行的子作业,直至完成每个目标作业中的所有子作业。
[0020]进一步地,所述第一确定子单元包括本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种作业调度方法,其特征在于,包括:获取多个目标作业和每个目标作业对应的数据信息,其中,所述数据信息至少包括:多个结构化查询语言语句、作业触发条件和并发度;依据每个目标作业对应的数据信息中的结构化查询语言语句,构建所述多个目标作业对应的目标有向图;依据所述目标有向图,执行所述多个目标作业。2.根据权利要求1所述的方法,其特征在于,依据每个目标作业对应的数据信息中的结构化查询语言语句,构建所述多个目标作业对应的目标有向图包括:对每个目标作业对应的数据信息中的结构化查询语言语句进行转化,得到语法树;对所述语法树进行遍历,得到每个结构化查询语言语句对应的数据表;依据每个结构化查询语言语句对应的数据表,构建所述目标有向图。3.根据权利要求2所述的方法,其特征在于,依据每个结构化查询语言语句对应的数据表,构建所述目标有向图包括:对每个结构化查询语言语句对应的数据表进行分类,得到多个读写表;依据所述多个读写表和所述结构化查询语言语句对所述多个读写表的访问顺序,得到所述目标有向图,其中,所述目标有向图包括每个结构化查询语言语句对应的节点和所述节点之间的边。4.根据权利要求3所述的方法,其特征在于,依据所述多个读写表和所述结构化查询语言语句对所述多个读写表的访问顺序,得到所述目标有向图包括:构建每个结构化查询语言语句对应的节点;依据所述多个读写表和所述结构化查询语言语句对所述多个读写表的访问顺序,构建所述节点之间的边;依据每个结构化查询语言语句对应的节点和所述节点之间的边,构建初始有向图;对所述初始有向图中的节点之间的边进行剪枝处理,得到所述目标有向图。5.根据权利要求4所述的方法,其特征在于,对所述初始有向图中的节点之间的边进行剪枝处理,得到所述目标有向图包括:为所述初始有向图中的节点之间的边设置预设权重值;依据所述预设权重值和所述初始有向图进行计算,得到所述初始有向...

【专利技术属性】
技术研发人员:吴成杰沈梦婷张宏兵郑凡奇
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1