任务调度管理方法、装置及系统制造方法及图纸

技术编号:15939643 阅读:39 留言:0更新日期:2017-08-04 22:07
本发明专利技术提供一种任务调度管理方法、装置及系统,根据任务依赖关系确定当前任务的上级任务以及下级任务,然后按预设规则获取上级任务的执行结果,如果所有的上级任务执行成功,则触发执行当前任务;在当前任务的执行过程当中,监测当前任务的执行结果,如果当前任务执行成功,则触发加载下级任务。本发明专利技术根据任务依赖关系获得当前任务的上级任务和下级任务,在上级任务执行成功的前提下,即可触发执行当前任务,因此避免了任务独立执行并导致任务并发执行的情况,使得任务能够统一管理,同时避免了任务间的空余时间,能够节约全部任务执行完毕所需耗费的运行时间,从而提高任务的执行效率。

Task scheduling management method, device and system

The invention provides a scheduling management method, device and system, according to the task dependency determining tasks of the current task and the subordinate task, then according to the preset rules to get the results of the implementation of the tasks, if all tasks execute successfully, triggering the execution of the current task; in the implementation process of the current task, the current monitoring the result of task execution, if the current task succeeds, triggering the lower loading task. The present invention according to the task dependencies to obtain the current task and subordinate tasks in higher task execution success under the premise, can trigger the execution of the current task, thus avoiding the task independently execute and lead to concurrent execution of tasks, the task can be unified management, while avoiding the task between the spare time, can save all the tasks the running time needed to execute, so as to improve the task execution efficiency.

