一种任务调度方法和装置制造方法及图纸

技术编号:15329254 阅读:188 留言:0更新日期:2017-05-16 12:58
本发明专利技术公开了一种任务调度方法和装置。其中方法包括:接收任务配置信息,根据任务配置信息生成并保存相应的任务配置文件;根据已保存的多个任务配置文件,生成并保存包含任务间依赖关系的任务拓扑图;根据生成的任务拓扑图完成任务调度。该技术方案可以避免一个任务因依赖另一任务而在不适当的条件下被启动,降低了任务运行的错误率。

Task scheduling method and device

The invention discloses a task scheduling method and device. The method comprises: receiving configuration information according to the task, task configuration information is generated and stored according to the corresponding task configuration file; multi task configuration file has been saved, generated and stored topology contains task dependencies among the tasks according to the task; topology generation task scheduling. The technical scheme can prevent a task from being started under inappropriate conditions because of relying on another task, thereby reducing the error rate of the task operation.

【技术实现步骤摘要】
一种任务调度方法和装置
本专利技术涉及计算机
,具体涉及一种任务调度方法和装置。
技术介绍
现有的任务调度往往是根据机器资源来完成的,亦或是根据需求将任务设置在固定的时间段内来运行。但这样就没有考虑到任务和任务之间的关系,如果一个任务依赖于另一个任务的结果数据才能运行,那么前述的任务调度显然是无法满足需求的。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的任务调度方法和装置。依据本专利技术的一个方面,提供了一种任务调度方法,包括:接收任务配置信息,根据任务配置信息生成并保存相应的任务配置文件;根据已保存的多个任务配置文件,生成并保存包含任务间依赖关系的任务拓扑图;根据生成的任务拓扑图完成任务调度。可选地,所述根据生成的任务拓扑图完成任务调度包括:当任务拓扑图中的任一个任务满足该任务的除任务间依赖关系外的其他运行条件时,根据所述任务拓扑图判断该任务是否依赖于其他任务运行;如果不依赖其他任务运行,读取该任务的任务配置文件,直接运行该任务;如果依赖其他任务运行,则在其依赖的其他任务全部运行结束后,再读取该任务的任务配置文件,运行该任务。可选地,所述任务配置信息包括如下中的一种或多种:任务的基本参数;任务运行的时间条件;任务运行的集群;任务运行的物理资源条件;任务运行的数据资源条件;任务与其他任务的依赖关系。可选地,所述根据已保存的多个任务配置文件,生成包含任务间依赖关系的任务拓扑图包括:从各任务配置文件中读取该任务与其他任务的依赖关系,生成任务拓扑图。可选地,所述根据已保存的多个任务配置文件,生成包含任务间依赖关系的任务拓扑图包括:从各任务配置文件中读取该任务运行的数据资源条件,生成任务拓扑图;所述任务运行的数据资源条件包括:任务运行所需数据的输入地址,和/或任务运行结果的输出地址。可选地,该方法还包括:根据负载均衡原则,从任务运行的集群中选择至少一台机器运行该任务。可选地,所述接收任务配置信息包括:通过前端页面接收提交的任务配置信息;该方法还包括:响应于前端页面发送的展示指令,将多个任务和/或包含多个任务间依赖关系的任务拓扑图返回给前端页面进行展示。可选地,该方法还包括:接收前端页面发送的任务间依赖关系的新增/修改/删除指令,相应地生成或修改任务拓扑图。可选地,该方法还包括:接收任务配置修改指令,对相应任务的任务配置文件进行修改;根据所述任务配置修改指令判断是否需要对该任务相关的任务拓扑图进行修改,若是,则根据修改后的任务配置文件对该任务相关的任务拓扑图进行修改。依据本专利技术的另一方面,提供了一种任务调度装置,包括:任务配置单元,适于接收任务配置信息,根据任务配置信息生成并保存相应的任务配置文件;任务拓扑图管理单元,适于根据已保存的多个任务配置文件,生成并保存包含任务间依赖关系的任务拓扑图;任务调度单元,适于根据生成的任务拓扑图完成任务调度。可选地,所述任务调度单元,适于当任务拓扑图中的任一个任务满足该任务的除任务间依赖关系外的其他运行条件时,根据所述任务拓扑图判断该任务是否依赖于其他任务运行;如果不依赖其他任务运行,读取该任务的任务配置文件,直接运行该任务;如果依赖其他任务运行,则在其依赖的其他任务全部运行结束后,再读取该任务的任务配置文件,运行该任务。可选地,所述任务配置信息包括如下中的一种或多种:任务的基本参数;任务运行的时间条件;任务运行的集群;任务运行的物理资源条件;任务运行的数据资源条件;任务与其他任务的依赖关系。可选地,所述任务拓扑图管理单元,适于从各任务配置文件中读取该任务与其他任务的依赖关系,生成任务拓扑图。可选地,所述任务拓扑图管理单元,适于从各任务配置文件中读取该任务运行的数据资源条件,生成任务拓扑图;所述任务运行的数据资源条件包括:任务运行所需数据的输入地址,和/或任务运行结果的输出地址。可选地,所述任务调度单元,适于根据负载均衡原则,从任务运行的集群中选择至少一台机器运行该任务。可选地,所述任务配置单元,适于通过前端页面接收提交的任务配置信息;该装置还包括:展示单元,适于响应于前端页面发送的展示指令,将多个任务和/或包含多个任务间依赖关系的任务拓扑图返回给前端页面进行展示。可选地,所述任务拓扑图管理单元,还适于接收前端页面发送的任务间依赖关系的新增/修改/删除指令,相应地生成或修改任务拓扑图。可选地,所述任务配置单元,还适于接收任务配置修改指令,对相应任务的任务配置文件进行修改;所述任务拓扑图管理单元,适于根据所述任务配置修改指令判断是否需要对该任务相关的任务拓扑图进行修改,若是,则根据修改后的任务配置文件对该任务相关的任务拓扑图进行修改。由上述可知,本专利技术的技术方案,通过任务的配置信息生成任务配置文件,再根据多个任务配置文件生成包含任务间依赖关系的任务拓扑图,通过任务拓扑图来实现任务的调度。该技术方案可以避免一个任务因依赖另一任务而在不适当的条件下被启动,降低了任务运行的错误率。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了日志数据平台的工作流程示意图;图2示出了根据本专利技术一个实施例的一种任务调度方法的流程示意图;图3示出了根据本专利技术一个实施例的一种任务调度装置的结构示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。本专利技术的技术方案可以应用于日志数据平台,图1示出了日志数据平台的工作流程示意图。如图1所示,该日志数据平台将日志数据通过ETL(Extract-Transform-Load,抽取-转换-加载)处理,将结果数据保存到数据仓库,同时支持对日志数据的统计计算,生成报表保存到报表数据库;以及提供前端页面,便于用户的访问,了解任务的运行状况以及将报表数据进行可视化展示等。整个平台还提供权限管理功能和任务调度功能,对日志数据的处理、统计和展示进行调控。本专利技术将着重介绍其中的任务调度方面的内容。图2示出了根据本专利技术一个实施例的一种任务调度方法的流程示意图,如图2所示,该方法包括:步骤S210,接收任务配置信息,根据任务配置信息生成并保存相应的任务配置文件。步骤S220,根据已保存的多个任务配置文件,生成并保存包含任务间依赖关系的任务拓扑图。步骤S230,根据生成的任务拓扑图完成任务调度。可见,图2所示的方法,通过任务的配置信息生成任务配置文件,再根据多个任务配置文件生成包含任务间依赖关系的任务拓扑图,通过任务拓扑图来实现任务的调度。该技术方案可以避免一个任务因依赖另一任务而在不适当的条件下被启动,降低了任务运行的错误率。在本专利技术的一个本文档来自技高网...
一种任务调度方法和装置

