一种节点间建立消息订阅关系的方法、装置和系统制造方法及图纸

技术编号:15082660 阅读:53 留言:0更新日期:2017-04-07 13:40
本发明专利技术公开了提供一种节点间建立消息订阅关系的方法、装置和系统,用以解决现有技术中存在的业务逻辑组织固定、扩展困难、极易形成物联网信息孤岛的问题。包括:第一节点接收控制服务器推送的第一消息;判断是否能识别第一消息,以及第一节点与第一消息的源发送节点是否存在消息订阅关系;当判断出能够识别第一消息,且第一节点与第一消息的源发送节点不存在消息订阅关系时,建立与第一消息的源发送节点的消息订阅关系;当判断出能够识别第一消息,且第一节点与第一消息的源发送节点存在消息订阅关系,或者判断出不能识别第一消息时,将第一消息转发给控制服务器,由控制服务器将第一消息继续推送给除第一节点之外的其它节点。

【技术实现步骤摘要】

本专利技术涉及物联网
,尤其涉及一种节点间建立消息订阅关系的方法、装置和系统
技术介绍
现有的物联网技术通常是按照设计者预先设想好的物联网业务逻辑来组织设备之间的通信连接和消息传递。比如,一个自动的照明控制系统由三台设备组成,一台用于检测房间内光照强度的光照传感器、一台用于检测房间内是否有人的生物传感器和一台控制照明等开关的控制器。设计者设想的业务逻辑为当房间中有人且光照强度低于门限值时开启照明,当房间中没有人时关闭照明。于是设备之间的连接方式和消息发送与接收机制就确定了。现有的物联网应用全部是以此种方式建立起来的。这种方法固然简单,但是它也带来了业务逻辑组织固定、扩展困难、极易形成物联网信息孤岛的问题。
技术实现思路
本专利技术实施例提供一种节点间建立消息订阅关系的方法、装置和系统,用以解决现有技术中存在的业务逻辑组织固定、扩展困难、极易形成物联网信息孤岛的问题。本专利技术实施例采用以下技术方案:本专利技术实施例提供了一种节点间建立消息订阅关系的方法,包括:第一节点接收控制服务器推送的第一消息;根据预先设置的能识别的消息类型,判断是否能识别所述第一消息,以及所述第一节点与所述第一消息的源发送节点是否存在消息订阅关系;当判断出能够识别所述第一消息,且所述第一节点与所述第一消息的源发送节点不存在消息订阅关系时,建立与所述第一消息的源发送节点的消息订阅关系;当判断出能够识别所述第一消息,且所述第一节点与所述第一消息的源发送节点存在消息订阅关系,或者判断出不能识别所述第一消息时,将所述第一消息转发给所述控制服务器,由所述控制服务器将所述第一消息继续推送给除所述第一节点之外的其它节点,使所述其它节点能够通过判断是否能够识别所述第一消息,以及自身与所述第一消息的源发送节点是否存在消息订阅关系来确定是否与所述第一消息的源发送节点建立消息订阅关系。可选的,判断是否能够识别所述第一消息,具体包括:当能够正确解析所述第一消息,并获取所述第一消息的源发送节点,以及所述接收的消息满足下述任意一个条件时,确定能够识别所述第一消息;否则,确定不能识别所述第一消息;所述条件包括:所述第一消息能够触发所述第一节点的状态发生变更、能够触发所述第一节点执行特定动作和能够触发所述第一节点发布新消息。可选的,判断所述第一节点与所述第一消息的源发送节点是否存在消息订阅关系,具体包括:当获取所述第一消息的源发送节点时,根据获取的所述第一消息的源发送节点,以及预先存储的与自身存在消息订阅关系的订阅对象,判断所述第一节点与所述第一消息的源发送节点是否存在消息订阅关系;当获取不到所述第一消息的源发送节点时,确定所述第一节点与所述第一消息的源发送节点不存在消息订阅关系。可选的,当判断出能够识别所述第一消息,且所述第一节点与所述第一消息的源发送节点存在消息订阅关系,或者判断出不能识别所述第一消息时,将所述第一消息转发给所述控制服务器,具体包括:当判断出能够识别所述第一消息,且所述第一节点与所述第一消息的源发送节点存在消息订阅关系时,将所述第一消息以第一概率转发给所述控制服务器;当判断出不能识别所述第一消息,且所述第一节点与所述第一消息的源发送节点存在消息订阅关系时,将所述第一消息以第二概率转发给所述控制服务器;当判断出不能识别所述第一消息,且所述第一节点与所述第一消息的源发送节点不存在消息订阅关系时,将所述第一消息以第四概率转发给所述控制服务器;其中,所述第一概率大于所述第二概率,所述第二概率大于所述第四概率。可选的,当判断出不能识别所述第一消息,且所述第一节点与所述第一消息的源发送节点存在消息订阅关系时,所述方法还包括:按照预设规则记录来自所述第一消息的源发送节点的不能识别的消息的数量;其中,所述预设规则包括:当接收到来自所述第一消息的源发送节点的能识别的消息时,将所述数量初始化归零;当接收到来自所述第一消息的源发送节点的不能识别的消息时,将所述数量加1;当所述数量达到预设阈值时,解除与所述第一消息的源发送节点的消息订阅关系。可选的,建立与所述第一消息的源发送节点的消息订阅关系之后,所述方法还包括:将所述第一消息以第三概率转发给所述控制服务器;其中,所述第三概率等于所述第一概率。本专利技术实施例提供了一种节点间建立消息订阅关系的方法,包括:控制服务器接收源发送节点为第一节点的第一消息;所述控制服务器将所述第一消息推送给除所述第一节点之外的其它节点,使所述其它节点能够通过判断自身是否能够识别所述第一消息,以及自身与所述第一节点是否存在消息订阅关系来确定是否与所述第一节点建立消息订阅关系。可选的,所述其它节点包括:与所述第一消息的上一个发送方存在消息订阅关系的节点,以及除所述第一节点和与所述第一节点存在消息订阅关系的节点之外的节点中的部分节点。本专利技术实施例提供了一种节点间建立消息订阅关系的装置,包括:接收单元,用于接收控制服务器推送的第一消息;判断单元,用于判断是否能识别所述接收单元接收的第一消息,以及所述装置与所述第一消息的源发送节点是否存在消息订阅关系;消息订阅关系建立单元,用于当所述判断单元判断出能够识别所述第一消息,且所述装置与所述第一消息的源发送节点不存在消息订阅关系时,建立所述装置与所述第一消息的源发送节点的消息订阅关系;第一转发单元,用于当所述判断单元判断出能够识别所述第一消息,且所述装置与所述第一消息的源发送节点存在消息订阅关系,或者判断出不能识别所述第一消息时,将所述第一消息转发给所述控制服务器,由所述控制服务器将所述第一消息继续推送给除所述装置之外的其它节点,使所述其它节点能够通过判断是否能够识别所述第一消息,以及自身与所述第一消息的源发送节点是否存在消息订阅关系来确定是否与所述第一消息的源发送节点建立消息订阅关系。可选的,所述判断单元,具体用于:当能够正确解析所述第一消息,并获取所述第一消息的源发送节点,以及所述接收的消息满足下述任意一个条件时,确定能够识别所述第一消息;否则,确定不能识别所述第一消息;所述条件包括:所述第一消息能够触发所述装置的状态发生变更、能够触发所述装置执行特定动作和能够触发所述装置发布新消息。可选的,所述判断单元,具体用于:当获取所述第一消息的源发送节点时,根据获取的所述第一消息的源发送节点,以及预先存储的与本文档来自技高网...

