基于内容的WInternet管道通信协议路由算法

文档序号:7815115阅读:253来源:国知局
基于内容的WInternet管道通信协议路由算法
【专利摘要】本发明涉及物联网通信协议的路由算法。一种基于内容的WInternet管道通信协议路由算法,其特征在于,根据消息内容和订阅条件之间的覆盖关系,依托消息分发树来路由分发消息,并且能够支持节点的动态加入和退出,以及失效节点的处理。方法为:1)建立一种多级索引结构的过滤器模型,为判断覆盖关系提供理论基础。2)根据订阅条件之间的覆盖关系,建立订阅树。3)根据订阅树和路由表,构建虚拟的消息分发树。4)消息沿着这棵消息分发树自上而下分发。5)当节点加入和退出WInternet网络,以及处理失效节点时,调整消息分发树,重构路由。作为整个WInternet的通用传输协议,本发明使该协议对数据传输具有实时性,隐私性,高效性,以及实现整个WInternet网络的负载均衡。
【专利说明】基于内容的Wlnternet管道通信协议路由算法

【技术领域】
[0001 ] 本发明涉及物联网通信协议的路由算法。

【背景技术】
[0002]物联网技术出现后,在各个领域也得到了高度的重视,许多的物联网示范应用被提出和建设,也取得了一定的成果。但同时,我们也可以看到当前物联网的发展有着和互联网前的电子网络类似的特点,特别是“垂直集成”和“专用协议”。当前许多物联网系统是为解决某一领域或区域的特定需求搭建,相互之间独立。“物一机”相连的“物网”发展成为相连众多“物网”的“开放大网”应是物联网的发展趋势,基于这个趋势和需求,本申请发明人们已提出了一个双层网络架构,命名为WInternet。WInternet的设计以水平互联,通用协议,双层结构为基本思路,以Internet为底层,提供支撑通信服务,在Internet上构建物联服务层面向各类物联网应用提供通用的通信、计算和安全保障服务。
[0003]WInternet的协议主要包括3个部分:管道通信协议、网件计算协议、命名及搜索协议。管道通信协议运行于互联网的TCP/IP协议栈之上,依托TCP/IP提供网络通信功能。当前的管道通信协议未提供路由转发机制,可能会导致不必要的消息过滤,引擎负载不均衡等问题。作为整个WInternet的通用传输协议,该协议对数据传输实时性,隐私性,高效性,以及实现整个WInternet网络的负载均衡等方面提出了很高的要求。因此一个高效的管道通信协议必须要解决以上问题。


【发明内容】

[0004]本发明所要解决的技术问题是:针对WInternet标准数据模型,建立一种过滤器模型来判断过滤器之间的覆盖关系。根据InGate的订阅条件之间的覆盖关系,构建消息分发树。考虑WInternet网络的动态变化,路由算法要解决引擎节点的动态加入和退出时的分发树的重构问题,并且要处理树形网络中的失效节点。
[0005]为解决以上技术问题,本发明采用如下的技术方案:
[0006]一种基于内容的WInternet管道通信协议路由算法,其特征在于根据消息内容和订阅条件之间的覆盖关系,依托消息分发树来路由分发消息,并且能够支持节点的动态加入和退出,以及失效节点的处理,该方法包括如下步骤:
[0007](I)针对WInternet管道的标准数据格式,建立一种基于多级索引结构的过滤器模型。该模型分为Object, Measurement, Operator, Parameter四级索引,它为判断过滤器之间的覆盖关系提供了理论基础。
[0008](2)将复合过滤器分解为属性过滤器,利用多级索引结构模型来判断属性过滤器之间的关系,进而判断复合过滤器之间的关系。在该模型中,通过比较第四级索引块中的值,来判断两个属性过滤器之间的关系。
[0009](3)将订阅同一个OutGate的InGate协同起来,根据订阅条件之间的覆盖关系,为每个OutGate建立一棵以过滤器关键字为节点的订阅树和一张路由表。订阅树的父节点代表的过滤器覆盖其孩子节点所代表的过滤器。路由表的一条路由表项对应一个过滤器,其下一跳是通过该过滤器后的消息到达的引擎节点的集合。
[0010](4)根据订阅树和路由表,为每个OutGate建立一棵虚拟的消息分发树。分发树以引擎为节点,每条路径都有一个过滤器,消息沿着这个分发树,自上而下分发,只有内容与过滤器匹配的消息才能到达其后续节点,从而减少不必要的消息过滤和转发。
[0011](5)考虑WInternet网络的动态变化,当新的引擎节点加入或退出分发树,以及分发树的某个节点失效时,我们要为受影响的节点寻找父节点,以加入到树形网络中,并且重构路由。
[0012]本发明的创新点体现在:
[0013]I)为判断过滤器之间的覆盖关系,建立了一种基于多级索引结构的过滤器模型。
[0014]2)根据订阅条件之间的覆盖关系,构建订阅树和路由表,进而为WInternet网络建立虚拟的消息分发树。
[0015]3)考虑WInternet网络的动态变化,该路由算法支持引擎节点的动态加入和退出,并且支持失效节点的处理。
[0016]作为整个WInternet的通用传输协议,本发明使该协议对数据传输具有实时性,隐私性,高效性,以及实现整个WInternet网络的负载均衡。

