一种分布式任务调度系统及方法技术方案

技术编号:15329245 阅读:131 留言:0更新日期:2017-05-16 12:58
本发明专利技术的主要目的在于提出一种分布式任务调度系统及方法,旨在解决现有技术的任务调度方式缺少分布式并行执行功能的问题。该系统包括:至少一个调度模块以及至少两个执行模块;调度模块用于接收外部输入的配置信息,并根据配置信息向至少两个执行模块中的至少一个执行模块发起调度请求;执行模块用于在接收来自调度模块的调度请求后,根据调度请求执行对应的业务逻辑,该方案提高了系统整体的稳定性和可扩展性。

Distributed task scheduling system and method

The main purpose of the invention is to present a distributed task scheduling system and method, which aims at solving the problem that the task scheduling mode of the prior art lacks the function of distributed parallel execution. The system includes at least one scheduling module and at least two execution module; scheduling module is used for receiving external configuration information input, and according to the configuration information to the at least one execution module at least two executing module initiated scheduling request; execution module is used in receiving from the scheduling request scheduling module, according to the dispatch service request logic execution corresponding, the scheme improves the overall system stability and scalability.

【技术实现步骤摘要】
一种分布式任务调度系统及方法
本专利技术涉及计算机互联网领域,尤其涉及一种分布式任务调度系统及方法。
技术介绍
随着互联网技术的快速发展,客户端任务的调用技术也日益成熟,在不同系统之间的交互过程中,现有的关于任务的调度方式均采用预先设定调度规则的方式去处理,一般情况下,工作人员通常会在调用程序中撰写一条具体的调度程序,为了保证调度的准确性,该调度程序的类型仅针对一种调度任务。目前,现在使用的定时任务大致有以下几种:Crontab:Linux系统级的定时任务执行器,该任务执行器缺乏分布式和集中管理功能。Quartz:Java事实上的定时任务标准。但Quartz关注点在于定时任务而非数据,并无一套根据数据处理而定制化的流程。虽然Quartz可以基于数据库实现作业的高可用,但缺少分布式并行执行作业的功能。上述的定时任务管理麻烦、可能因为各种原因失败、且失败不能及时通知相关负责人。
技术实现思路
本专利技术的主要目的在于提出一种分布式任务调度系统及方法,旨在解决现有技术的任务调度方式缺少分布式并行执行功能的问题。根据本专利技术的一个方面,提供了一种分布式任务调度系统,该系统包括:至少一个调度模块以及至少两个执行模块;调度模块用于接收外部输入的配置信息,并根据配置信息向至少两个执行模块中的至少一个执行模块发起调度请求;执行模块用于在接收来自调度模块的调度请求后,根据调度请求执行对应的业务逻辑。其中,上述配置信息包括:任务组、任务描述、执行器地址、计划任务时间、工作处理程序、报警邮件、任务负责人、以及超时时间。其中,上述调度模块,包括:调度池、调度器、回调任务模块以及调度日志模块;调度池用于存储线程资源;调度器用于根据配置信息向调度池请求线程资源,通过线程资源向执行器发起调度请求;回调服务模块用于返回调度状态/结果;调度日志模块用于保存调度日志以及执行日志,以及根据外部输入的指令对调度日志或执行日志进行查看或更改。其中,上述执行模块,包括:执行器、任务模块以及回调日志模块;执行器用于根据来自调度模块的调度请求执行对应的业务逻辑;任务模块用于存储业务逻辑;回调日志模块用于在一个任务执行完成后,将任务执行的结果发送至调度模块,以是调度模块呈现任务执行的结果。其中,上述调度模块还用于:接收外部输入的暂停任务指令、终止任务指令、删除任务指令以及查看、修改日志的指令,日志包括:执行日志以及调度日志;在接收到暂停任务指令后,暂停对应任务的调度;在接收到删除任务指令后,删除对应的任务;在接收到查看、修改日志的指令后,呈现、修改对应的日志。其中,上述执行模块还用于:在通过调度模块所呈现的调度日志页面接收到的终止任务执行指令后,终止对应任务的执行。根据本专利技术的另一个方面,提供了一种分布式任务调度方法,包括:通过调度模块接收外部输入的配置信息;将配置信息发送至执行模块,通过执行模块执行与配置信息对应的业务逻辑。其中,上述配置信息包括:任务组、任务描述、执行器地址、计划任务时间、工作处理程序、报警邮件、任务负责人、以及超时时间。进一步的,上述方法还包括:通过调度模块接收外部输入的暂停任务指令、终止任务指令、删除任务指令以及查看、修改日志的指令,日志包括:执行日志以及调度日志;在接收到暂停任务指令后,暂停对应任务的调度;在接收到删除任务指令后,删除对应的任务;在接收到查看、修改日志的指令后,呈现、修改对应的日志。进一步的,上述方法还包括:在通过调度模块所呈现的调度日志页面接收到的终止任务执行指令后,终止对应任务的执行。本专利技术提出的分布式调度系统,将调度以及执行部分进行解耦,提高了系统整体的稳定性和可扩展性,同时,由于可接受外部输入的配置信息,根据配置信息对任务进行调度,实现了任务的并行执行,提高了系统的效率。附图说明图1是本专利技术第一实施例中的分布式调度系统的结构框图;图2是配置信息的用户界面示意图;图3是本专利技术第二实施例中的分布式调度系统的结构框图;图4是调度日志的界面示意图;图5是本专利技术第二实施例的分布式任务调度系统的用户界面示意图;图6是在日志页面终止任务执行的示意图;图7是在本专利技术第四实施例提供的分布式任务调度方法的流程图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。现在将参考附图描述实现本专利技术各个实施例的移动终端。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本专利技术的说明,其本身并没有特定的意义。因此,"模块"与"部件"可以混合地使用。第一实施例本实施例提供了一种分布式任务调度系统,图1是该系统的结构框图,如图1所示,该系统10可以包括如下组成部分:至少一个调度模块11(图1中以一个调度模块进行示例,具体不限于一个)以及至少两个执行模块12(图中暂且以两个执行模块进行示例,具体不限于两个);其中,调度模块11用于接收外部输入的配置信息,并根据配置信息向至少两个执行模块中的至少一个执行模块发起调度请求;其中,调度模块可以借助终端设备呈现一个用户界面,如图2所示,该界面上可以具有供用户输入配置信息的接口,该配置信息即可以是由用户通过该接口进行输入的,也可以是通过其他形式输入的,本实施例中所涉及到的配置信息具体可以包括:任务组、任务描述、执行器地址、计划任务时间、工作处理程序、报警邮件、任务负责人、以及超时时间,可选的,配置信息还可以包括执行参数以及子任务唯一标识,即,在配置信息的过程中用户可以设置执行参数以及子任务唯一标识,也可以不设置这两项参数。其中,在使用本实施例提供的任务调度系统配置新建任务时,用户首先需要登录调度模块,用户登陆成功后即可基于调度模块提供的用户界面进行配置信息的设置。执行模块12用于在接收来自调度模块的调度请求后,根据调度请求执行对应的业务逻辑。需要说明的是,本实施例中所涉及到的调度模块仅负责发起调度请求等操作,所有的任务的调度参数、调度日志都保存在调度模块,该模块不承担业务逻辑,而执行器则只负责业务逻辑,不负责任务的具体调度执行,这样使得本实施例所提供的任务调度系统的“调度”和“任务”两个部分可以相互解耦,提高了任务调度系统整体的稳定性以及可扩展性。可选的,本实施例所涉及的分布式任务调度系统可以是使用Quartz进行开发的。第二实施例本实施例在上述第一实施例提供的分布式任务调度系统的基础上,提供了另一种具有更多功能的系统,图3是该系统的结构框图,如图3所示,该系统具有如下特点:如图3所示,该系统30包括调度模块31以及执行模块32,其中,调度模块31包括:调度池311、调度器312、回调任务模块313以及调度日志模块314;其中,调度池311用于存储线程资源;调度器312用于根据配置信息向调度池请求线程资源,通过线程资源向执行器发起调度请求;回调服务模块313用于返回调度状态/结果;调度日志模块314用于保存调度日志以及执行日志,以及根据外部输入的指令对调度日志或执行日志进行查看或更改,如图4所示。其中,如图3所示,执行模块32具体包括:执行器321、任务模块322以及回调日志模块323;执行器321用于根据来自调度模块的调度请求执行对应的业务逻辑;任务模块322用于本文档来自技高网...
一种分布式任务调度系统及方法

