一种订阅发布方法及服务器技术

技术编号:20520138 阅读:45 留言:0更新日期:2019-03-06 03:50
本申请实施例公开了一种订阅发布方法及服务器,涉及通信领域,解决了在订阅客户端订阅能处理的发布消息的情况下,订阅客户端上的订阅关系维护较困难的问题。具体方案为:服务器接收发布客户端发送的发布消息,并根据接收到的发布消息获取该发布客户端的标识,且服务器可以根据该发布消息中的主题名查找订阅树,获得订阅客户端的标识,并根据该订阅客户端的标识以及第一映射表获取与该订阅客户端的标识对应的第一标签,以及根据发布客户端的标识以及第一映射表获取与发布客户端的标识对应的第二标签,这样服务器可以将获取到的第一标签与第二标签进行匹配,并在确定第一标签和第二标签匹配成功的情况下,向订阅客户端发送发布消息。

【技术实现步骤摘要】
一种订阅发布方法及服务器
本申请实施例涉及通信领域,尤其涉及一种订阅发布方法及服务器。
技术介绍
消息队列遥测传输(MessageQueueTelemetryTransport,MQTT)协议是一种发布订阅机制的消息传输协议,该发布订阅机制为:手机、笔记本等具有管理功能的订阅终端上的订阅客户端可以向服务器发送包含有主题的订阅消息,温度传感器等发布终端上的发布客户端可以向该服务器发送包含有主题的发布消息,这样服务器可以向订阅了发布消息中包含的主题的订阅客户端发送该发布消息。且MQTT协议具有轻巧、开放、简单、规范等特点,可以应用于机器与机器的通信(machine-to-machine,M2M)、物联网(internetofthings,I0T)等受限的环境中。在IOT环境中,订阅终端上的订阅客户端通常用于通过发布终端上的发布客户端管理大量发布终端。一个订阅客户端可以通过一个包含有通配符的主题来订阅IOT环境中的所有发布客户端发布的消息,并对接收到的所有发布消息进行扇入(fanin)处理,扇入的过程为:订阅客户端可以对所有发布消息进行汇聚、统计等复杂运算,并将运算结果形成图标或页面呈现给本文档来自技高网...

【技术保护点】
1.一种订阅发布方法,其特征在于,所述方法包括:服务器接收发布客户端发送的发布消息,所述发布消息中包括主题名;所述服务器根据所述发布消息获取所述发布客户端的标识;所述服务器根据所述主题名查找订阅树,获得订阅客户端的标识,所述订阅树为至少一个主题过滤器组成的拓扑结构,所述订阅客户端的标识为与所述主题名匹配成功的一个主题过滤器对应的标识;所述服务器根据所述订阅客户端的标识以及第一映射表获取与所述订阅客户端的标识对应的第一标签;所述第一映射表的每个表项包括客户端的标识与对应的标签;所述标签用于指示与所述标签对应的客户端的至少一种属性信息;所述服务器根据所述发布客户端的标识以及所述第一映射表获取与所述...