【技术保护点】
一种节点间建立消息订阅关系的方法,其特征在于,包括:第一节点接收控制服务器推送的第一消息;判断是否能识别所述第一消息,以及所述第一节点与所述第一消息的源发送节点是否存在消息订阅关系;当判断出能够识别所述第一消息,且所述第一节点与所述第一消息的源发送节点不存在消息订阅关系时,建立与所述第一消息的源发送节点的消息订阅关系;当判断出能够识别所述第一消息,且所述第一节点与所述第一消息的源发送节点存在消息订阅关系,或者判断出不能识别所述第一消息时,将所述第一消息转发给所述控制服务器,由所述控制服务器将所述第一消息继续推送给除所述第一节点之外的其它节点,使所述其它节点能够通过判断是否能够识别所述第一消息,以及自身与所述第一消息的源发送节点是否存在消息订阅关系来确定是否与所述第一消息的源发送节点建立消息订阅关系。

【技术特征摘要】
1.一种节点间建立消息订阅关系的方法,其特征在于,包括:
第一节点接收控制服务器推送的第一消息;
判断是否能识别所述第一消息,以及所述第一节点与所述第一消息的源发
送节点是否存在消息订阅关系;
当判断出能够识别所述第一消息,且所述第一节点与所述第一消息的源发
送节点不存在消息订阅关系时,建立与所述第一消息的源发送节点的消息订阅
关系;
当判断出能够识别所述第一消息,且所述第一节点与所述第一消息的源发
送节点存在消息订阅关系,或者判断出不能识别所述第一消息时,将所述第一
消息转发给所述控制服务器,由所述控制服务器将所述第一消息继续推送给除
所述第一节点之外的其它节点,使所述其它节点能够通过判断是否能够识别所
述第一消息,以及自身与所述第一消息的源发送节点是否存在消息订阅关系来
确定是否与所述第一消息的源发送节点建立消息订阅关系。
2.如权利要求1所述的方法,其特征在于,判断是否能够识别所述第一
消息,具体包括:
当能够正确解析所述第一消息,并获取所述第一消息的源发送节点,以及
所述接收的消息满足下述任意一个条件时,确定能够识别所述第一消息;否则,
确定不能识别所述第一消息;
所述条件包括:所述第一消息能够触发所述第一节点的状态发生变更、能
够触发所述第一节点执行特定动作和能够触发所述第一节点发布新消息。
3.如权利要求2所述的方法,其特征在于,判断所述第一节点与所述第
一消息的源发送节点是否存在消息订阅关系,具体包括:
当获取所述第一消息的源发送节点时,根据获取的所述第一消息的源发送
节点,以及预先存储的与自身存在消息订阅关系的订阅对象,判断所述第一节
点与所述第一消息的源发送节点是否存在消息订阅关系;
当获取不到所述第一消息的源发送节点时,确定所述第一节点与所述第一
消息的源发送节点不存在消息订阅关系。
4.如权利要求1所述的方法,其特征在于,当判断出能够识别所述第一
消息,且所述第一节点与所述第一消息的源发送节点存在消息订阅关系,或者
判断出不能识别所述第一消息时,将所述第一消息转发给所述控制服务器,具
体包括:
当判断出能够识别所述第一消息,且所述第一节点与所述第一消息的源发
送节点存在消息订阅关系时,将所述第一消息以第一概率转发给所述控制服务
器;
当判断出不能识别所述第一消息,且所述第一节点与所述第一消息的源发
送节点存在消息订阅关系时,将所述第一消息以第二概率转发给所述控制服务
器;
当判断出不能识别所述第一消息,且所述第一节点与所述第一消息的源发
送节点不存在消息订阅关系时,将所述第一消息以第四概率转发给所述控制服
务器;
其中,所述第一概率大于所述第二概率,所述第二概率大于所述第四概率。
5.如权利要求4所述的方法,其特征在于,当判断出不能识别所述第一
消息,且所述第一节点与所述第一消息的源发送节点存在消息订阅关系时,所
述方法还包括:
按照预设规则记录来自所述第一消息的源发送节点的不能识别的消息的
数量;其中,所述预设规则包括:当接收到来自所述第一消息的源发送节点的
能识别的消息时,将所述数量初始化归零;当接收到来自所述第一消息的源发
送节点的不能识别的消息时,将所述数量加1;
当所述数量达到预设阈值时,解除与所述第一消息的源发送节点的消息订
阅关系。
6.如权利要求4所述的方法,其特征在于,建立与所述第一消息的源发

