基于MQTT的发布订阅匹配方法、装置及存储介质制造方法及图纸

技术编号:21309015 阅读:53 留言:0更新日期:2019-06-12 10:58
本发明专利技术涉及人工智能技术,揭露了一种基于MQTT的发布订阅匹配方法、电子装置及存储介质,该方法实时接收所有订阅客户端发送的订阅请求,并利用预设方式创建订阅主题与客户端之间的哈希映射关系。之后,该方法根据订阅请求中的订阅主题,以树形结构配置发布订阅系统提供的根节点及各级令牌节点,在根节点及各级令牌节点分别配置对应的子节点集合及客户端集合,将所述创建的哈希映射关系存储至客户端集合。最后,接收发布客户端发布的消息及发布主题,并利用预设的匹配规则对各级令牌节点进行匹配,若匹配成功,则将发布的消息通过哈希映射关系发布给对应的订阅客户端。利用本发明专利技术,能够缩短消息的匹配时间,提高消息的发布订阅效率。

Publish-Subscribe Matching Method, Device and Storage Medium Based on MQTT

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的发布订阅匹配方法,该方法包括:第一接收步骤:实时接收所有订阅客户端发送的订阅请求,订阅请求包括:客户端标识符、订阅主题及主题标识符;创建步骤:根据接收到的订阅请求,利用预设方式创建订阅主题与订阅客户端之间的哈希映射关系;配置步骤:根据订阅请求中的订阅主题,以树形结构配置发布订阅系统提供的根节点及各级令牌节点,在根节点及各级令牌节点分别配置对应的子节点集合及客户端集合,将所述创建的哈希映射关系存储至客户端集合;第二接收步骤:接收发布客户端发布的消息及发布主题;匹配步骤:根据接收到的发布主题,利用预设的匹配规则对树形结构下的各级令牌节点进行匹配,若匹配成功,则获取匹配成功的令牌节点中存储的所有哈希映射关系,将发布的消息通过哈希映射关系发布给对应的订阅客户端。优选地,所述配置步骤包括:根据订阅请求中的订阅主题,将订阅主题拆分成预设数量不同级别的子主题;将不同级别的子主题逐级配置至不同层级的令牌节点,在每个层级的令牌节点存储该级别子主题的主题标识符;在已配置的各层级令牌节点分别存储下一层级的令牌节点及所述订阅主题与订阅客户端之间的映射关系得到子节点集合及客户端集合。优选地,所述配置步骤还包括:在将不同级别的子主题逐级配置至不同层级的令牌节点之前,判断某层级的已配置令牌节点中是否存在与该级别子主题相同的令牌节点,若存在,则将所述订阅主题与订阅客户端的映射关系存储至所述已配置令牌节点的客户端集合,继续判断该令牌节点的下一层级的已配置令牌节点中是否存在与下一级别子主题相同的令牌节点;若不存在,则判断该层级是否存在未配置的令牌节点,若存在,则将该级别的子主题配置至所述未配置的令牌节点,若不存在,则新建一个该层级的令牌节点,将该级别的子主题配置至所述新建的令牌节点。优选地,所述预设的匹配规则包括:根据接收到的发布主题,将所述发布主题拆分成预设数量不同级别的子主题;由高至低依次根据不同级别的子主题,判断各个层级的令牌节点是否存在对应的子主题,若不存在,则匹配失败,返回匹配失败提示信息,若存在,则将该层级的令牌节点与该级别的子主题进行匹配,继续判断下一层级的令牌节点是否存在发布主题对应的下一级别子主题直至将所有子主题匹配完成,输出匹配成功提示信息。优选地,所述预设方式包括:创建预设形式的映射表,将客户端标识符、订阅主题、主题标识符存储至该映射表;及根据所述映射表中存储的信息利用哈希算法生成订阅主题与订阅客户端之间的映射关系。优选地,该方法还包括:接收订阅客户端的修改指令,包括:订阅取消指令、订阅新增指令,根据所述修改指令对各层级令牌节点的客户端集合进行相应修改。此外,本专利技术还提供一种电子装置,该电子装置包括:存储器、处理器及显示器,所述存储器上存储发布订阅匹配程序,所述发布订阅匹配程序被所述处理器执行,可实现如下步骤:第一接收步骤:实时接收所有订阅客户端发送的订阅请求,订阅请求包括:客户端标识符、订阅主题及主题标识符;创建步骤:根据接收到的订阅请求,利用预设方式创建订阅主题与订阅客户端之间的哈希映射关系;配置步骤:根据订阅请求中的订阅主题,以树形结构配置发布订阅系统提供的根节点及各级令牌节点,在根节点及各级令牌节点分别配置对应的子节点集合及客户端集合,将所述创建的哈希映射关系存储至客户端集合;第二接收步骤:接收发布客户端发布的消息及发布主题;匹配步骤:根据接收到的发布主题,利用预设的匹配规则对树形结构下的各级令牌节点进行匹配,若匹配成功,则获取匹配成功的令牌节点中存储的所有哈希映射关系,将发布的消息通过哈希映射关系发布给对应的订阅客户端。优选地,所述配置步骤包括:根据订阅请求中的订阅主题,将订阅主题拆分成预设数量不同级别的子主题;将不同级别的子主题逐级配置至不同层级的令牌节点,在每个层级的令牌节点存储该级别子主题的主题标识符;在已配置的各层级令牌节点分别存储下一层级的令牌节点及所述订阅主题与订阅客户端之间的映射关系得到子节点集合及客户端集合。优选地,所述配置步骤还包括:在将不同级别的子主题逐级配置至不同层级的令牌节点之前,判断某层级的已配置令牌节点中是否存在与该级别子主题相同的令牌节点,若存在,则将所述订阅主题与订阅客户端的映射关系存储至所述已配置令牌节点的客户端集合,继续判断该令牌节点的下一层级的已配置令牌节点中是否存在与下一级别子主题相同的令牌节点;若不存在,则判断该层级是否存在未配置的令牌节点,若存在,则将该级别的子主题配置至所述未配置的令牌节点,若不存在,则新建一个该层级的令牌节点,将该级别的子主题配置至所述新建的令牌节点。此外,为实现上述目的,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质中包括发布订阅匹配程序,所述发布订阅匹配程序被处理器执行时,可实现如上所述基于MQTT的发布订阅匹配方法中的任意步骤。本专利技术提出的基于MQTT的发布订阅匹配方法、装置及计算机可读存储介质,通过接收所有订阅客户端发送的订阅请求,并根据订阅请求创建订阅主题与客户端之间的哈希映射关系,之后,以树形结构为系统提供的各级令牌节点配置不同级别的子主题,并为个层级的令牌节点配置对应的子节点集合及客户端集合,将所述常见的哈希映射关系存储至客户端集合,最后,接收发布客户端发布的消息及发布主题,利用预设的匹配规则进行匹配,若匹配成功,则获取匹配成功的令牌节点中存储的所有哈希映射关系,将消息通过哈希映射发布给对应的订阅客户端,从而提高发布订阅系统的吞吐量,提高发布订阅系统的运行效率。附图说明图1为本专利技术基于MQTT的发布订阅匹配方法的应用环境示意图;图2为本专利技术电子装置较佳实施例的示意图;图3为图2中发布订阅匹配程序较佳实施例的模块示意图;图4为本专利技术基于MQTT的发布订阅匹配方法较佳实施例的流程图;图5为本专利技术发布订阅系统中树形结构的令牌节点示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限本文档来自技高网...

