基于HIVE任务的任务调度方法及装置制造方法及图纸

技术编号:11323030 阅读:101 留言:0更新日期:2015-04-22 11:45
本发明专利技术公开了一种基于HIVE任务的任务调度方法及装置,属于计算机技术领域。方法包括:确定需要进行调度的多个任务及各个任务之间的依赖关系;根据依赖关系确定各个任务的前置依赖任务及后置依赖任务;在所有需要进行调度的任务中选择当前需要调度的任务,得到被选任务;根据被选任务的前置依赖任务的调度结果对被选任务进行调度;按照选择被选任务的方式及调度被选任务的方式处理被选任务的后置依赖任务及所有未调度的任务,直至调度完所有需要进行调度的任务。本发明专利技术通过根据任务之间的依赖关系确定的被选任务的前置依赖任务的调度结果对被选任务进行调度,从而使得任务调度过程比较简单,并能够保证任务能够有序执行。因此,调度任务的效率较高。

【技术实现步骤摘要】

本专利技术涉及计算机
,特别涉及一种基于HIVE任务的任务调度方法及装 置。
技术介绍
随着现在计算机技术的快速发展,为了执行任务,服务器在不同时刻均需要对任 务进行调度,特别是在基于HIVE任务的调度领域。其中,HIVE是基于Hadoop的一个数据 仓库工具,而Hadoop是一个能够对大量数据进行分布式处理的软件架构,因而通过HIVE 任务可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL (Structured Query Language,结构化查询语言)查询功能,可以将SQL语句转换为Map (映射)和Reduce (化 简)的任务进行运行。由于服务器对任务进行调度影响到后续任务执行效率。因此,如何 基于HIVE任务进行任务调度是提高任务执行效率的关键。 相关技术中提供了一种基于HIVE任务的任务调度方法,在该方法中,预先确定某 一时刻需要调度的任务,若当前时间到了调度该任务的时刻,则对该任务进行调度。该任务 调度完成后,由相关工作人员根据该任务的调度结果确定该任务调度完毕后需要调度的下 一个任务,并确定下一个任务的调度时刻。从而由相关工作人员通过手动控制对每个任务 进行调度。 在实现本专利技术的过程中,专利技术人发现上述方法至少存在以下问题: 由于每次调度任务之前,需要由相关工作人员根据上一个调度的任务的调度结果 确定下一个需要调度的任务后,才能对任务进行调度。当任务较多时候,则需要手动对每个 任务进行控制,任务调度过程比较繁琐。因此,调度任务的效率较低。
技术实现思路
为了解决现有技术的问题,本专利技术实施例提供了一种基于HIVE任务的任务调度 方法及装置。所述技术方案如下: 第一方面,提供了一种基于HIVE任务的任务调度方法,所述方法包括: 确定需要进行调度的多个任务,并确定各个任务之间的依赖关系; 根据所述依赖关系确定各个任务的前置依赖任务及后置依赖任务; 在所有需要进行调度的任务中选择当前需要调度的任务,得到被选任务; 根据所述被选任务的前置依赖任务的调度结果对所述被选任务进行调度; 按照选择所述被选任务的方式及调度所述被选任务的方式处理所述被选任务的 后置依赖任务及所有未调度的任务,直至调度完所有需要进行调度的任务。 结合第一方面,在第一方面的第一种可能的实现方式中,所述在所有需要进行调 度的任务中选择当前需要调度的任务,包括 : 在所有需要进行调度的任务中选择满足调度条件的任务作为当前需要调度的任 务;其中,所述调度条件为所有前置依赖任务全部调度完毕。 结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式 中,所述在所有需要进行调度的任务中选择满足调度条件的任务作为当前需要调度的任 务,包括: 如果有多个满足调度条件的任务,将所述多个满足调度条件的任务均作为当前需 要调度的任务,或者,按照优先级在所述多个满足调度条件的任务中选择一个任务作为当 前需要调度的任务。 结合第一方面,在第一方面的第三种可能的实现方式中,每个需要进行调度的任 务均对应一个调度周期;所述根据所述被选任务的前置依赖任务的调度结果对所述被选任 务进行调度,包括: 获取所述被选任务的前置依赖任务按照其对应的调度周期被调度之后得到的前 一至多个调度结果,根据获取到的调度结果对所述被选任务进行调度。 结合第一方面、第一方面的第一种可能的实现方式、第二种可能的实现方式及第 三种可能的实现方式中的任一种可能的实现方式,在第一方面的第四种可能的实现方式 中,所述根据所述依赖关系确定各个任务的前置依赖任务及后置依赖任务,包括: 对需要进行调度的任一任务,将与所述任一任务存在依赖关系的任务中被所述任 一任务依赖调度结果的任务确定为所述任一任务的前置依赖任务,并将依赖所述任一任务 的调度结果的任务确定为所述任一任务的后置依赖任务。 第二方面,提供了一种基于HIVE任务的任务调度装置,所述装置包括: 第一确定模块,用于确定需要进行调度的多个任务,并确定各个任务之间的依赖 关系; 第二确定模块,用于根据所述依赖关系确定各个任务的前置依赖任务及后置依赖 任务; 选择模块,用于在所有需要进行调度的任务中选择当前需要调度的任务,得到被 选任务; 调度模块,根据所述被选任务的前置依赖任务的调度结果对所述被选任务进行调 度; 处理模块,用于按照选择所述被选任务的方式及调度所述被选任务的方式处理所 述被选任务的后置依赖任务及所有未调度的任务,直至调度完所有需要进行调度的任务。 结合第二方面,在第二方面的第一种可能的实现方式中,所述选择模块,用于在所 有需要进行调度的任务中选择满足调度条件的任务作为当前需要调度的任务;其中,所述 调度条件为所有前置依赖任务全部调度完毕。 结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式 中,所述选择模块,用于当有多个满足调度条件的任务时,将所述多个满足调度条件的任务 均作为当前需要调度的任务,或者,按照优先级在所述多个满足调度条件的任务中选择一 个任务作为当前需要调度的任务。 结合第二方面,在第二方面的第三种可能的实现方式中,每个需要进行调度的任 务均对应一个调度周期;所述调度模块,包括: 获取单元,用于获取所述被选任务的前置依赖任务按照其对应的调度周期被调度 之后得到的前一至多个调度结果; 调度单元,用于根据获取到的调度结果对所述被选任务进行调度。 结合第二方面、第二方面的第一种可能的实现方式、第二种可能的实现方式及第 三种可能的实现方式中的任一种可能的实现方式,在第二方面的第四种可能的实现方式 中,所述第二确定模块,用于对需要进行调度的任一任务,将与所述任一任务存在依赖关系 的任务中被所述任一任务依赖调度结果的任务确定为所述任一任务的前置依赖任务,并将 依赖所述任一任务的调度结果的任务确定为所述任一任务的后置依赖任务。 本专利技术实施例提供的技术方案带来的有益效果是: 通过确定需要进行调度的各个任务之间的依赖关系,并根据依赖关系确定各个任 务的前置依赖任务及后置依赖任务后,根据满足调度条件的被选任务的前置依赖任务的调 度结果对被选任务进行任务调度,并依此调度其他未调度的任务,从而使得任务调度过程 比较简单,并能够保证任务有序执行。因此,调度任务的效率较高。【附图说明】 为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于 本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他 的附图。 图1是本专利技术一实施例提供的一种基于HIVE任务的任务调度方法的流程图; 图2是本专利技术另一实施例提供的一种基于HIVE任务的任务调度方法的流程图; 图3是本专利技术另一实施例提供的一种各个任务之间的依赖关系示意图; 图4是本专利技术另一实施例提供的一种基于HIVE任务的任务调度装置的结构示意 图; 图5是本专利技术另一实施例提供的一种调度模块的结构示意图; 图6是本专利技术另一实施例提供的一种服务器的结构示意图。【具体实施方式】 为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方 式作进一步地详细描述。 由于相关技术在每次调度任务之前,需要由本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/CN104536811.html" title="基于HIVE任务的任务调度方法及装置原文来自X技术">基于HIVE任务的任务调度方法及装置</a>

【技术保护点】
一种基于HIVE任务的任务调度方法,其特征在于,所述方法包括:确定需要进行调度的多个任务,并确定各个任务之间的依赖关系;根据所述依赖关系确定各个任务的前置依赖任务及后置依赖任务;在所有需要进行调度的任务中选择当前需要调度的任务,得到被选任务;根据所述被选任务的前置依赖任务的调度结果对所述被选任务进行调度;按照选择所述被选任务的方式及调度所述被选任务的方式处理所述被选任务的后置依赖任务及所有未调度的任务,直至调度完所有需要进行调度的任务。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈武邱百超
申请(专利权)人:广州华多网络科技有限公司
类型:发明
国别省市:广东;44

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

1