[发明专利]一种定时任务的执行方法、装置、计算机设备及存储介质在审
申请号: | 201911301277.7 | 申请日: | 2019-12-17 |
公开(公告)号: | CN111078413A | 公开(公告)日: | 2020-04-28 |
发明(设计)人: | 李恺;何柄融;许煜彬;王伟 | 申请(专利权)人: | 深圳前海环融联易信息科技服务有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/54;G06F16/25;G06F16/21 |
代理公司: | 深圳市精英专利事务所 44242 | 代理人: | 武志峰 |
地址: | 518000 广东省深圳市前海深港合作区前*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 定时 任务 执行 方法 装置 计算机 设备 存储 介质 | ||
本发明公开了定时任务的执行方法、装置、计算机设备及存储介质,涉及计算机技术领域。所述方法包括:设置多个哈希槽;将每台服务器与其中的一部分哈希槽进行关联;获取定时任务中各条数据的主键字段,并通过所述主键字段对所述哈希槽的总数量进行取模计算,得到取模结果;根据取模结果将相应的数据分配至对应的服务器进行处理;通过Redis数据库记录参与定时任务的服务器的总数量;判断所述服务器的总数量与处理完对应数据的服务器的数量是否相等;若相等,则结束当前定时任务;若不相等,则继续等待未处理完对应数据的服务器完成当前定时任务。本发明设置多个哈希槽,使定时任务能够均匀分配至各服务器,同时利用Redis数据库实现定时任务同步执行。
技术领域
本发明涉及计算机技术领域,特别涉及一种定时任务的执行方法、装置、计算机设备及存储介质。
背景技术
现有技术中,主要有两种执行定时任务的技术方案:第一种方案是分布式锁方案,通过对定时任务加锁,保证多台服务器在定时任务触发时只有一台服务器执行定时任务;第二种方案是根据数据的主键字段取模实现定时任务分配,使每台服务器都可以被分配到一部分定时任务。
但是上述两种还存在一定的缺陷:第一种方案中,采用分布式锁增加了技术难度,并且无法发挥出集群服务器的优势,另外如果执行定时任务的服务器出现异常,则其他服务器无法代为执行定时任务;第二种方案中,当主键字段取模分配不均匀时,可能会导致有的服务器出现负荷运行,从而导致各服务器无法同步执行定时任务,而且如果出现服务器数量的增加或者减少的情况时,还可能导致定时任务中的数据被重复处理。因此如何实现均匀分配定时任务以及同步执行定时任务是本领域技术人员需要解决的问题。
发明内容
本发明提供了一种定时任务的执行方法、装置、计算机设备及存储介质,旨在解决定时任务分配不均匀以及定时任务执行不同步的问题。
第一方面,本发明实施例提供了一种定时任务的执行方法,包括:
设置多个哈希槽,并对所述多个哈希槽进行编号;
将每台服务器与其中的一部分哈希槽进行关联,且每台服务器关联的哈希槽不相同;
当需要对定时任务进行执行时,获取定时任务中各条数据的主键字段,并通过所述主键字段对所述哈希槽的总数量进行取模计算,得到取模结果;
根据所述取模结果确定对应哈希槽的编号,并基于所述编号确定对应哈希槽关联的服务器,再将相应的数据分配至对应的服务器进行处理;
通过Redis数据库记录参与所述定时任务的服务器的总数量;
在Redis数据库中记录处理完对应数据的服务器的数量,并判断所述服务器的总数量与处理完对应数据的服务器的数量是否相等;
若相等,则结束当前定时任务,并将所述Redis数据库中记录的服务器的总数量以及处理完对应数据的服务器的数量均重置为0;
若不相等,则继续等待未处理完对应数据的服务器完成当前定时任务。
进一步的,所述将每台服务器与其中的一部分哈希槽进行关联,且每台服务器关联的哈希槽不相同,包括:
将所述哈希槽的总数量除以服务器的总数量,得到每台服务器关联的哈希槽的数量;
依次从所有哈希槽中取出对应数量的哈希槽分配至每台服务器,并将每台服务器与分配的哈希槽进行关联。
进一步的,所述当需要对定时任务的各条数据进行处理时,获取各条数据的主键字段,并通过所述主键字段对所述哈希槽的总数量进行取模计算,得到取模结果包括:
根据哈希算法计算各条数据的主键字段对应的哈希值;
通过所述哈希值对所述哈希槽的总数量进行取模计算,得到取模结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳前海环融联易信息科技服务有限公司,未经深圳前海环融联易信息科技服务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911301277.7/2.html,转载请声明来源钻瓜专利网。