【技术保护点】
1.一种基于MQTT的发布订阅匹配方法,应用于电子装置,其特征在于,所述方法包括:第一接收步骤:实时接收所有订阅客户端发送的订阅请求,订阅请求包括:客户端标识符、订阅主题及主题标识符;创建步骤:根据接收到的订阅请求,利用预设方式创建订阅主题与订阅客户端之间的哈希映射关系;配置步骤:根据订阅请求中的订阅主题,以树形结构配置发布订阅系统提供的根节点及各级令牌节点,在根节点及各级令牌节点分别配置对应的子节点集合及客户端集合,将所述创建的哈希映射关系存储至客户端集合;第二接收步骤:接收发布客户端发布的消息及发布主题;匹配步骤:根据接收到的发布主题,利用预设的匹配规则对树形结构下的各级令牌节点进行匹配,若匹配成功,则获取匹配成功的令牌节点中存储的所有哈希映射关系,将发布的消息通过哈希映射关系发布给对应的订阅客户端。

【技术特征摘要】
1.一种基于MQTT的发布订阅匹配方法,应用于电子装置,其特征在于,所述方法包括:第一接收步骤:实时接收所有订阅客户端发送的订阅请求,订阅请求包括:客户端标识符、订阅主题及主题标识符;创建步骤:根据接收到的订阅请求,利用预设方式创建订阅主题与订阅客户端之间的哈希映射关系;配置步骤:根据订阅请求中的订阅主题,以树形结构配置发布订阅系统提供的根节点及各级令牌节点,在根节点及各级令牌节点分别配置对应的子节点集合及客户端集合,将所述创建的哈希映射关系存储至客户端集合;第二接收步骤:接收发布客户端发布的消息及发布主题;匹配步骤:根据接收到的发布主题,利用预设的匹配规则对树形结构下的各级令牌节点进行匹配,若匹配成功,则获取匹配成功的令牌节点中存储的所有哈希映射关系,将发布的消息通过哈希映射关系发布给对应的订阅客户端。2.根据权利要求1所述的基于MQTT的发布订阅匹配方法,其特征在于,所述配置步骤包括:根据订阅请求中的订阅主题,将订阅主题拆分成预设数量不同级别的子主题;将不同级别的子主题逐级配置至不同层级的令牌节点,在每个层级的令牌节点存储该级别子主题的主题标识符;在已配置的各层级令牌节点分别存储下一层级的令牌节点及所述订阅主题与订阅客户端之间的映射关系得到子节点集合及客户端集合。3.根据权利要求2所述的基于MQTT的发布订阅匹配方法,其特征在于,所述配置步骤还包括:在将不同级别的子主题逐级配置至不同层级的令牌节点之前,判断某层级的已配置令牌节点中是否存在与该级别子主题相同的令牌节点,若存在,则将所述订阅主题与订阅客户端的映射关系存储至所述已配置令牌节点的客户端集合,继续判断该令牌节点的下一层级的已配置令牌节点中是否存在与下一级别子主题相同的令牌节点;若不存在,则判断该层级是否存在未配置的令牌节点,若存在,则将该级别的子主题配置至所述未配置的令牌节点,若不存在,则新建一个该层级的令牌节点,将该级别的子主题配置至所述新建的令牌节点。4.根据权利要求1所述的基于MQTT的发布订阅匹配方法,其特征在于,所述预设的匹配规则包括:根据接收到的发布主题,将所述发布主题拆分成预设数量不同级别的子主题;由高至低依次根据不同级别的子主题,判断各个层级的令牌节点是否存在对应的子主题,若不存在,则匹配失败,返回匹配失败提示信息,若存在,则将该层级的令牌节点与该级别的子主题进行匹配,继续判断下一层级的令牌节点是否存在发布主题对应的下一级别子主题直至将所有子主题匹配完成,输出匹配成功提示信息。5.根据权利要求1所述的基于MQTT的发布订阅匹配方法,其特征在于,所述预设方式包括:创建预设形式的映射表,将客...

【专利技术属性】
技术研发人员:詹泽
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1