[发明专利]一种分布式定时任务控制装置及方法有效
申请号: | 201310102698.3 | 申请日: | 2013-03-27 |
公开(公告)号: | CN103197969B | 公开(公告)日: | 2017-02-08 |
发明(设计)人: | 安海雄;高巍;邬晶 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙)11201 | 代理人: | 宋合成 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 定时 任务 控制 装置 方法 | ||
技术领域
本发明涉及云开发技术领域,特别涉及一种分布式定时任务控制装置及方法。
背景技术
Cron,计划任务,是任务在约定的时间执行已经计划好的工作。例如,可以在配置文件中约定每天早上4点将httpd服务器重新启动,每天晚上10点钟给某个邮箱发一封信,都是计划任务。
在Linux系统中,计划任务一般是由cron承担,cron可以根据配置文件约定的时间来执行特定的任务。将cron设置为开机时自动启动。cron启动后,它会读取它的所有配置文件,如全局性配置文件/etc/crontab,以及每个用户的计划任务配置文件,然后cron会根据命令和执行时间来按时来调用度工作任务。
cron可以在无需人工干预的情况下运行作业,但是缺点在于不提供任何形式的API,只能通过应用的配置文件来配置Cron任务,局限于应用内部使用,缺少了灵活性。
发明内容
本发明旨在至少在一定程度上解决上述技术问题之一或至少提供一种有用的商业选择。
为此,本发明的第一个目的在于提出一种分布式定时任务控制装置,可以提供一种分布式的Cron处理系统,可以处理高并发的Cron任务,只与用户相关,使用者可以使用应用程序之外的URL作为定时任务的地址,更加灵活方便。
本发明的第二个目的在于提出一种分布式定时任务控制方法。
为达到上述目的,本发明第一方面的实施例提出了一种分布式定时任务控制装置,包括:接收模块,用于接收定时任务Cron的指令;数据库模块,用于保存Cron记录,其中,每个所述Cron记录具有对应的当前状态信息;多个调度模块,用于分别根据调度时间表对所述数据库模块中的Cron记录进行调度,当Cron记录满足所述调度时间表之后,根据所述Cron记录对应的当前状态信息将所述Cron记录放置到执行队列中;执行模块,用于执行所述执行队列之中的Cron记录。
根据本发明实施例的分布式定时任务控制装置,提供了一种分布式的Cron装置,可以处理高并发的Cron任务,用户可以同时创建并运行多个Cron,提供了友好的SDK和HTTP接口,只与用户相关,不依赖于应用,使用者可以使用应用程序之外的URL作为定时任务的地址,更加灵活方便。
在本发明的一个实施例中,每个所述Cron记录还具有对应的执行状态信息,所述执行模块根据所述执行状态信息执行所述执行队列之中的Cron记录。
在本发明的一个实施例中,所述当前状态信息包括活跃状态、结束状态、删除状态、暂停状态和配额超限状态中的一种或多种。
在本发明的一个实施例中,所述多个调度模块对处于活跃状态的Cron记录进行调度。
在本发明的一个实施例中,其特征在于,所述执行状态信息包括就绪状态、调度状态和运行状态。
在本发明的一个实施例中,当所述调度模块将Cron记录放置到所述执行队列中之后,将所述Cron记录的执行状态信息修改为调度状态。
在本发明的一个实施例中,当所述Cron记录的执行状态信息为调度状态或运行状态时,所述执行模块不执行所述Cron记录。
在本发明的一个实施例中,所述调度模块还用于在Cron记录超时之后,将所述Cron记录丢弃。
在本发明的一个实施例中,所述数据库包括多个子数据库,且每个子数据库包括多个数据列表。
本发明第二方面实施例提出了一种分布式定时任务控制方法,包括以下步骤:接收定时任务Cron的指令并保存,其中每个所述Cron记录具有对应的当前状态信息;根据调度时间表对数据库模块中的Cron记录进行调度;当所述Cron记录满足所述调度时间表时,根据所述Cron记录对应的当前状态信息将所述Cron记录放置到执行队列中;执行所述执行队列之中的Cron记录。
根据本发明实施例的分布式定时任务控制方法提供了一种分布式的Cron实现方案,可以处理高并发的Cron任务,用户可以同时创建并运行多个Cron,提供了友好的SDK和HTTP接口,只与用户相关,不依赖于应用,使用者可以使用应用程序之外的URL作为定时任务的地址,更加灵活方便。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明所述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明一个实施例的分布式定时任务控制装置的结构示意图;
图2a为根据本发明一个实施例的调度模块的抓取的示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310102698.3/2.html,转载请声明来源钻瓜专利网。