【技术实现步骤摘要】
任务调度管理方法、装置及系统
本专利技术涉及互联网技术,尤其涉及一种跨平台的任务调度管理方法、装置及系统。
技术介绍
当前,随着业务规模的逐渐扩大,企业内部系统或者外部系统中发起的任务数量越来越多,任务种类也越来越繁杂。现有的任务调度系统都是基于复杂的大规模分布式集群来实现的,即一个服务构建于不同的应用集群之上,一个前端请求会调用多个不同的后端业务,调用方式多种多样,如远程过程调用、数据库、分布式缓存、分布式文件系统等。这些后端业务集群可能是由不同的团队来开发的,也可能是使用不同的编程语言来实现的,可能分布在多个服务器之上,也可能横跨多个不同的数据中心。当任务间相互具有依赖关系时,只能通过用户编程的方式实现对单一的任务管理,容易产生大量分散的脚本文件,同时需要管理员或者用户实时地监控各个任务的执行结果,并根据执行结果,通过脚本触发执行后续任务。当任务数量较多时,通常是通过对各个任务按照执行顺序设定不同的执行时间,以达到任务管理效果,但是这样容易导致任务独立执行并导致任务并发执行,容易出现任务结果输出错乱而必须重新执行任务的情况,使得任务无法统一管理,严重影响任务的执行效率。
技术实现思路
本专利技术实施例提供一种任务调度管理方法、装置及系统,可以实现跨平台的统一的任务调度管理。本专利技术实施例第一方面提供的任务调度管理方法,包括:扫描数据库,加载当前任务,并根据用户配置的任务依赖关系确定当前任务的上级任务和下级任务;根据预设规则获取上级任务的执行结果,若上级任务均执行成功,则将当前任务下发给任务执行节点执行;监测当前任务的执行结果,若当前任务执行成功,触发加载下级任务。本专利技术实施例第二方面提供的任务调度管理装置,包括:任务加载模块,用于扫描数据库,加载当前任务,并根据用户配置的任务依赖关系确定当前任务的上级任务和下级任务;任务下发模块,用于根据预设规则获取上级任务的执行结果,若上级任务均执行成功,则将当前任务下发给任务执行节点执行;任务触发模块,用于监测当前任务的执行结果,若当前任务执行成功,则触发加载下级任务。本专利技术实施例第三方面提供的任务调度管理系统,包括:数据库、网页管理界面、任务执行节点和上述第二方面提供的任务调度管理装置,其中,网页管理界面用于配置任务以及任务依赖关系;数据库用于保存通过网页管理界面配置的任务信息以及任务依赖关系信息;任务执行节点用于执行任务调度管理装置下发的任务,并将任务的执行结果返回给任务调度管理装置。基于上述,本专利技术实施例提供的任务调度管理方法、装置及系统,根据任务依赖关系确定当前任务的上级任务以及下级任务,然后按预设规则获取上级任务的执行结果,如果所有的上级任务执行成功,则触发执行当前任务;在当前任务的执行过程当中,监测当前任务的执行结果,如果当前任务执行成功,则触发加载下级任务。本专利技术根据任务依赖关系获得当前任务的上级任务和下级任务,在上级任务执行成功的前提下,即可触发执行当前任务,因此避免了任务独立执行并导致任务并发执行的情况,使得任务能够统一管理。在当前任务执行成功时,就加载下级任务,下级任务在其上级任务执行成功的情况下就可以立即触发执行,避免了任务间的空余时间,能够节约全部任务执行完毕所需耗费的运行时间,从而提高任务的执行效率。附图说明为了更清楚地说明本专利技术或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种任务调度管理方法的流程图;图2a~2b为基于本专利技术实施例的任务依赖关系示意图;图3为本专利技术实施例提供的另一种任务调度管理方法的流程图;图4为本专利技术实施例提供的一种任务调度管理装置的示意图;图5为本专利技术实施例提供的另一种任务调度管理装置的示意图;图6为本专利技术实施例提供的一种任务调度管理系统示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。任务依赖是计算机系统执行任务存在的一种普遍现象。示例一任务1:统计网站的上一个小时的点击访问数量,执行时间是每小时执行一次;任务2:统计网站当天的点击访问数量,执行时间是每天执行一次;任务3:统计网站今天点击访问数量比昨天增长的数量,执行时间是每天执行一次;上面的任务中,任务2依赖任务1;当任务1执行24次之后,再开始执行任务2,将24次的结果求和,就能得到任务2的结果。(据此可以确定任务2的开始时间等。)上面的任务中,任务3又依赖任务2;只有任务2完成后,任务3中用今天的量减去昨天的量得到结果。示例二任务1:将磁盘A中全部图片,压缩为压缩包X;任务2:将压缩包X从磁盘A复制到磁盘B中;任务3:删除磁盘A中的压缩包X;显然,任务2依赖任务1,任务1执行完毕后,才能执行任务2;任务2执行完毕后才能执行任务3。上述任务调度管理,主要用来管理后续任务的执行时间和执行条件是不是满足。如示例一中,如果任务1和任务2执行失败或者由于故障等原因未完成时,任务3就处于等待不执行的状态。示例二中,只有确定任务2成功执行完毕之后,才能执行任务3,否则就可能导致数据丢失。大规模分布式集群在执行任务时,为提高任务执行效率,需要构建一种跨平台的分布式任务调度管理系统,对应的要实现任务调度,必须对任务的依赖关系进行设置和管理。图1为本专利技术实施例提供的一种任务调度管理方法的流程图,如图1所示,本实施例提供的任务调度管理方法包括如下步骤:S11,扫描数据库,加载当前任务,并根据用户配置的任务依赖关系确定当前任务的上级任务和下级任务;S12,根据预设规则获取上级任务的执行结果,若上级任务均执行成功,则将当前任务下发给任务执行节点执行;S13,监测当前任务的执行结果,若当前任务执行成功,则触发加载下级任务。本实施提供的任务调度管理方法可以应用于跨平台的分布式任务调度管理系统,该系统包括数据库、网页管理界面、调度管理服务器和多个计算服务器。其中,上述步骤的执行主体为调度管理服务器,网页管理界面用于配置任务以及任务依赖关系,数据库用于保存任务配置信息以及任务依赖关系信息,计算服务器用于执行调度管理服务器下发的任务,并将任务的执行结果返回给调度管理服务器。用户通过网页管理界面配置任务(job)时,具体可以配置任务标识信息(ID)、任务运行周期、任务类型、运行IP等等。由于具有同一ID的任务,会在每间隔一个运行周期后再次执行,进一步的,还可以根据任务的运行周期创建一个运行时间标记作为任务标签(Tag),以便根据任务ID和任务Tag区分记录不同时段的任务执行结果。具体的,在本实施例中,任务标签可以定义为分时日月年的格式。例如上述的示例一中,任务1的运行周期为每小时运行一次,对任务1的每个运行周期都会生成相应的任务Tag:2016012000、2016012001、2016012002、……本文档来自技高网...
任务调度管理方法、装置及系统

