[發明專利]物聯網設備MQTT主題發布訂閱權限校驗方法及系統有效
| 申請號: | 202310006813.0 | 申請日: | 2023-01-04 |
| 公開(公告)號: | CN116208379B | 公開(公告)日: | 2023-08-22 |
| 發明(設計)人: | 梁笑辰;郭超逸;苗壯;鄧文杰 | 申請(專利權)人: | 金茂云科技服務(北京)有限公司 |
| 主分類號: | H04L9/40 | 分類號: | H04L9/40;H04L67/51;H04L67/5682;H04L67/12 |
| 代理公司: | 北京華清迪源知識產權代理有限公司 11577 | 代理人: | 丁彥峰 |
| 地址: | 100069 北京市豐臺區南四環*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 聯網 設備 mqtt 主題 發布 訂閱 權限 校驗 方法 系統 | ||
本發明公開了一種物聯網設備MQTT主題發布訂閱權限校驗方法及系統,通過給系統所有的topic進行編號,并以此編號與用戶topic權限數據的權限位下標對應;其次使用byte[]來存放用戶主題發布訂閱權限,并轉為string數據進行緩存,使用較小的空間記錄了用戶對topic的發布訂閱權限,并突破傳統使用long類型進行權限位校驗最多只能存儲64個權限位的限制;同時根據系統每個設備只有少數用戶擁有操作權限的特點,反向的以設備為索引把有權限的用戶id通過字符串拼接存放到設備id為下標的設備用戶權限數組中,減少數據存儲和加快權限校驗。
技術領域
本發明涉及IOT(InternetofThings,物聯網)平臺技術領域,具體涉及一種物聯網設備MQTT主題發布訂閱權限校驗方法及系統。
背景技術
MQTT(消息隊列遙測傳輸)是ISO標準(ISO/IEC?PRF?20922)下基于發布/訂閱范式的消息協議。它工作在TCP/IP協議族上,是為硬件性能低下的遠程設備以及網絡狀況糟糕的情況下而設計的發布/訂閱型消息協議;MQTT最大優點在于,可以以極少的代碼和有限的帶寬,為連接遠程設備提供實時可靠的消息服務。作為一種低開銷、低帶寬占用的即時通訊協議,使其在物聯網、小型設備、移動應用等方面有較廣泛的應用。在通信過程中,MQTT協議中有三種身份:發布者(Publish)、代理(Broker/服務器)、訂閱者(Subscribe)。其中,消息的發布者和訂閱者都是客戶端,消息代理是服務器。在工作流程中,一個重要的流程就是broker對消息的發布者和訂閱者進行發布訂閱的權限校驗;眾所周知,物聯網是在傳統互聯網基礎上延伸和擴展而出的概念,所以對消息發布者和訂閱者的權限校驗都繼承了互聯網傳統的權限校驗方法,先把權點/權限規則存儲到數據庫,需要校驗的時候從數據庫查詢,然后進行發布訂閱權限的校驗,進而確定用戶是否對特定主題topic是否有相應的發布訂閱權限。
隨著萬物互聯與國家戰略的推動,現有的物聯網平臺連接了海量的設備和用戶,在復雜的業務環境中,用戶對設備mqtttopic的發布訂閱權限,設備對設備mqtttopic的發布訂閱權限點數量都變得非常龐大;在此系統環境下,傳統的權限校驗方法會出現超大的延遲,甚至是壓垮數據庫的問題。把全量權限點按傳統方式緩存在redis數據庫也會因為數據量太大導致數據存儲問題。
發明內容
為此,本發明提供一種物聯網設備MQTT主題發布訂閱權限校驗方法及系統,以解決傳統權限點校驗出現的浪費空間,無法適用于海量設備、用戶權限校驗的問題。
為了實現上述目的,本發明提供如下技術方案:
根據本發明實施例的第一方面,提出一種物聯網設備MQTT主題發布訂閱權限校驗方法,所述方法包括:
創建權限數據緩存結構并進行數據初始化存儲,所述數據緩存結構包括MQTT主題權限位數據區、用戶主題權限位數組以及設備用戶權限數組,所述MQTT主題權限位數據區用于將多個MQTT主題進行編碼存儲,所述用戶主題權限位數組用于存儲用戶對MQTT主題的發布訂閱權限標識數據,所述設備用戶權限數組用于存儲具有設備操作權限的用戶ID數據;
根據用戶請求從緩存數據中獲取當前用戶請求的MQTT主題發布訂閱權限數據,并與用戶請求所需的權限進行校驗,校驗一致后再獲取對當前請求的設備ID具有操作權限的用戶ID列表,并使用當前請求的用戶ID與得到的用戶ID列表進行匹配判斷當前用戶是否對請求的設備具備操作權限。
進一步地,所述數據緩存結構中,具體包括:
所述MQTT主題權限位數據區中,數據采用hashmap結構,主題名稱作為key,主題編號作為value,將多個MQTT主題進行從0開始遞增編碼;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于金茂云科技服務(北京)有限公司,未經金茂云科技服務(北京)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202310006813.0/2.html,轉載請聲明來源鉆瓜專利網。





