【技术实现步骤摘要】
消息处理方法和处理系统
本专利技术涉及队列消息的处理
,具体涉及一种消息处理方法和处理系统。
技术介绍
队列消息即为存储在队列中的消息,消息被存储在消息队列后实现消息的依序处理。队列消息的处理过程中难免会出现消息积压或消息需要重新处理的故障情况,例如,批量修改商品信息时会出现消息积压;以及,在系统进行升级时会因业务逻辑错误需要重新执行处理逻辑以回滚升级。现有队列技术(例如Kafka)一般是业务层存储有消息的备份,并会为每条消息分配一个Offset,然后通过Position来定位处理的消息。在队列消息的处理发生故障时,若是消息需要重新处理的情况,则回滚到备份中Position指定位置开始处理,这将使用户不断提交的新消息延迟处理,最终导致新消息的积压;若是消息积压的情况,现有队列技术的Position定位方法则根本无法解决,因而,后来用户不断提交的新消息也始终处于等待状态,新消息的积压问题同样存在。针对现有队列技术应对队列消息处理故障所无法解决的新消息积压问题,目前缺乏有效的解决方案。专利技 ...
【技术保护点】
1.一种消息处理方法,其特征在于,包括:/n获取处理发生故障的目标队列消息;/n获取存储频率,所述存储频率小于业务消息队列的消息处理速率;/n基于所述存储频率向所述业务消息队列存储所述目标队列消息,且所述业务消息队列同时接收用户发送的新消息;/n根据所述业务消息队列中消息的存储顺序进行消息处理。/n
【技术特征摘要】
1.一种消息处理方法,其特征在于,包括:
获取处理发生故障的目标队列消息;
获取存储频率,所述存储频率小于业务消息队列的消息处理速率;
基于所述存储频率向所述业务消息队列存储所述目标队列消息,且所述业务消息队列同时接收用户发送的新消息;
根据所述业务消息队列中消息的存储顺序进行消息处理。
2.根据权利要求1所述的处理方法,其特征在于,获取存储频率,包括:
获取用户发送的新消息和所述目标队列消息之间的处理比例;
根据所述处理速率和所述处理比例,确定所述存储频率。
3.根据权利要求1所述的处理方法,其特征在于,
在获取处理发生故障的目标队列消息之前,所述方法还包括:将所述目标队列消息存储在旁路消息队列中;
获取处理发生故障的目标队列消息,包括:从所述旁路消息队列中获取所述目标队列消息。
4.根据权利要求3所述的处理方法,其特征在于,
所述目标队列消息包括需要重新处理的队列消息,所述旁路消息队列包括容灾消息队列;
将所述目标队列消息存储在旁路消息队列中,包括:在所述业务消息队列接收用户发送的新消息时,向所述容灾消息队列中写入所述新消息,以使所述旁路消息队列存储有所述目标队列消息。
5.根据权利要求4所述的处理方法,其特征在于,向所述容灾消息队列中写入所述新消息,包括:
在所述容灾消息队列中,将所述新消息写入当前容灾队列,其中,所述当前容灾队列为和当前时段所对应的容灾队列;以及,
所述容灾消息队列中包括多个容灾队列,每个所述容灾队列对应一个时段且根据所对应时段命名。
6.根据权利要求5所述的处理方法,其特征在于,所述容灾队列的配置容量为消息写入极限速率的时段均值。
7.根据权利要求3所述的处理方法,其特征在于,所述目标队列消息包括积压的队列消息,所述旁路消息队列包括积压消息队列,将所述目标队列消息存储在旁路消息队列中,包括:
在所述业务消息队列中的消息积压数量大于预设阈值的情况下,将所述业务消息队列转化为所述积压消息队列,以使积压消息被所述积压消息队列存储;以及,
配置供消息处理使用的新业务消息队列。
8.一种消息处理系统,其特征在于,包括:
第一获取模块,用于获取处理发生故障的目标队列消息;
第二获取模块,用于获取存储频率,所述存储频率小于业务消息队列的消息处理速率;
第一存储模块,用于基于...
【专利技术属性】
技术研发人员:张开涛,王杰颖,邹子靖,林本兴,田子玉,杨嗦,
申请(专利权)人:北京沃东天骏信息技术有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。