【技术实现步骤摘要】
一种消息处理方法、装置及电子设备
本专利技术涉及信息处理
,特别是涉及一种消息处理方法、装置及电子设备、计算机可读存储介质。
技术介绍
在互联网
,通常会产生很多消息,而产生的消息有些是要被处理的,例如,在云计算场景中,消息生产方需要将云计算产生的消息传输给消息处理方进行处理。为了对消息生产方和消息处理方进行解耦合,或者改善云计算系统的性能,往往会在消息生产方和消息处理方之间增加消息队列,这样,消息生产方可以将消息存储到消息队列中,然后消息处理方可以从该消息队列中读取消息进行处理。目前常用的消息队列包括:Kafka、RabbitMQ或RocketMQ等。申请人在实现本专利技术的过程中发现,现有技术中的消息队列中,对未被成功消费处理的消息,是不做标记的,更不会记录该未被成功消费处理的消息的位置,使得工作线程无法重新对该未被成功处理的消息进行处理,导致该消息被工作线程遗漏而不进行消费。
技术实现思路
本专利技术实施例的目的在于提供一种消息处理方法、装置及电子设备,以实现对工作线程成功处理的消息的偏移量进行记录,避免未被成功处理的消息被遗漏掉,保证消息队列中的消息都能够被成功处理。具体技术方案如下:第一方面,本专利技术实施例提供了一种消息处理方法,该方法包括:获取消息队列中消息的队列信息,其中,所述队列信息至少包括:任一消息在所述消息队列中的偏移量;当对任一消息处理失败时,向所述消息队列发送所述消息队列中所有被连续处理成功的消息中的最大偏移量,以使所述消息队列 ...
【技术保护点】
1.一种消息处理方法,其特征在于,所述方法包括:/n获取消息队列中消息的队列信息,其中,所述队列信息至少包括:任一消息在所述消息队列中的偏移量;/n当对任一消息处理失败时,向所述消息队列发送所述消息队列中所有被连续处理成功的消息中的最大偏移量,以使所述消息队列将所述最大偏移量的下一偏移量确定为当前处理失败的消息的偏移量;/n接收所述消息队列发送的消息,以进行消息处理,其中,该消息是所述消息队列中所述最大偏移量的下一偏移量对应的消息,以完成对所述当前处理失败的消息的消费处理。/n
【技术特征摘要】
1.一种消息处理方法,其特征在于,所述方法包括:
获取消息队列中消息的队列信息,其中,所述队列信息至少包括:任一消息在所述消息队列中的偏移量;
当对任一消息处理失败时,向所述消息队列发送所述消息队列中所有被连续处理成功的消息中的最大偏移量,以使所述消息队列将所述最大偏移量的下一偏移量确定为当前处理失败的消息的偏移量;
接收所述消息队列发送的消息,以进行消息处理,其中,该消息是所述消息队列中所述最大偏移量的下一偏移量对应的消息,以完成对所述当前处理失败的消息的消费处理。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当对任一消息处理成功时,对该消息的偏移量进行记录,以得到所述消息队列中所有被连续处理处理成功的消息的最大偏移量。
3.根据权利要求1或2所述的方法,其特征在于,所述当对任一消息处理失败时,向所述消息队列发送所述消息队列中所有被连续处理成功的消息中的最大偏移量,包括:
当对任一消息处理失败时,启动预设的定时周期;
按照所述定时周期,将所记录的所有被连续处理成功的消息中的最大偏移量发送至所述消息队列。
4.根据权利要求2所述的方法,其特征在于,所述消息队列为多个,所述队列信息还包括:所述消息队列的标识信息,所述标识信息用于区分不同的消息队列,每个消息队列对应一组数据结构,所述数据结构用于记录所述队列信息;
当对任一消息处理成功时,对该消息的偏移量进行记录,包括:
在对任一消息处理成功时,根据所述消息队列的标识信息确定该被处理成功的消息所处的消息队列;
将当前被处理成功的消息的偏移量记录到与该消息所处的消息队列对应数据结构的队列信息中。
5.根据权利要求4所述的方法,其特征在于,每组所述数据结构至少包括当前数据结构和历史数据结构;所述当前数据结构用于存储成功处理当前消息时的偏移量,所述历史数据结构用于存储所述当前消息之前成功被处理的消息的偏移量;
所述在将当前被处理成功的消息的偏移量记录到与该消息所处的消息队列对应数据结构的队列信息中,包括:
在对所述任一消息处理成功时,将该消息的偏移量记录到与该消息所处的消息队列对应的当前数据结构中,以更新所述当前数据结构中成功处理的当前消息的偏移量;
以及,根据该消息的偏移量所述历史数据结构中当前消息之前成功被处理的消息的偏移量。
6.根据权利要求5所述的方法,其特征在于,所述当对任一消息处理失败时,向所述消息队列发送所述消息队列中所有被连续处理成功的消息中的最大偏移量,包括:
当对任一消息处理失败时,将所述当前数据结构和所述历史数据结构中的所有消息的连续偏移量中的最大偏移量发送至该消息所处的消息队列。
7.根据权利要求2所述的方法,其特征在于,所述当对任一消息处理成功时,对该消息的偏移量进行记录,包括:
在对任一消息处理成功时,获取该消息的在所述消息队列中的偏移量;
对所述消息队列中被连续处理成功消息的偏移量排序处理,得到该消息的偏移量的排序结...
【专利技术属性】
技术研发人员:王雅娴,
申请(专利权)人:北京金山云网络技术有限公司,北京金山云科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。