一种利用数据库锁实现定时任务原子性的方法
基本信息
申请号 | 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、任务执行完成后更新锁数据,查看任务执行结果。本发明基于定时任务特性,将定时任务时间锁集合数据库行级锁来实现定时任务的原子性,保证多副本情况下的服务定时任务唯一性,从而避免定时任务导致的脏数据问题。 |
