[发明专利]消息处理方法和装置以及电子设备有效
申请号: | 201710703528.9 | 申请日: | 2017-08-16 |
公开(公告)号: | CN109412821B | 公开(公告)日: | 2021-09-10 |
发明(设计)人: | 刘振东;王小瑞;冯嘉 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | H04L12/18 | 分类号: | H04L12/18;G06Q30/06 |
代理公司: | 北京市惠诚律师事务所 11353 | 代理人: | 逯博 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 消息 处理 方法 装置 以及 电子设备 | ||
本发明实施例提供了一种消息处理方法和装置以及电子设备,其中涉及的消息处理方法包括:对待处理的第一消息队列中的消息进行消费操作,并形成所述第一消息队列的消费进度信息;将所述消费进度信息在网络中进行广播,以使所述网络中其他消费方对所述第一消息队列中消息的消费进度进行本地保存。本发明实施例的方案可使得网络内的各消费方对其他消费方的消费进度信息进行保存,从而有效避免对同一消息的重复消费。
技术领域
本发明涉及计算机技术领域,尤其涉及一种消息处理方法和装置以及电子设备。
背景技术
现今的网络服务平台(例如购物、支付等平台)大多会使用分布式消息系统(比如,Kafka,一种高吞吐量的分布式发布订阅消息系统)作为平台的基础消息设施,用以支撑着平台中众多线上业务的发展,并承载着对亿级消息的处理。在现有分布式消息系统中,通常可包括负责产生消息并将消息发送至消息服务器的消息生产方(Producer),负责组织、协调消息的消息服务器(Broker),以及负责对从消息服务器中得到的消息进行消费的消息消费方(Consumer)。
在现有的消息消费方对消息进行消费的过程中,通常为消息消费方先对其负责消息队列的消费位点(Consumer Offset)信息进行记录,然后再将消费位点信息发送至消息服务器进行保存(也可称为异步保存),在此过程中,若遇到消息消费方突然发生故障(比如,宕机等)或者在向消息服务器发送消费位点信息时遇到网络不通畅等,则会出现某些消费位点信息未及时发送并保存至消息服务器的情况,以可能会导致其他消息消费方对消息进行重复消费。在实际应用中,对消息的重复消费,很可能出现比如某条消息对应的通知被重复发送、某条消息对应的订单被重复扣款等情况,不仅影响用户体验,还可能对用户造成经济损失。
虽然现有技术中也有利用设置数据库以通过查询数据库等方式来避免消息的重复消费,但仍然存在实现过程依赖于数据库,且频繁的查询操作会造成系统资源损耗且效率低下的问题,此外,由于需要额外设置数据库,还会造成系统结构较为复杂,进而增加系统成本的问题。
发明内容
本发明提供了一种消息处理方法和装置以及电子设备,可及时有效的将每个消费方处理消息队列所产生的消费进度信息保存到网络内其他消费方,从而有效避免消息的重复消费。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,提供了一种消息处理方法,包括:
对待处理的第一消息队列中的消息进行消费操作,并形成所述第一消息队列的消费进度信息;
将所述消费进度信息在网络中进行广播,以使所述网络中其他消费方对所述第一消息队列中消息的消费进度进行本地保存。
第二方面,提供了一种消息处理方法,包括:
监听网络内其他消费方广播的消费进度信息;
对监听到的其他消费方的消费进度信息进行本地保存。
第三方面,提供了一种消息处理方法,包括:
对待处理的第二消息队列中的消息进行消费操作之前,在本地已存储的消费进度信息中,查找是否存在所述第二消息队列的消费进度信息,其中,所述消费进度信息为通过网络中其他消费方发出的广播中获得,用于标识在被消费的消息队列中消息的消费进度;
如果查找到所述第二消息队列的消费进度信息,则根据该消费进度信息继续对所述第二消息队列中的消息进行消费操作;或者,
如果未查找到所述第二消息队列的消费进度信息,则对所述第二消息队列中的消息从起始位置处开始顺序对各消息进行消费操作。
第四方面,提供了一种消息处理方法,包括:
在本地已存储的消费进度信息中,查找第二消息队列的消费进度信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710703528.9/2.html,转载请声明来源钻瓜专利网。