【专利附图】

【附图说明】
[0017]图1是WInternet节点、引擎、网件、管道及阀口关系示意图。
[0018]图2是基于多级索引结构的过滤器模型。
[0019]图3是一棵订阅树的例子。
[0020]图4是消息分发树抽象模型。
[0021]图5节点加入WInternet网络时的几种情况讨论示意图。

【具体实施方式】
[0022]以下结合附图对本发明技术方案作进一步说明。
[0023]原理:本发明提出一种基于内容的WInternet管道通信协议路由算法,它根据订阅条件之间的覆盖关系,建立订阅树和路由表,进而构建虚拟的消息分发树。考虑WInternet网络的动态变化,它根据物理层网络的连通状况,在保证准确路由的前提下,支持引擎节点的动态加入和退出,以及失效节点的处理。
[0024]图1是WInternet节点、引擎、网件、管道及阀口关系示意图。WInternet是一个由节点(Node)组成的网络,一个节点上运行着一个或多个WInternet引擎(WInternetEngine),在引擎上可以注册多个网件(Netlet),网件有多个输入/输出阀口(InGate/OutGate)。管道(Pipe)是连接一个网件的输出阀口和另外一个网件输入阀口的单向逻辑通道。
[0025]图2是基于多级索引结构的过滤器模型图。在WInternet中,消息的过滤是基于XML实现的。假设有三个过滤器F1,F2,F3,它们对应的XML编码如图2所示。根据XML格式文件的特点,将这三个过滤器表示成一种多级索引结构。第一级索引是Object (obj),第二级是Measurement (mea),分别对应WInternet标准数据模型中的Object和Measurement。第三级是Operator,即过滤器中的操作符,第四级索引表示参数值。每个参数值指向若干过滤器,指向同一个过滤器的索引经过AND运算后,就可以表示该过滤器。判断两个过滤器之间的关系,只需比较第四级索引块中值。例如,要判断Fl和F2之间的关系,只需比较65和68即可,因为它们的symbol值相等。
[0026]图2中的三个过滤器均是复合过滤器(依赖多个属性的过滤器)。每个复合过滤器都可以分解为若干个属性过滤器(仅依赖一个属性的过滤器),每个属性过滤器分别与另外一个复合过滤器的对应的属性过滤器比较,如果它们都对应存在覆盖关系,则两个复合过滤器也存在覆盖关系。
[0027]图3是订阅树的一个示例。InGate发来的每个订阅条件,可以被认为是一个过滤器。根据过滤器之间的覆盖关系,我们为每个OutGate构建了一棵以过滤器关键字为节点的订阅树,树的根节点是OutGate ID,父节点(除了根节点)所代表的过滤器覆盖其孩子节点所代表的过滤器。图中右边的表格是订阅树中过滤器的多级索引结构信息。
[0028]图4是路由算法中消息分发树的抽象模型。消息分发树是根据OutGate对应的订阅树和路由表虚拟构建的,实际并不存在。只有内容与过滤器条件匹配的消息才能到达其后续节点,从而避免不必要的消息过滤及转发。在这棵分发树中,每个节点代表WInternet网络中的引擎,节点分支上的过滤器是由该节点上的引擎来维护的,从而将以前全部在消息源端进行的消息过滤工作分散到各个参与节点,有效均衡了节点负载。
[0029]图5是WInternet节点加入网络时,重构消息分发树的几种情况。如图5(a)所示,新加入的节点4对应的过滤器与订阅树中的0.0恒等,而且节点4与其可能的父节点O也能连通,那么就将该节点添加到对应的过滤器(0.0)的下一跳集合中。如图5(b)所示,新加入的节点3的插入位置是叶子节点。首先向上探测节点集合{1,2},发送HELLO消息到节点I和2,先收到哪个节点的应答消息(HA),就选择那个节点作为节点3的父节点。如果都无法连通,则继续向上探测节点0,用这样一种逐级寻父的策略为新节点寻找父节点。图5(c)与(a)类似,节点5的过滤器与0.1恒等,但是5与I无法连通,那么就在I的兄弟节点{2,3}中寻找父节点,如果还找不到,就再探测节点O。图5(d)中,新加入的节点4的插入位置是非叶子节点,导致原来的树形网络被分割,首先用同样的策略为4寻找父节点。因为节点3被分割,需要为其从节点4开始重新寻找父节点。与加入网路类似,在节点退出网络,以及处理失效节点时,主要过程也是为受影响的节点寻找父节点。用这样的方法,该路由算法可以支持节点的动态加入和退出,并且支持对失效节点的处理。
[0030]综上所述,整个实现流程概括为:
[0031]I)建立一种多级索引结构的过滤器模型,为判断覆盖关系提供理论基础。
[0032]2)根据订阅条件之间的覆盖关系,建立订阅树。
[0033]3)根据订阅树和路由表,构建虚拟的消息分发树。
[0034]4)消息沿着这棵消息分发树自上而下分发。
[0035]5)当节点加入和退出WInternet网络,以及处理失效节点时,调整消息分发树,重构路由。
【权利要求】
1.一种基于内容的WInternet管道通信协议路由算法,其特征在于,根据消息内容和订阅条件之间的覆盖关系,依托消息分发树来路由分发消息,并且能够支持节点的动态加入和退出,以及失效节点的处理,该方法包括如下步骤: (1)针对WInternet管道的标准数据格式,建立一种基于多级索引结构的过滤器模型;该模型分为Object, Measurement, Operator, Parameter四级索引,为判断过滤器之间的覆盖关系提供了理论基础; (2)将复合过滤器分解为属性过滤器,利用多级索引结构模型来判断属性过滤器之间的关系,进而判断复合过滤器之间的关系;在该模型中,通过比较第四级索引块中的值,来判断两个属性过滤器之间的关系; (3)将订阅同一个OutGate的InGate协同起来,根据订阅条件之间的覆盖关系,为每个OutGate建立一棵以过滤器关键字为节点的订阅树和一张路由表;订阅树的父节点代表的过滤器覆盖其孩子节点所代表的过滤器;路由表的一条路由表项对应一个过滤器,其下一跳是通过该过滤器后的消息到达的引擎节点的集合; (4)根据订阅树和路由表,为每个OutGate建立一棵虚拟的消息分发树;分发树以引擎为节点,每条路径都有一个过滤器,消息沿着这个分发树,自上而下分发,只有内容与过滤器匹配的消息才能到达其后续节点,从而减少不必要的消息过滤和转发; (5)考虑WInternet网络的动态变化,当新的引擎节点加入或退出分发树,以及分发树的某个节点失效时,要为受影响的节点寻找父节点,以加入到树形网络中,并且重构路由。
【文档编号】H04L12/703GK104283792SQ201410489962
【公开日】2015年1月14日 申请日期:2014年9月23日 优先权日:2014年9月23日
【发明者】蒋昌俊, 闫春钢, 陈闳中, 叶晨, 支海邦 申请人:同济大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1