[发明专利]一种分布式定时任务的实现方法及执行系统在审

专利信息
申请号: 201710751244.7 申请日: 2017-08-28
公开(公告)号: CN107483601A 公开(公告)日: 2017-12-15
发明(设计)人: 黄启庆 申请(专利权)人: 郑州云海信息技术有限公司
主分类号: H04L29/08 分类号: H04L29/08;H04L12/26;H04L12/24;G06F9/48
代理公司: 济南信达专利事务所有限公司37100 代理人: 孙园园
地址: 450000 河南省郑州市*** 国省代码: 河南;41
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 分布式 定时 任务 实现 方法 执行 系统
【说明书】:

技术领域

本发明涉及计算机领域,具体地说是一种分布式定时任务的实现方法及执行系统。

背景技术

在软件领域,定时任务经常被用到,单节点部署时,存在单点故障和性能问题;集群部署时,又面临任务重复执行的问题;采用外部专业的定时任务插件,对本身业务代码侵入性强,风险高,不可控。

专利号为CN 106569878A专利文献公开了一种分布式定时任务管理方法和系统,其中,所述方法包括:判断当前时间与待执行任务的执行时间是否相匹配;以及,获取多个分布式服务器的服务器状态信息;在当前时间与所述执行时间相匹配时,根据所述服务器状态信息从所述多个分布式服务器中选择与所述待执行任务相匹配的执行服务器;将用于指示执行所述待执行任务的执行信息发送至所述选择的相匹配的执行服务器,以使所述执行服务器根据所述执行信息执行所述待执行任务。但是该技术方案不能实现集群部署,避免单点故障以及分布式部署时可防止任务重复执行。

发明内容

本发明的技术任务是的技术任务是针对现有技术中的不足,提供一种分布式定时任务的实现方法及执行系统。

本发明的技术任务是按以下方式实现的,一种分布式定时任务的实现方法,该方法包括如下步骤:

(一)、每个节点分布式部署任务执行模块和心跳检测模块,且所有节点共享同一个数据库;

(二)、数据库包括若干数据表,建立一个数据表,该数据表用于保存任务名称、状态、开始执行时间、结束执行时间、正在执行任务的节点的主机名称以及最近一次心跳时间;

(三)、从数据表中获取任务的当前状态,任务执行模块执行任务并更新任务状态;

(四)、心跳监测模块更新心跳时间并更新数据表,并对任务执行异常的任务状态进行重置。

作为优选,所述步骤(三)中任务执行模块执行任务并更新任务状态的具体步骤如下:

(1)、任务执行模块检查任务是否正在执行:

(ⅰ)、若任务状态是正在执行,则跳转至步骤⑤;

(ⅱ)、若任务状态不是正在执行,则执行步骤②;

(2)、将任务状态修改为运行中running;

(3)、执行任务关联的业务逻辑;

(4)、将任务状态修改为not-running;

(5)、结束;

其中,从数据表中取得任务当前状态,即任务执行模块检查任务状态时应使用select for update行级锁。

更优地,所述步骤(四)中心跳监测模块更新心跳时间并更新数据表,并对任务执行异常的任务状态进行重置的具体步骤如下:

①、心跳监测模块检查任务是否正在执行:

(ⅰ)、若任务是正在执行,则执行步骤②;

(ⅱ)、若任务不是正在执行,则跳转至步骤⑤;

②、检查正在执行任务的节点是否是当前节点:

(ⅰ)、若是当前节点,则更新心跳时间并跳转至步骤⑤;

(ⅱ)、若不是当前节点,则执行步骤③;

③、检查上次心跳时间距当前时间是否已超过60秒:

若是,则执行步骤④;

④、将任务状态修改为not-running;

⑤、结束。

更优地,所述步骤②是通过主机名称检查正在执行任务的节点是否是当前节点。

一种分布式定时任务的执行系统,该系统包括若干节点,若干节点共享一个数据库,每个节点均设置有任务执行模块和心跳监测模块;

其中,任务执行模块主要负责任务的执行和任务状态的更新;

心跳监测模块主要负责更新心跳时间以及任务执行异常时状态的重置。

本发明的分布式定时任务的实现方法及执行系统具有以下优点:

(一)、本发明支持分布式集群部署,能有效避免单点故障,同时还能有效防止任务的重复执行,实现复杂度低,能有效降低研发成本;

(二)本发明能有效减少软件产品对外部软件产品的依赖,减少了风险和不可控性,同时能够更快速的集成到软件产品中;

(三)、本发明支持集群部署,避免单点故障,防止任务重复执行的处理机制;采用分布式部署时可防止任务重复执行,实现简单,学习成本低,易掌控。

附图说明

下面结合附图对本发明进一步说明。

附图1为分布式定时任务的实现方法中任务执行模块的流程框图;

附图2为分布式定时任务的实现方法中心跳监测模块的流程框图;

附图3为分布式定时任务的执行系统的结构框图。

具体实施方式

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201710751244.7/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top