[发明专利]基于RabbitMQ阶梯延迟队列的任务调度方法、系统、终端及介质在审
申请号: | 202111180177.0 | 申请日: | 2021-10-11 |
公开(公告)号: | CN113986483A | 公开(公告)日: | 2022-01-28 |
发明(设计)人: | 王亚雄 | 申请(专利权)人: | 上海泛宥信息科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 上海光华专利事务所(普通合伙) 31219 | 代理人: | 倪静 |
地址: | 200120 上海市浦东新区中国(*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 rabbitmq 阶梯 延迟 队列 任务 调度 方法 系统 终端 介质 | ||
本发明的基于RabbitMQ阶梯延迟队列的任务调度方法、系统、终端及介质,通过采用阶梯延迟队列能够减少系统资源浪费提高性能,异步处理削化峰值提升大数据量处理能力,其次开发组件化的阶梯延迟队列工具能够极大降低系统耦合度,剥离业务提高程序复用性。同时可以使回调通知策略更加灵活,通知效率和可靠性也都有了很大的提高。
技术领域
本发明涉及计算机软件开发领域领域,特别是涉及一种基于RabbitMQ阶梯延迟队列的任务调度方法、系统、终端及介质。
背景技术
在软件日常开发过程中,常会遇到一种场景,需要在某个事件发生之后的指定时间点完成某一项任务,或者是每隔一定递增的周期处理一次某任务。如:订单支付成功后支付中心服务每隔3s、10s、30s、60s、120s、180、300s通知订单中心服务直至订单状态处理完成;购票完成后每隔3s、10s、30s、60s、120s、180、300s查询票务中心状态直至出票完成;等等。
传统的方式使用使用定时任务,一直轮询数据,每秒查一次,判断距上一次处理时间相隔一定时间后,取出需要被处理的数据,然后开始处理任务。如果数据量比较少,确实可以这样做。但对于数据量比较大,并且时效性较强的场景,如:“订单十分钟内未支付则关闭”,短期内未支付的订单数据可能会有很多,活动期间甚至会达到百万甚至千万级别,对这么庞大的数据量仍旧使用轮询的方式显然是不可取的,很可能在一秒内无法完成所有订单的检查,同时会给数据库带来很大压力,无法满足业务要求而且性能低下。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于RabbitMQ阶梯延迟队列的任务调度方法、系统、终端及介质,用于解决现有技术中针对传统定时任务方案资源消耗大性能低下、无法承载大数据量等问题。
为实现上述目的及其他相关目的,本发明提供一种基于RabbitMQ阶梯延迟队列的任务调度方法,包括:基于通用阶梯延迟队列算法,根据设定的任务调度规则获得对应该任务调度规则的阶梯延迟队列算法;基于所述阶梯延迟队列算法,按任务调度规则对所述延时信息进行一或多次调度;其中,所述任务调度规则包括:按顺序排列的一或多个分别对应有一延迟时间的调度周期子规则。
于本发明的一实施例中,所述通用阶梯延迟队列算法用于对目标消息进行一次或多次分别对应一延时时间的阶梯循环,以供每进行一次阶梯循环结束后令消费者进行一次尝试消费。
于本发明的一实施例中,所述阶梯延迟队列算法包括:分别对应每个调度周期子规则且按调度周期子规则顺序排列设置的一或多个阶梯循环算法;其中,每个阶梯循环算法用于执行一次阶梯循环。
于本发明的一实施例中,每个阶梯循环算法包括:按当前阶梯循环所对应的调度周期子规则的延迟时间,设置当前阶梯循环的TTL;判断是否存在该TTL的延迟队列以及死信队列;若存在,则不需要创建;若不存在,自动创建对应该TTL的延迟队列和死信队列,并分别绑定到延迟队列交换机以及死信队列交换机上;将延时信息发送至延迟队列交换机,转到对应TTL的延时队列中等待对应时间后,延迟消息经由死信交换机转到对应的死信队列中,以供消费者尝试消费;若消费者成功消费,则结束调度;若消费者消费失败,判断是否为最后一次阶梯循环;若是,结束调度;若不是,则进入执行下一次阶梯循环算法。
于本发明的一实施例中,其特征在于,所述基于所述阶梯延迟队列算法,按任务调度规则对所述延时信息进行一或多次调度包括:将生产者生产的延时信息转到初始队列中,以供消费者消费;若消费成功,则结束调度;若消费失败,则基于所述阶梯延迟队列算法,按设定的任务调度规则对所述延时信息进行一或多次调度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海泛宥信息科技有限公司,未经上海泛宥信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111180177.0/2.html,转载请声明来源钻瓜专利网。