[发明专利]定时任务调度方法、装置、计算机设备和存储介质在审
申请号: | 202111414529.4 | 申请日: | 2021-11-25 |
公开(公告)号: | CN114168281A | 公开(公告)日: | 2022-03-11 |
发明(设计)人: | 王冰;黄显龙 | 申请(专利权)人: | 中国建设银行股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50;G06F9/54 |
代理公司: | 华进联合专利商标代理有限公司 44224 | 代理人: | 吴平 |
地址: | 100033 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 定时 任务 调度 方法 装置 计算机 设备 存储 介质 | ||
本申请涉及一种定时任务调度方法、装置、计算机设备、存储介质以及计算机程序产品,其中,方法包括:获取定时任务的事件报文;根据所述事件报文携带的业务数据确定分层时间轮粒度,获取与所述分层时间轮粒度对应的延时队列,所述延时队列与死信交换器绑定;将所述事件报文对应的事件注册至所述延时队列,得到有效延时队列;基于有效延时队列以及绑定的死信交换器,采用分层时间轮策略消费所述事件;当满足事件触发条件时,将所述事件写入任务执行队列、以执行所述定时任务。整个过程中,基于延时队列以及死信交换器可以实现消息的延时消费,并且采用分层时间轮策略来实现消费调度,有效避免消息拥堵,实现高效的定时任务调度。
技术领域
本申请涉及大数据资源调度技术领域,特别是涉及一种定时任务调度方法、装置、计算机设备、存储介质以及计算机程序产品。
背景技术
在实际应用开发中,定时任务调度是一项不可或缺的服务。定时任务调度是一种预设任务,周期性或一次性执行定时任务。
目前,Linux内置的crontab定时任务,可以在固定的时间间隔执行指定的系统指令或者shell脚本。JDK自带的Timer定时任务执行类,使用起来简单方便。
但每一个定时任务都启动一个timer,低效且耗时。并且当一个任务执行时间过长或者执行异常时都会影响到其他任务的执行。Spring的Schedule时间表定时任务通过轮询数据库实现定时任务,由于需要一直占用线程,同时需要保持数据库连接状态,轮询数据来确定是否执行定时任务,给数据库造成较大压力,且定时任务的时间误差较大。Quartz通过Trigger来设置调度策略,SimpleTrigger在特定时间间隔执行任务一次或多次,CronTrigger基于日历的任务调度,实现更复杂的调度安排。Rabbitmq使用消息TTL(TimeTo Live)和死信队列的特性来实现延迟任务,以达到定时执行的目的。但由于队列先进先出的特性,只有位于队首的过期消息,才会路由到死信队列,这就要求了每个任务的执行时间是一致的,大大限制了使用场景。或者保证相同延迟时间的消息进入同一个队列,对不同定时要求的业务绑定不同队列,大大浪费了队列资源,造成定时任务调度效率低下。
发明内容
基于此,有必要针对上述技术问题,提供一种高效的定时任务调度方法、装置、计算机设备和存储介质。
一种定时任务调度方法,所述方法包括:
获取定时任务的事件报文;
根据所述事件报文携带的业务数据确定分层时间轮粒度,获取与所述分层时间轮粒度对应的延时队列,所述延时队列与死信交换器绑定;
将所述事件报文对应的事件注册至所述延时队列,得到有效延时队列;
基于有效延时队列以及绑定的死信交换器,采用分层时间轮策略消费所述事件;
当满足事件触发条件时,将所述事件写入任务执行队列、以执行所述定时任务。
在其中一个实施例中,所述基于有效延时队列以及绑定的死信交换器,采用分层时间轮策略消费所述事件包括:
监听所有时间粒度的有效延时队列中事件在死信交换器处循环消费情况,并采用分层时间轮策略对循环消费进行级联调度。
在其中一个实施例中,所述监听所有时间粒度的有效延时队列中事件在死信交换器处循环消费情况,并采用分层时间轮策略对循环消费进行级联调度包括:
将所有时间粒度的有效延时队列绑定至相同死信交换器;
将单个有效延时队列中事件在所述相同死信交换器处进行循环消费,采用分层时间轮策略对循环消费进行级联调度。
在其中一个实施例中,所述将单个有效延时队列中事件在所述相同死信交换器处进行循环消费,采用分层时间轮策略对循环消费进行级联调度包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国建设银行股份有限公司,未经中国建设银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111414529.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种莲子种植用破口设备
- 下一篇:一种烟支外观缺陷检测方法及系统