[發明專利]物聯網設備MQTT主題發布訂閱權限校驗方法及系統有效
| 申請號: | 202310006813.0 | 申請日: | 2023-01-04 |
| 公開(公告)號: | CN116208379B | 公開(公告)日: | 2023-08-22 |
| 發明(設計)人: | 梁笑辰;郭超逸;苗壯;鄧文杰 | 申請(專利權)人: | 金茂云科技服務(北京)有限公司 |
| 主分類號: | H04L9/40 | 分類號: | H04L9/40;H04L67/51;H04L67/5682;H04L67/12 |
| 代理公司: | 北京華清迪源知識產權代理有限公司 11577 | 代理人: | 丁彥峰 |
| 地址: | 100069 北京市豐臺區南四環*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 聯網 設備 mqtt 主題 發布 訂閱 權限 校驗 方法 系統 | ||
1.一種物聯網設備MQTT主題發布訂閱權限校驗方法,其特征在于,所述方法包括:
創建權限數據緩存結構并進行數據初始化存儲,所述數據緩存結構包括MQTT主題權限位數據區、用戶主題權限位數組以及設備用戶權限數組,所述MQTT主題權限位數據區用于將多個MQTT主題進行編碼存儲,所述用戶主題權限位數組用于存儲用戶對MQTT主題的發布訂閱權限標識數據,所述設備用戶權限數組用于存儲具有設備操作權限的用戶ID數據;
根據用戶請求從緩存數據中獲取當前用戶請求的MQTT主題發布訂閱權限數據,并與用戶請求所需的權限進行校驗,校驗一致后再獲取對當前請求的設備ID具有操作權限的用戶ID列表,并使用當前請求的用戶ID與得到的用戶ID列表進行匹配判斷當前用戶是否對請求的設備具備操作權限。
2.根據權利要求1所述的一種物聯網設備MQTT主題發布訂閱權限校驗方法,其特征在于,所述數據緩存結構中,具體包括:
所述MQTT主題權限位數據區中,數據采用hashmap結構,主題名稱作為key,主題編號作為value,將多個MQTT主題進行從0開始遞增編碼;
所述用戶主題權限位數組中,數據采用liststring結構,權限點位數組的每個位置對應用戶對當前主題編號的發布訂閱權限,每個主題權限由兩位bit標識,00標識用戶沒有此主題的發布訂閱權限,01標識用戶有發布權限,10標識用戶有訂閱權限,11標識用戶有發布訂閱權限;
所述設備用戶權限數組中,數據采用liststring結構,用于存放擁有設備操作權限的用戶ID數據,多個不同的用戶用逗號拼接,用戶ID數據存放到設備ID對應的位置。
3.根據權利要求2所述的一種物聯網設備MQTT主題發布訂閱權限校驗方法,其特征在于,創建權限數據緩存結構并進行數據初始化存儲,具體包括:
讀取系統中定義的MQTT主題,將MQTT主題進行從0開始遞增編碼,將不同主題名稱對應的主題編號存入至MQTT主題權限位數據區;
根據授權信息對用戶所擁有的發布訂閱權限進行初始化,用主題權限位即主題編號乘以2確定權限在byte[]數組的下標位置,并根據用戶對此主題的權限對byte[]數據下標位置及下一位進行初始化,沒有發布訂閱權限默認置為00,發布權限對應置為01,訂閱權限置為10,有發布訂閱權限置為11,初始化完成后,把byte[]數組base64轉為string字符串,存儲到用戶主題權限位數組中用戶ID對應的下標位置;
獲取用戶擁有操作權限的設備ID,將用戶ID拼接到設備用戶權限數組中設備ID對應的下標位置,權限數據初始化完成。
4.根據權利要求3所述的一種物聯網設備MQTT主題發布訂閱權限校驗方法,其特征在于,根據用戶請求從緩存數據中獲取當前用戶請求的MQTT主題發布訂閱權限數據,并與用戶請求所需的權限進行校驗,校驗一致后再獲取對當前請求的設備ID具有操作權限的用戶ID列表,并使用當前請求的用戶ID與得到的用戶ID列表進行匹配判斷當前用戶是否對請求的設備具備操作權限,具體包括:
根據用戶請求的MQTT主題從MQTT主題權限位數據區中獲取主題對應的權限位即主題編號信息;
根據請求的用戶ID從緩存中獲取對應下標的用戶主題權限位數組,并將string數據轉換為byte[];
根據獲取的主題權限位信息即主題編號乘以2作為下標,獲取byte[]對應下標的數據及后面一位的數據,并對獲取的兩位數據與當前用戶請求所述的權限標識數據進行異或操作,如果異或結果為00表明用戶對此主題的操作請求是合法的,則進行下一步,如果不匹配則返回無權限,校驗結束;
根據請求的設備ID從設備用戶權限數組緩存中獲取對應下標的用戶數據,使用當前請求的用戶ID進行匹配,判斷當前用戶是否對操作設備具備權限,如果有則返回校驗成功,否則返回無權限,校驗結束。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于金茂云科技服務(北京)有限公司,未經金茂云科技服務(北京)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202310006813.0/1.html,轉載請聲明來源鉆瓜專利網。