【技术特征摘要】
1.一种订阅发布方法,其特征在于,所述方法包括:服务器接收发布客户端发送的发布消息,所述发布消息中包括主题名;所述服务器根据所述发布消息获取所述发布客户端的标识;所述服务器根据所述主题名查找订阅树,获得订阅客户端的标识,所述订阅树为至少一个主题过滤器组成的拓扑结构,所述订阅客户端的标识为与所述主题名匹配成功的一个主题过滤器对应的标识;所述服务器根据所述订阅客户端的标识以及第一映射表获取与所述订阅客户端的标识对应的第一标签;所述第一映射表的每个表项包括客户端的标识与对应的标签;所述标签用于指示与所述标签对应的客户端的至少一种属性信息;所述服务器根据所述发布客户端的标识以及所述第一映射表获取与所述发布客户端的标识对应的第二标签;所述服务器将所述第一标签与所述第二标签进行匹配;所述服务器在确定所述第一标签和所述第二标签匹配成功的情况下,向所述订阅客户端发送所述发布消息。2.根据权利要求1所述的方法,其特征在于,所述服务器根据所述订阅客户端的标识以及第一映射表获取与所述订阅客户端的标识对应的第一标签,包括:所述服务器在确定所述订阅客户端支持标签匹配的情况下,根据所述订阅客户端的标识以及所述第一映射表获取所述第一标签。3.根据权利要求1或2所述的方法,其特征在于,在所述服务器根据所述主题名查找订阅树,获得所述订阅客户端的标识之前,所述方法还包括:所述服务器接收所述订阅客户端发送的订阅消息,所述订阅消息中包括至少一个主题过滤器;所述服务器根据所述订阅消息获取所述订阅客户端的标识。4.根据权利要求3所述的方法,其特征在于,每个主题过滤器被分为多层,每层为一个主题层级,每个主题层级存储于所述订阅树的一个子树中,所述方法还包括:所述服务器在确定所述至少一个主题过滤器中的第一主题过滤器支持标签匹配时,将所述第一主题过滤器关联到所述订阅树上,并在所述订阅树中存储有所述第一主题过滤器的最后一个主题层级的子树中保存所述订阅客户端的信息,所述订阅客户端的信息包括:所述订阅客户端的标识和用于指示所述订阅客户端支持标签匹配的指示信息,所述第一主题过滤器为所述至少一个主题过滤器中的任意一个。5.根据权利要求4所述的方法,其特征在于,所述订阅消息中还包括:第一标志位,所述第一标志位包括第一值或者第二值,所述第一值用于指示所述至少一个主题过滤器中的每个主题过滤器支持标签匹配,所述第二值用于指示所述至少一个主题过滤器中包括至少一个不支持标签匹配的主题过滤器。6.根据权利要求5所述的方法,其特征在于,所述确定所述至少一个主题过滤器中的第一主题过滤器支持标签匹配,包括:所述服务器在确定所述第一标志位包括所述第一值时,确定所述第一主题过滤器支持标签匹配。7.根据权利要求5所述的方法,其特征在于,所述订阅消息中还包括:所述至少一个主题过滤器中每个主题过滤器对应的第二标志位,每个第二标志位包括第三值或第四值,所述第三值用于指示与所述第二标志位对应的主题过滤器支持标签匹配,所述第四值用于指示与所述第二标志位对应的主题过滤器不支持标签匹配。8.根据权利要求7所述的方法,其特征在于,所述确定所述至少一个主题过滤器中的第一主题过滤器支持标签匹配,包括:所述服务器在确定所述第一标志位包括所述第二值,且确定与所述第一主题过滤器对应的第二标志位包括所述第三值时,确定所述第一主题过滤器支持标签匹配。9.根据权利要求4所述的方法,其特征在于,所述方法还包括:所述服务器根据所述订阅客户端的标识、所述第一主题过滤器以及第二映射表获取与所述第一主题过滤器对应的标识信息,所述第二映射表的每个表项包含客户端的标识,与客户端的标识对应的至少一个主题过滤器,以及至少一个主题过滤器中每个主题过滤器对应的标识信息,每个标识信息包括第五值或第六值,所述第五值用于指示与所述标识信息对应的主题过滤器支持标签匹配,所述第六值用于指示与所述标识信息对应的主题过滤器不支持标签匹配;所述确定所述至少一个主题过滤器中的第一主题过滤器支持标签匹配,包括:所述服务器在确定与所述第一主题过滤器对应的标识信息包括所述第五值时,确定所述第一主题过滤器支持标签匹配。10.根据权利要求4-9中任一项所述的方法,其特征在于,所述确定所述订阅客户端支持标签匹配,包括:所述服务器在确定存储有所述订阅客户端的标识的子树中还存储有用于指示所述订阅客户端支持标签匹配的指示信息时,确定所述订阅客户端支持标签匹配。11.根据权利要求1-10中任一项所述的方法,其特征在于,所述属性信息包含属性名称和属性值,所述服务器将所述第一标签与所述第二标签进行匹配,包括:所述服务器将所述第一标签包括的每种属性信息的属性值分别与所述第二标签包括的对应的属性信息的属性值进行比较;确定所述第一标签包括的每种属性信息的属性值是否分别与所述第二标签包括的对应的属性信息的属性值符合预设的逻辑关系;所述确定所述第一标签和所述第二标签匹配成功,包括:所述服务器在确定所述第一标签包括的每种属性信息的属性值分别与所述第二标签包括的对应的属性信息的属性值符合所述预设的逻辑关系的情况下,确定所述第一标签和所述第二标签匹配成功。12.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:所述服务器接收第二订阅客户端发送的第二订阅消息,所述第二订阅消息中包括至少一个主题过滤器;所述服务器根据所述第二订阅消息获取所述第二订阅客户端的标识;所述服务器获取预先存储的持久化消息,所述持久化消息为持久化的发布消息,所述持久化消息中包括一个主题名;所述服务器根据所述持久化消息中包括的主题名查找所述订阅树,获得与所述持久化消息中的主题名匹配成功的主题过滤器对应的所述第二订阅客户端的标识;所述服务器根据所述持久化消息获取第二发布客户端的标识;所述服务器根据所述第二发布客户端的标识以及所述第一映射表,获取与所述第二发布客户端的标识对应的第三标签;所述服务器根据所述第二订阅客户端的标识以及所述第一映射表,获取与所述第二订阅客户端的标识对应的第四标签;所述服务器将所述第三标签与所述第四标签进行匹配;所述服务器在确定所述第三标签和所述第四标签匹配成功的情况下,向所...

【专利技术属性】
技术研发人员:许金川吴英德
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1