一种数据仓库任务调度方法、装置、系统及存储介质制造方法及图纸

技术编号:32359823 阅读:28 留言:0更新日期:2022-02-20 03:25
本发明专利技术公开了一种数据仓库任务调度方法、装置、系统及存储介质,所述方法为:基于依赖关系、数据版本、任务时间粒度、偏移量、运行时间规则五个因子推导有向无环图DAG的算法,运行DAG计算包括根据某一任务实例推导其上游数据版本以及下游数据版本,分成两个步骤完成:步骤一、依据数据版本、依赖关系、时间粒度、偏移量计算上游或者下游的时间检查区间;步骤二、根据时间检查区间、依赖关系、运行时间规则计算时间检查区间内的数据版本。本发明专利技术解决了现有数据仓库建设过程中数据任务运行编排的依赖问题、数据版本问题。数据版本问题。数据版本问题。

【技术实现步骤摘要】
一种数据仓库任务调度方法、装置、系统及存储介质


[0001]本专利技术涉及数据处理
,具体涉及一种数据仓库任务调度方法。

技术介绍

[0002]数据仓库建设过程中,ETL环节占据了整个项目60%

70%的时间和人力投入。ETL即数据抽取(Extract)、转换(Transform)、装载(Load)的过程。ETL是通过数据任务对数据进行加工、处理,数据仓库建设往往涉及大量的数据任务。数据仓库是持续建设的过程,这些数据任务需要例行进行调度,对数据仓库的数据进行刷新。这就需要独立的调度引擎对数据任务的运行进行编排。现有任务调度引擎难以满足数据仓库的任务调度需求,存在如下缺陷:
[0003]现有调度引擎无法支持数据任务的依赖关系。现有调度引擎多为定时触发器,能够满足数据任务的例行调度要求,但是数据任务通常具有严格的依赖关系,存在任务的执行顺序要求,上游执行完成后才允许下游任务执行。现有调度引擎很难满足要求。
[0004]现有调度引擎不能支持数据版本。数据任务与普通工作流任务的一个重要区别就是数据任务有时间版本的概念,数据任务在不同时间窗口内执行的意义截然不同。数据仓库的任务调度是基于时间版本的DAG,现有的普通工作流引擎面向任务的DAG设计,但因不是为数据仓库建设而建的系统,其尚无法原生支持基于数据版本的DAG调度。

技术实现思路

