[发明专利]通过定时任务支持集群的方法及装置在审
| 申请号: | 202010118507.2 | 申请日: | 2020-02-25 |
| 公开(公告)号: | CN111459951A | 公开(公告)日: | 2020-07-28 |
| 发明(设计)人: | 林嘉 | 申请(专利权)人: | 深圳联友科技有限公司 |
| 主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F8/30 |
| 代理公司: | 深圳市顺天达专利商标代理有限公司 44217 | 代理人: | 高占元 |
| 地址: | 518031 广东省深圳市福田区深南中路*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 通过 定时 任务 支持 集群 方法 装置 | ||
本发明公开了一种通过定时任务支持集群的方法及装置,方法包括:通过服务器读取于数据库中定时任务状态;依据所述定时任务状态对数据库上锁;执行所述定时任务状态对应的任务;更新所述任务的状态。本发明将定时任务的状态存储在数据库中,利用数据库锁的方式,避免定时任务重复执行,并且使定时任务可以在多个服务器上运行。
技术领域
本发明涉及定时任务执行技术领域,更具体地说,涉及一种通过定时任务 支持集群的方法及装置。
背景技术
在业务需求中经常会有这样的需求:在某一时刻执行某项任务。为了避免 任务被重复执行,这个任务一般都部署在一台单独的服务器上。如果服务器出 现故障,会导致任务无法按时执行。但是如果部署在多台服务器上,又会导致 任务被重复执行,造成数据被重复处理的问题。同时,定时任务部署在一台单 独的服务器上,如果服务器出现故障,会导致任务无法按时执行。
发明内容
本发明提供了一种通过定时任务支持集群的方法及装置,能够解决现有技 术中定时任务部署在一台单独的服务器上,如果服务器出现故障,会导致任务 无法按时执行的问题。
为解决上述问题,第一方面,本发明提供了一种通过定时任务支持集群的 方法,包括:
通过服务器读取于数据库中定时任务状态;
依据所述定时任务状态对数据库上锁;
执行所述定时任务状态对应的任务;
更新所述任务的状态。
其中,所述通过服务器读取于数据库中定时任务状态,包括:
通过所述数据库维护定时任务信息,并使用标志位来控制;
通过服务器读取于数据库中的定时任务状态以更新标志位。
其中,所述依据所述定时任务状态对数据库上锁,包括:
判断所述定时任务状态是否为执行;
若所述定时任务状态不在执行,则更新标志位为所述定时任务为运行中;
若所述定时任务状态正在执行,则不执行。
其中,所述执行所述定时任务状态对应的任务中:
通过所述服务器执行所述定时任务状态对应的任务。
其中,所述更新所述任务的状态中:
当定时任务执行完毕后,更新标志位状态为已完成。
为解决上述问题,提供一种通过定时任务支持集群的装置,包括读取模块、 上锁模块、执行模块及更新模块:
所述读取模块,用于通过服务器读取于数据库中定时任务状态;
所述上锁模块,用于依据所述定时任务状态对数据库上锁;
所述执行模块,用于执行所述定时任务状态对应的任务;
所述更新模块,用于更新所述任务的状态。
其中,所述读取模块包括维护子模块及读取子模块:
所述维护子模块,用于通过所述数据库维护定时任务信息,并使用标志位 来控制;
所述读取子模块,用于通过服务器读取于数据库中的定时任务状态以更新 标志位。
其中,所述上锁模块包括判断子模块、标志位更新子模块及执行控制子模 块:
所述判断子模块,用于判断所述定时任务状态是否为执行;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳联友科技有限公司,未经深圳联友科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010118507.2/2.html,转载请声明来源钻瓜专利网。





