一种分布式任务调度系统的制作方法

文档序号:6640746阅读:154来源:国知局
一种分布式任务调度系统的制作方法
【专利摘要】本申请公开分布式任务调度系统,任务中间层模块用于通过接口接收输入的任务配置信息配置到调度服务器中,同时存储具有任务编号的任务为至少2个任务工作节点提供;调度服务器用于根据存储的任务配置的执行时程表,当执行时程表中的配置时间到达时,从至少2个任务工作节点选择其中之一,并创建分布式队列的任务和任务编号发送给选择后的任务工作节点;任务工作节点用于接收到调度服务器发送的任务编号后从任务中间层模块查找与其内存储有相同的任务编号,并根据该任务编号从任务中间层模块中查找出对应的任务进行执行。本发明解决了对服务器中计划任务的管理,可以实时监控计划任务的执行状态,当任务失败后如何合理的处理相应的计划任务问题。
【专利说明】一种分布式任务调度系统

【技术领域】
[0001]本申请涉及分布式的数据采集端领域,更具体地,涉及一种分布式任务调度系统。

【背景技术】
[0002]现有技术中,类Unix服务器上通常需要执行一些计划任务,现有方案基本都是使用crontab命令进行周期性的执行任务。
[0003]现在的crontab配置都是单独的写在对应的服务器上,随着线上服务被拆分得越来越细,服务计划任务的数量以及需要管理的服务器数量成倍增长,对计划任务的管理变的越来越复杂;对正在运行的计划任务没有合理的监控机制;当服务器宕机或者停电无法将原有任务转移到其他服务器完成。
[0004]所以,如何解决对服务器中计划任务的管理,同时可以实时监控计划任务的执行状态,当任务失败后如何合理的处理相应的计划任务,成为亟待解决的技术问题。


【发明内容】

[0005]有鉴于此,本申请提供一种分布式任务调度系统,以解决如何对服务器中计划任务的管理,同时可以实时监控计划任务的执行状态,当任务失败后如何合理的处理相应的计划任务问题。
[0006]本申请公开了一种分布式任务调度系统,其特征在于,包括:任务中间层模块、至少一调度服务器和至少2个任务工作节点;其中,
所述任务中间层模块,分别与所述调度服务器和至少2个任务工作节点相耦接,用于通过接口接收输入的任务配置信息配置到所述调度服务器中,同时存储具有任务编号的任务为所述至少2个任务工作节点提供;
所述调度服务器,分别与所述任务中间层模块和至少2个任务工作节点相耦接,用于根据存储的任务配置的执行时程表,当执行时程表中的配置时间到达时,从所述至少2个任务工作节点选择其中之一,并创建分布式队列的任务和任务编号发送给选择后的所述任务工作节点;
所述任务工作节点,分别与所述任务中间层模块和调度服务器相耦接,用于接收到所述调度服务器发送的任务编号后从所述任务中间层模块查找与其内存储有相同的任务编号,并根据该任务编号从所述任务中间层模块中查找出对应的任务进行执行。
[0007]优选地,其中,所述调度服务器,进一步还用于:在创建分布式队列的任务和任务编号发送给选择后的所述任务工作节点时,启动对该任务的超时检查,当超时时间到,且所述任务工作节点并没有将该任务执行完成或任务失败后,会根据配置的失败策略选择重新执行或不执行操作。
[0008]优选地,其中,所述失败策略,包括:当超时时间到,且所述任务工作节点对该任务失败后,选择不执行操作; 或者,当超时时间到,且所述任务工作节点并没有将该任务执行完成后,选择重新执行操作。
[0009]优选地,其中,所述接口,进一步为采用rest接口。
[0010]与现有技术相比,本申请所述的分布式任务调度系统,达到了如下效果:
O本发明解决了对服务器中计划任务的管理,同时可以实时监控计划任务的执行状态,当任务失败后如何合理的处理相应的计划任务。
[0011]2)本发明还实现了计划任务的集中管理,计划任务的安全机制(worknode的选取、任务监控和任务失败的重试)。
[0012]当然,实施本申请的任一产品必不一定需要同时达到以上所述的所有技术效果。
[0013]

【专利附图】

【附图说明】
[0014]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为依据本发明实施例一所述的分布式任务调度系统结构图。
[0015]

