CN111209101B - 一种大数据计算任务多依赖调度*** - Google Patents
一种大数据计算任务多依赖调度*** Download PDFInfo
- Publication number
- CN111209101B CN111209101B CN202010008151.7A CN202010008151A CN111209101B CN 111209101 B CN111209101 B CN 111209101B CN 202010008151 A CN202010008151 A CN 202010008151A CN 111209101 B CN111209101 B CN 111209101B
- Authority
- CN
- China
- Prior art keywords
- task
- module
- dependency
- big data
- actual
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/485—Resource constraint
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种大数据计算任务多依赖调度***,所述调度***包括用户端、Web可视化模块、任务模版生成模块、实际任务生成模块、任务依赖解决模块、调度优化计算模块、实际任务调度模块、大数据计算平台。本发明可通过简单的配置任务参数,自动实现对复杂的任务依赖关系处理,对集群计算资源的合理分配,对计算过程和结果的有效跟踪。这一发明将极大简化带有复杂依赖关系的大数据计算任务的调度管理过程,提高集群计算资源利用率,加强执行任务的状态管理,同时降低使用难度和任务出错可能。
Description
技术领域
本发明属于计算机技术领域,涉及一种大数据计算任务多依赖调度***。
背景技术
随着大数据技术飞速发展,超大量离线数据的存储和计算已经不是难题,最主流的解决方案就是Hadoop分布式***,其核心是分布式文件***HDFS与统一的资源管理和调度***YARN,加上Spark内存计算引擎。但是随着计算过程和不同计算过程之间的依赖关系越发复杂,如何简化日益复杂的计算依赖关系的管理,如何精确把握任务调度过程的状态,如何准确高效的完成大数据计算任务调度,是目前大数据调度***面临的几大难题。
现阶段大数据计算任务调度方式十分多样,有偏向单机执行的程序Crontab和类库Quartz,开源分布式调度***Oozie和Azkaban,以及其他一些公司自研或基于开源封装的调度软件等等。但是,均存在如下问题:1、无法处理或者仅能处理简单先后顺序依赖关系,要想实现复杂依赖需要封装和改造,必须投入较大开发成本,且功能也受限于软件本身;2、任务密集型调度任务无法合理分配集群资源,导致集群计算资源倾斜,调度产生拥堵;3、操作方式不友好,学习成本高,开发调度效率低;4、无任务资源管理功能,完全靠用户自身进行管理。因此,需要提供一种大数据计算任务多依赖调度***。
发明内容
为了克服现有技术中的缺陷,提供一种大数据计算任务多依赖调度***。
本发明通过下述方案实现:
一种大数据计算任务多依赖调度***,所述调度***包括用户端、Web可视化模块、任务模版生成模块、实际任务生成模块、任务依赖解决模块、调度优化计算模块、实际任务调度模块、大数据计算平台;
Web可视化模块用于提供简单易懂用的任务管理Web界面,支持任务状态管理,支持集群资源管理,并新建任务、填写或修改任务参数;
任务模版生成模块用于校验并保存所述Web可视化模块中填写或修改的任务参数,并生成任务模版;
实际任务生成模块用于根据设定的执行时间对所述任务模版进行检查,使用所述任务模版生成实际任务,并将其任务参数组织成能够直接提交到计算集群的执行命令并保存;
任务依赖解决模块用于双向依赖解决所述实际任务;
调度优化计算模块用于调整解决了依赖关系的待调度任务的执行顺序;
实际任务调度模块用于接收所述调度优化模块提交的执行顺序,并将执行顺序提交到大数据计算平台运行,根据大数据计算平台运行结果,判定所述实际任务前往任务依赖解决模块或调度优化计算模块,将执行结果返回给Web可视化模块。
所述任务模版生成模块支持设置任务优先级和调整任务执行顺序,支持设置忍受延迟时间。
所述忍受延迟时间用于评价运行超时警告和运行后结果评估。
所述双向依赖解决包括生成的新任务进行依赖解决和每个完成的任务进行批量依赖解决。
本发明方法的有益效果为:
1.本发明一种大数据计算任务多依赖调度***提供了快捷的大数据计算任务提交方法,学习成本低,同时采用半自动化解决任务依赖关系,使得用户仅需考虑当前任务依赖,从而简化了依赖关系建立的流程,降低了复杂依赖关系导致出错的可能;
2.本发明一种大数据计算任务多依赖调度***中任务依赖关系的解决方式能够处理复杂的多依赖关系,同时将任务抽象成模版,从而实现了任务资源的模版管理。
3.本发明一种大数据计算任务多依赖调度***通过调度优化计算模块,能够能处理用户设置的不同优先级、不同紧迫程度的任务,增强了用户对任务执行顺序的控制,同时自动化的资源权衡,也能够使计算资源得到充分利用而不至于倾斜。
4.本发明一种大数据计算任务多依赖调度***通过对执行前任务超出预设时间的判断,能够及时对依赖解决存在问题的过程进行提醒,通过对任务执行后的历史数据分析从而预估任务下次执行时间来优化调度顺序,实现了对任务执行顺序的进一步优化。
附图说明
图1为本发明一种大数据计算任务多依赖调度***的流程框图;
具体实施方式
下面结合具体实施例对本发明进一步说明:
一种大数据计算任务多依赖调度***,所述调度***包括用户端、Web可视化模块、任务模版生成模块、实际任务生成模块、任务依赖解决模块、调度优化计算模块、实际任务调度模块、大数据计算平台;
Web可视化模块用于提供简单易懂用的任务管理Web界面,支持任务状态管理,支持集群资源管理,并新建任务、填写或修改任务参数;Web可视化模块提供简单易懂用的任务管理Web界面,支持任务状态管理,支持集群资源管理。
Web可视化模块是本调度***提供的友好的操作接口,能够对任务进行全方面的管理,提供的功能包括但不限于任务的新建、修改、删除和启停,实时任务状态的查看和修改,历史任务的查询和统计,以及集群负载状态的查看等。
任务模版生成模块用于校验并保存所述Web可视化模块中填写或修改的任务参数,并生成任务模版;所述任务模版生成模块支持设置任务优先级和调整任务执行顺序,支持设置忍受延迟时间。所述忍受延迟时间用于评价运行超时警告和运行后结果评估。任务模版生成模块和Web可视化模块配合,校验并保存其中填写或修改的任务参数,生成相应任务模版,供后续实际任务生成模块使用。
任务模板生成模块主要内容包含有任务基本信息、任务执行文件、任务执行周期、任务执行参数和任务依赖模版。其中任务基本信息包含任务名、创建人、创建时间等基本信息;任务执行文件检测可执行文件完整性并保存到HDFS;任务执行周期包含任务执行时间、执行周期、任务优先级和忍受延迟时间;任务执行周期支持按照多种时间间隔设置任务周期,支持设置任务优先级调整任务执行顺序,设置忍受延迟时间来提供运行超时警告和运行后结果评估。
任务执行参数包含任务所需额外参数,支持传递变量。任务额外参数支持传递由调度***填入的变量参数,如任务执行时间、时间间隔、提交用户等,同时也支持自定义变量传入。
任务依赖模版为依赖的任务名+时间依赖表达方式。支持从已配置任务中选择依赖的任务名,支持时间依赖表达式来设置周期任务之间的依赖关系,支持周期任务自身不同执行时间的自依赖设置。
实际任务生成模块用于根据设定的执行时间对所述任务模版进行检查,使用所述任务模版生成实际任务,并将其任务参数组织成能够直接提交到计算集群的执行命令并保存;实际任务生成模块主要的作用是根据设定的执行时间,使用任务模版生成模块生成相应的实际任务。
实际任务生成模块具体流程如下:
(1)根据实际时间对任务模版进行检查,获得符合执行时间的任务模版;
(2)如任务执行参数存在变量,则对任务执行参数进行变量替换,如存在依赖关系,则根据实际时间对任务所有依赖关系进行解读;
(3)拼接任务执行实际命令,然后将任务其他信息、执行命令、依赖关系等存储为实际任务;
(4)实际任务生成模块按周期执行,因此上述完成后等待到下一次检查时间重新检查模版,形成循环。
任务依赖解决模块用于双向依赖解决所述实际任务;所述双向依赖解决包括生成的新任务进行依赖解决和每个完成的任务进行批量依赖解决。任务依赖解决模块主要负责从两方面解决任务依赖,一是自顶而下,对所有生成的新任务进行依赖解决,二是自下而上,对每个完成的任务进行批量依赖解决。任务依赖解决模块采用双向依赖解决的方式,保证了最高效率的完成依赖关系的检查,即使在任务数量众多,依赖关系复杂的情况下仍然能够轻松解决依赖关系。
任务依赖解决模块具体流程如下:
(1)首先是自上而下的依赖解决,实际任务生成模块生成实际任务后,任务依赖解决模块会对该任务的所有依赖关系,在已完成的任务中进行匹配,确认哪些依赖已解决;
(2)判断是否已完全解决依赖,如已完全解决,则将任务交由调度优化计算模块,否则等待之后再解决依赖;
(3)自下而上的依赖解决则是任务执行成功后,对所有依赖未解决的任务进行一次批量依赖解决,所有依赖该成功任务的任务都会处理掉该依赖,然后对这些任务进行(2)中操作。
调度优化计算模块用于调整解决了依赖关系的待调度任务的执行顺序;调度优化计算模块按照任务优先级、时间紧迫程度、历史任务执行时间、调度中任务数量、任务资源预计占用、集群剩余资源等综合考虑后选取合适的数量的任务和执行顺序,按执行顺序交由实际任务调度模块进行调度。
调度优化计算模块具体流程如下:
(1)针对所有解决了依赖关系的待调度任务,首先计算任务紧迫程度,然后对任务进行优先级排序和紧迫程度二次排序,得到基本的执行顺序;
(2)获取集群剩余计算资源后进行计算资源权衡,跳过资源不够的任务,按照任务顺序提交到实际任务调度模块,直到剩余资源小于最小任务提交参数;
(3)提交过后周期性检查集群资源,然后判断是否能继续提交任务,如满足,则重新拉取待调度任务进行排序,进入循环状态。
实际任务调度模块用于接收所述调度优化模块提交的执行顺序,并将执行顺序提交到大数据计算平台运行,根据大数据计算平台运行结果,判定所述实际任务前往任务依赖解决模块或调度优化计算模块,将执行结果返回给Web可视化模块。实际任务调度模块负责任务调度运行,监控任务执行状态,管理任务的执行日志,失败任务的重试等。
实际任务调度模块具体流程如下:
(1)实际任务调度模块接收从调度优化计算模块提交来的任务,然后提交到大数据计算平台运行;
(2)判断运行结果,如果成功,则前往任务依赖解决模块进行批量依赖解决,如失败,则根据是否重试判断是否进入重试流程;
(3)如任务需要重试,则根据重试间隔定时去修改该失败任务的状态,重新将其置为调度优化计算模块的待调度队列中。
本发明的具体工作过程:
第一步,通过Web可视化模块新建任务,填写任务参数,然后根据任务模版生成模块相关规定判定是否直接执行,如是,则交由调度优化计算模块;如否,则交由任务模板生成模块。
第二步,任务模版生成。填好任务参数后,进入任务模版生成模块。如果任务模版生成过程中检查到异常,则告知失败原因,交由Web可视化模块进行修改任务;如果任务模版生成过程中未检查到异常,则进入实际任务生成模块。
第三步,实际任务生成模块。如果实际任务生成过程中检查到异常,则告知失败原因,交由Web可视化模块进行修改任务;如果实际任务生成过程中未检查到异常,则进入任务依赖解决模块。
第四步,任务依赖解决模块。如果依赖解决过程中发现达到延迟忍受时间,则通知Web可视化模块任务已超时,但任务仍将继续解决依赖,直到解决依赖完成后进入下一步。
第五步,调度优化计算模块。接受直接执行和依赖解决模块提交过来的任务,进行调度顺序优化,然后进入下一步。
第六步,实际任务调度模块。将任务实际提交到大数据计算平台并执行,将执行结果返回给Web可视化模块。
第七步,结束。
本发明一种大数据计算任务多依赖调度***通过将任务抽象成模板,然后设定时间依赖表达式来建立模板之间的依赖关系的过程;任务依赖解决方式为双向处理,新建一个任务时扫描解决该任务依赖,完成一个任务时解决所有依赖该任务的依赖的方式;半自动化依赖关系解决处理,自动实现依赖关系的处理,使得用户仅需要关注当前任务的依赖的技术;根据优先级、任务紧迫程度、集群剩余资源和历史任务执行统计等进行任务执行顺序动态调整的调度优化过程;分别对任务执行前、后逾期时间来实现任务依赖告警和任务执行效果评估的方法。
尽管已经对本发明的技术方案做了较为详细的阐述和列举,应当理解,对于本领域技术人员来说,对上述实施例做出修改或者采用等同的替代方案,这对本领域的技术人员而言是显而易见,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
Claims (4)
1.一种大数据计算任务多依赖调度***,其特征在于:所述调度***包括用户端、Web可视化模块、任务模版生成模块、实际任务生成模块、任务依赖解决模块、调度优化计算模块、实际任务调度模块、大数据计算平台;
Web可视化模块用于提供简单易懂用的任务管理Web界面,支持任务状态管理,支持集群资源管理,并新建任务、填写或修改任务参数;
任务模版生成模块用于校验并保存所述Web可视化模块中填写或修改的任务参数,并生成任务模版;
实际任务生成模块用于根据设定的执行时间对所述任务模版进行检查,使用所述任务模版生成实际任务,并将其任务参数组织成能够直接提交到计算集群的执行命令并保存;
任务依赖解决模块用于双向依赖解决所述实际任务;
调度优化计算模块用于调整解决了依赖关系的待调度任务的执行顺序;
实际任务调度模块用于接收所述调度优化模块提交的执行顺序,并将执行顺序提交到大数据计算平台运行,根据大数据计算平台运行结果,判定所述实际任务前往任务依赖解决模块或调度优化计算模块,将执行结果返回给Web可视化模块。
2.根据权利要求1所述的一种大数据计算任务多依赖调度***,其特征在于:所述任务模版生成模块支持设置任务优先级和调整任务执行顺序,支持设置忍受延迟时间。
3.根据权利要求2所述的一种大数据计算任务多依赖调度***,其特征在于:所述忍受延迟时间用于评价运行超时警告和运行后结果评估。
4.根据权利要求1所述的一种大数据计算任务多依赖调度***,其特征在于:所述双向依赖解决包括生成的新任务进行依赖解决和每个完成的任务进行批量依赖解决。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010008151.7A CN111209101B (zh) | 2020-01-06 | 2020-01-06 | 一种大数据计算任务多依赖调度*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010008151.7A CN111209101B (zh) | 2020-01-06 | 2020-01-06 | 一种大数据计算任务多依赖调度*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111209101A CN111209101A (zh) | 2020-05-29 |
CN111209101B true CN111209101B (zh) | 2023-05-02 |
Family
ID=70789541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010008151.7A Active CN111209101B (zh) | 2020-01-06 | 2020-01-06 | 一种大数据计算任务多依赖调度*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111209101B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559486A (zh) * | 2020-11-11 | 2021-03-26 | 国网江苏省电力有限公司信息通信分公司 | 一种数据中台统一任务调度管理*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109375996A (zh) * | 2018-09-27 | 2019-02-22 | 安徽省鼎众金融信息咨询服务有限公司 | 一种支持依赖关系管理的任务调度*** |
CN109669767A (zh) * | 2018-11-30 | 2019-04-23 | 河海大学 | 一种面向多类型上下文依赖的任务封装和调度方法及*** |
CN109684053A (zh) * | 2018-11-05 | 2019-04-26 | 广东岭南通股份有限公司 | 大数据的任务调度方法和*** |
-
2020
- 2020-01-06 CN CN202010008151.7A patent/CN111209101B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109375996A (zh) * | 2018-09-27 | 2019-02-22 | 安徽省鼎众金融信息咨询服务有限公司 | 一种支持依赖关系管理的任务调度*** |
CN109684053A (zh) * | 2018-11-05 | 2019-04-26 | 广东岭南通股份有限公司 | 大数据的任务调度方法和*** |
CN109669767A (zh) * | 2018-11-30 | 2019-04-23 | 河海大学 | 一种面向多类型上下文依赖的任务封装和调度方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN111209101A (zh) | 2020-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109992407B (zh) | 一种yarn集群gpu资源调度方法、装置和介质 | |
CN111694888A (zh) | 基于微服务架构的分布式etl数据交换***及方法 | |
CN111125444A (zh) | 大数据任务调度管理方法、装置、设备及存储介质 | |
CN106055670A (zh) | 一种***间数据迁移方法及装置 | |
CN101707399A (zh) | 电能信息采集方法及*** | |
CN113157710B (zh) | 区块链数据并行写入方法、装置、计算机设备及存储介质 | |
CN113157411B (zh) | 一种基于Celery的可靠可配置任务***及装置 | |
CN111930489B (zh) | 一种任务调度方法、装置、设备及存储介质 | |
CN112685153A (zh) | 微服务调度方法、装置以及电子设备 | |
CN112579267A (zh) | 一种去中心化大数据作业流调度方法及装置 | |
CN112445598A (zh) | 一种基于quartz的任务调度方法、装置、电子设备以及介质 | |
CN110611707A (zh) | 一种任务调度的方法及装置 | |
CN114035925A (zh) | 一种工作流调度方法、装置、设备及可读存储介质 | |
WO2024032781A1 (zh) | 一种算法测试方法、装置和存储介质 | |
CN112862098A (zh) | 一种集群训练任务处理的方法及*** | |
CN111209101B (zh) | 一种大数据计算任务多依赖调度*** | |
CN114781648A (zh) | 面向机器学习任务的自动化编排、构建、执行方法及*** | |
CN111176831A (zh) | 基于多线程共享内存通信的动态线程映射优化方法及装置 | |
CN113658351A (zh) | 一种产品生产的方法、装置、电子设备及存储介质 | |
CN117290103A (zh) | 一种支持多进程和多线程的任务调度实现方法 | |
CN116974994A (zh) | 一种基于集群的高效能文件协作*** | |
WO2022253165A1 (zh) | 调度方法、***、服务器和计算机可读存储介质 | |
CN116302423A (zh) | 一种面向云管理平台的分布式任务调度方法及*** | |
CN112256418B (zh) | 一种大数据任务调度方法 | |
US20230161620A1 (en) | Pull mode and push mode combined resource management and job scheduling method and system, and medium |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |