[发明专利]延迟消息的投递方法及装置、存储介质、计算机设备有效
申请号: | 202010782224.8 | 申请日: | 2020-08-06 |
公开(公告)号: | CN112104519B | 公开(公告)日: | 2022-07-19 |
发明(设计)人: | 田雪峰 | 申请(专利权)人: | 北京健康之家科技有限公司 |
主分类号: | H04L43/0852 | 分类号: | H04L43/0852;H04L47/56;G06F9/48 |
代理公司: | 北京中强智尚知识产权代理有限公司 11448 | 代理人: | 黄耀威 |
地址: | 100102 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 延迟 消息 投递 方法 装置 存储 介质 计算机 设备 | ||
本申请公开了一种延迟消息的投递方法及装置、存储介质、计算机设备,该方法包括:通过延迟消息队列消费业务端产生的待投递延迟消息,其中,所述待投递延迟消息标记有投递时间以及消息类型;将所述延迟消息队列消费到的所述待投递延迟消息按照所述投递时间存储至所述延迟消息队列对应时间轮的第一槽位中;当所述时间轮的指针指向所述第一槽位时,将所述第一槽位中存储的所述待投递延迟消息按照所述消息类型进行分片,并发送分片后的待投递延迟消息。本申请将业务端产生的延迟消息存储在延迟消息队列对应的时间轮中,通过时间轮将到期的延迟消息实时投递到业务端的消费者处,在提升系统性能的同时,使得任意时间维度的延迟消息可以支持秒级投递。
技术领域
本申请涉及消息处理技术领域,尤其是涉及到一种延迟消息的投递方法及装置、存储介质、计算机设备。
背景技术
延迟消息是需要延迟处理的消息任务,大部分业务系统中均存在大量的延迟消息。例如,订单业务系统中,存在超时不付款则取消订单的消息任务。收货业务系统中,存在超时不收货则确认收货的消息任务;支付业务系统中,存在付款后预设时间内查询是否到账的消息任务。
目前,通常通过定时任务去扫描业务系统的数据库,批量抽取出一段时间内到期的延迟消息,进行业务处理。这种全局扫描方式造成数据库压力,把一段时间内到期的延迟消息积压到同一时间批量处理对业务系统也造成压力,并加大延迟消息的投递误差。因此,公开号为CN201911413874.9的现有技术公开了一种延迟消息处理方法,消息生产者将生产的消息存储到消息中间件中,监听并拉取消息中间件中的各延迟消息,并将拉取的消息写入内嵌数据库,轮询内嵌数据库中的各延迟消息,取出预设时间内到期的延迟消息,将取出的各延迟消息保存至内存时间轮,通过时间轮实现延迟消息实时投递。在该实现方法中,消息生产者生成的延迟消息先后分别存储于消息中间件、内嵌数据库、时间轮中,消息存储需要占用较多系统资源,且容易造成数据丢失,另外,延迟消息从时间轮中进行投递时如果时间轮的某个槽位中存储的数据较多,消息投递会花费较长时间,给业务端系统造成较大压力。
针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。
发明内容
有鉴于此,本申请提供了一种延迟消息的投递方法及装置、存储介质、计算机设备,通过将业务端产生的延迟消息存储在延迟消息队列对应的时间轮中,通过时间轮将到期的延迟消息实时投递到业务端的消费者处,在提升系统性能的同时,使得任意时间维度的延迟消息可以支持秒级投递。
根据本申请的一个方面,提供了一种延迟消息的投递方法,其特征在于,包括:
通过延迟消息队列消费业务端产生的待投递延迟消息,其中,所述待投递延迟消息标记有投递时间以及消息类型;
将所述延迟消息队列消费到的所述待投递延迟消息按照所述投递时间存储至所述延迟消息队列对应时间轮的第一槽位中;
当所述时间轮的指针指向所述第一槽位时,将所述第一槽位中存储的所述待投递延迟消息按照所述消息类型进行分片,并发送分片后的待投递延迟消息。
具体地,所述通过延迟消息队列消费业务端产生的待投递延迟消息,具体包括:
所述延迟消息队列消费所述业务端主动投递的所述待投递延迟消息。
具体地,所述通过延迟消息队列消费业务端产生的待投递延迟消息,具体包括:
所述业务端将所述待投递延迟消息投递到实时消息队列;
所述延迟消息队列通过预设发送线程消费实时消息队列中的所述待投递延迟消息。
具体地,所述将所述延迟消息队列消费到的所述待投递延迟消息按照所述投递时间存储至所述延迟消息队列对应时间轮的第一槽位中,具体包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京健康之家科技有限公司,未经北京健康之家科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010782224.8/2.html,转载请声明来源钻瓜专利网。