【技术保护点】
一种消息分发装置,其特征在于,所述装置包括:读取模块,用于从消息系统中读取消息;划分模块,用于将读取到的消息划分为多组消息;创建模块,用于创建多个子线程;发送模块,用于将所述多组消息分别发送至各子线程。

【技术特征摘要】
1.一种消息分发装置,其特征在于,所述装置包括:读取模块,用于从消息系统中读取消息;划分模块,用于将读取到的消息划分为多组消息;创建模块,用于创建多个子线程;发送模块,用于将所述多组消息分别发送至各子线程。2.根据权利要求1所述的装置,其特征在于,所述划分模块具体用于:将读取到的消息划分为消息个数均等的多组消息。3.根据权利要求1所述的装置,其特征在于,所述创建模块具体用于:创建与划分后的多组消息的组数相同个数的子线程。4.根据权利要求1所述的装置,所述读取模块具体用于:调用消息系统消费者客户端的接口来读取所述消息系统中的消息。5.根据权利要求1至4任意一项所述的装置,其特征在于,所述创建模块具体用于:创建预设个数的子线程;或根据接收到的外部指令创建与所述外部指令对应个数的子...

【专利技术属性】
技术研发人员:林桂泉
申请(专利权)人:努比亚技术有限公司
类型:发明
国别省市:广东,44

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

1