[0005]为此,本专利技术提供一种数据仓库任务调度方法,以解决现有数据仓库建设过程中数据任务运行编排的依赖问题、数据版本问题。
>[0006]为了实现上述目的,本专利技术提供如下技术方案:
[0007]根据本专利技术的第一方面,公开了一种数据仓库任务调度方法,所述方法为:
[0008]基于依赖关系、数据版本、任务时间粒度、偏移量、运行时间规则五个因子推导有向无环图DAG的算法,运行DAG计算包括根据某一任务实例推导其上游数据版本以及下游数据版本,分成两个步骤完成:
[0009]步骤一、依据数据版本、依赖关系、时间粒度、偏移量计算上游或者下游的时间检查区间;
[0010]步骤二、根据时间检查区间、依赖关系、运行时间规则计算时间检查区间内的数据版本。
[0011]进一步地,所述数据版本为数据的理论时间归属,所述任务时间粒度描述一个任务在一个对应周期内只能执行一次,所述偏移量用于计算时间区间的基准时间,所述运行时间规则用于限定此任务的法定时间,与依赖关系共同决定实例是否具备运行条件。
[0012]进一步地,所述时间检查区间针对上游任务的推导方法为:已知一个任务downTask的数据版本downTaskDataVersion和任务的一个上游任务upTask,推导downTask的上游依赖关系;
[0013]任务检查时间区间计算公式:
[0014][toStart_ug(toStart_bg(dataVersionTime+offset_bg)),
[0015]toEnd_ug(toEnd_bg(dataVersionTime+offset_bg))][0016]公式说明:
[0017][dataVersionTime+offset(bg粒度)的结果时间在bg粒度的起始时间在ug粒度的起始时间,
[0018]dataVersionTime+offset(bg粒度)的结果时间在bg粒度的结束时间在ug粒度的结束时间]。
[0019]进一步地,所述时间检查区间针对上游任务的推导方法为:
[0020]已知一个任务(upTask)的数据版本(upTaskDataVersion)和任务的一个下游任务(downTask),推导upTask的下游依赖关系。
[0021]任务检查时间区间计算公式:
[0022][toStart_bg(toStart_ug(dataVersionTime))

offset_bg,
[0023]toEnd_bg(toEnd_ug(dataVersionTime))

offset_bg][0024]公式说明:
[0025][dataVersionTime所在的ug粒度的起始时间在bg粒度的起始时间

offset(bg粒度),
[0026]dataVersionTime所在的ug粒度的结束时间在bg粒度的结束时间

offset(bg粒度)]。
[0027]进一步地,所述时间检查区间内的数据版本计算方法为:
[0028]任务运行时间规则采用类似quartz时间表达式,以上一步骤计算得出的检查区间并结合运行时间规则作为输入变量,利用quartz时间表达式对运行时间的迭代推导机制计算得出一组有效的理论运行时间,此理论运行时间依据任务的时间粒度进行精度截断得到数据版本列表。
[0029]根据本专利技术的第二方面,公开了一种数据仓库任务调度装置,所述装置包括:
[0030]时间检查区间推导模块和数据版本计算模块,所述时间检查区间推导模块,依据数据版本、依赖关系、任务时间粒度和偏移量计算上游或者下游的时间检查区间,所述数据版本计算模块根据时间检查区间、依赖关系、运行时间规则计算时间检查区间内的数据版本。
[0031]进一步地,所述时间检查区间推导模块针对上游任务,根据已知一个任务downTask的数据版本downTaskDataVersion和任务的一个上游任务upTask,推导downTask的上游依赖关系;时间检查区间推导模块针对下游任务,根据已知一个任务upTask的数据版本upTaskDataVersion和任务的一个下游任务downTask,推导upTask的下游依赖关系。
[0032]进一步地,所述数据版本计算模块针对任务运行时间规则采用类似quartz时间表达式,以上一步骤计算得出的检查区间并结合运行时间规则作为输入变量,利用quartz时间表达上对运行时间的迭代推导机制计算得出一组有效的理论运行时间。
[0033]根据本专利技术的第三方面,公开了一种数据仓库任务调度系统,所述系统包括:至少一个处理器和至少一个存储器;
[0034]所述存储器,用于存储一个或多个程序指令;
[0035]所述处理器,用于运行一个或多个程序指令,用以执行一种数据仓库任务调度方法中任一项所述的方法。
[0036]根据本专利技术的第四方面,公开了一种计算机可读存储介质,其特征在于,所述计算机存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于执行一种数据仓库任务调度方法中任一项所述的方法。
[0037]本专利技术具有如下优点:
[0038]本专利技术公开了一种数据仓库任务调度方法、装置、系统及存储介质,本专利技术提出的DAG模型的任务运行机制,实现任务运行对上游依赖关系的检查,即使上游任务运行超时也能保证正确的任务运行顺序,避免数据错误。这比业内常见的单纯任务定时触发机制的调度模型更适合数据仓库的建设场本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种数据仓库任务调度方法,其特征在于,所述方法为:基于依赖关系、数据版本、任务时间粒度、偏移量、运行时间规则五个因子推导有向无环图DAG的算法,运行DAG计算包括根据某一任务实例推导其上游数据版本以及下游数据版本,分成两个步骤完成:步骤一、依据数据版本、依赖关系、时间粒度、偏移量计算上游或者下游的时间检查区间;步骤二、根据时间检查区间、依赖关系、运行时间规则计算时间检查区间内的数据版本。2.如权利要求1所述的一种数据仓库任务调度方法,其特征在于,所述数据版本为数据的理论时间归属,所述任务时间粒度描述一个任务在一个对应周期内只能执行一次,所述偏移量用于计算时间区间的基准时间,所述运行时间规则用于限定此任务的法定时间,与依赖关系共同决定实例是否具备运行条件。3.如权利要求1所述的一种数据仓库任务调度方法,其特征在于,所述时间检查区间针对上游任务的推导方法为:已知一个任务downTask的数据版本downTaskDataVersion和任务的一个上游任务upTask,推导downTask的上游依赖关系;任务检查时间区间计算公式:[toStart_ug(toStart_bg(dataVersionTime+offset_bg)),toEnd_ug(toEnd_bg(dataVersionTime+offset_bg))]公式说明:[dataVersionTime+offse的结果时间在bg粒度的起始时间在ug粒度的起始时间,dataVersionTime+offset的结果时间在bg粒度的结束时间在ug粒度的结束时间]。4.如权利要求1所述的一种数据仓库任务调度方法,其特征在于,所述时间检查区间针对上游任务的推导方法为:已知一个任务upTask的数据版本upTaskDataVersion和任务的一个下游任务downTask,推导upTask的下游依赖关系,任务检查时间区间计算公式:[toStart_bg(toStart_ug(dataVersionTime))

offset_bg,toEnd_bg(toEnd_ug(dataVersionTime))

offset_bg]公式说明:[dataVersionTime所在的ug粒度的起始时间在bg粒度的起始时间...

【专利技术属性】
技术研发人员:韩志伟石磊王祥进孟庆伟
申请(专利权)人:中交智运有限公司
类型:发明
国别省市:

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

1