The invention relates to artificial intelligence technology, and discloses a publish-subscribe matching method, electronic device and storage medium based on MQTT. The method receives subscription requests sent by all subscribers in real time, and creates hash mapping relationship between subscription topics and clients by preset way. Then, according to the subscription topic in the subscription request, the method configures the root node and all levels of token nodes provided by the publishing and subscribing system in a tree structure, configures the corresponding sub-node set and client set at the root node and all levels of token nodes respectively, and stores the created hash mapping relationship into the client set. Finally, receiving and publishing the messages and topics published by the publishing client, and matching the token nodes at all levels using the default matching rules. If the matching is successful, the published messages will be published to the corresponding subscribing client through hash mapping. The invention can shorten the matching time of the message and improve the publishing and subscribing efficiency of the message.
【技术实现步骤摘要】
基于MQTT的发布订阅匹配方法、装置及存储介质
本专利技术涉及人工智能
,尤其涉及一种基于MQTT的发布订阅匹配方法、装置及计算机可读存储介质。
技术介绍
国际商业机器公司(InternationalBusinessMachinessCorporation,IBM)开发的消息队列遥测传输(MessageQueuingTelemetryTransport,MQTT)协议已成为物联网消息标准传输协议,该协议规定传输的消息属于一个具体的主题(topic)。在传输的过程中,各个应用系统可以将其自身的一些信息以消息形式发布出去,而对某主题感兴趣的其它应用系统可以根据主题匹配相应的发布消息进行订阅。由于主题的类型非常多,在匹配的过程中需要花费大量的时间成本,并且在匹配时可能会出现较难解析的主题,如A/B/C/D/E或者A/#及A/+/B等,从而导致系统在发布订阅过程中主题匹配效率过低,成本增加。因此,亟待设计一种合理解析mqtt协议主题的匹配算法。
技术实现思路
鉴于以上内容,本专利技术提供一种基于MQTT的发布订阅匹配方法、装置及计算机可读存储介质,其主要目的在于缩短主题匹配时间,提高发布订阅系统的主题匹配效率。为实现上述目的,本专利技术提供一种基于MQTT的发布订阅匹配方法,该方法包括:第一接收步骤:实时接收所有订阅客户端发送的订阅请求,订阅请求包括:客户端标识符、订阅主题及主题标识符;创建步骤:根据接收到的订阅请求,利用预设方式创建订阅主题与订阅客户端之间的哈希映射关系;配置步骤:根据订阅请求中的订阅主题,以树形结构配置发布订阅系统提供的根节点及各级令牌节点, ...
【技术保护点】
1.一种基于MQTT的发布订阅匹配方法,应用于电子装置,其特征在于,所述方法包括:第一接收步骤:实时接收所有订阅客户端发送的订阅请求,订阅请求包括:客户端标识符、订阅主题及主题标识符;创建步骤:根据接收到的订阅请求,利用预设方式创建订阅主题与订阅客户端之间的哈希映射关系;配置步骤:根据订阅请求中的订阅主题,以树形结构配置发布订阅系统提供的根节点及各级令牌节点,在根节点及各级令牌节点分别配置对应的子节点集合及客户端集合,将所述创建的哈希映射关系存储至客户端集合;第二接收步骤:接收发布客户端发布的消息及发布主题;匹配步骤:根据接收到的发布主题,利用预设的匹配规则对树形结构下的各级令牌节点进行匹配,若匹配成功,则获取匹配成功的令牌节点中存储的所有哈希映射关系,将发布的消息通过哈希映射关系发布给对应的订阅客户端。
【技术特征摘要】
1.一种基于MQTT的发布订阅匹配方法,应用于电子装置,其特征在于,所述方法包括:第一接收步骤:实时接收所有订阅客户端发送的订阅请求,订阅请求包括:客户端标识符、订阅主题及主题标识符;创建步骤:根据接收到的订阅请求,利用预设方式创建订阅主题与订阅客户端之间的哈希映射关系;配置步骤:根据订阅请求中的订阅主题,以树形结构配置发布订阅系统提供的根节点及各级令牌节点,在根节点及各级令牌节点分别配置对应的子节点集合及客户端集合,将所述创建的哈希映射关系存储至客户端集合;第二接收步骤:接收发布客户端发布的消息及发布主题;匹配步骤:根据接收到的发布主题,利用预设的匹配规则对树形结构下的各级令牌节点进行匹配,若匹配成功,则获取匹配成功的令牌节点中存储的所有哈希映射关系,将发布的消息通过哈希映射关系发布给对应的订阅客户端。2.根据权利要求1所述的基于MQTT的发布订阅匹配方法,其特征在于,所述配置步骤包括:根据订阅请求中的订阅主题,将订阅主题拆分成预设数量不同级别的子主题;将不同级别的子主题逐级配置至不同层级的令牌节点,在每个层级的令牌节点存储该级别子主题的主题标识符;在已配置的各层级令牌节点分别存储下一层级的令牌节点及所述订阅主题与订阅客户端之间的映射关系得到子节点集合及客户端集合。3.根据权利要求2所述的基于MQTT的发布订阅匹配方法,其特征在于,所述配置步骤还包括:在将不同级别的子主题逐级配置至不同层级的令牌节点之前,判断某层级的已配置令牌节点中是否存在与该级别子主题相同的令牌节点,若存在,则将所述订阅主题与订阅客户端的映射关系存储至所述已配置令牌节点的客户端集合,继续判断该令牌节点的下一层级的已配置令牌节点中是否存在与下一级别子主题相同的令牌节点;若不存在,则判断该层级是否存在未配置的令牌节点,若存在,则将该级别的子主题配置至所述未配置的令牌节点,若不存在,则新建一个该层级的令牌节点,将该级别的子主题配置至所述新建的令牌节点。4.根据权利要求1所述的基于MQTT的发布订阅匹配方法,其特征在于,所述预设的匹配规则包括:根据接收到的发布主题,将所述发布主题拆分成预设数量不同级别的子主题;由高至低依次根据不同级别的子主题,判断各个层级的令牌节点是否存在对应的子主题,若不存在,则匹配失败,返回匹配失败提示信息,若存在,则将该层级的令牌节点与该级别的子主题进行匹配,继续判断下一层级的令牌节点是否存在发布主题对应的下一级别子主题直至将所有子主题匹配完成,输出匹配成功提示信息。5.根据权利要求1所述的基于MQTT的发布订阅匹配方法,其特征在于,所述预设方式包括:创建预设形式的映射表,将客...
【专利技术属性】
技术研发人员:詹泽,
申请(专利权)人:平安科技深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。