[发明专利]物联网设备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.vipzhuanli.com/pat/books/202310006813.0/2.html,转载请声明来源钻瓜专利网。