CN104283792B - 基于内容的WInternet管道通信协议路由算法 - Google Patents
基于内容的WInternet管道通信协议路由算法 Download PDFInfo
- Publication number
- CN104283792B CN104283792B CN201410489962.8A CN201410489962A CN104283792B CN 104283792 B CN104283792 B CN 104283792B CN 201410489962 A CN201410489962 A CN 201410489962A CN 104283792 B CN104283792 B CN 104283792B
- Authority
- CN
- China
- Prior art keywords
- filter
- node
- winternet
- tree
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及物联网通信协议的路由算法。一种基于内容的WInternet管道通信协议路由算法,其特征在于,根据消息内容和订阅条件之间的覆盖关系,依托消息分发树来路由分发消息,并且能够支持节点的动态加入和退出,以及失效节点的处理。方法为:1)建立一种多级索引结构的过滤器模型,为判断覆盖关系提供理论基础。2)根据订阅条件之间的覆盖关系,建立订阅树。3)根据订阅树和路由表,构建虚拟的消息分发树。4)消息沿着这棵消息分发树自上而下分发。5)当节点加入和退出WInternet网络,以及处理失效节点时,调整消息分发树,重构路由。作为整个WInternet的通用传输协议,本发明使该协议对数据传输具有实时性,隐私性,高效性,以及实现整个WInternet网络的负载均衡。
Description
技术领域
本发明涉及物联网通信协议的路由算法。
背景技术
物联网技术出现后,在各个领域也得到了高度的重视,许多的物联网示范应用被提出和建设,也取得了一定的成果。但同时,我们也可以看到当前物联网的发展有着和互联网前的电子网络类似的特点,特别是“垂直集成”和“专用协议”。当前许多物联网***是为解决某一领域或区域的特定需求搭建,相互之间独立。“物—机”相连的“物网”发展成为相连众多“物网”的“开放大网”应是物联网的发展趋势,基于这个趋势和需求,本申请发明人们已提出了一个双层网络架构,命名为WInternet。WInternet的设计以水平互联,通用协议,双层结构为基本思路,以Internet为底层,提供支撑通信服务,在Internet上构建物联服务层面向各类物联网应用提供通用的通信、计算和安全保障服务。
WInternet的协议主要包括3个部分:管道通信协议、网件计算协议、命名及搜索协议。管道通信协议运行于互联网的TCP/IP协议栈之上,依托TCP/IP提供网络通信功能。当前的管道通信协议未提供路由转发机制,可能会导致不必要的消息过滤,引擎负载不均衡等问题。作为整个WInternet的通用传输协议,该协议对数据传输实时性,隐私性,高效性,以及实现整个WInternet网络的负载均衡等方面提出了很高的要求。因此一个高效的管道通信协议必须要解决以上问题。
发明内容
本发明所要解决的技术问题是:针对WInternet标准数据模型,建立一种过滤器模型来判断过滤器之间的覆盖关系。根据InGate的订阅条件之间的覆盖关系,构建消息分发树。考虑WInternet网络的动态变化,路由算法要解决引擎节点的动态加入和退出时的分发树的重构问题,并且要处理树形网络中的失效节点。
为解决以上技术问题,本发明采用如下的技术方案:
一种基于内容的WInternet管道通信协议路由算法,其特征在于根据消息内容和订阅条件之间的覆盖关系,依托消息分发树来路由分发消息,并且能够支持节点的动态加入和退出,以及失效节点的处理,该方法包括如下步骤:
(1)针对WInternet管道的标准数据格式,建立一种基于多级索引结构的过滤器模型。该模型分为Object,Measurement,Operator,Parameter四级索引,它为判断过滤器之间的覆盖关系提供了理论基础。
(2)将复合过滤器分解为属性过滤器,利用多级索引结构模型来判断属性过滤器之间的关系,进而判断复合过滤器之间的关系。在该模型中,通过比较第四级索引块中的值,来判断两个属性过滤器之间的关系。
(3)将订阅同一个OutGate的InGate协同起来,根据订阅条件之间的覆盖关系,为每个OutGate建立一棵以过滤器关键字为节点的订阅树和一张路由表。订阅树的父节点代表的过滤器覆盖其孩子节点所代表的过滤器。路由表的一条路由表项对应一个过滤器,其下一跳是通过该过滤器后的消息到达的引擎节点的集合。
(4)根据订阅树和路由表,为每个OutGate建立一棵虚拟的消息分发树。分发树以引擎为节点,每条路径都有一个过滤器,消息沿着这个分发树,自上而下分发,只有内容与过滤器匹配的消息才能到达其后续节点,从而减少不必要的消息过滤和转发。
(5)考虑WInternet网络的动态变化,当新的引擎节点加入或退出分发树,以及分发树的某个节点失效时,我们要为受影响的节点寻找父节点,以加入到树形网络中,并且重构路由。
本发明的创新点体现在:
1)为判断过滤器之间的覆盖关系,建立了一种基于多级索引结构的过滤器模型。
2)根据订阅条件之间的覆盖关系,构建订阅树和路由表,进而为WInternet网络建立虚拟的消息分发树。
3)考虑WInternet网络的动态变化,该路由算法支持引擎节点的动态加入和退出,并且支持失效节点的处理。
作为整个WInternet的通用传输协议,本发明使该协议对数据传输具有实时性,隐私性,高效性,以及实现整个WInternet网络的负载均衡。
附图说明
图1是WInternet节点、引擎、网件、管道及阀口关系示意图。
图2是基于多级索引结构的过滤器模型。
图3是一棵订阅树的例子。
图4是消息分发树抽象模型。
图5节点加入WInternet网络时的几种情况讨论示意图。
具体实施方式
以下结合附图对本发明技术方案作进一步说明。
原理:本发明提出一种基于内容的WInternet管道通信协议路由算法,它根据订阅条件之间的覆盖关系,建立订阅树和路由表,进而构建虚拟的消息分发树。考虑WInternet网络的动态变化,它根据物理层网络的连通状况,在保证准确路由的前提下,支持引擎节点的动态加入和退出,以及失效节点的处理。
图1是WInternet节点、引擎、网件、管道及阀口关系示意图。WInternet是一个由节点(Node)组成的网络,一个节点上运行着一个或多个WInternet引擎(WInternet Engine),在引擎上可以注册多个网件(Netlet),网件有多个输入/输出阀口(InGate/OutGate)。管道(Pipe)是连接一个网件的输出阀口和另外一个网件输入阀口的单向逻辑通道。
图2是基于多级索引结构的过滤器模型图。在WInternet中,消息的过滤是基于XML实现的。假设有三个过滤器F1,F2,F3,它们对应的XML编码如图2所示。根据XML格式文件的特点,将这三个过滤器表示成一种多级索引结构。第一级索引是Object(obj),第二级是Measurement(mea),分别对应WInternet标准数据模型中的Object和Measurement。第三级是Operator,即过滤器中的操作符,第四级索引表示参数值。每个参数值指向若干过滤器,指向同一个过滤器的索引经过AND运算后,就可以表示该过滤器。判断两个过滤器之间的关系,只需比较第四级索引块中值。例如,要判断F1和F2之间的关系,只需比较65和68即可,因为它们的symbol值相等。
图2中的三个过滤器均是复合过滤器(依赖多个属性的过滤器)。每个复合过滤器都可以分解为若干个属性过滤器(仅依赖一个属性的过滤器),每个属性过滤器分别与另外一个复合过滤器的对应的属性过滤器比较,如果它们都对应存在覆盖关系,则两个复合过滤器也存在覆盖关系。
图3是订阅树的一个示例。InGate发来的每个订阅条件,可以被认为是一个过滤器。根据过滤器之间的覆盖关系,我们为每个OutGate构建了一棵以过滤器关键字为节点的订阅树,树的根节点是OutGate ID,父节点(除了根节点)所代表的过滤器覆盖其孩子节点所代表的过滤器。图中右边的表格是订阅树中过滤器的多级索引结构信息。
图4是路由算法中消息分发树的抽象模型。消息分发树是根据OutGate对应的订阅树和路由表虚拟构建的,实际并不存在。只有内容与过滤器条件匹配的消息才能到达其后续节点,从而避免不必要的消息过滤及转发。在这棵分发树中,每个节点代表WInternet网络中的引擎,节点分支上的过滤器是由该节点上的引擎来维护的,从而将以前全部在消息源端进行的消息过滤工作分散到各个参与节点,有效均衡了节点负载。
图5是WInternet节点加入网络时,重构消息分发树的几种情况。如图5(a)所示,新加入的节点4对应的过滤器与订阅树中的0.0恒等,而且节点4与其可能的父节点0也能连通,那么就将该节点添加到对应的过滤器(0.0)的下一跳集合中。如图5(b)所示,新加入的节点3的***位置是叶子节点。首先向上探测节点集合{1,2},发送HELLO消息到节点1和2,先收到哪个节点的应答消息(HA),就选择那个节点作为节点3的父节点。如果都无法连通,则继续向上探测节点0,用这样一种逐级寻父的策略为新节点寻找父节点。图5(c)与(a)类似,节点5的过滤器与0.1恒等,但是5与1无法连通,那么就在1的兄弟节点{2,3}中寻找父节点,如果还找不到,就再探测节点0。图5(d)中,新加入的节点4的***位置是非叶子节点,导致原来的树形网络被分割,首先用同样的策略为4寻找父节点。因为节点3被分割,需要为其从节点4开始重新寻找父节点。与加入网路类似,在节点退出网络,以及处理失效节点时,主要过程也是为受影响的节点寻找父节点。用这样的方法,该路由算法可以支持节点的动态加入和退出,并且支持对失效节点的处理。
综上所述,整个实现流程概括为:
1)建立一种多级索引结构的过滤器模型,为判断覆盖关系提供理论基础。
2)根据订阅条件之间的覆盖关系,建立订阅树。
3)根据订阅树和路由表,构建虚拟的消息分发树。
4)消息沿着这棵消息分发树自上而下分发。
5)当节点加入和退出WInternet网络,以及处理失效节点时,调整消息分发树,重构路由。
Claims (1)
1.一种基于内容的WInternet管道通信协议路由算法,其特征在于,根据消息内容和订阅条件之间的覆盖关系,依托消息分发树来路由分发消息,并且能够支持节点的动态加入和退出,以及失效节点的处理,该方法包括如下步骤:
(1)针对WInternet管道的标准数据格式,建立一种基于多级索引结构的过滤器模型;该模型分为Object,Measurement,Operator,Parameter四级索引,为判断过滤器之间的覆盖关系提供了理论基础;
第一级索引是Object,第二级是Measurement,分别对应WInternet标准数据模型中的Object和Measurement;第三级是Operator,即过滤器中的操作符,第四级索引表示参数值;每个参数值指向若干过滤器,指向同一个过滤器的索引经过AND运算后,就可以表示该过滤器;
(2)将复合过滤器分解为属性过滤器,利用多级索引结构模型来判断属性过滤器之间的关系,进而判断复合过滤器之间的关系;在该模型中,通过比较第四级索引块中的值,来判断两个属性过滤器之间的关系;
所述复合过滤器是指依赖多个属性的过滤器;每个复合过滤器都分解为若干个属性过滤器,所述属性过滤器是指仅依赖一个属性的过滤器,每个属性过滤器分别与另外一个复合过滤器的对应的属性过滤器比较,如果它们都对应存在覆盖关系,则两个复合过滤器也存在覆盖关系;
(3)将订阅同一个OutGate的InGate协同起来,根据订阅条件之间的覆盖关系,为每个OutGate建立一棵以过滤器关键字为节点的订阅树和一张路由表;订阅树的父节点代表的过滤器覆盖其孩子节点所代表的过滤器;路由表的一条路由表项对应一个过滤器,其下一跳是通过该过滤器后的消息到达的引擎节点的集合;
(4)根据订阅树和路由表,为每个OutGate建立一棵虚拟的消息分发树;分发树以引擎为节点,每条路径都有一个过滤器,消息沿着这个分发树,自上而下分发,只有内容与过滤器匹配的消息才能到达其后续节点,从而减少不必要的消息过滤和转发;
(5)考虑WInternet网络的动态变化,当新的引擎节点加入或退出分发树,以及分发树的某个节点失效时,要为受影响的节点寻找父节点,以加入到树形网络中,并且重构路由。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410489962.8A CN104283792B (zh) | 2014-09-23 | 2014-09-23 | 基于内容的WInternet管道通信协议路由算法 |
PCT/CN2015/089510 WO2016045513A1 (zh) | 2014-09-23 | 2015-09-14 | 基于内容的WInternet管道通信协议路由算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410489962.8A CN104283792B (zh) | 2014-09-23 | 2014-09-23 | 基于内容的WInternet管道通信协议路由算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104283792A CN104283792A (zh) | 2015-01-14 |
CN104283792B true CN104283792B (zh) | 2017-07-28 |
Family
ID=52258289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410489962.8A Active CN104283792B (zh) | 2014-09-23 | 2014-09-23 | 基于内容的WInternet管道通信协议路由算法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104283792B (zh) |
WO (1) | WO2016045513A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104283792B (zh) * | 2014-09-23 | 2017-07-28 | 同济大学 | 基于内容的WInternet管道通信协议路由算法 |
CN109120537B (zh) * | 2017-06-23 | 2020-10-16 | 迈普通信技术股份有限公司 | 组播树计算方法和装置 |
US11520880B2 (en) | 2017-11-03 | 2022-12-06 | International Business Machines Corporation | Identifying internet of things network anomalies using group attestation |
CN114584505B (zh) * | 2022-01-25 | 2024-04-09 | 威胜信息技术股份有限公司 | 一种基于发布订阅的边边通讯消息路由方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102281558A (zh) * | 2011-06-23 | 2011-12-14 | 成都赛康信息技术有限责任公司 | 一种应用于物联网数据传输的无线传感器网络组网方法 |
CN103957162A (zh) * | 2014-05-14 | 2014-07-30 | 常熟理工学院 | 一种无线网络的路由通信实现方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101309286B (zh) * | 2007-05-17 | 2012-07-04 | 华为技术有限公司 | 强制节点退出方法和应用层组播*** |
US8199635B2 (en) * | 2008-08-12 | 2012-06-12 | General Atomics | Method and system for network setup and maintenance and medium access control for a wireless sensor network |
WO2010128905A1 (en) * | 2009-05-05 | 2010-11-11 | Telefonaktiebolaget L M Ericsson (Publ) | P2p for mobile providers |
CN103974202A (zh) * | 2014-05-28 | 2014-08-06 | 苏州鸣伦电子科技有限公司 | 一种用于电力需求侧采集节点基于多播树的代码分发方法 |
CN104283792B (zh) * | 2014-09-23 | 2017-07-28 | 同济大学 | 基于内容的WInternet管道通信协议路由算法 |
-
2014
- 2014-09-23 CN CN201410489962.8A patent/CN104283792B/zh active Active
-
2015
- 2015-09-14 WO PCT/CN2015/089510 patent/WO2016045513A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102281558A (zh) * | 2011-06-23 | 2011-12-14 | 成都赛康信息技术有限责任公司 | 一种应用于物联网数据传输的无线传感器网络组网方法 |
CN103957162A (zh) * | 2014-05-14 | 2014-07-30 | 常熟理工学院 | 一种无线网络的路由通信实现方法 |
Non-Patent Citations (1)
Title |
---|
一种基于LEACH协议改进的物联网路由算法;赵雁航;《全国优秀硕士学位论文》;20140915;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN104283792A (zh) | 2015-01-14 |
WO2016045513A1 (zh) | 2016-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104283792B (zh) | 基于内容的WInternet管道通信协议路由算法 | |
CN103036653B (zh) | 一种对OpenFlow网络进行网络编码的方法 | |
CN102823205B (zh) | 聚合来自接入域的数据业务 | |
CN110134833A (zh) | 面向电网拓扑管理的图数据建模***及方法 | |
CN101426000A (zh) | 一种通用协议解析方法及*** | |
CN103179178B (zh) | 扩展集群间聚合组成员端口的方法和设备 | |
Huang et al. | Software-defined QoS provisioning for fog computing advanced wireless sensor networks | |
CN106209615B (zh) | 一种基于spfa算法计算转发路径的动态路由控制方法和*** | |
CN105654699A (zh) | 一种用于智慧城市体系的多对多物联网智能燃气表*** | |
CN105159256A (zh) | 一种基于Web服务的智能家居控制*** | |
CN103200102A (zh) | 一种业务路由方法、装置和*** | |
CN109656688A (zh) | 一种实现分布式业务规则的方法、***和服务器 | |
CN102685128B (zh) | 一种基于状态机的协议构造方法 | |
CN107124365A (zh) | 一种基于机器学习的路由策略的获取*** | |
CN104954439B (zh) | 一种云服务器及其节点互联方法、云服务器*** | |
CN104811479B (zh) | 一种基于转发与控制分离协议的虚拟网络节点的创建方法 | |
Ke | A social networking services system based on the “Six Degrees of Separation” theory and damping factors | |
CN102045186B (zh) | 一种事件分析方法及*** | |
WO2019041944A1 (zh) | 一种处理报文的方法和装置 | |
CN109462498B (zh) | 一种智融网络***及其通信方法 | |
AU2017100411A4 (en) | Content-based w internet channel communication protocol routing algorithm | |
CN102685011B (zh) | 一种trill网络中的路由计算方法和设备 | |
CN109286536A (zh) | 一种接口测试方法及装置 | |
CN108429686A (zh) | 一种基于规则拓扑结构网络的路由方法 | |
Kipongo et al. | Efficient topology discovery protocol for software defined wireless sensor network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |