[发明专利]一种配电物联网海量消息传递的MQTT协议通信方法在审
申请号: | 202110457315.9 | 申请日: | 2021-04-27 |
公开(公告)号: | CN113194133A | 公开(公告)日: | 2021-07-30 |
发明(设计)人: | 田歌星;贾璐瑞;周振宇 | 申请(专利权)人: | 华北电力大学 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L12/801;H04L12/833;H04L12/865 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 102206*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 配电 联网 海量 消息 传递 mqtt 协议 通信 方法 | ||
本发明涉及配电物联网海量消息传递的MQTT协议通信方法,通过设计上下行隔离、实时优先、支持海量数据的队列网关,将上下行链路隔离拆分,上行链路发生堆积时,实时消息优先发送,堆积消息进入保序降级队列,同时堆积消息和实时消息并行发送,不影响下行链路业务的正常运行处理。采用多赛道队列模型,将海量Topic相互隔离,做到一个设备的消息堆积Topic,不影响另一个设备的正常运行。通过TCP通道的多路复用,即一条TCP通道对应若干MQTT客户端,同一组MQTT客户端通过同一条TCP通道与MQTT代理服务器建立通信连接,最大限度降低配电物联网设备对MQTT代理服务器的并发连接数请求,做到MQTT协议与传输层的解耦,实现海量Topic的真正隔离,从根本上解决堆积带来的延时问题。
技术领域
本发明属于无线通信领域,具体涉及应用在配电物联网设备中海量消息传递的MQTT协议通信方法。
背景技术
随着配电物联网业务的增加及大量新型设备的接入,现有的配电物联网场景,如电力系统设备控制、智能电表、智能插座及电力业务交易等,往往需要传递海量消息,在这些信息传递的过程中,常采用消息队列方式,它是在消息传输过程中保存消息的“容器”。配电物联网设备将产生的数据先保存在消息队列中,并由消息队列将数据分发至服务器。消息队列可在因网络抖动、设备故障导致的消息飙涨等不可控环境中,实现消息的平稳传输。在传统的消息队列先进先出(First In First Out,FIFO)模式中,数据消费端不直接和数据产生端建立传输过程,而是通过向消息队列这一“容器”拉取所需消息,实现数据产生端和数据消费端间的解耦,从而增强了系统的稳定性。然而传统消息队列在使用中仍存在一些问题。例如,在配电物联网场景中,消息队列的加入使得系统的可用性降低,一旦消息队列不可用,整个配电物联网将面临瘫痪,严重危害配电网的安全稳定运行。
目前配电物联网领域场景复杂,既有面向自身软件即服务(Software-as-a-Service,SAAS)业务又要承担多租户平台即服务(Platform-as-a-Service,PAAS)业务,面临更多的队列方面问题。一般情况下,配电物联网消息队列分为上行队列和下行队列。其中,设备上行队列的每秒查询率(Query Per Second,QPS)非常高,常用于配电物联网输配电状态实时监测等时延敏感性业务场景,对实时性要求较高,在队列发生堆积时,和该消息队列相关的的入口设备都会受到影响。设备下行队列的QPS不高,常用于配电物联网精准负荷控制等高可靠性业务场景,这个场景对消息到达率要求很高,同时对设备级别隔离性能要求也很高,不能因为一个设备消息拥塞干扰其它设备业务正常运行。
消息队列遥测传输(Message Queuing Telemetry Transport,MQTT)协议作为物联网平台低开销、低带宽占用的轻量级即时通讯协议,它利用极少的代码和带宽为连接远程设备提供实时可靠的消息服务,适用于硬件性能低下的物联网设备以及网络状况糟糕的环境,因此MQTT协议在资源有限的配电物联网中有较广泛的应用。MQTT协议运行在TCP/IP网络协议上,采用发布/订阅消息模式进行数据发布方与数据订阅方之间的通信。其中,发布者连接代理后发布消息,只要订阅方之前订阅过相应主题(Topic),那么它连接代理后即可收到发布方在它在线/离线期间发布的消息,以实现即时高效的信息交互。然而MQTT客户端和MQTT代理服务器只建立一条TCP连接,用于Topic的发布和订阅,这种基于异步通讯的信息交互,无法实现请求响应的同步通讯,使得传统MQTT协议越来越无法满足配电物联网海量Topic无拥塞传输需求。
因此,如何在消息堆积情况下,做到海量消息的实时、可靠信息交互仍面临一些技术挑战。具体总结如下。
第一,在传统FIFO消息队列中,当同一个队列有堆积时,实时生成的消息一般会排在队列末尾,直到堆积的逻辑处理完才能被加载,导致消息被动延时,或者进入了死信消息,必须需要人工运维去清理堆积,才能让系统恢复可用。
第二,当堆积发生时,需要根据业务场景的优先级决定通信顺序,同一个业务场景需要用拆分多个Topic来模拟实现消息优先级,一个Topic的堆积会影响到与之相关的多个设备。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华北电力大学,未经华北电力大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110457315.9/2.html,转载请声明来源钻瓜专利网。