CN103593232B - 一种数据仓库的任务调度方法及装置 - Google Patents
一种数据仓库的任务调度方法及装置 Download PDFInfo
- Publication number
- CN103593232B CN103593232B CN201210289275.2A CN201210289275A CN103593232B CN 103593232 B CN103593232 B CN 103593232B CN 201210289275 A CN201210289275 A CN 201210289275A CN 103593232 B CN103593232 B CN 103593232B
- Authority
- CN
- China
- Prior art keywords
- task
- scheduling
- scheduling type
- resource
- triggering
- 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.)
- Active
Links
Abstract
本申请公开了一种数据仓库的任务调度方法,应用于数据仓库进行任务调度,首先为每种任务设置调度类型,然后读取任务,提取任务的调度类型,按照任务的调度类型,选择任务执行的触发方式,最后根据触发方式,触发执行任务。同时还公开了一种数据数仓的任务调度装置,包括调度类型设置模块,调度扫描模块和任务执行模块,通过为每个任务设置调度类型,并按照调度类型选择不同的触发方法进行处理,可以灵活的根据用户的需求来处置任务,并能够有效降低资源的急剧消耗带来宕机的风险,提高用户的满意度。
Description
技术领域
本申请涉及数据库技术领域,尤其涉及数据仓库的任务调度方法及装置。
背景技术
随着90年代后期Internet的兴起与飞速发展,我们进入了一个新的时代,大量的信息和数据,迎面而来,用科学的方法去整理数据,从而从不同视角对企业经营各方面信息的精确分析、准确判断,比以往更为迫切。数据仓库(Data Warehouse)的概念应运而生,数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合。随着企业信息化程度的不断提高,企业内部积累了大量的业务数据,数据仓库用于对这些相互独立、分散的数据进行统一的处理,以满足企业高层决策与分析需要。随着数据仓库系统带来的良好效果,各行各业的单位,已经能很好的接受“整合数据,从数据中找知识,运用数据知识、用数据说话”等新的关系到改良生产活动各环节、提高生产效率、发展生产力的理念。
任务在数据仓库的概念中就是最小处理数据动作的一种技术实现,在一个数据仓库中,数据的处理都是由成千上万的各种处理任务完成。在当前流行的数据仓库平台中,任务调度一般都实现了根据任务依赖关系,进行任务并发调度,并可以设置任务运行的并发度及任务的优先级,优先级越高,任务会优先触发执行。但在一些实际使用场景中,仍然存在种种问题,例如:由于数据平台运算资源不够,发生整个平台宕掉;任务的触发时间和完成时间没有达到业务方的需求等等。
特别地,在传统的任务调度方法中,首先进行触发时间判断,触发时间判断为判断读取到的可用任务是否满足时间触发条件,只有当读取到可用任务时的时间大于设置的触发时间,才继续往下判断,否则终止判断,退出,并进行下一个等待任务的触发判断;然后进行并发数判断,每类任务类型都设有可运行的最大并发数,当读取到的任务相应的任务类型正在运行的并发数小于等于设置的最大并发数时,那么触发执行该任务,否则终止,退出,并进行下一个等待任务的触发判断。
可见在传统的任务调度方法中可以设置任务的触发时间和通过设置任务类型的最大并发数做到资源的控制,但实际使用过程中,并不准确,也做不到很好的控制,主要原因为,调度本身并不能准确的知道被触发执行的任务到底使用了多少资源,需要运行多少时间,也许少量几个任务就能把机器运算资源使用光,导致运算资源不足,延误运算时间,甚至运算平台宕掉。
因此现有的任务调度方法没办法真实的解决资源使用/时间控制的问题,到最后经常发生运算平台负载过重甚至宕机的现象,而且任务的运算时间也难以把握,导致很多时候满足不了业务方的时间需求。
发明内容
本申请的目的是在传统调度方法的基础上,根据任务的调度类型来调度任务,避免由于数据平台运算资源不够,发生整个平台宕掉,或者任务的触发时间和完成时间没有达到业务方的需求。
一种数据仓库的任务调度方法,应用于数据仓库进行任务调度,所述数据仓库的任务均配置有调度类型,所述调度类型包括资源优先或时间优先,不同所述调度类型对应不同任务执行的触发方式,所述任务调度方法包括步骤:
读取任务,提取所述任务的调度类型,按照所述任务的调度类型,选择所述调度类型所对应的任务执行的触发方式;
以所述对应的任务执行的触发方式触发执行所述任务。
当所述的调度类型为资源优化时,以所述对应的任务执行的触发方式触发执行所述任务,包括步骤:
判断执行任务的运算资源平台的可用资源是否满足所述任务预计需要的任务资源,如果满足则进行下一步,否则返回去读取下一个任务;
触发执行所述任务;
收集所述任务实际使用资源信息。
进一步地,所述任务预计需要的任务资源是通过统计一定周期内每次运行时实际用到的资源情况,做平均值运算。
当所述调度类型为时间优先时,以所述对应的任务执行的触发方式触发执行所述任务,包括步骤:
判断读取到的任务是否满足时间触发条件,只有当读取到任务时的时间大于设置的触发时间,则进行下一步,否则返回到读取下一个任务;
触发执行所述任务。
本申请还提出了一种数据仓库的任务调度装置,应用于数据仓库进行任务调度,所述调度装置包括依次连接的调度类型设置模块,调度扫描模块和任务执行模块,其中:
所述调度类型设置模块,用于为每种任务设置调度类型,所述调度类型包括资源优先或时间优先,不同所述调度类型对应不同任务执行的触发方式;
所述调度扫描模块,用于读取任务,按照所述任务的调度类型,选择对应的任务执行的触发方式;
所述任务执行模块,用于根据所述的触发方式,触发执行所述的任务。
进一步地,所述任务执行模块还包括判断单元,用于在选择触发方式后,判断当前条件是否满足触发条件。
作为本申请的一种方式,所述任务执行模块还包括任务占用资源预估单元,用于收集所述任务实际使用资源信息,预估执行任务需要的任务资源。
作为本申请的另一种方式,所述任务执行模块还包括触发时间设置单元,用于设置任务的触发时间。
本申请的数据仓库的任务调度方法,让用户自己选择要满足的数据场景,如运算资源的稳定对整个平台比较重要,那么可以选择资源优先的调度策略,最大程度保障平台的稳定,如实现业务时间比较重要,那么可以选择时间优先的调度策略,最大程度保障任务执行时间接近业务要求的时间完成。本申请的数据仓库的任务调度装置,通过调度类型设置模块为任务设置调度类型,并根据调度类型选择触发方式,可以灵活的根据用户的需求来处置任务,并能够有效降低资源的急剧消耗带来宕机的风险,提高用户的满意度。
附图说明
图1为本申请数据仓库的任务调度方法的流程图;
图2为本申请资源优化触发方式下调度方法流程图;
图3为本申请时间优化触发方式下调度方法流程图;
图4为本申请数据仓库的任务调度装置结构示意图。
具体实施方式
下面结合附图和实施例对本申请技术方案做进一步详细说明,以下实施例不构成对本申请的限定。
本申请数据仓库任务调度方法流程图如图1所示,包括步骤:
步骤101、为每种任务配置调度类型。
具体地,每种任务都配置有调度类型,调度类型包括资源优先或时间优先,当然也可以根据其他主题来进行配置,本实施例仅以资源优先和时间优先来进行说明。用户在配置任务属性信息时,任务的调度类型作为一个属性信息配置进去,让用户自己选择需要保证的对象,如需要保证资源的可用性,选择配置调度类型为资源优先;需要保证业务时间的准时性,选择配置调度类型为时间优先。
需要说明的是,调度类型配置的方法不限于采用用户主动配置的方法,也可以由系统根据任务的种类采用该种类默认的调度类型来自动为任务设置调度类型。或者采用其他方式来确定任务的调度类型,如根据任务的优先级,或者根据任务的发起对象等。
步骤102、读取任务,按照任务的调度类型,选择任务执行的触发方式。
数据仓库通过调度扫描来读取任务,一般来说,读取的时候按照优先级读取处于等待运行的可用任务,等待运行的可用任务为符合依赖条件的处于等待运行的任务,也就是说当一个任务的父任务都是成功结束状态,那么该任务即为一个等待运行的可用任务。调度扫描读取一个等待运行的可用任务,读取的时候按照优先级读取,读取后首先提取该任务的调度类型,按照该任务的调度类型,选择任务执行的触发方式。
步骤103、按照所选择的触发方式,触发执行该任务。
需要说明的是,数据仓库为每种调度类型设置了各自对应的触发方式,每种触发方式又对应了不同的触发条件。调度扫描将按照每种任务设置的调度类型,选择任务执行的触发方式,如果是资源优先,则选择资源优先的触发方式,判断是否满足资源优先的触发条件,如果满足则执行,否则返回到步骤102去读取下一个任务;如果是时间优先,则选择时间优先的触发方式,判断是否满足时间优先的触发条件,如果满足则执行,否则返回到步骤102去读取下一个任务。
具体地,当当前任务的调度类型为资源优先时,本申请的按照所选择的触发方式,触发执行该任务的步骤如图2所示,还包括:
步骤201、判断可用资源是否满足当前任务预计需要的任务资源,如果满足则进行下一步,否则返回去读取下一个任务;
步骤202、触发执行任务;
步骤203、收集该任务实际使用资源信息。
需要说明的是,在资源优先触发方式下,执行任务的运算资源平台的可用资源的计算,目前大部分运算平台都有比较成熟的计算方法,如开源的hadoop分布式平台,阿里巴巴的DataEngine分布式平台,都可以用程序实例化instance数来计算;传统数据库可以使用机器负载/内存使用数量来计算。本申请并不限于可用资源的计算采用哪种方法,这里不再赘述。
在资源优先触发方式下,等待运行任务的资源需求预估,本申请采用统计一定周期内(比如7天)每次运行该任务时实际用到的资源情况,做平均值运算。当待运行的是一个新任务时,可以预先设置一个资源需求预估值,也可以不设置,系统默认为0,等一次运行以后则根据历史数据来进行预估。需要说明的是,预估的周期可以自由设定,也可以采用其他资源需求预估的办法来进行资源需求预估,这里不再赘述。
具体地,当当前任务的调度类型为时间优先时,本申请的按照所选择的触发方式,触发执行该任务的步骤如图3所示,还包括:
步骤301、判断读取到的任务是否满足时间触发条件,只有当读取到任务时的时间大于设置的触发时间,则进行下一步,否则返回到读取下一个任务;
步骤302、执行任务。
需要说明的是,一般情况下,一些执行时间短平快的任务比较适合选择时间优先,而一些比较耗运算资源的任务适合选择资源优先。
本申请同时提出了一种数据仓库的任务调度装置,应用于数据仓库进行任务调度,如图4所示,包括依次相连的调度类型设置模块41,调度扫描模块42和任务执行模块43。
具体地,调度类型设置模块41用于为每种任务设置调度类型,为任务设置的调度类型包括资源优先或时间优先。当然也可以根据其他主题来进行设置不同的调度类型,本实施例仅以资源优先和时间优先来进行说明。
调度扫描模块42用于读取任务,一般来说,读取的时候按照优先级读取处于等待运行的可用任务,处于等待运行的可用任务为符合依赖条件的处于等待运行的任务,也就是说当一个任务的父任务都是成功结束状态,那么该任务即为一个等待运行的任务。调度扫描模块42读取一个等待运行的可用任务,读取的时候按照优先级读取,读取后首先提取该任务的调度类型,按照该任务的调度类型,选择任务执行的触发方式。
任务执行模块43用于接收调度扫描模块42传送的触发方式,触发执行调度扫描模块42读取的任务。
具体地,任务执行模块43还包括判断单元432,用于判断当前任务是否满足触发条件。当当前的任务是资源优先时,判断可用资源是否满足当前任务预计需要的任务资源,如果满足则执行,否则返回去读取下一个任务;当当前任务是时间优先时,判断触发时间是否满足当前任务,满足则执行任务,否则返回到读取下一个任务。
作为本申请的一个实施例,任务执行模块43还包括任务占用资源预估单元433,用于收集任务实际使用资源信息,预估执行任务需要的任务资源,并将预估的任务需要的任务资源信息提供给判断单元432,便于判断单元432作出判断。
作为本申请的另一个实施例,任务执行模块43还包括触发时间设置单元431,用于设置任务的触发时间,提供给判断单元432,便于判断单元432作出判断。
以上实施例仅用以说明本申请的技术方案而非对其进行限制,在不背离本申请精神及其实质的情况下,熟悉本领域的技术人员当可根据本申请作出各种相应的改变和变形,但这些相应的改变和变形都应属于本申请所附的权利要求的保护范围。
Claims (3)
1.一种数据仓库的任务调度方法,应用于数据仓库进行任务调度,其特征在于,所述数据仓库的任务均配置有调度类型,所述调度类型包括资源优先或时间优先,不同所述调度类型对应不同任务执行的触发方式,所述任务调度方法包括步骤:
读取任务,提取所述任务的调度类型,按照所述任务的调度类型,选择所述调度类型所对应的任务执行的触发方式;
以所述对应的任务执行的触发方式触发执行所述任务;其中:
当调度类型为资源优先时,判断执行任务的运算资源平台的可用资源是否满足所述任务预计需要的任务资源,如果满足则进行下一步,否则返回去读取下一个任务;触发执行所述任务;收集所述任务实际使用资源信息;
当所述调度类型为时间优先时,判断读取到的任务是否满足时间触发条件,只有当读取到任务时的时间大于设置的触发时间,则进行下一步,否则返回到读取下一个任务;触发执行所述任务。
2.如权利要求1所述的任务调度方法,其特征在于,所述任务预计需要的任务资源是通过统计一定周期内每次运行时实际用到的资源情况,做平均值运算。
3.一种数据仓库的任务调度装置,应用于数据仓库进行任务调度,其特征在于,所述调度装置包括依次连接的调度类型设置模块,调度扫描模块和任务执行模块,其中:
所述调度类型设置模块,用于为每种任务设置调度类型,所述调度类型包括资源优先或时间优先,不同所述调度类型对应不同任务执行的触发方式;
所述调度扫描模块,用于读取任务,按照所述任务的调度类型,选择对应的任务执行的触发方式;
所述任务执行模块,用于根据所述的触发方式,触发执行所述的任务;
所述任务执行模块还包括判断单元,用于在选择触发方式后,判断当前条件是否满足触发条件;
所述任务执行模块还包括任务占用资源预估单元,用于收集所述任务实际使用资源信息,预估执行任务需要的任务资源;
所述任务执行模块还包括触发时间设置单元,用于设置任务的触发时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210289275.2A CN103593232B (zh) | 2012-08-15 | 2012-08-15 | 一种数据仓库的任务调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210289275.2A CN103593232B (zh) | 2012-08-15 | 2012-08-15 | 一种数据仓库的任务调度方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103593232A CN103593232A (zh) | 2014-02-19 |
CN103593232B true CN103593232B (zh) | 2017-07-04 |
Family
ID=50083388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210289275.2A Active CN103593232B (zh) | 2012-08-15 | 2012-08-15 | 一种数据仓库的任务调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103593232B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107730126A (zh) * | 2017-10-23 | 2018-02-23 | 山东浪潮通软信息科技有限公司 | 一种实现定时的方法及装置 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170017394A1 (en) * | 2015-07-15 | 2017-01-19 | Futurewei Technologies, Inc. | SYSTEM AND METHOD FOR DATA WAREHOUSE AND FINE GRANULARITY SCHEDULING FOR SYSTEM ON CHIP (SoC) |
CN107085536B (zh) * | 2016-11-14 | 2020-09-18 | 阿里巴巴集团控股有限公司 | 一种任务管理方法和装置 |
CN107291946B (zh) * | 2017-07-13 | 2020-03-17 | 深圳乐信软件技术有限公司 | 大数据etl任务调度方法及装置 |
CN109211159B (zh) * | 2018-09-28 | 2021-01-15 | 北京国金源富科技有限公司 | 一种计量器具检定任务调度方法及装置 |
CN109062673B (zh) * | 2018-11-14 | 2019-04-05 | 中国人民解放军国防科技大学 | 动态容错弹性调度方法 |
CN112328705B (zh) * | 2020-11-03 | 2023-10-24 | 成都中科大旗软件股份有限公司 | 支持任意配置周期的任务调度方法 |
CN112486657A (zh) * | 2020-12-16 | 2021-03-12 | 广东电网有限责任公司惠州供电局 | 一种任务调度方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101464810A (zh) * | 2008-12-31 | 2009-06-24 | 金蝶软件(中国)有限公司 | 服务程序处理方法及服务器 |
CN101533417A (zh) * | 2009-04-28 | 2009-09-16 | 阿里巴巴集团控股有限公司 | 一种实现etl调度的方法及系统 |
CN102236580A (zh) * | 2010-04-26 | 2011-11-09 | 阿里巴巴集团控股有限公司 | 为etl任务分配节点的方法和调度系统 |
CN102243598A (zh) * | 2010-05-14 | 2011-11-16 | 深圳市腾讯计算机系统有限公司 | 分布式数据仓库中的任务调度方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8892505B2 (en) * | 2010-10-28 | 2014-11-18 | Hewlett-Packard Development Company, L.P. | Method for scheduling a task in a data warehouse |
-
2012
- 2012-08-15 CN CN201210289275.2A patent/CN103593232B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101464810A (zh) * | 2008-12-31 | 2009-06-24 | 金蝶软件(中国)有限公司 | 服务程序处理方法及服务器 |
CN101533417A (zh) * | 2009-04-28 | 2009-09-16 | 阿里巴巴集团控股有限公司 | 一种实现etl调度的方法及系统 |
CN102236580A (zh) * | 2010-04-26 | 2011-11-09 | 阿里巴巴集团控股有限公司 | 为etl任务分配节点的方法和调度系统 |
CN102243598A (zh) * | 2010-05-14 | 2011-11-16 | 深圳市腾讯计算机系统有限公司 | 分布式数据仓库中的任务调度方法及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107730126A (zh) * | 2017-10-23 | 2018-02-23 | 山东浪潮通软信息科技有限公司 | 一种实现定时的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103593232A (zh) | 2014-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103593232B (zh) | 一种数据仓库的任务调度方法及装置 | |
EP3438821B1 (en) | Task-resource scheduling method and device | |
CN111858065B (zh) | 数据处理方法、设备、存储介质及装置 | |
CN106802826B (zh) | 一种基于线程池的业务处理方法及装置 | |
US9418348B2 (en) | Automatic task assignment system | |
JP5463885B2 (ja) | バッチジョブ処理時間推定プログラム、方法及び装置 | |
US20140337532A1 (en) | Method and system for arbitraging computer resources in a cloud computing environment | |
CN108776862B (zh) | 支持工序任务量拆分的智能排产方法 | |
CN111325416A (zh) | 预测叫车平台的用户流失的方法和装置 | |
CN104636232B (zh) | 一种分布式服务系统的性能监控装置和方法 | |
CN103744730B (zh) | 一种任务调度方法和装置 | |
CN110362392A (zh) | 一种etl任务调度方法、系统、设备及存储介质 | |
CN110427256A (zh) | 基于优先级的作业调度优化方法、设备、存储介质及装置 | |
CN102521056A (zh) | 任务分配装置和任务分配方法 | |
FR3038405A1 (fr) | Mecanisme d'ordonnancement de traitement par lot | |
US9043772B2 (en) | Optimization hints for a business process flow | |
CN111680085A (zh) | 数据处理任务分析方法、装置、电子设备和可读存储介质 | |
CN110704170A (zh) | 批量任务处理方法、装置、计算机设备和存储介质 | |
CN103927228A (zh) | 作业执行预测方法和设备 | |
CN103729242A (zh) | 一种自旋锁抢占调度算法选择方法及装置 | |
US20210382751A1 (en) | Job management method and job management apparatus | |
CN109032775A (zh) | 一种获取任务进度的方法、终端设备及存储介质 | |
CN107038072B (zh) | 基于Hadoop系统的任务调度方法和装置 | |
CN115271102B (zh) | 一种机器学习引擎的任务导向的优先级方法及系统 | |
US20090168092A1 (en) | Job management and scheduling method for network system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20191210 Address after: P.O. Box 31119, grand exhibition hall, hibiscus street, 802 West Bay Road, Grand Cayman, Cayman Islands Patentee after: Innovative advanced technology Co., Ltd Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands Patentee before: Alibaba Group Holding Co., Ltd. |
|
TR01 | Transfer of patent right |