【具体实施方式】
[0016]如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性耦接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电性耦接于所述第二装置,或通过其他装置或耦接手段间接地电性耦接至所述第二装置。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求所界定者为准。
[0017]如图1所示,为依据本发明实施例一所述的分布式任务调度系统,该系统包括:任务中间层模块101、至少一调度服务器102和至少2个任务工作节点103 ;其中,
所述任务中间层模块101,分别与所述调度服务器102和至少2个任务工作节点103相耦接,用于通过接口(本实施例采用rest接口,这里不作具体限定)接收输入的任务配置信息配置到所述调度服务器102中,同时存储具有任务编号的任务为所述至少2个任务工作节点103提供;
所述调度服务器102,分别与所述任务中间层模块101和至少2个任务工作节点103相耦接,用于根据存储的任务配置的执行时程表,当执行时程表中的配置时间到达时,从所述至少2个任务工作节点103选择其中之一,并创建分布式队列的任务和任务编号(ID)发送给选择后的所述任务工作节点103 ;
所述任务工作节点103 (worknode),分别与所述任务中间层模块101和调度服务器102相耦接,用于接收到所述调度服务器102发送的任务编号(ID)后从所述任务中间层模块101查找与其内存储有相同的任务编号,并根据该任务编号从所述任务中间层模块101中查找出对应的任务进行执行。
[0018]所述调度服务器102,进一步还用于在创建分布式队列的任务和任务编号发送给选择后的所述任务工作节点103时,启动对该任务的超时检查,当超时时间到,且所述任务工作节点103并没有将该任务执行完成或任务失败后,会根据配置的失败策略选择重新执行或不执行操作。
[0019]所述失败策略,主要包括:当超时时间到,且所述任务工作节点103对该任务失败后,选择不执行操作;
或者,当超时时间到,且所述任务工作节点103并没有将该任务执行完成后,选择重新执行操作。
[0020]当然这里失败策略还可以根据具体内容进行设定,在本发明中,这里不作具体限定。
[0021]所述执行时程表,具体为:让使用者在固定时间或固定间隔执行相应任务之用。
[0022]与现有技术相比,本申请所述的分布式任务调度系统,达到了如下效果:
O本发明解决了对服务器中计划任务的管理,同时可以实时监控计划任务的执行状态,当任务失败后如何合理的处理相应的计划任务。
[0023]2)本发明还实现了计划任务的集中管理,计划任务的安全机制(worknode的选取、任务监控和任务失败的重试)。
[0024]还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者系统中还存在另外的相同要素。
[0025]本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0026]以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
【权利要求】
1.一种分布式任务调度系统,其特征在于,包括:任务中间层模块、至少一调度服务器和至少2个任务工作节点;其中, 所述任务中间层模块,分别与所述调度服务器和至少2个任务工作节点相耦接,用于通过接口接收输入的任务配置信息配置到所述调度服务器中,同时存储具有任务编号的任务为所述至少2个任务工作节点提供; 所述调度服务器,分别与所述任务中间层模块和至少2个任务工作节点相耦接,用于根据存储的任务配置的执行时程表,当执行时程表中的配置时间到达时,从所述至少2个任务工作节点选择其中之一,并创建分布式队列的任务和任务编号发送给选择后的所述任务工作节点; 所述任务工作节点,分别与所述任务中间层模块和调度服务器相耦接,用于接收到所述调度服务器发送的任务编号后从所述任务中间层模块查找与其内存储有相同的任务编号,并根据该任务编号从所述任务中间层模块中查找出对应的任务进行执行。
2.如权利要求1所述的分布式任务调度系统,其特征在于,所述调度服务器,进一步还用于:在创建分布式队列的任务和任务编号发送给选择后的所述任务工作节点时,启动对该任务的超时检查,当超时时间到,且所述任务工作节点并没有将该任务执行完成或任务失败后,会根据配置的失败策略选择重新执行或不执行操作。
3.如权利要求2所述的分布式任务调度系统,其特征在于,所述失败策略,包括:当超时时间到,且所述任务工作节点对该任务失败后,选择不执行操作; 或者,当超时时间到,且所述任务工作节点并没有将该任务执行完成后,选择重新执行操作。
4.如权利要求1所述的分布式任务调度系统,其特征在于,所述接口,进一步为采用rest 接 口。
【文档编号】G06F9/50GK104461747SQ201410845199
【公开日】2015年3月25日 申请日期:2014年12月31日 优先权日:2014年12月31日
【发明者】贺群斐, 舒志龙, 陈学文, 李晓, 彭锦臻, 姚键, 潘柏宇, 卢述奇 申请人:合一网络技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1