一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据仓库任务调度方法、装置、系统及存储介质与流程

2022-02-20 23:41:45 来源:中国专利 TAG:


1.本发明涉及数据处理技术领域,具体涉及一种数据仓库任务调度方法。


背景技术:

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


技术实现要素:

5.为此,本发明提供一种数据仓库任务调度方法,以解决现有数据仓库建设过程中数据任务运行编排的依赖问题、数据版本问题。
6.为了实现上述目的,本发明提供如下技术方案:
7.根据本发明的第一方面,公开了一种数据仓库任务调度方法,所述方法为:
8.基于依赖关系、数据版本、任务时间粒度、偏移量、运行时间规则五个因子推导有向无环图dag的算法,运行dag计算包括根据某一任务实例推导其上游数据版本以及下游数据版本,分成两个步骤完成:
9.步骤一、依据数据版本、依赖关系、时间粒度、偏移量计算上游或者下游的时间检查区间;
10.步骤二、根据时间检查区间、依赖关系、运行时间规则计算时间检查区间内的数据版本。
11.进一步地,所述数据版本为数据的理论时间归属,所述任务时间粒度描述一个任务在一个对应周期内只能执行一次,所述偏移量用于计算时间区间的基准时间,所述运行时间规则用于限定此任务的法定时间,与依赖关系共同决定实例是否具备运行条件。
12.进一步地,所述时间检查区间针对上游任务的推导方法为:已知一个任务downtask的数据版本downtaskdataversion和任务的一个上游任务uptask,推导downtask的上游依赖关系;
13.任务检查时间区间计算公式:
14.[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模型的任务运行机制,实现任务运行对上游依赖关系的检查,即使上游任务运行超时也能保证正确的任务运行顺序,避免数据错误。这比业内常见的单纯任务定时触发机制的调度模型更适合数据仓库的建设场景;
[0039]
本发明提出的任务运行依赖图谱的算法模型为数据仓库任务dag的构建提供了基础,依据本发明中的对上游任务依赖关系的推导算法,对系统中所有有效任务迭代进行上游任务数据版本计算,可以实现对数据仓库完整运行图谱的构建,调度引擎依据完整图谱对任务进行调度执行,满足数据仓库任务对基于数据版本的工作流图谱的需求;
[0040]
本发明提出的对任务下游依赖关系的推导算法,应用于数据任务的历史性修复场景,通过触发某一特定历史版本的数据任务实例,根据推导算法可以自动发现其下游的完整数据版本图谱,按照dag模型自动进行调度,完成整个数据链路的修复。
附图说明
[0041]
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引申获得其它的实施附图。
[0042]
本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。
[0043]
图1为本发明实施例提供的一种数据仓库任务调度方法的流程图;
[0044]
图2为本发明实施例提供的一种数据仓库任务调度系统架构图;
具体实施方式
[0045]
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0046]
实施例1
[0047]
本发明为针对数据仓库数据任务调度的算法及系统,解决数据仓库建设过程中数据任务运行编排的依赖问题、数据版本问题,基于本发明可以实现基于数据版本的数据任务dag调度,以及对历史数据的修复性调度。本实施例公开了一种数据仓库任务调度方法,
所述方法为:
[0048]
基于依赖关系、数据版本、任务时间粒度、偏移量、运行时间规则五个因子推导有向无环图dag的算法,运行dag计算包括根据某一任务实例推导其上游数据版本以及下游数据版本,分成两个步骤完成:
[0049]
步骤一、依据数据版本、依赖关系、时间粒度、偏移量计算上游或者下游的时间检查区间;
[0050]
步骤二、根据时间检查区间、依赖关系、运行时间规则计算时间检查区间内的数据版本。
[0051]
依赖关系是描述任务的上下游关系,若b任务依赖a任务则表示b任务是a任务的下游,需要等待a任务相应版本执行完成后才会被触发。所述数据版本为数据的理论时间归属,所述任务时间粒度描述一个任务在一个对应周期内只能执行一次,所述偏移量用于计算时间区间的基准时间,所述运行时间规则用于限定此任务的法定时间,与依赖关系共同决定实例是否具备运行条件。参考表1,为时间检查区间推导变量对应表。
[0052]
表1
[0053]
变量描述ug上游任务的数据粒度dg下游任务的数据粒度bg上下游任务中较大的数据粒度offset偏移量offset_bgbg粒度的偏移量dataversiontime和数据版本对应的时间戳
[0054]
所述时间检查区间针对上游任务的推导方法为:已知一个任务downtask的数据版本downtaskdataversion和任务的一个上游任务uptask,推导downtask的上游依赖关系;
[0055]
任务检查时间区间计算公式:
[0056]
[tostart_ug(tostart_bg(dataversiontime offset_bg)),
[0057]
toend_ug(toend_bg(dataversiontime offset_bg))]
[0058]
公式说明:
[0059]
[dataversiontime offset(bg粒度)的结果时间在bg粒度的起始时间在ug粒度的起始时间,
[0060]
dataversiontime offset(bg粒度)的结果时间在bg粒度的结束时间在ug粒度的结束时间]。
[0061]
所述时间检查区间针对上游任务的推导方法为:
[0062]
已知一个任务(uptask)的数据版本(uptaskdataversion)和任务的一个下游任务(downtask),推导uptask的下游依赖关系。
[0063]
任务检查时间区间计算公式:
[0064]
[tostart_bg(tostart_ug(dataversiontime))-offset_bg,
[0065]
toend_bg(toend_ug(dataversiontime))-offset_bg]
[0066]
公式说明:
[0067]
[dataversiontime所在的ug粒度的起始时间在bg粒度的起始时间-offset(bg粒
programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0081]
可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。处理器读取存储介质中的信息,结合其硬件完成上述方法的步骤。
[0082]
存储介质可以是存储器,例如可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。
[0083]
其中,非易失性存储器可以是只读存储器(read-only memory,简称rom)、可编程只读存储器(programmable rom,简称prom)、可擦除可编程只读存储器(erasable prom,简称eprom)、电可擦除可编程只读存储器(electrically eprom,简称eeprom)或闪存。
[0084]
易失性存储器可以是随机存取存储器(random access memory,简称ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,简称sram)、动态随机存取存储器(dynamic ram,简称dram)、同步动态随机存取存储器(synchronous dram,简称sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,简称ddrsdram)、增强型同步动态随机存取存储器(enhanced sdram,简称esdram)、同步连接动态随机存取存储器(synch link dram,简称sldram)和直接内存总线随机存取存储器(direct rambus ram,简称drram)。
[0085]
本发明实施例描述的存储介质旨在包括但不限于这些和任意其它适合类型的存储器。
[0086]
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件与软件组合来实现。当应用软件时,可以将相应功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
[0087]
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献