[发明专利]基于MQTT和Kafka高并发场景下的消息路由方法有效

专利信息
申请号: 201810465578.2 申请日: 2018-05-16
公开(公告)号: CN108768826B 公开(公告)日: 2021-03-19
发明(设计)人: 陆璐;冼允廷;黄佳文 申请(专利权)人: 华南理工大学;中山市华南理工大学现代产业技术研究院
主分类号: H04L12/58 分类号: H04L12/58;H04L29/08;H04L12/803;H04L12/24
代理公司: 广州市华学知识产权代理有限公司 44245 代理人: 林梅繁
地址: 510640 广*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 mqtt kafka 并发 场景 消息 路由 方法
【权利要求书】:

1.基于MQTT和Kafka高并发场景下的消息路由方法,其特征在于,包括以下步骤:

利用Kafka的分区机制接收高并发场景下的用户消息,并以顺序写的方式写入磁盘,同时基于发布/订阅模式的消息队列进行保存,利用Kafka代理集群实现负载均衡;

然后通过Kafka Stream将消息检索过滤,持久化存入数据库,并保持对接收端状态的监听;将过滤后的数据发送到MQTT服务器中,保存在不同的Topic下;

所述通过Kafka Stream将消息检索过滤,持久化存入数据库,并保持对接收端状态的监听,具体为:

对保存在每个分区下的消息记录,通过Kafka Stream建立一个流处理拓扑,并将键值对反序列化为数据对象的方式进行处理;

所述流处理拓扑中包含有一个Source处理节点、一个Sink处理节点以及M个自定义的处理节点,利用聚合操作可将消息记录为空的数据筛选过滤;其中M≥2;

过滤后的数据序列化后会发送至订阅了相应Topic的消费端,在消费端中,通过多线程将消息记录持久化数据库,并通过回调函数处理持久化后的结果;

另外,消费端还需订阅另外一个主题用于监听接收端的在线状态,并维持有一个在线列表;

最后由MQTT协议中订阅了不同Topic的接收端进行匹配,获取消息,并且接收端在每次上线或下线时都将发送状态消息以更新在线列表;

所述接收端在每次上线或下线时都将发送状态消息以更新在线列表,具体为:

启动接收者时需设定服务质量和是否清除Session;因为接收端需获取离线消息,所以要保存Session,并将服务质量设定为At Least Once;

另外,设定遗嘱消息,当接收者下线时,将下线消息发给Kafka,避免消息在MQTT服务器中一直得不到消费,占用内存空间;当重新上线时,则再一次把消息发给Kafka,以更新其维持的在线的接收端的列表。

2.根据权利要求1所述基于MQTT和Kafka高并发场景下的消息路由方法,其特征在于,所述利用Kafka的分区机制接收高并发场景下的用户消息,是依赖于磁盘顺序写的方式来存储和缓存消息的,且具有一定的时间期限;用户在客户端进行消息的发送时,指定消息要送达的分区,将partitioner.class设置为自定义的分区,并在partition()中设定消息发送到分区的具体规则。

3.根据权利要求2所述基于MQTT和Kafka高并发场景下的消息路由方法,其特征在于,所述用户消息,其记录以Key-Value键值对的方式进行发送,将发送者ID和接受者ID一同作为Key进行发布。

4.根据权利要求1所述基于MQTT和Kafka高并发场景下的消息路由方法,其特征在于,所述将过滤后的数据发送到MQTT服务器中,保存在不同的Topic下,具体为:

在Kafka的消费端,逐条消费事先保存在Kafka Broker分区中的消息,并提取每条消息的Key,Key中包含有该条消息的发送者ID和接收者ID;

发布消息指定Topic时,需将接收者ID作为发送者ID的父级Topic,并在Message Body前加入发送者ID便于接收端解析;

接收者启动后将订阅以自身ID为第一层级的Topic,并使用通配符接收所有以自身ID为第一层级Topic的消息;在对收到的消息解析其Message Body后,辨识出该消息内容的发送源。

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

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南理工大学;中山市华南理工大学现代产业技术研究院,未经华南理工大学;中山市华南理工大学现代产业技术研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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