【技术保护点】
一种任务调度管理方法,其特征在于,包括:扫描数据库,加载当前任务,并根据用户配置的任务依赖关系确定所述当前任务的上级任务和下级任务;根据预设规则获取所述上级任务的执行结果,若所述上级任务均执行成功,则将所述当前任务下发给任务执行节点执行;监测当前任务的执行结果,若当前任务执行成功,则触发加载下级任务。

【技术特征摘要】
1.一种任务调度管理方法,其特征在于,包括:扫描数据库,加载当前任务,并根据用户配置的任务依赖关系确定所述当前任务的上级任务和下级任务;根据预设规则获取所述上级任务的执行结果,若所述上级任务均执行成功,则将所述当前任务下发给任务执行节点执行;监测当前任务的执行结果,若当前任务执行成功,则触发加载下级任务。2.根据权利要求1所述的方法,其特征在于,所述预设规则根据所述当前任务与所述上级任务的运行周期和任务标签确定,所述任务标签为根据任务的运行周期创建的运行时间标记。3.根据权利要求2所述的方法,其特征在于,所述根据预设规则获取所述上级任务的执行结果,包括:若所述当前任务的运行周期与所述上级任务的运行周期相同,计算所述当前任务与所述上级任务的任务标签对应的第一时间间隔,获取所述第一时间间隔前的一个运行周期内的上级任务的执行结果;若所述当前任务的运行周期与所述上级任务的运行周期不同,调整所述当前任务的任务标签的格式使其与所述上级任务的任务标签的格式一致,计算调节后的当前任务的任务标签与所述上级任务的任务标签对应的第二时间间隔,获取所述第二时间间隔前的一个当前任务的运行周期内的上级任务的执行结果。4.根据权利要求1~3任一项所述的方法,其特征在于,还包括:若根据预设规则获取所述上级任务的执行结果中至少有一个未执行成功时,执行等待过程;在等待时间超过第一预设时间时,判定所述当前任务等待超时,并发出等待超时告警信息。5.根据权利要求1~3任一项所述的方法,其特征在于,所述将所述当前任务下发给任务执行节点执行之后,还包括:若在第二预设时间内,所述当前任务没有执行成功,判定所述当前任务执行失败,并发出失败告警信息。6.根据权利要求5所述的方法,其特征在于,所述发出失败告警信息之后,还包括:接收用户发送的故障恢复信息,并重新将所述当前任务下发给任务执行节点执行。7.一种任务调度管理装置,其特征在于,包括:任务加载模块,用于扫描数据库,加载当前任务,并根据用户配置的任务依赖关系确定所述当前任务的上级任务和下级任务;任务下发模块,用于根据预设规则获取所述上级任务的执行结果,若所述上级任务均执行成功,则将所述当前任务下发给任务执行节点执行;任务触发模块,用于监测当前任务的执行结果,若当前任务执...

【专利技术属性】
技术研发人员:王剑飞
申请(专利权)人:五八同城信息技术有限公司
类型:发明
国别省市:天津,12

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

1