[发明专利]一种消息推送方法和系统在审
申请号: | 202310300542.X | 申请日: | 2023-03-24 |
公开(公告)号: | CN116319649A | 公开(公告)日: | 2023-06-23 |
发明(设计)人: | 韩威;周国库 | 申请(专利权)人: | 百望股份有限公司 |
主分类号: | H04L51/214 | 分类号: | H04L51/214 |
代理公司: | 北京智沃律师事务所 11620 | 代理人: | 吴志宏 |
地址: | 100098 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 消息 推送 方法 系统 | ||
本申请公开了一种消息推送方法和系统,该方法包括以下步骤:接收来自消息生产者的消息,将消息发送到消息队列的第一级主题;周期性地更新全部消费者推送耗时统计结果数据,通过消息路由确定消息的目标消费者,根据目标消费者推送耗时统计结果,判断目标消费者所属的快中慢区间,消费第一级主题中的消息动态分发到消息队列中与快中慢相对应的第二级主题;消费第二级主题中的消息投递给所述目标消费者,对每个消费者的推送耗时进行周期性的统计和存储。本申请实施例将消息发送到相应的消息队列,能够避免由于消费者之间相互影响而导致的投递延时,保证快速消费者不被慢速消费者拖慢投递速率,从而提升消息的投递效率。
技术领域
本申请属于计算机技术领域,具体涉及一种消息推送方法和系统。
背景技术
在复杂的业务场景和技术架构下,通常提供统一的消息推送系统来满足服务间的消息推送需求。消息推送系统作为一个统一的消息出入口面向多个消息生产者和消费者,负责将不同生产者的消息推送给各自的目标消费者。
然而,推送系统通常会面临生产者侧可能出现的流量洪峰,瞬时间大量的请求进来造成消息积压不能及时给生产者返回响应信息,甚至是导致系统崩溃和消息丢失的问题。推送系统将消息投递给消费者的过程中,会面临不同消费者接口响应速度不一从而影响排在它后面的其他待投递消息送达的及时性。部分消费者接口也可能因性能等原因不能承载大流量请求而要求推送系统控制好给它投递消息的速率。
本申请实施例的目的是提供一种消息推送方法和系统,以解决现有的消息推送系统及时性较差的缺陷、以及消息路由和推送限流问题。
为了解决上述技术问题,本申请是这样实现的:
第一方面,提供了一种消息推送方法,包括以下步骤:
接收来自消息生产者的消息,将所述消息发送到消息队列的第一级主题;
周期性地更新全部消费者推送耗时统计结果数据,通过消息路由确定所述消息的目标消费者,根据目标消费者推送耗时统计结果,判断目标消费者所属的快中慢区间,消费第一级主题中的消息动态分发到消息队列中与快中慢相对应的第二级主题;
消费第二级主题中的消息投递给所述目标消费者,对每个消费者的推送耗时进行周期性的统计和存储,并且根据限流策略进行消息投递速率控制。
第二方面,提供了一种消息推送系统,包括:
消息接收服务,用于接收来自消息生产者的消息,将所述消息发送到消息队列的第一级主题;
消息分发代理服务,用于周期性地更新全部消费者推送耗时统计结果数据,通过消息路由确定所述消息的目标消费者,根据目标消费者推送耗时统计结果,判断目标消费者所属的快中慢区间,消费第一级主题中的消息动态分发到消息队列中与快中慢相对应的第二级主题;
消息投递代理服务,用于消费第二级主题中的消息投递给所述目标消费者,对每个消费者的推送耗时进行周期性的统计和存储,并且根据限流策略进行消息投递速率控制。
本申请实施例根据投递消息到目标消费者的平均耗时,将消息发送到相应的消息队列,不同的消息队列中的消息由第二级服务器节点的不同线程池消费,能够避免由于消费者之间相互影响而导致的投递延时,保证消费速度快的消费者始终快速消费,而不被慢速消费者拖慢投递速率,从而提升消息的投递效率。
附图说明
图1是本申请实施例提供的一种消息推送方法流程图;
图2是本申请实施例提供的一种消息推送系统的结构示意图;
图3是本申请实施例提供的消息推送系统的一种具体实现图;
图4是本申请实施例提供的消息路由分发示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百望股份有限公司,未经百望股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310300542.X/2.html,转载请声明来源钻瓜专利网。