一种利用数据库锁实现定时任务原子性的方法

基本信息

申请号 CN202111164926.0 申请日 -
公开(公告)号 CN113836161A 公开(公告)日 2021-12-24
申请公布号 CN113836161A 申请公布日 2021-12-24
分类号 G06F16/23(2019.01)I;G06F9/50(2006.01)I;G06F9/48(2006.01)I 分类 计算;推算;计数;
发明人 李伟伟 申请(专利权)人 紫光云技术有限公司
代理机构 天津滨海科纬知识产权代理有限公司 代理人 李彦彦
地址 300459天津市滨海新区高新区塘沽海洋科技园汇祥道399号6号楼
法律状态 -

摘要

摘要 本发明提供了一种利用数据库锁实现定时任务原子性的方法,包括如下步骤:S1、设置多组虚拟机节点,每组虚拟机节点上均部署有ntp服务器;S2、设置定时任务时间锁对应的时间规范;S3、设置时间锁主键,设置时间锁的定时任务抢占数据库行级锁;S4、根据步骤S3的时间锁返回结果,判断是否抢占到任务;S5、抢占到时间锁的定时任务进入任务执行队列,并执行此处任务,未抢占到时间锁的定时任务放弃此次执行任务;S6、任务执行完成后更新锁数据,查看任务执行结果。本发明基于定时任务特性,将定时任务时间锁集合数据库行级锁来实现定时任务的原子性,保证多副本情况下的服务定时任务唯一性,从而避免定时任务导致的脏数据问题。