\t送节点的消息订阅关系之后,所述方法还包括:
将所述第一消息以第三概率转发给所述控制服务器;其中,所述第三概率
等于所述第一概率。
7.一种节点间建立消息订阅关系的方法,其特征在于,包括:
控制服务器接收源发送节点为第一节点的第一消息;
所述控制服务器将所述第一消息推送给除所述第一节点之外的其它节点,
使所述其它节点能够通过判断自身是否能够识别所述第一消息,以及自身与所
述第一节点是否存在消息订阅关系来确定是否与所述第一节点建立消息订阅
关系。
8.如权利要求7所述的方法,其特征在于,所述其它节点包括:
与所述第一消息的上一个发送方存在消息订阅关系的节点,以及除所述第
一节点和与所述第一节点存在消息订阅关系的节点之外的节点中的部分节点。
9.一种节点间建立消息订阅关系的装置,其特征在于,包括:
接收单元,用于接收控制服务器推送的第一消息;
判断单元,用于判断是否能识别所述接收单元接收的第一消息,以及所述
装置与所述第一消息的源发送节点是否存在消息订阅关系;
消息订阅关系建立单元,用于当所述判断单元判断出能够识别所述第一消
息,且所述装置与所述第一消息的源发送节点不存在消息订阅关系时,建立所
述装置与所述第一消息的源发送节点的消息订阅关系;
第一转发单元,用于当所述...

【专利技术属性】
技术研发人员:张勇
申请(专利权)人:中国移动通信集团公司
类型:发明
国别省市:北京;11

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

1