The present invention relates to the field of computer technology, the concrete realization method provides a distributed timing task and execution system, the execution system of distributed timed task comprises a number of nodes, number of nodes sharing a database; each node is provided with task execution module and the heartbeat monitoring module; wherein, the task execution module is mainly responsible for task execution and the task status updates; heartbeat monitoring module is mainly responsible for updating the heartbeat time and reset task abnormal state. Compared with the existing technology, method and implementation of distributed execution system timing task of the present invention, support distributed cluster deployment, can effectively avoid the single point of failure, and can effectively prevent the repeated execution of the task, low complexity and can effectively reduce the research cost, can effectively reduce the dependence on external software products, software products, reduce the risk is not controllable and, at the same time can be integrated into software products more quickly, has the good application value.
【技术实现步骤摘要】
一种分布式定时任务的实现方法及执行系统
本专利技术涉及计算机领域,具体地说是一种分布式定时任务的实现方法及执行系统。
技术介绍
在软件领域,定时任务经常被用到,单节点部署时,存在单点故障和性能问题;集群部署时,又面临任务重复执行的问题;采用外部专业的定时任务插件,对本身业务代码侵入性强,风险高,不可控。专利号为CN106569878A专利文献公开了一种分布式定时任务管理方法和系统,其中,所述方法包括:判断当前时间与待执行任务的执行时间是否相匹配;以及,获取多个分布式服务器的服务器状态信息;在当前时间与所述执行时间相匹配时,根据所述服务器状态信息从所述多个分布式服务器中选择与所述待执行任务相匹配的执行服务器;将用于指示执行所述待执行任务的执行信息发送至所述选择的相匹配的执行服务器,以使所述执行服务器根据所述执行信息执行所述待执行任务。但是该技术方案不能实现集群部署,避免单点故障以及分布式部署时可防止任务重复执行。
技术实现思路
本专利技术的技术任务是的技术任务是针对现有技术中的不足,提供一种分布式定时任务的实现方法及执行系统。本专利技术的技术任务是按以下方式实现的,一种分布式定时任务的实现方法,该方法包括如下步骤:(一)、每个节点分布式部署任务执行模块和心跳检测模块,且所有节点共享同一个数据库;(二)、数据库包括若干数据表,建立一个数据表,该数据表用于保存任务名称、状态、开始执行时间、结束执行时间、正在执行任务的节点的主机名称以及最近一次心跳时间;(三)、从数据表中获取任务的当前状态,任务执行模块执行任务并更新任务状态;(四)、心跳监测模块更新心跳时间并更新数据 ...
【技术保护点】
一种分布式定时任务的实现方法,其特征在于,该方法包括如下步骤:(一)、每个节点分布式部署任务执行模块和心跳检测模块,且所有节点共享同一个数据库;(二)、数据库包括若干数据表,建立一个数据表,该数据表用于保存任务名称、状态、开始执行时间、结束执行时间、正在执行任务的节点的主机名称以及最近一次心跳时间;(三)、从数据表中获取任务的当前状态,任务执行模块执行任务并更新任务状态;(四)、心跳监测模块更新心跳时间并更新数据表,并对任务执行异常的任务状态进行重置。
【技术特征摘要】
1.一种分布式定时任务的实现方法,其特征在于,该方法包括如下步骤:(一)、每个节点分布式部署任务执行模块和心跳检测模块,且所有节点共享同一个数据库;(二)、数据库包括若干数据表,建立一个数据表,该数据表用于保存任务名称、状态、开始执行时间、结束执行时间、正在执行任务的节点的主机名称以及最近一次心跳时间;(三)、从数据表中获取任务的当前状态,任务执行模块执行任务并更新任务状态;(四)、心跳监测模块更新心跳时间并更新数据表,并对任务执行异常的任务状态进行重置。2.根据权利要求1所述的分布式定时任务的实现方法,其特征在于,所述步骤(三)中任务执行模块执行任务并更新任务状态的具体步骤如下:(1)、任务执行模块检查任务是否正在执行:(ⅰ)、若任务状态是正在执行,则跳转至步骤⑤;(ⅱ)、若任务状态不是正在执行,则执行步骤②;(2)、将任务状态修改为运行中running;(3)、执行任务关联的业务逻辑;(4)、将任务状态修改为not-running;(5)、结束。3.根据权利要求1或2所述的...
【专利技术属性】
技术研发人员:黄启庆,
申请(专利权)人:郑州云海信息技术有限公司,
类型:发明
国别省市:河南,41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。