[发明专利]定时任务处理方法及装置、系统、电子设备和存储介质在审
申请号: | 202010415060.5 | 申请日: | 2020-05-15 |
公开(公告)号: | CN113672358A | 公开(公告)日: | 2021-11-19 |
发明(设计)人: | 张璐 | 申请(专利权)人: | 北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/54;G06F16/22 |
代理公司: | 北京律智知识产权代理有限公司 11438 | 代理人: | 王辉;阚梓瑄 |
地址: | 100176 北京市大兴区北京经济*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 定时 任务 处理 方法 装置 系统 电子设备 存储 介质 | ||
本公开是关于一种定时任务处理方法及装置、系统、电子设备以及计算机可读存储介质,涉及计算机技术领域,可以应用于对定时任务进行统一管理的场景。该定时任务处理方法包括:获取包括多个定时任务的任务哈希表;其中,定时任务根据延时参数和时间精度存储于任务哈希表的任务节点中;确定目标指针当前指向的任务节点的节点地址,获取与节点地址对应的任务节点中的目标任务;解析目标任务并获取解析结果,根据解析结果判断目标任务是否处于待执行状态;如果目标任务处于待执行状态,则将目标任务推送至任务执行队列以生成待执行任务,并执行待执行任务。本公开可以提供一种高性能、高灵活性、低复杂度并且可以持久化的任务定时管理方法。
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种定时任务处理方法、定时任务处理装置、定时任务处理系统、电子设备以及计算机可读存储介质。
背景技术
业务系统一般可以由多个业务模块组成,这些业务模块被封装成一个个独立部署的应用,独立维护。在这些业务模块中,通常采用一个定时任务管理用于管理各个模块的任务,而各定时任务管理均需要依赖自身的业务数据和逻辑。
如果每个模块中均各自实现的各自模块的定时管理,则可能导致定时功能与业务逻辑耦合在一起,所以定时任务管理中心所要实现的是统一管理这些分布在各个业务模块中的定时任务。
现有的定时管理任务技术实现的方式有很多,目前,常用的实现方式包括:通过面向对象编程语言(Java语言)自带的功能类实现、通过现有的开源扩特兹公式(Quartz)框架实现、通过Spring框架的定时任务管理实现等等。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种定时任务处理方法、定时任务处理装置、电子设备以及计算机可读存储介质,进而至少在一定程度上克服现有的定时任务管理方法无法实现持久化、无法满足多种类任务调度、使用成本高、风险大的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本公开的第一方面,提供一种定时任务处理方法,包括:获取包括多个定时任务的任务哈希表;其中,定时任务根据定时任务的延时参数和预配置的时间精度存储于任务哈希表的任务节点中;确定目标指针当前指向的任务节点的节点地址,获取与节点地址对应的任务节点中的目标任务;其中,目标指针用于轮询任务哈希表;解析目标任务并获取解析结果,根据解析结果判断目标任务是否处于待执行状态;如果目标任务处于待执行状态,则将目标任务推送至任务执行队列以生成待执行任务,并执行待执行任务。
可选的,在获取包括多个定时任务的任务哈希表之前,上述方法还包括:获取第一定时任务的第一延时参数,根据第一延时参数确定第一定时任务在任务哈希表中的第一任务地址;将目标指针当前遍历的节点地址作为当前节点地址;判断当前节点地址与第一任务地址是否相同;如果当前节点地址与第一任务地址相同,则将第一定时任务推送至任务执行队列,以生成待执行任务;如果当前节点地址与第一任务地址不同,则将第一定时任务存储于第一任务地址对应的第一任务节点。
可选的,将第一定时任务存储于任务地址对应的第一任务节点,包括:获取第一定时任务的写入锁;通过写入锁将第一定时任务存储在第一任务节点;响应于第一定时任务的存储操作的执行结束指令,释放写入锁。
可选的,将第一定时任务存储于第一任务地址对应的第一任务节点,包括:获取时间精度,根据第一延时参数和时间精度确定第一定时任务的第一任务地址和第一轮询次数;将第一定时任务和第一轮询次数存储于第一任务节点;其中,根据第一延时参数和时间精度确定第一定时任务的第一任务地址和第一轮询次数,包括:对第一延时参数和时间精度进行整除运算以确定第一任务地址;对第一延时参数和时间精度进行取余运算以确定第一轮询次数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司,未经北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010415060.5/2.html,转载请声明来源钻瓜专利网。