CN106933857A - 一种数据仓库中任务的调度方法、装置 - Google Patents

一种数据仓库中任务的调度方法、装置 Download PDF

Info

Publication number
CN106933857A
CN106933857A CN201511021515.0A CN201511021515A CN106933857A CN 106933857 A CN106933857 A CN 106933857A CN 201511021515 A CN201511021515 A CN 201511021515A CN 106933857 A CN106933857 A CN 106933857A
Authority
CN
China
Prior art keywords
task
node
task node
newly
user
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.)
Granted
Application number
CN201511021515.0A
Other languages
English (en)
Other versions
CN106933857B (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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201511021515.0A priority Critical patent/CN106933857B/zh
Publication of CN106933857A publication Critical patent/CN106933857A/zh
Application granted granted Critical
Publication of CN106933857B publication Critical patent/CN106933857B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses

Abstract

本申请公开了一种数据仓库中任务的调度方法、装置,当用户需要批量启动某一批任务节点时,数据仓库调度系统根据用户的输入信息执行如下步骤:接收用户输入的新建虚拟任务节点的操作;接收用户输入的将所述新建的虚拟任务节点与所述批量启动的某一批任务节点关联的操作;当所述新建的虚拟任务节点启动后,所述数据仓库调度系统从所述新建的虚拟任务节点开始至所述批量启动的某一批任务节点的叶子节点路径上各任务节点的执行顺序调度各任务节点执行任务;当各任务节点执行完任务后,输出所述批量启动的某一批任务节点的执行结果给用户。可以解决现有的任务的调度和管理效率低的问题。

Description

一种数据仓库中任务的调度方法、装置
技术领域
本申请涉及数据仓库的技术领域,具体地说,涉及一种数据仓库中任务的调度方法、装置。
背景技术
数据仓库是一个独立的数据环境,通过抽取过程将数据从联机事务处理环境、外部数据源和脱机的数据存储介质导入到数据仓库中。它的目的是建立结构化的数据存储空间,将不同数据源的数据分离出来,形成统一、有效的数据集,并最终加工、整合成所需要的数据。
ETL(Extraction-Transformation-Loading)是数据抽取、清洗、转换和装载的过程。是构建数据仓库的重要一环,用户从数据库抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。
随着数据规模和数据分析业务的快速增长,ETL任务的数量和复杂度也随之快速增长,但由于ETL包括众多的处理任务,且这些处理任务之间有一定的依赖关系,而目前缺乏有效的任务调度方法,影响了对任务的调度和管理效率,也影响了数据仓库开发效率和资源利用率
发明内容
有鉴于此,本申请提供一种数据仓库中任务的调度方法、装置,可以解决现有的任务的调度和管理效率低的问题。
为了解决上述技术问题,本申请第一方面提供一种数据仓库中任务的调度方法,当用户需要批量启动某一批任务节点时,数据仓库调度系统根据用户的输入信息执行如下步骤:
接收用户输入的新建虚拟任务节点的操作;
接收用户输入的将所述新建的虚拟任务节点与所述批量启动的某一批任务节点关联的操作;
当所述新建的虚拟任务节点启动后,所述数据仓库调度系统从所述新建的虚拟任务节点开始,根据所述批量启动的某一批任务节点的叶子节点路径上各任务节点的执行顺序调度各任务节点执行任务;
当各任务节点执行完任务后,输出所述批量启动的某一批任务节点的执行结果给用户。
其中,所述的方法还包括:
检测到用户点击新建虚拟任务节点的按钮,向用户展示待启动的任务节点的任务流图和输入界面,所述任务流图中包括所述待启动的任务节点的所有上游任务节点的标识和依赖关系。
其中,所述的方法还包括:
检测到用户在所述输入界面中输入所述待启动的任务节点的若干上游根任务节点的标识,建立所述新建的虚拟任务节点与所述待启动的任务节点的若干上游根任务节点的关联关系。
其中,所述的方法还包括:
检测到用户点击所述新建的虚拟任务节点的启动按钮,将与所述新建的虚拟任务节点关联的若干上游根任务节点作为一个执行单位,创建一个任务执行进程进行整体调度。
其中,所述的方法还包括:
分别确定所述若干上游根任务节点到所述待启动的任务节点的叶子节点路径;
根据每个叶子节点路径上各上游任务节点的执行顺序调度各上游任务节点执行任务;
当每个叶子节点路径上任务节点的任务执行完毕之后,将每个叶子节点路径的任务执行结果输出给所述待启动的任务节点进行任务执行。
本发明还提供一种数据仓库中任务的调度装置,位于数据仓库调度系统中,当用户需要批量启动某一批任务节点时,数据仓库调度系统包括:
接收模块,用于接收用户输入的新建虚拟任务节点的操作;
所述接收模块,还用于接收用户输入的将所述新建的虚拟任务节点与所述批量启动的某一批任务节点关联的操作;
调度模块,用于当所述新建的虚拟任务节点启动后,所述数据仓库调度系统从所述新建的虚拟任务节点开始,根据所述批量启动的某一批任务节点的叶子节点路径上各任务节点的执行顺序调度各任务节点执行任务;
输出模块,用于当各任务节点执行完任务后,输出所述批量启动的某一批任务节点的执行结果给用户。
其中,所述的装置还包括:
展示模块,用于在检测到用户点击新建虚拟任务节点的按钮,向用户展示待启动的任务节点的任务流图和输入界面,所述任务流图中包括所述待启动的任务节点的所有上游任务节点的标识和依赖关系。
其中,所述的装置还包括:
关联模块具体用于:在检测到用户在所述输入界面中输入所述待启动的任务节点的若干上游根任务节点的标识,建立所述新建的虚拟任务节点与所述待启动的任务节点的若干上游根任务节点的关联关系。
其中,所述的装置还包括:
启动模块具体用于:检测到用户点击所述新建的虚拟任务节点的启动按钮,将与所述新建的虚拟任务节点关联的若干上游根任务节点作为一个执行单位,创建一个任务执行进程进行整体调度。
其中,所述调度模块具体用于:分别确定所述若干上游根任务节点到所述待启动的任务节点的叶子节点路径;根据每个叶子节点路径上各上游任务节点的执行顺序调度各上游任务节点执行任务;当每个叶子节点路径上任务节点的任务执行完毕之后,将每个叶子节点路径的任务执行结果输出给所述待启动的任务节点进行任务执行。
本发明实施例中,当用户需要批量启动某一批任务节点时,可以向用户展示该某一批任务节点的任务流图,以便用户新建虚拟任务节点并关联所述批量启动的某一批任务节点,当用户启动该新建虚拟任务节点,即可将所述批量启动的某一批任务节点进行整体调度,并从所述新建的虚拟任务节点至所述批量启动的某一批任务节点的叶子节点路径上各任务节点的执行顺序调度各任务节点执行任务,当所有任务节点执行完任务后,输出所述批量启动的某一批任务节点的执行结果给用户。本发明的技术方案使得所有任务节点的总执行时间得到了尽可能的短,提升任务调度的效率,也使得系统的资源利用率尽可能提高。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为一种数据仓库的任务流的示意图;
图2为本发明实施例提供的一种数据仓库中任务的调度方法的流程图;
图3为本发明实施例提供的一种数据仓库中任务的调度方法的流程图;
图4为本发明实施例采用的一种数据仓库调度系统的架构图;
图5为本发明实施例提供的一种数据仓库中任务的调度方法的流程图;
图6本发明实施例新增虚拟任务后的任务流图;
图7为本发明实施例提供的一种数据仓库中任务的调度装置的结构图。
具体实施方式
以下将配合附图及实施例来详细说明本申请的实施方式,藉此对本申请如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性耦接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电性耦接于所述第二装置,或通过其他装置或耦接手段间接地电性耦接至所述第二装置。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求所界定者为准。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
数据仓库是一个为决策者提供联机分析处理(如决策支持、数据挖掘)所需要信息的仓储,它是面向主题的、集成的、随时间改变的、持久的数据集合,主要用于支持经营管理中的决策制定多工程。数据仓库中的数据是按主题组织的,具有不同的粒度级别,并支持多种前端分析应用。因此,数据仓库中的处理过程众多,包括建立数据仓库的数据抽取、转换、加载、数据集市生成、数据立方生成过程,数据仓库管理的更新、归档过程以及应用报表生成程序等。对于企业级数据仓库系统,其中的处理程序成千上万,如何有效率地调度和管理这些处理任务是数据仓库管理中非常重要的工作,也是提高数据仓库性能和资源利用率的关键。
图1为一种数据仓库的任务流的示意图,如图1所示,数据仓库中的各种任务处理过程以及任务之间的相互依赖关系构成了一个有向图,其中,每个任务的运行依赖的顺序如箭头所示。例如,数据仓库在回溯Z任务的数据时,在现有技术中,数据仓库管理员会先把A/C这两个任务分别手工启动起来,等待这两个任务运行完成后,再启动E任务。启动A/C任务之后再手工启动B/F/I/G任务、D/H任务、K任务,当B任务运行完成后F/I两个任务会自动运行,而G/J两个任务需要数据仓库管理员手工启动。待Z任务以上所有任务按依赖顺序完成之后,最后运行Z任务。这中间的过程都需要数据仓库管理员手工启动任务,并且需要实时关注任务的运行状况再决定下一步任务何时开始。但是,数据仓库系统中作业的数量巨大,完全由数据仓库管理员手工安排是不现实的,即使可以安排,也是粒度很粗的安排,启动任务效率低且容易出错。
因此,需要研究在满足某种要求前提下的数据仓库中任务的自动调度策略。为此,本发明申请提供基于任务流的思想和方法来完成任务流的调度。
在进行本发明申请的任务流调度的说明之前,首先明确几个与数据仓库任务调度相关的基本概念。
任务:一个任务是一个在特定环境下运行的一个程序或命令,也称为作业。一个任务有很多描述其调度和执行需求的属性。任务调度系统利用任务的属性和系统的资源信息以及调度策略,决定何时何地如何运行一个任务,在一个实际数据仓库系统中,一个任务可以是一个数据集的抽取程序或一个报表的生成程序等。
任务调度:就是按照一定的策略将任务按照他们之间的依赖关系先后调度执行的过程。
任务依赖:描述了在一个任务流中任务执行的顺序,一个任务T1依赖于另一个任务T2达到某种状态或满足某种条件时,才能开始执行,称任务T1依赖于T2,称T2为T1的前导任务上游任务。一个任务只有在它的所有前导任务上游任务都运行结束之后才能开始执行。在数据仓库中,任务间的依赖关系体现在,一个任务的前导任务上游任务的输出(数据集)是该任务的输入。很多情况下,一个任务可能需要多个数据集作为输入。
如图1所示,一个任务的所有前导任务上游任务之间的关系是“与”关系,即只有一个任务的所有前导任务上游任务都完成,它才可以开始执行。在数据仓库环境下,任务流具有动态性,这体现在两个方面,一方面是随着数据仓库系统中应用数量的改变,任务流中的任务数和任务的连接关系在动态的改变;另一方面,任务流中各任务的估计执行时间在改变,这是因为随着时间的推移,数据源不断有新数据到达,各个任务处理的数据量在动态的变化,因而各个任务的执行时间在动态的变化。
任务调度问题的关键是如何找出数据仓库及其应用中任务之间的时序关系,并按照一定的策略选择一批任务投入运行,使得所有任务的执行所占CPU的时间尽可能短,并能够监视和控制任务的执行。
本发明申请衡量任务调度的指标是使得所有任务的总的周转时间尽可能短,所谓一批任务的周转时间是指从他们开始运行到全部运行结束所经历的时间。
根据图1中的任务流图中描述的任务间的时序关系,控制对任务的排序,对任务进行合理分批,目标是使得系统的资源利用率尽可能提高。
本发明技术方案的思想是:由于所有待调度的任务是可以预先知道的,因此调度执行也具有相对的稳定性;具体方法:在每一次调度任务时,寻找任务流图中的叶子节点路径,将具有同一个叶子节点路径内部的任务进行拓扑排序,一个叶子节点路径作为一个执行单位整体进行调度,排序在前的任务先执行,排序在后的任务后执行。
图2为本发明实施例提供的一种数据仓库中任务的调度方法的流程图;位于数据仓库调度系统中执行,当用户需要批量启动某一批任务节点时,数据仓库调度系统根据用户的输入信息执行如图2所示的步骤:
201、接收用户输入的新建虚拟任务节点的操作;
具体地步骤201在实现时包括:
检测到用户点击新建虚拟任务节点的按钮,向用户展示待启动的任务节点的任务流图和输入界面,所述任务流图中包括所述待启动的任务节点的所有上游任务节点的标识和依赖关系。
202、接收用户输入的将所述新建的虚拟任务节点与所述批量启动的某一批任务节点关联的操作;
基于步骤201中展示的任务流图和输入界面,步骤202在具体实现时:
检测到用户在所述输入界面中输入所述待启动的任务节点的若干上游根任务节点的标识,建立所述新建的虚拟任务节点与所述待启动的任务节点的若干上游根任务节点的关联关系。
203、当所述新建的虚拟任务节点启动后,所述数据仓库调度系统从所述新建的虚拟任务节点开始至所述批量启动的某一批任务节点的叶子节点路径上各任务节点的执行顺序调度各任务节点执行任务;
具体地步骤203在实现时包括:
检测到用户点击所述新建的虚拟任务节点的启动按钮,将与所述新建的虚拟任务节点关联的若干上游根任务节点作为一个执行单位,创建一个任务执行进程进行整体调度;
分别确定所述若干上游根任务节点到所述待启动的任务节点的叶子节点路径;
根据每个叶子节点路径上各上游任务节点的执行顺序调度各上游任务节点执行任务。
204、当各任务节点执行完任务后,输出所述批量启动的某一批任务节点的执行结果给用户;
具体地步骤204在实现时包括:
当每个叶子节点路径上任务节点的任务执行完毕之后,将每个叶子节点路径的任务执行结果输出给所述待启动的任务节点进行任务执行,并将所述待启动的任务节点的任务执行结果给用户,即为所述批量启动的某一批任务节点的执行结果。
本发明实施例中,当用户需要批量启动某一批任务节点时,可以向用户展示该某一批任务节点的任务流图,以便用户新建虚拟任务节点并关联所述批量启动的某一批任务节点,当用户启动该新建虚拟任务节点,即可将所述批量启动的某一批任务节点进行整体调度,并从所述新建的虚拟任务节点至所述批量启动的某一批任务节点的叶子节点路径上各任务节点的执行顺序调度各任务节点执行任务,当所有任务节点执行完任务后,输出所述批量启动的某一批任务节点的执行结果给用户。本发明的技术方案使得所有任务节点的总执行时间得到了尽可能的短,提升任务调度的效率,也使得系统的资源利用率尽可能提高。
图3为本发明实施例提供的一种数据仓库中任务的调度方法的流程图;位于数据仓库调度系统中执行,如图3所示,包括:
301、检测到客户端发送的创建虚拟任务节点的操作请求;
其中,所述创建虚拟任务节点的操作请求中包括待启动的任务节点的标识和与所述待启动的任务节点具有依赖关系的所有上游任务节点的标识;
在实际应用中,举例来说,当需要启动某一任务节点的时候,用户通过客户端点击虚拟节点添加按钮即可触发创建虚拟任务节点的操作请求,此时,客户端弹出一个对话框,用户可以在客户端弹出的对话框中添加关联节点的信息,其中,关联节点是与待启动的任务节点具有依赖关系的所有上游任务节点。当用户在对话框中添加关联节点的信息(上游任务节点的标识)之后向任务调度系统发送创建虚拟任务节点的操作请求。
需要说明的是,本实施例中,上述关联节点的信息(上游任务节点的标识)的获取方式例如包括:
根据所述待启动的任务节点的标识,获取所述待启动的任务节点的任务配置信息;
根据所述任务配置信息中包括的依赖关系信息,确定与所述待启动的任务节点具有依赖关系的所有上游任务节点的标识。
302、根据与所述待启动的任务节点具有依赖关系的所有上游任务节点的标识,将所述虚拟任务节点与所有上游任务节点进行关联操作;
步骤302具体实现时例如包括:
根据与所述待启动的任务节点具有依赖关系的所有上游任务节点的标识,获取每个上游任务节点的任务配置信息;
根据每个上游任务节点的任务配置信息中包括的任务执行顺序信息,确定每个上游任务节点的任务执行顺序;
在所述虚拟任务节点中标记每个上游任务节点的任务执行顺序,对所有上游任务节点进行拓扑排序,得到所有上游任务节点的拓扑序列。
303、启动所述虚拟任务节点,执行所述虚拟任务节点关联的所有上游任务节点的任务;
步骤303具体实现时例如包括:
将所有上游任务节点所述任务子集对应的拓扑序列作为一个执行单位,创建一个任务执行进程进行整体调度,并根据拓扑序列中的任务执行顺序执行对应的任务。
304、在所有上游任务节点执行完任务后输出给所述待启动的任务节点执行任务并输出执行结果。
需要说明的是,上述任务节点的任务配置信息的获取方式例如包括:
通过存储有任务及其任务配置信息的任务元数据管理器提供的应用程序接口获取任务节点对应的任务配置信息;或者
通过预设的任务列表中获取任务节点对应的任务配置信息;或者
通过客户端提供的新增任务的应用程序接口,获取任务节点对应的任务配置信息。
本发明实施例根据待启动任务节点对应的任务配置信息,确定与其存在任务依赖关系的所有上游任务节点;在所有上游任务节点之前添加虚拟任务节点,将该虚拟任务节点和所有上游任务节点进行关联,之后,启动虚拟任务节点,将所有上游任务节点整体调度,按执行顺序执行每一个任务;由于本发明实施例在每一次调度任务时,寻找该任务的叶子节点路径,将具有同一个叶子节点路径内部的任务进行拓扑排序,一个叶子节点路径作为一个执行单位整体进行调度,排序在前的任务先执行,排序在后的任务后执行,使得所有任务集的总的执行时间得到了尽可能的短,因此可以提升任务调度的效率,也使得系统的资源利用率尽可能提高。
下面通过具体的实现方式对本发明所述的技术方案进行详细的说明。
图4为本发明实施例采用的一种数据仓库调度系统的架构图,如图4所示,数据仓库管理员通过任务登记器登记每个任务的编号和存放的物理路径等任务配置信息,这些任务配置信息存放在元数据管理器中,任务登记器根据这些任务配置信息,对任务的源码进行扫描,得到每个任务的输入数据集和输出数据集,扫描结束,启动任务流生成器,任务流生成器根据任务登记器提供的信息,得到每个任务的上游任务和后继任务,生成该数据仓库系统中任务集的任务流图,假设生成的任务流图如图1所示。
基于图4数据仓库系统生成的如图1所示的任务流图,例如可以采集Static Schedule的任务调度算法,图5为本发明实施例提供的一种数据仓库中任务的调度方法的流程图,假设需要回溯任务节点Z的任务,如图5所示,具体方法包括:
401、用户点击新建虚拟任务节点的按钮;
402、向用户展示待启动的任务节点Z的任务流程图和输入界面;
根据展示的任务流图,找出与任务节点Z具有依赖关系的所有上游任务节点;
如图1所示的任务流图,例如,有编号分别为A、B、C、D、E、F、G、H、I、J、K、L、M、N、O、Z共15个任务节点,它们之间的依赖关系如图1所示,其中,任务节点A/B/C/D/K/E/F/G/H/I/J是任务节点Z所有的上游任务节点,其中,任务节点A/B/C/D/K为任务节点Z的上游根任务节点。
403、用户在输入界面中输入任务节点Z的上游根任务节点。
即用户在输入界面中输入的任务节点A/B/C/D/K。
404、创建虚拟任务节点V,将虚拟任务节点V与任务节点A/B/C/D/K进行关联。
图6本发明实施例新增虚拟任务后的任务流图,如图6所示,具体地,在任务节点Z的所有上游根任务节点A/B/C/D/K之前创建虚拟任务节点V,并标记虚拟任务节点V与任务节点A/B/C/D/K关联。
虚拟任务节点V也是数据仓库的任务节点,但是虚拟任务节点V不承担任何计算逻辑,只标记任务节点之间运行的依赖关系。虚拟任务节点作为实际任务节点的上游任务节点,实际任务节点都依赖于该虚拟任务节点。
405、用户点击启动虚拟任务节点V的按钮。
406、整体调度与虚拟任务节点V关联的任务节点A/B/C/D/K。
407、确定从任务节点A/B/C/D/K到任务节点Z的所有叶子节点路径。
如图6所示,从任务节点A/B/C/D/K到任务节点Z之间总共有7个叶子节点路径。
408、根据每个叶子节点路径中各任务节点的执行顺序执行任务。
具体地,对任务节点Z的每个叶子节点路径中的各上游任务节点进行拓扑排序,得到对应的拓扑序列,根据对应的拓扑序列,运行的顺序会自动按照拓扑序列中的依赖关系依次运行下去。
409、将每个叶子节点路径的任务执行结果输出给任务节点Z进行任务执行。
410、向用户输出任务节点Z的任务执行结果。
本发明实施例根据待启动的任务节点Z,创建虚拟任务节点,该创建的虚拟任务节点可以关联任务节点Z的所有上游根任务节点,从而启动虚拟任务节点整体调度上游根任务节点,并按照该创建的虚拟任务节点到任务节点Z之间的各叶子节点路径中各上游任务节点之间的依赖关系以及时序关系,对任务进行科学合理的分批和排序,使得所有任务集的总的执行时间得到了尽可能的短,因此可以提升任务调度的效率,也使得系统的资源利用率尽可能提高;同时,本发明只基于任务流图的连通性和拓扑结构进行调度执行,调度简单,执行的拓扑序列在执行前便已经确定,不需要修改任务列表,调度开销小。
图7为本发明实施例提供的一种数据仓库中任务的调度装置的结构图,位于数据仓库调度系统中,当用户需要批量启动某一批任务节点时,数据仓库调度系统如图7所示包括:
接收模块71,用于接收用户输入的新建虚拟任务节点的操作;
所述接收模块71,还用于接收用户输入的将所述新建的虚拟任务节点与所述批量启动的某一批任务节点关联的操作;
调度模块72,用于当所述新建的虚拟任务节点启动后,所述数据仓库调度系统从所述新建的虚拟任务节点开始,根据所述批量启动的某一批任务节点的叶子节点路径上各任务节点的执行顺序调度各任务节点执行任务;
输出模块73,用于当各任务节点执行完任务后,输出所述批量启动的某一批任务节点的执行结果给用户。
其中,所述的装置还包括:
展示模块74,用于在检测到用户点击新建虚拟任务节点的按钮,向用户展示待启动的任务节点的任务流图和输入界面,所述任务流图中包括所述待启动的任务节点的所有上游任务节点的标识和依赖关系。
关联模块75具体用于:在检测到用户在所述输入界面中输入所述待启动的任务节点的若干上游根任务节点的标识,建立所述新建的虚拟任务节点与所述待启动的任务节点的若干上游根任务节点的关联关系。
启动模块76具体用于:
检测到用户点击所述新建的虚拟任务节点的启动按钮,将与所述新建的虚拟任务节点关联的若干上游根任务节点作为一个执行单位,创建一个任务执行进程进行整体调度。
调度模块72具体用于:
分别确定所述若干上游根任务节点到所述待启动的任务节点的叶子节点路径;根据每个叶子节点路径上各上游任务节点的执行顺序调度各上游任务节点执行任务;当每个叶子节点路径上任务节点的任务执行完毕之后,将每个叶子节点路径的任务执行结果输出给所述待启动的任务节点进行任务执行。
图7所示装置可以执行图2、图3和图5所示实施例所述的调度方法,其实现原理和技术效果不再赘述。
上述说明示出并描述了本发明的若干优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

Claims (10)

1.一种数据仓库中任务的调度方法,当用户需要批量启动某一批任务节点时,数据仓库调度系统根据用户的输入信息执行如下步骤:
接收用户输入的新建虚拟任务节点的操作;
接收用户输入的将所述新建的虚拟任务节点与所述批量启动的某一批任务节点关联的操作;
当所述新建的虚拟任务节点启动后,所述数据仓库调度系统从所述新建的虚拟任务节点开始至所述批量启动的某一批任务节点的叶子节点路径上各任务节点的执行顺序调度各任务节点执行任务;
当各任务节点执行完任务后,输出所述批量启动的某一批任务节点的执行结果给用户。
2.根据权利要求1所述的方法还包括:
检测到用户点击新建虚拟任务节点的按钮,向用户展示待启动的任务节点的任务流图和输入界面,所述任务流图中包括所述待启动的任务节点的所有上游任务节点的标识和依赖关系。
3.根据权利要求2所述的方法还包括:
检测到用户在所述输入界面中输入所述待启动的任务节点的若干上游根任务节点的标识,建立所述新建的虚拟任务节点与所述待启动的任务节点的若干上游根任务节点的关联关系。
4.根据权利要求3所述的方法还包括:
检测到用户点击所述新建的虚拟任务节点的启动按钮,将与所述新建的虚拟任务节点关联的若干上游根任务节点作为一个执行单位,创建一个任务执行进程进行整体调度。
5.根据权利要求4所述的方法还包括:
分别确定所述若干上游根任务节点到所述待启动的任务节点的叶子节点路径;
根据每个叶子节点路径上各上游任务节点的执行顺序调度各上游任务节点执行任务;
当每个叶子节点路径上任务节点的任务执行完毕之后,将每个叶子节点路径的任务执行结果输出给所述待启动的任务节点进行任务执行。
6.一种数据仓库中任务的调度装置,位于数据仓库调度系统中,其特征在于,当用户需要批量启动某一批任务节点时,数据仓库调度系统包括:
接收模块,用于接收用户输入的新建虚拟任务节点的操作;
所述接收模块,还用于接收用户输入的将所述新建的虚拟任务节点与所述批量启动的某一批任务节点关联的操作;
调度模块,用于当所述新建的虚拟任务节点启动后,所述数据仓库调度系统从所述新建的虚拟任务节点开始,根据所述批量启动的某一批任务节点的叶子节点路径上各任务节点的执行顺序调度各任务节点执行任务;
输出模块,用于当各任务节点执行完任务后,输出所述批量启动的某一批任务节点的执行结果给用户。
7.根据权利要求6所述的装置,其特征在于,还包括:
展示模块,用于在检测到用户点击新建虚拟任务节点的按钮,向用户展示待启动的任务节点的任务流图和输入界面,所述任务流图中包括所述待启动的任务节点的所有上游任务节点的标识和依赖关系。
8.根据权利要求7所述的装置,其特征在于,还包括:
关联模块具体用于:在检测到用户在所述输入界面中输入所述待启动的任务节点的若干上游根任务节点的标识,建立所述新建的虚拟任务节点与所述待启动的任务节点的若干上游根任务节点的关联关系。
9.根据权利要求8所述的装置,其特征在于,还包括:
启动模块具体用于:检测到用户点击所述新建的虚拟任务节点的启动按钮,将与所述新建的虚拟任务节点关联的若干上游根任务节点作为一个执行单位,创建一个任务执行进程进行整体调度。
10.根据权利要求9所述的装置,其特征在于:
所述调度模块具体用于:分别确定所述若干上游根任务节点到所述待启动的任务节点的叶子节点路径;根据每个叶子节点路径上各上游任务节点的执行顺序调度各上游任务节点执行任务;当每个叶子节点路径上任务节点的任务执行完毕之后,将每个叶子节点路径的任务执行结果输出给所述待启动的任务节点进行任务执行。
CN201511021515.0A 2015-12-30 2015-12-30 一种数据仓库中任务的调度方法、装置 Active CN106933857B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201511021515.0A CN106933857B (zh) 2015-12-30 2015-12-30 一种数据仓库中任务的调度方法、装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511021515.0A CN106933857B (zh) 2015-12-30 2015-12-30 一种数据仓库中任务的调度方法、装置

Publications (2)

Publication Number Publication Date
CN106933857A true CN106933857A (zh) 2017-07-07
CN106933857B CN106933857B (zh) 2020-12-29

Family

ID=59442518

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511021515.0A Active CN106933857B (zh) 2015-12-30 2015-12-30 一种数据仓库中任务的调度方法、装置

Country Status (1)

Country Link
CN (1) CN106933857B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110008291A (zh) * 2019-04-10 2019-07-12 北京字节跳动网络技术有限公司 数据预警方法、装置、存储介质及电子设备
CN110032554A (zh) * 2019-04-10 2019-07-19 北京字节跳动网络技术有限公司 数据仓库表的管理方法、装置、存储介质及电子设备
CN110597611A (zh) * 2019-09-19 2019-12-20 中国银行股份有限公司 任务调度方法及装置
CN114518908A (zh) * 2022-02-17 2022-05-20 杭州网易云音乐科技有限公司 服务编排方法、介质、装置和计算设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100080348A1 (en) * 2008-09-29 2010-04-01 Mir Medical Imaging Research Holding Gmbh X-Ray Machine for Breast Examination Having a Beam Configuration for High Resolution Images
CN102279888A (zh) * 2011-08-24 2011-12-14 北京新媒传信科技有限公司 一种任务调度方法和系统
CN102750179A (zh) * 2011-04-22 2012-10-24 中国移动通信集团河北有限公司 云计算平台与数据仓库间任务的调度方法与装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100080348A1 (en) * 2008-09-29 2010-04-01 Mir Medical Imaging Research Holding Gmbh X-Ray Machine for Breast Examination Having a Beam Configuration for High Resolution Images
CN102750179A (zh) * 2011-04-22 2012-10-24 中国移动通信集团河北有限公司 云计算平台与数据仓库间任务的调度方法与装置
CN102279888A (zh) * 2011-08-24 2011-12-14 北京新媒传信科技有限公司 一种任务调度方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
史捷等: "数据仓库系统中任务调度策略研究", 《控制与决策》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110008291A (zh) * 2019-04-10 2019-07-12 北京字节跳动网络技术有限公司 数据预警方法、装置、存储介质及电子设备
CN110032554A (zh) * 2019-04-10 2019-07-19 北京字节跳动网络技术有限公司 数据仓库表的管理方法、装置、存储介质及电子设备
CN110008291B (zh) * 2019-04-10 2022-03-11 北京字节跳动网络技术有限公司 数据预警方法、装置、存储介质及电子设备
CN110032554B (zh) * 2019-04-10 2022-04-01 北京字节跳动网络技术有限公司 数据仓库表的管理方法、装置、存储介质及电子设备
CN110597611A (zh) * 2019-09-19 2019-12-20 中国银行股份有限公司 任务调度方法及装置
CN114518908A (zh) * 2022-02-17 2022-05-20 杭州网易云音乐科技有限公司 服务编排方法、介质、装置和计算设备
CN114518908B (zh) * 2022-02-17 2024-03-22 杭州网易云音乐科技有限公司 服务编排方法、介质、装置和计算设备

Also Published As

Publication number Publication date
CN106933857B (zh) 2020-12-29

Similar Documents

Publication Publication Date Title
Shang et al. Democratizing data science through interactive curation of ml pipelines
Wang et al. A novel method for tuning configuration parameters of spark based on machine learning
CN106663224B (zh) 用于机器学习模型评估的交互式界面
Chen et al. CRESP: Towards optimal resource provisioning for MapReduce computing in public clouds
KR102098897B1 (ko) 기계학습 지식 및 자동화된 기계 학습 절차 기반의 자가 학습 시스템
CN105593818A (zh) 用于调度分布式工作流程任务的装置和方法
He et al. Parallel implementation of classification algorithms based on MapReduce
CN106897322A (zh) 一种数据库和文件系统的访问方法和装置
JP2022548437A (ja) シーケンスの抽出によるロボティックプロセスオートメーション(rpa)のためのプロセス理解
US10373071B2 (en) Automated intelligent data navigation and prediction tool
CN109891438B (zh) 数值量子实验方法和系统
CN106933857A (zh) 一种数据仓库中任务的调度方法、装置
Vakhrushev et al. Lightautoml: Automl solution for a large financial services ecosystem
US20190311229A1 (en) Learning Models For Entity Resolution Using Active Learning
Khan et al. Optimizing hadoop parameter settings with gene expression programming guided PSO
Kwon et al. Skewtune in action: Mitigating skew in mapreduce applications
Le et al. Interactive program synthesis
CN108829802B (zh) 关联日志回放方法及装置
Li et al. Digital Platform Ecosystem Dynamics: The Roles of Product Scope, Innovation, and Collaborative Network Centrality.
Shahoud et al. A meta learning approach for automating model selection in big data environments using microservice and container virtualization technologies
Bernard et al. Cut to the trace! process-aware partitioning of long-running cases in customer journey logs
Arvanitis et al. Automated Performance Management for the Big Data Stack.
Fong et al. Text analytics for predicting question acceptance rates
Pourbafrani et al. Steady State Estimation for Business Process Simulations
Mitchell et al. Formal specification and state space analysis of an operational planning process

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200921

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200921

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

GR01 Patent grant
GR01 Patent grant