[发明专利]消息处理方法和处理系统在审
申请号: | 201910408040.2 | 申请日: | 2019-05-15 |
公开(公告)号: | CN111953506A | 公开(公告)日: | 2020-11-17 |
发明(设计)人: | 张开涛;王杰颖;邹子靖;林本兴;田子玉;杨嗦 | 申请(专利权)人: | 北京沃东天骏信息技术有限公司 |
主分类号: | H04L12/24 | 分类号: | H04L12/24;H04L12/863 |
代理公司: | 北京成创同维知识产权代理有限公司 11449 | 代理人: | 蔡纯;高青 |
地址: | 100176 北京市大兴区北京经济*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 消息 处理 方法 系统 | ||
本发明实施例提供一种消息处理方法和处理系统,该方法包括:获取处理发生故障的目标队列消息;获取存储频率,且该存储频率小于业务消息队列的消息处理速率;基于存储频率向业务消息队列存储目标队列消息,且业务消息队列同时接收用户发送的新消息;根据业务消息队列中消息的存储顺序进行消息处理。本发明解决了队列消息发生处理故障后新消息积压的技术问题。
技术领域
本发明涉及队列消息的处理技术领域,具体涉及一种消息处理方法和处理系统。
背景技术
队列消息即为存储在队列中的消息,消息被存储在消息队列后实现消息的依序处理。队列消息的处理过程中难免会出现消息积压或消息需要重新处理的故障情况,例如,批量修改商品信息时会出现消息积压;以及,在系统进行升级时会因业务逻辑错误需要重新执行处理逻辑以回滚升级。
现有队列技术(例如Kafka)一般是业务层存储有消息的备份,并会为每条消息分配一个Offset,然后通过Position来定位处理的消息。在队列消息的处理发生故障时,若是消息需要重新处理的情况,则回滚到备份中Position指定位置开始处理,这将使用户不断提交的新消息延迟处理,最终导致新消息的积压;若是消息积压的情况,现有队列技术的Position定位方法则根本无法解决,因而,后来用户不断提交的新消息也始终处于等待状态,新消息的积压问题同样存在。
针对现有队列技术应对队列消息处理故障所无法解决的新消息积压问题,目前缺乏有效的解决方案。
发明内容
有鉴于此,本发明实施例提供了一种消息处理方法和处理系统,以解决队列消息发生处理故障后新消息积压的技术问题。
根据本发明的第一方面,提供一种消息处理方法,包括:
获取处理发生故障的目标队列消息;
获取存储频率,所述存储频率小于业务消息队列的消息处理速率;
基于所述存储频率向所述业务消息队列存储所述目标队列消息,且所述业务消息队列同时接收用户发送的新消息;
根据所述业务消息队列中消息的存储顺序进行消息处理。
可选地,获取存储频率,包括:
获取用户发送的新消息和所述目标队列消息之间的处理比例;
根据所述处理速率和所述处理比例,确定所述存储频率。
可选地,在获取处理发生故障的目标队列消息之前,所述方法还包括:将所述目标队列消息存储在旁路消息队列中;
获取处理发生故障的目标队列消息,包括:从所述旁路消息队列中获取所述目标队列消息。
可选地,所述目标队列消息包括需要重新处理的队列消息,所述旁路消息队列包括容灾消息队列;
将所述目标队列消息存储在旁路消息队列中,包括:在所述业务消息队列接收用户发送的新消息时,向所述容灾消息队列中写入所述新消息,以使所述旁路消息队列存储有所述目标队列消息。
可选地,向所述容灾消息队列中写入所述新消息,包括:
在所述容灾消息队列中,将所述新消息写入当前容灾队列,其中,所述当前容灾队列为和当前时段所对应的容灾队列;以及,
所述容灾消息队列中包括多个容灾队列,每个所述容灾队列对应一个时段且根据所对应时段命名。
可选地,所述容灾队列的配置容量为消息写入极限速率的时段均值。
可选地,所述目标队列消息包括积压的队列消息,所述旁路消息队列包括积压消息队列,将所述目标队列消息存储在旁路消息队列中,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京沃东天骏信息技术有限公司,未经北京沃东天骏信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910408040.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种导航方法、导航装置及智能终端
- 下一篇:一种入场停车管理方法