【技术保护点】
一种任务调度方法,其中,该方法包括:接收任务配置信息,根据任务配置信息生成并保存相应的任务配置文件;根据已保存的多个任务配置文件,生成并保存包含任务间依赖关系的任务拓扑图;根据生成的任务拓扑图完成任务调度。

【技术特征摘要】
1.一种任务调度方法,其中,该方法包括:接收任务配置信息,根据任务配置信息生成并保存相应的任务配置文件;根据已保存的多个任务配置文件,生成并保存包含任务间依赖关系的任务拓扑图;根据生成的任务拓扑图完成任务调度。2.如权利要求1所述的方法,其中,所述根据生成的任务拓扑图完成任务调度包括:当任务拓扑图中的任一个任务满足该任务的除任务间依赖关系外的其他运行条件时,根据所述任务拓扑图判断该任务是否依赖于其他任务运行;如果不依赖其他任务运行,读取该任务的任务配置文件,直接运行该任务;如果依赖其他任务运行,则在其依赖的其他任务全部运行结束后,再读取该任务的任务配置文件,运行该任务。3.如权利要求1所述的方法,其中,所述任务配置信息包括如下中的一种或多种:任务的基本参数;任务运行的时间条件;任务运行的集群;任务运行的物理资源条件;任务运行的数据资源条件;任务与其他任务的依赖关系。4.如权利要求3所述的方法,其中,所述根据已保存的多个任务配置文件,生成包含任务间依赖关系的任务拓扑图包括:从各任务配置文件中读取该任务与其他任务的依赖关系,生成任务拓扑图。5.如权利要求3所述的方法,其中,所述根据已保存的多个任务配置文件,生成包含任务间依赖关系的任务拓扑图包括:从各任务配置文件中读取该任务运行的数据资源条件,生成任务拓扑图;所述任务运行的数据资源条件包括:任务运行所需数据的输入地址,和/...

【专利技术属性】
技术研发人员:李铮侯怀锋高飞龙郑超平张超郑扬张娟娜
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:北京,11

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

1