[发明专利]一种消息处理装置和方法有效

专利信息
申请号: 201611123185.0 申请日: 2016-12-08
公开(公告)号: CN106817295B 公开(公告)日: 2020-06-05
发明(设计)人: 陈金添 申请(专利权)人: 上海有孚网络股份有限公司
主分类号: H04L12/58 分类号: H04L12/58;H04L29/08;G06F9/54
代理公司: 北京华识知识产权代理有限公司 11530 代理人: 乔浩刚
地址: 200082 上海市*** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 消息 处理 装置 方法
【说明书】:

发明公开了一种消息处理装置和方法,包括读取模块、备份模块、上报模块和处理模块;读取模块,用于读取消费者从服务器订阅的消息;复制读取的消息并存储至备份模块,并通知上报模块;上报模块,用于收到读取模块通知,上报偏移量信息,并通知处理模块;处理模块,用于收到上报模块的通知,读取备份模块中未处理的消息,创建多个子线程,将备份模块中未处理的消息分派到各个子线程中;通过各个子线程对分派的消息进行处理,并将处理结果存储至备份模块中。本发明还包括检测模块,用于每次消费者重启时,检测备份模块中的各条消息是否已经处理。本发明能够解决Kafka系统中消费者重复消费数据、重复提交或覆盖提交Offset的问题。

技术领域

本发明涉及计算机数据处理的技术领域,特别涉及一种消息处理装置和方法。

背景技术

Kafka是一种高吞吐量的分布式发布订阅消息系统。如图1所示,现有的基于Kafka的消息处理系统,包括由多个消息生产者(Producer)组成的消息生产者集群、由多个服务器(Broker)组成的Kafka集群、由多个消费者(Consumer)组成的消费者集群,每个消息生产者向一个或多个Broker服务器推送(push)消息,每个Broker服务器按照一定的主题(Topic)存储消息,每个消费者向一个或多个Broker服务器拉取(pull)订阅的消息,通过Zookeeper(管理员)节点管理Broker服务器与消费者的动态加入与离开。同一主题内部的消息按照一定的key和算法被分区(Partition)存储在不同的Broker服务器上,针对一个主题,Kafka消息日志中采用偏移量(Offset)信息来标注已读取的消息的位置,消费者通过Offset信息,来判断下次读取的消息在消息日志里的起始位置。

另外,在Kafka系统中,每个主题创建时,需要固定该主题的分区数。在某一时刻,一个分区只能被一个消费者线程来消费,这就会限制消费速率。为了提高吞吐量,消费者需要采用多线程处理。采用多线程处理时,每个消费者通常由一个主线程读取一批消息并执行分组操作,然后,由多个子线程处理相应的分组消息,各个子线程处理完相应的分组消息后,分别上报偏移量信息。但是,消费者可能存在宕机、断电、程序异常等等造成处理消息失败的情况,此时,需要重启消费者应用,重新从Broker服务器读取消息,这样,不仅会产生重复消费数据的问题,还会产生子线程重复提交或覆盖提交Offset信息的问题。

发明内容

为了解决上述技术问题,本发明提供了一种消息处理装置和方法,能够提高Kafka系统中,消费者消息处理的准确性,提高消费者客户端的吞吐量。

为了达到本发明目的,本发明实施例的技术方案是这样实现的:

本发明实施例提供了一种消息处理装置,包括读取模块、备份模块、上报模块和处理模块;其中,

读取模块,用于读取消费者从服务器订阅的消息;复制读取的消息并存储至备份模块,并通知上报模块;

备份模块,用于存储读取模块读取的消息;

上报模块,用于接收到来自读取模块的通知,上报偏移量信息并通知处理模块;

处理模块,其中设置有多个子线程;用于接收到来自上报模块的通知,读取备份模块中未处理的消息,将未处理的消息分派到各个子线程中;通过各个子线程处理完分派的消息,将已处理的消息从备份模块中删除或在备份模块中为已处理的消息设置已处理标识。

进一步地,还包括检测模块,用于检测到消费者重启时,检查所述备份模块中是否有未处理的消息;如果有未处理的消息,将未处理的消息提交给所述处理模块进行处理。

进一步地,所述备份模块通过日志文件或数据库存储读取模块读取的消息。

进一步地,所述备份模块预先设置其存储容量最大值。

进一步地,所述读取模块预先设置每次读取的消息数量和每条消息的最大字节数。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海有孚网络股份有限公司,未经上海有孚网络股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201611123185.0/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top