[發明專利]一種實現同步請求響應的MQTT協議通信方法有效
| 申請號: | 202010804340.5 | 申請日: | 2020-08-12 |
| 公開(公告)號: | CN111683158B | 公開(公告)日: | 2020-11-06 |
| 發明(設計)人: | 王順;劉爽;閔濟海;葉增軍;姜紅杉 | 申請(專利權)人: | 南京天創電子技術有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08 |
| 代理公司: | 南京華恒專利代理事務所(普通合伙) 32335 | 代理人: | 裴素艷 |
| 地址: | 210012 江蘇省南*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 實現 同步 請求 響應 mqtt 協議 通信 方法 | ||
本發明公開一種實現同步請求響應的MQTT協議通信方法,屬于網絡通信技術,每個MQTT客戶端均與MQTT代理服務器之間另設一條用于同步通訊的TCP連接,即Service連接;并增加值為15的用于請求SERVICEREQ/響應SERVICERSP的控制報文。本發明通過擴展服務協議來支持同步通訊,對每個MQTT客戶端與MQTT代理服務器之間均TCP連接作為同步請求的通道,進而使得MQTT代理服務器通過轉發透傳實現客戶端之間的同步通訊,支持請求/響應的同步請求,并能夠向下兼容目前的MQTT協議。
技術領域
本發明屬于網絡通信技術,具體涉及一種實現同步請求響應的MQTT協議通信方法。
背景技術
現有的物聯網技術中,通過MQTT協議使得相應設備即使工作在低帶寬、不可靠網絡的環境中,也能夠有效地進行網絡數據交互,進而使得遠程傳感器和控制設備能夠與服務器及時通訊。
但是,當前的MQTT通訊拓撲結構如圖1所示,MQTT客戶端和MQTT代理服務器只建立一條TCP連接,用于主題的發布和訂閱,該連接稱之為Message連接。然而如圖3所示,由于這種MQTT協議基于異步通訊,導致其無法實現請求響應的同步通訊,因此,所述缺陷使得傳統MQTT協議越來越無法滿足物聯網技術發展需求。
發明內容
發明目的:本發明的目的在于解決現有技術中存在的不足,提供一種實現同步請求響應的MQTT協議通信方法,本發明通過擴展服務協議來支持同步通訊,對每個MQTT客戶端與MQTT代理服務器之間均TCP連接作為同步請求的通道,進而使得MQTT代理服務器通過轉發透傳實現客戶端之間的同步通訊。
技術方案:本發明的一種實現同步請求響應的MQTT協議通信方法,包括MQTT代理服務器和若干MQTT客戶端,每個MQTT客戶端均與MQTT代理服務器建立一條用于發布和訂閱主題的TCP連接,TCP連接發布和訂閱,即Message連接;每個MQTT客戶端還均與MQTT代理服務器之間另設一條用于同步通訊的TCP連接,即Service連接通道;MQTT協議中增加值為15的用于請求SERVICEREQ/響應SERVICERSP的控制報文,該請求SERVICEREQ/響應SERVICERSP控制報文包括固定報頭Fixed header、可變報頭Variable header和有效載荷Payload。
實現同步請求響應的具體步驟為:
步驟1、若MQTT客戶端A要和MQTT客戶端B進行請求響應交互,則MQTT客戶端A和MQTT客戶端B首先在初始化時,需要創建Service連接通道并進行周期保活操作;
步驟2、Service連接通道建立后,MQTT客戶端A發送SERVICEREQ請求給MQTT代理服務器,MQTT代理服務器將請求透傳給MQTT客戶端B,MQTT客戶端B解析所收到的請求內容,并發送SERVICERSP請求給MQTT代理服務器,MQTT代理服務器將響應透傳給MQTT客戶端A來處理;至此一個完整的請求響應交互流程完成;步驟3、當MQTT客戶端A和MQTT客戶端B下線時,發送Service DISCONNECT關閉該Service通道。
進一步的,上述步驟2中MQTT請求響應的轉發過程如下:
步驟2.1、MQTT代理服務器收到請求者A(即MQTT客戶端A)發送的請求消息(SERVICEREQ請求)后,放到緩存池中;
步驟2.2、MQTT代理服務器從請求緩存池中取出請求消息根據消息接收客戶端標識符(即MQTT客戶端B);
步驟2.3、響應者B收到請求消息后給MQTT代理服務器發送一個響應消息(SERVICERSP請求);
步驟2.4、MQTT代理服務器收到響應消息存到響應消息緩存池中,并將與之對應的請求消息從請求消息緩沖池中移除,如果沒收到響應消息或者響應者B不在線會在相應時間段內(例如20S)進行多次嘗試;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京天創電子技術有限公司,未經南京天創電子技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010804340.5/2.html,轉載請聲明來源鉆瓜專利網。





