专利转让平台_买专利_卖专利_中国高校专利技术交易-买卖发明专利上知查网

全部分类
全部分类
一种可靠的多媒体传感网数据通信实现方法

一种可靠的多媒体传感网数据通信实现方法

IPC分类号 : H04L12/741,H04L12/751

申请号
CN201811075154.1
可选规格
  • 专利类型: 发明专利
  • 法律状态: 有权
  • 申请日: 2018-09-14
  • 公开号: CN109246015B
  • 公开日: 2019-01-18
  • 主分类号: H04L12/741
  • 专利权人: 常熟理工学院

专利摘要

本发明提供了一种可靠的多媒体传感网数据通信实现方法,所述网络包括两个以上的路由器和两个以上的多媒体传感节点;多媒体传感节点称为传感节点,每个传感节点配置能够产生多媒体数据的设备,一种类型的多媒体数据由一个名称唯一标识;在本发明中,传感节点能够快速获取数据,大幅度降低了数据通信延迟,提高了数据通信质量。本发明可应用于交通路况检控及农业工程化等诸多领域,具有广泛的应用前景。

权利要求

1.一种可靠的多媒体传感网数据通信实现方法,其特征在于,所述多媒体传感网包括两个以上的路由器和两个以上的多媒体传感节点;多媒体传感节点称为传感节点,每个传感节点配置能够产生多媒体数据的设备,一种类型的多媒体数据由一个名称唯一标识;每个路由器配置两个以上的上游接口和两个以上的下游接口,每个上游接口与一个路由器相连,一个路由器的下游接口与一个多媒体传感节点相连;一个多媒体传感节点配置一个接口,该接口与路由器的下游接口相连;

每个接口由一个接口ID唯一标识,接口ID为i的接口记为接口i,i为大于0的正整数;一个消息由名称、消息类型和负载构成;消息类型值如下所示:

消息类型名称消息类型值传感节点发布消息1数据发布消息2查询消息3数据消息4失败消息5二次查询消息6二次响应消息7

每个路由器维护一个传感节点表,每个传感节点表项包含名称域、接口ID域和生命周期域;

传感节点N1与路由器R1相连,数据D1由名称NA1唯一标识,如果传感节点N1产生或者获取了数据D1,则执行下述操作建立传感节点表:

步骤101:开始;

步骤102:传感节点N1发送传感节点发布消息,该传感节点发布消息的名称为NA1,消息类型值为1,负载为空;

步骤103:路由器R1从接口d1接收到该传感节点发布消息后,查看传感节点表,如果存在一个传感节点表项,该传感节点表项的名称等于该传感节点发布消息的名称,接口ID等于d1,则执行步骤104,否则执行步骤105;

步骤104:从接口d1接收到该传感节点发布消息的路由器R1选择一个传感节点表项,该传感节点表项的名称等于该传感节点发布消息的名称,接口ID等于d1,将该传感节点表项的生命周期设置为最大值,执行步骤106;

步骤105:从接口d1接收到该传感节点发布消息的路由器R1创建一个传感节点表项,该传感节点表项的名称等于该传感节点发布消息的名称,接口ID等于d1,将该传感节点表项的生命周期设置为最大值;

步骤106:结束;

如果路由器检测到一个传感节点表项的生命周期衰减为0,则删除该传感节点表项。

2.根据权利要求1所述的一种可靠的多媒体传感网数据通信实现方法,其特征在于,每个路由器维护一个转发表,一个转发表项包含接口ID、名称和生命周期;路由器R1定期执行下述操作建立转发表:

步骤201:开始;

步骤202:路由器R1创建一个名称集合变量P1,变量P1的初始值为空,路由器R1查看传感节点表,针对每个传感节点表项,路由器R1执行下述操作:如果该传感节点表项的名称域值不包含在变量P1中,路由器R1将该传感节点表项的名称域值添加到变量P1中,否则,路由器R1不执行任何操作;

步骤203:对于变量P1中的每个元素,路由器R1执行下述操作:路由器R1发送数据发布消息,该数据发布消息的名称等于该元素,消息类型值为2,负载为空;

步骤204:路由器从接口u1接收到数据发布消息后查看转发表,如果存在一个转发表项,该转发表项的名称等于该数据发布消息的名称,接口ID等于u1,且生命周期大于T0-T1,T0为生命周期最大值,T1为调节系数,则执行步骤209,否则执行步骤205;

步骤205:从接口u1接收到数据发布消息的路由器查看转发表,如果存在一个转发表项,该转发表项的名称等于该数据发布消息的名称,接口ID等于u1,则执行步骤206,否则执行步骤207;

步骤206:从接口u1接收到数据发布消息的路由器选择一个转发表项,该转发表项的名称等于该数据发布消息的名称,接口ID等于u1,该路由器将该转发表项的生命周期设置为T0,执行步骤208;

步骤207:从接口u1接收到数据发布消息的路由器创建一个转发表项,该转发表项的名称等于该数据发布消息的名称,接口ID等于u1,该路由器将该转发表项的生命周期设置为T0;

步骤208:从接口u1接收到数据发布消息的路由器从除了接口u1之外的每个上游接口转发该数据发布消息,执行步骤204;

步骤209:结束;

如果路由器检测到一个转发表项的生命周期衰减为0,则删除该转发表项。

3.根据权利要求2所述的一种可靠的多媒体传感网数据通信实现方法,其特征在于,每个路由器和传感节点保存一个数据表,一个数据表项包含名称域、数据域和时间戳;如果一个路由器或者传感节点检测到一个数据表项的时间戳与当前时间之差的绝对值小于阈值TS1,则删除该数据表项;

一个路由器保存一个查询表,每个查询表项包含名称域和接口ID域;一个路由器保存一个接口表,每个接口表项包含接口ID域、名称域和时间戳;传感节点N2与路由器R2相连,数据D1由名称NA1唯一标识,传感节点N2通过下述过程获取数据D1:

步骤301:开始;

步骤302:传感节点N2发送一个查询消息,该查询消息的名称域值为NA1,消息类型值为3,负载为空;

步骤303:路由器R2从接口x1接收到该查询消息,如果存在一个查询表项,该查询表项的名称域值等于该查询消息的名称域值,接口ID等于x1,则执行步骤330,否则执行步骤304;

步骤304:从接口x1接收到该查询消息的路由器R2查看查询表,如果存在一个查询表项,该查询表项的名称域值等于该查询消息的名称域值,则执行步骤305,否则执行步骤306;

步骤305:从接口x1接收到该查询消息的路由器R2创建一个查询表项,该查询表项的名称域值等于该查询消息的名称域值,接口ID等于x1,执行步骤330;

步骤306:从接口x1接收到该查询消息的路由器R2查看数据表,如果存在一个数据表项,该数据表项的名称域值等于该查询消息的名称域值,则执行步骤307,否则执行步骤308;

步骤307:从接口x1接收到该查询消息的路由器R2选择一个数据表项,该数据表项的名称域值等于该查询消息的名称域值,将该数据表项的时间戳设置为当前时间,从接口x1发送一个数据消息,该数据消息的名称域值等于该查询消息的名称域值,消息类型值为4,负载为响应数据,执行步骤330;

步骤308:从接口x1接收到该查询消息的路由器R2创建一个查询表项,该查询表项的名称域值等于该查询消息的名称域值,接口ID等于x1;如果路由器R2存在一个传感节点表项,该传感节点表项的名称域值等于该查询消息的名称域值,则执行步骤309,否则执行步骤310;

步骤309:从接口x1接收到该查询消息的路由器R2选择一个传感节点表项,该传感节点表项的名称域值等于该查询消息的名称域值,从该传感节点表项的接口ID所标识的接口转发该查询消息,执行步骤312;

步骤310:从接口x1接收到该查询消息的路由器R2选择所有名称域值等于该查询消息名称域值的转发表项,针对每一个选中的转发表项,路由器R2选择一个接口表项,该接口表项的名称域值和接口ID域值等于该转发表项的名称域值和接口ID域值;

步骤311:从接口x1接收到该查询消息的路由器R2从所有选中的接口表项中随机选取一个接口表项E1,接口表项E1的时间戳距离当前时间最近;选择一个转发表项E2,转发表项E2的名称域值和接口ID域值分别等于接口表项E1的名称域值和接口ID域值,从转发表项E2的接口ID所标识的接口转发该查询消息;

步骤312:判断是传感节点还是路由器从接口x2接收到该查询消息,如果是传感节点则执行步骤322,否则执行步骤313;

步骤313:路由器从接口x2接收到该查询消息,如果存在一个查询表项,该查询表项的名称域值等于该查询消息的名称域值,接口ID等于x2,则执行步骤330,否则执行步骤314;

步骤314:从接口x2接收到该查询消息的路由器查看查询表,如果存在一个查询表项,该查询表项的名称域值等于该查询消息的名称域值,则执行步骤315,否则执行步骤316;

步骤315:从接口x2接收到该查询消息的路由器创建一个查询表项,该查询表项的名称域值等于该查询消息的名称域值,接口ID等于x2,执行步骤330;

步骤316:从接口x2接收到该查询消息的路由器查看数据表,如果存在一个数据表项,该数据表项的名称域值等于该查询消息的名称域值,则执行步骤317,否则执行步骤318;

步骤317:从接口x2接收到该查询消息的路由器选择一个数据表项,该数据表项的名称域值等于该查询消息的名称域值,将该数据表项的时间戳设置为当前时间,从接口x2发送一个数据消息,该数据消息的名称域值等于该查询消息的名称域值,消息类型值为4,负载为响应数据,执行步骤330;

步骤318:从接口x2接收到该查询消息的路由器创建一个查询表项,该查询表项的名称域值等于该查询消息的名称域值,接口ID等于x2,如果该路由器存在一个传感节点表项,该传感节点表项的名称域值等于该查询消息的名称域值,则执行步骤319,否则执行步骤320;

步骤319:从接口x2接收到该查询消息的路由器选择一个传感节点表项,该传感节点表项的名称域值等于该查询消息的名称域值,从该传感节点表项的接口ID所标识的接口转发该查询消息,执行步骤312;

步骤320:从接口x2接收到该查询消息的路由器选择所有名称域值等于该查询消息名称域值的转发表项,针对每一个选中的转发表项,该路由器选择一个接口表项,该接口表项的名称域值和接口ID域值等于该转发表项的名称域值和接口ID域值;

步骤321:从接口x2接收到该查询消息的路由器从所有选中的接口表项中随机选取一个接口表项E3,接口表项E3的时间戳距离当前时间最近,从接口x2接收到该查询消息的路由器选择一个转发表项E4,转发表项E4的名称域值和接口ID域值分别等于接口表项E3的名称域值和接口ID域值,从转发表项E4的接口ID所标识的接口转发该查询消息,执行步骤312;

步骤322:传感节点接收到该查询消息后,查看数据表,如果存在一个数据表项,该数据表项的名称域值等于该查询消息的名称域值,则执行步骤323,否则执行步骤325;

步骤323:接收到该查询消息的传感节点选择一个数据表项,该数据表项的名称域值等于该查询消息的名称域值,将该数据表项的时间戳设置为当前时间;

步骤324:接收到该查询消息的传感节点发送一个数据消息,该数据消息的名称域值等于该查询消息的名称域值,消息类型值为4,负载为选中的数据表项的数据域值,执行步骤330;

步骤325:接收到该查询消息的传感节点发送一个失败消息,该失败消息的名称域值等于该查询消息的名称域值,消息类型值为5,负载为空;

步骤326:判断是传感节点还是路由器从接口x3接收到失败消息,如果是传感节点则执行步骤333,否则执行步骤327;

步骤327:路由器从接口x3接收到失败消息后,查看转发表,如果至少存在一个转发表项,该转发表项的名称域值等于该失败消息的名称域值且接口ID不等于x3,则执行步骤328,否则执行步骤329;

步骤328:从接口x3接收到失败消息的路由器查看转发表,选择所有名称域值等于该失败消息的名称域值且接口ID不等于x3的转发表项,针对每个选中的转发表项,该路由器创建一个查询消息,该查询消息的名称域值等于该失败消息的名称域值,消息类型值为3,负载为空,从该转发表项的接口ID所标识的接口转发该查询消息,执行步骤312;

步骤329:从接口x3接收到失败消息的路由器查看查询表,选择所有名称域值等于该失败消息的名称域值的查询表项,针对每个选中的查询表项,该路由器从该查询表项的接口ID所标识的接口转发该失败消息,删除该查询表项,执行步骤326;

步骤330:判断是传感节点还是路由器从接口x4接收到响应消息,如果是传感节点则执行步骤332,否则执行步骤331;

步骤331:路由器从接口x4接收到响应消息后,选择所有名称域值等于该响应消息名称域值的查询表项,针对每个选中的查询表项,该路由器从该查询表项的接口ID域值所标识的接口转发该响应消息,如果该路由器有足够的存储空间存在该响应消息负载中的响应数据,则创建一个数据表项,该数据表项的名称域值等于该响应消息的名称域值,数据域值等于该响应消息负载中的响应数据,时间戳为当前的时间,该路由器选择一个接口表项,该接口表项的名称域值等于该响应消息的名称域值,接口ID域值等于x4,将该接口表项的时间戳设置为当前的时间,执行步骤330;

步骤332:传感节点接收到响应消息后,创建一个数据表项,该数据表项的名称域值等于该响应消息的名称域值,数据域值等于该响应消息负载中的响应数据,时间戳为当前的时间;

步骤333:结束。

4.根据权利要求3所述的一种可靠的多媒体传感网数据通信实现方法,其特征在于,每个传感节点保存一个消息表,每个消息表项包含名称域和时钟域,如果一个传感节点检测到一个消息表项的时钟过期,即衰减为0,则删除该消息表项;传感节点N2与路由器R2相连,数据D1由名称NA1唯一标识,如果传感节点N2通过步骤301-333没有获取数据D1,则执行下述过程获取数据D1:

步骤401:开始;

步骤402:传感节点N2发送一个二次查询消息,该二次查询消息的名称域值为NA1,消息类型值为6,负载为空;

步骤403:路由器R2从接口y1接收到该二次查询消息,如果存在一个查询表项,该查询表项的名称域值等于该二次查询消息的名称域值,接口ID等于y1,则执行步骤423,否则执行步骤404;

步骤404:从接口y1接收到该二次查询消息的路由器R2查看查询表,如果存在一个查询表项,该查询表项的名称域值等于该二次查询消息的名称域值,则执行步骤405,否则执行步骤406;

步骤405:从接口y1接收到该二次查询消息的路由器R2创建一个查询表项,该查询表项的名称域值等于该二次查询消息的名称域值,接口ID等于y1,执行步骤423;

步骤406:从接口y1接收到该二次查询消息的路由器R2查看数据表,如果存在一个数据表项,该数据表项的名称域值等于该二次查询消息的名称域值,则执行步骤407,否则执行步骤408;

步骤407:从接口y1接收到该二次查询消息的路由器R2选择一个数据表项,该数据表项的名称域值等于该二次查询消息的名称域值,将该数据表项的时间戳设置为当前时间,从接口y1发送一个二次响应消息,该二次响应消息的名称域值等于该二次查询消息的名称域值,消息类型值为7,负载为响应数据,执行步骤423;

步骤408:从接口y1接收到该二次查询消息的路由器R2创建一个查询表项,该查询表项的名称域值等于该二次查询消息的名称域值,接口ID等于y1,如果路由器R2存在一个传感节点表项,该传感节点表项的名称域值等于该二次查询消息的名称域值,则执行步骤409,否则执行步骤410;

步骤409:从接口y1接收到该二次查询消息的路由器R2选择一个传感节点表项,该传感节点表项的名称域值等于该二次查询消息的名称域值,从该传感节点表项的接口ID所标识的接口转发该二次查询消息,执行步骤411;

步骤410:从接口y1接收到该二次查询消息的路由器R2选择所有名称域值等于该二次查询消息名称域值的转发表项,针对每一个选中的转发表项,路由器R2通过该转发表项的接口ID所标识的接口转发该二次查询消息;

步骤411:判断是传感节点还是路由器从接口y2接收到该二次查询消息,如果是传感节点则执行步骤420,否则执行步骤412;

步骤412:路由器从接口y2接收到该二次查询消息,如果存在一个查询表项,该查询表项的名称域值等于该二次查询消息的名称域值,接口ID等于y2,则执行步骤423,否则执行步骤413;

步骤413:从接口y2接收到该二次查询消息的路由器查看查询表,如果存在一个查询表项,该查询表项的名称域值等于该二次查询消息的名称域值,则执行步骤414,否则执行步骤415;

步骤414:从接口y2接收到该二次查询消息的路由器创建一个查询表项,该查询表项的名称域值等于该二次查询消息的名称域值,接口ID等于y2,执行步骤423;

步骤415:从接口y2接收到该二次查询消息的路由器查看数据表,如果存在一个数据表项,该数据表项的名称域值等于该二次查询消息的名称域值,则执行步骤416,否则执行步骤417;

步骤416:从接口y2接收到该二次查询消息的路由器选择一个数据表项,该数据表项的名称域值等于该二次查询消息的名称域值,将该数据表项的时间戳设置为当前时间,从接口y2发送一个二次响应消息,该二次响应消息的名称域值等于该二次查询消息的名称域值,消息类型值为7,负载为该数据表项的数据域值,执行步骤423;

步骤417:从接口y2接收到该二次查询消息的路由器创建一个查询表项,该查询表项的名称域值等于该二次查询消息的名称域值,接口ID等于y2;如果该路由器至少存在一个传感节点表项,该传感节点表项的名称域值等于该二次查询消息的名称域值,则执行步骤418,否则执行步骤419;

步骤418:从接口y2接收到该二次查询消息的路由器选择所有名称域值等于该二次查询消息的名称域值的传感节点表项,针对选择的每一个传感节点表项,该路由器从该传感节点表项的接口ID所标识的接口转发该二次查询消息,执行步骤411;

步骤419:从接口y2接收到该二次查询消息的路由器选择所有名称域值等于该二次查询消息名称域值的转发表项,针对每一个选中的转发表项,该路由器通过该转发表项的接口ID所标识的接口转发该二次查询消息,执行步骤411;

步骤420:传感节点接收到二次查询消息后,查看消息表,如果存在一个消息表项,该消息表项的名称域值等于该二次查询消息的名称域值,则执行步骤428,否则执行步骤421;

步骤421:接收到二次查询消息的传感节点创建一个消息表项并设置一个新时钟,该消息表项的名称域值等于该二次查询消息的名称域值,时钟域值等于新设置的时钟,如果该传感节点存在一个数据表项,该数据表项的名称域值等于该二次查询消息的名称域值,则执行步骤422,否则执行步骤428;

步骤422:接收到该二次查询消息的传感节点选择一个数据表项,该数据表项的名称域值等于该二次查询消息的名称域值,则将该数据表项的时间戳设置为当前时间,发送一个二次响应消息,该二次响应消息的名称域值等于该二次查询消息的名称域值,消息类型值为7,负载为该数据表项的数据域值;

步骤423:如果传感节点接收到响应消息,则执行步骤426,否则执行步骤424;

步骤424:路由器从接口y3接收到响应消息后,选择所有名称域值等于该响应消息名称域值的查询表项,如果选择的查询表项的个数为0,则执行步骤428,否则执行步骤425;

步骤425:从接口y3接收到响应消息的路由器选择所有名称域值等于该响应消息名称域值的查询表项,针对每个选中的查询表项,该路由器从该查询表项的接口ID域值所标识的接口转发该响应消息;如果该路由器有足够的存储空间存在该响应消息负载中的响应数据,则创建一个数据表项,该数据表项的名称域值等于该响应消息的名称域值,数据域值等于该响应消息负载中的响应数据,时间戳为当前的时间;该路由器选择一个接口表项,该接口表项的名称域值等于该响应消息的名称域值,接口ID域值等于y3,将该接口表项的时间戳设置为当前的时间,执行步骤423;

步骤426:传感节点接收到响应数据后,如果传感节点存在一个数据表项,该数据表项的名称域值等于该响应消息的名称域值,则执行步骤428,否则执行步骤427;

步骤427:接收到响应消息的传感节点创建一个数据表项,该数据表项的名称域值等于该响应消息的名称域值,数据域值等于该响应消息负载中的响应数据,时间戳为当前的时间;

步骤428:结束。

说明书

技术领域

本发明涉及一种实现方法,尤其涉及的是一种可靠的多媒体传感网数据通信实现方法。

背景技术

多媒体传感网中的节点之间通信通过中间节点的转发和路由来实现,因此,实现多媒体传感网需要解决的关键技术之一就是降低数据传输延迟,以便使用户能够快速获取网络服务。随着多媒体传感网技术的发展,多媒体传感网会成为未来网络提供服务的一种模式。

目前,多媒体传感网的实现模式是通过广播来实现,因此延迟和代价都比较大,降低了网络服务性能。因此,如何降低多媒体传感网提供服务的延迟和代价成为近年来研究的热点问题。

发明内容

发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种可靠的多媒体传感网数据通信实现方法。

技术方案:本发明公开了一种可靠的多媒体传感网数据通信实现方法,所述网络包括两个以上的路由器和两个以上的多媒体传感节点;多媒体传感节点称为传感节点,每个传感节点配置能够产生多媒体数据的设备,例如摄像头;一种类型的多媒体数据由一个名称唯一标识;每个路由器配置两个以上的上游接口和两个以上的下游接口,每个上游接口与一个路由器相连,一个路由器的下游接口与一个多媒体传感节点相连;一个多媒体传感节点配置一个接口,该接口与路由器的下游接口相连;

每个接口由一个接口ID唯一标识,接口ID为i的接口记为接口i,i为大于0的正整数;一个消息由名称、消息类型和负载构成;消息类型值如下所示:

消息类型名称消息类型值传感节点发布消息1数据发布消息2查询消息3数据消息4失败消息5二次查询消息6二次响应消息7

每个路由器维护一个传感节点表,每个传感节点表项包含名称域、接口ID域和生命周期域;

传感节点N1与路由器R1相连,数据D1由名称NA1唯一标识,如果传感节点N1产生或者获取了数据D1,则执行下述操作建立传感节点表:

步骤101:开始;

步骤102:传感节点N1发送传感节点发布消息,该传感节点发布消息的名称为NA1,消息类型值为1,负载为空;

步骤103:路由器R1从接口d1接收到该传感节点发布消息后,查看传感节点表,如果存在一个传感节点表项,该传感节点表项的名称等于该传感节点发布消息的名称,接口ID等于d1,则执行步骤104,否则执行步骤105;

步骤104:从接口d1接收到该传感节点发布消息的路由器R1选择一个传感节点表项,该传感节点表项的名称等于该传感节点发布消息的名称,接口ID等于d1,将该传感节点表项的生命周期设置为最大值,例如500ms,执行步骤106;

步骤105:从接口d1接收到该传感节点发布消息的路由器R1创建一个传感节点表项,该传感节点表项的名称等于该传感节点发布消息的名称,接口ID等于d1,将该传感节点表项的生命周期设置为最大值;

步骤106:结束;

如果路由器检测到一个传感节点表项的生命周期衰减为0,则删除该传感节点表项。

传感节点通过上述过程建立传感节点表,这样,与传感节点关联的路由器可以获取每个传感节点所提供的数据,并通过正确的接口实现消息的正确转发,从而确保数据通信的正确性和实时性。

本发明所述方法中,每个路由器维护一个转发表,一个转发表项包含接口ID、名称和生命周期;路由器R1定期执行下述操作建立转发表:

步骤201:开始;

步骤202:路由器R1创建一个名称集合变量P1,变量P1的初始值为空,路由器R1查看传感节点表,针对每个传感节点表项,路由器R1执行下述操作:如果该传感节点表项的名称域值不包含在变量P1中,路由器R1将该传感节点表项的名称域值添加到变量P1中,否则,路由器R1不执行任何操作;

步骤203:对于变量P1中的每个元素,路由器R1执行下述操作:路由器R1发送数据发布消息,该数据发布消息的名称等于该元素,消息类型值为2,负载为空;

步骤204:路由器从接口u1接收到数据发布消息后查看转发表,如果存在一个转发表项,该转发表项的名称等于该数据发布消息的名称,接口ID等于u1,且生命周期大于T0-T1,T0为生命周期最大值,例如500ms,T1为调节系数,T1远小于T0,例如20ms,T1越小,转发表项的更新频率越高,则执行步骤209,否则执行步骤205;

步骤205:从接口u1接收到数据发布消息的路由器查看转发表,如果存在一个转发表项,该转发表项的名称等于该数据发布消息的名称,接口ID等于u1,则执行步骤206,否则执行步骤207;

步骤206:从接口u1接收到数据发布消息的路由器选择一个转发表项,该转发表项的名称等于该数据发布消息的名称,接口ID等于u1,该路由器将该转发表项的生命周期设置为T0,执行步骤208;

步骤207:从接口u1接收到数据发布消息的路由器创建一个转发表项,该转发表项的名称等于该数据发布消息的名称,接口ID等于u1,该路由器将该转发表项的生命周期设置为T0;

步骤208:从接口u1接收到数据发布消息的路由器从除了接口u1之外的每个上游接口转发该数据发布消息,执行步骤204;

步骤209:结束;

如果路由器检测到一个转发表项的生命周期衰减为0,则删除该转发表项。

路由器通过上述过程建立转发表,路由器可以根据转发表建立最优路由路径,并通过正确的接口实现消息的正确转发,转发表通过生命周期确保转发表项的正确性和实时性,从而确保数据通信的正确性。

本发明所述方法中,每个路由器和传感节点保存一个数据表,一个数据表项包含名称域、数据域和时间戳;如果一个路由器或者传感节点检测到一个数据表项的时间戳与当前时间之差的绝对值小于阈值TS1,例如120mins,则删除该数据表项;

一个路由器保存一个查询表,每个查询表项包含名称域和接口ID域;一个路由器保存一个接口表,每个接口表项包含接口ID域、名称域和时间戳;传感节点N2与路由器R2相连,数据D1由名称NA1唯一标识,传感节点N2通过下述过程获取数据D1:

步骤301:开始;

步骤302:传感节点N2发送一个查询消息,该查询消息的名称域值为NA1,消息类型值为3,负载为空;

步骤303:路由器R2从接口x1接收到该查询消息,如果存在一个查询表项,该查询表项的名称域值等于该查询消息的名称域值,接口ID等于x1,则执行步骤330,否则执行步骤304;

步骤304:从接口x1接收到该查询消息的路由器R2查看查询表,如果存在一个查询表项,该查询表项的名称域值等于该查询消息的名称域值,则执行步骤305,否则执行步骤306;

步骤305:从接口x1接收到该查询消息的路由器R2创建一个查询表项,该查询表项的名称域值等于该查询消息的名称域值,接口ID等于x1,执行步骤330;

步骤306:从接口x1接收到该查询消息的路由器R2查看数据表,如果存在一个数据表项,该数据表项的名称域值等于该查询消息的名称域值,则执行步骤307,否则执行步骤308;

步骤307:从接口x1接收到该查询消息的路由器R2选择一个数据表项,该数据表项的名称域值等于该查询消息的名称域值,将该数据表项的时间戳设置为当前时间,从接口x1发送一个数据消息,该数据消息的名称域值等于该查询消息的名称域值,消息类型值为4,负载为该数据表项的数据域值,执行步骤330;

步骤308:从接口x1接收到该查询消息的路由器R2创建一个查询表项,该查询表项的名称域值等于该查询消息的名称域值,接口ID等于x1;如果路由器R2存在一个传感节点表项,该传感节点表项的名称域值等于该查询消息的名称域值,则执行步骤309,否则执行步骤310;

步骤309:从接口x1接收到该查询消息的路由器R2选择一个传感节点表项,该传感节点表项的名称域值等于该查询消息的名称域值,从该传感节点表项的接口ID所标识的接口转发该查询消息,执行步骤312;

步骤310:从接口x1接收到该查询消息的路由器R2选择所有名称域值等于该查询消息名称域值的转发表项,针对每一个选中的转发表项,路由器R2选择一个接口表项,该接口表项的名称域值和接口ID域值等于该转发表项的名称域值和接口ID域值;

步骤311:从接口x1接收到该查询消息的路由器R2从所有选中的接口表项中随机选取一个接口表项E1,接口表项E1的时间戳距离当前时间最近;选择一个转发表项E2,转发表项E2的名称域值和接口ID域值分别等于接口表项E1的名称域值和接口ID域值,从转发表项E2的接口ID所标识的接口转发该查询消息;

步骤312:判断是传感节点还是路由器从接口x2接收到该查询消息,如果是传感节点则执行步骤322,否则执行步骤313;

步骤313:路由器从接口x2接收到该查询消息,如果存在一个查询表项,该查询表项的名称域值等于该查询消息的名称域值,接口ID等于x2,则执行步骤330,否则执行步骤314;

步骤314:从接口x2接收到该查询消息的路由器查看查询表,如果存在一个查询表项,该查询表项的名称域值等于该查询消息的名称域值,则执行步骤315,否则执行步骤316;

步骤315:从接口x2接收到该查询消息的路由器创建一个查询表项,该查询表项的名称域值等于该查询消息的名称域值,接口ID等于x2,执行步骤330;

步骤316:从接口x2接收到该查询消息的路由器查看数据表,如果存在一个数据表项,该数据表项的名称域值等于该查询消息的名称域值,则执行步骤317,否则执行步骤318;

步骤317:从接口x2接收到该查询消息的路由器选择一个数据表项,该数据表项的名称域值等于该查询消息的名称域值,将该数据表项的时间戳设置为当前时间,从接口x2发送一个数据消息,该数据消息的名称域值等于该查询消息的名称域值,消息类型值为4,负载为该数据表项的数据域值,执行步骤330;

步骤318:从接口x2接收到该查询消息的路由器创建一个查询表项,该查询表项的名称域值等于该查询消息的名称域值,接口ID等于x2,如果该路由器存在一个传感节点表项,该传感节点表项的名称域值等于该查询消息的名称域值,则执行步骤319,否则执行步骤320;

步骤319:从接口x2接收到该查询消息的路由器选择一个传感节点表项,该传感节点表项的名称域值等于该查询消息的名称域值,从该传感节点表项的接口ID所标识的接口转发该查询消息,执行步骤312;

步骤320:从接口x2接收到该查询消息的路由器选择所有名称域值等于该查询消息名称域值的转发表项,针对每一个选中的转发表项,该路由器选择一个接口表项,该接口表项的名称域值和接口ID域值等于该转发表项的名称域值和接口ID域值;

步骤321:从接口x2接收到该查询消息的路由器从所有选中的接口表项中随机选取一个接口表项E3,接口表项E3的时间戳距离当前时间最近,从接口x2接收到该查询消息的路由器选择一个转发表项E4,转发表项E4的名称域值和接口ID域值分别等于接口表项E3的名称域值和接口ID域值,从转发表项E4的接口ID所标识的接口转发该查询消息,执行步骤312;

步骤322:传感节点接收到该请求消息后,查看数据表,如果存在一个数据表项,该数据表项的名称域值等于该查询消息的名称域值,则执行步骤323,否则执行步骤325;

步骤323:接收到该查询消息的传感节点选择一个数据表项,该数据表项的名称域值等于该查询消息的名称域值,将该数据表项的时间戳设置为当前时间;

步骤324:接收到该查询消息的传感节点发送一个数据消息,该数据消息的名称域值等于该查询消息的名称域值,消息类型值为4,负载为选中的数据表项的数据域值,执行步骤330;

步骤325:接收到该查询消息的传感节点发送一个失败消息,该失败消息的名称域值等于该查询消息的名称域值,消息类型值为5,负载为空;

步骤326:判断是传感节点还是路由器从接口x3接收到失败消息,如果是传感节点则执行步骤333,否则执行步骤327;

步骤327:路由器从接口x3接收到失败消息后,查看转发表,如果至少存在一个转发表项,该转发表项的名称域值等于该失败消息的名称域值且接口ID不等于x3,则执行步骤328,否则执行步骤329;

步骤328:从接口x3接收到失败消息的路由器查看转发表,选择所有名称域值等于该失败消息的名称域值且接口ID不等于x3的转发表项,针对每个选中的转发表项,该路由器创建一个查询消息,该查询消息的名称域值等于该失败消息的名称域值,消息类型值为3,负载为空,从该转发表项的接口ID所标识的接口转发该查询消息,执行步骤312;

步骤329:从接口x3接收到失败消息的路由器查看查询表,选择所有名称域值等于该失败消息的名称域值的查询表项,针对每个选中的查询表项,该路由器从该查询表项的接口ID所标识的接口转发该失败消息,删除该查询表项,执行步骤326;

步骤330:判断是传感节点还是路由器从接口x4接收到响应消息,如果是传感节点则执行步骤332,否则执行步骤331;

步骤331:路由器从接口x4接收到响应消息后,选择所有名称域值等于该响应消息名称域值的查询表项,针对每个选中的查询表项,该路由器从该查询表项的接口ID域值所标识的接口转发该响应消息,如果该路由器有足够的存储空间存在该响应消息负载中的响应数据,则创建一个数据表项,该数据表项的名称域值等于该响应消息的名称域值,数据域值等于该响应消息负载中的响应数据,时间戳为当前的时间,该路由器选择一个接口表项,该接口表项的名称域值等于该响应消息的名称域值,接口ID域值等于x4,将该接口表项的时间戳设置为当前的时间,执行步骤330;

步骤332:传感节点接收到响应消息后,创建一个数据表项,该数据表项的名称域值等于该响应消息的名称域值,数据域值等于该响应消息负载中的响应数据,时间戳为当前的时间;

步骤333:结束。

传感节点通过上述过程实现数据通信,从而获取所需数据,上述过程通过查询表实现请求聚合,这样多个传感节点可以通过一次数据通信即可获取数据,从而大幅度降低了数据通信代价和延迟。

本发明所述方法中,每个传感节点保存一个消息表,每个消息表项包含名称域和时钟域,如果一个传感节点检测到一个消息表项的时钟过期,即衰减为0,则删除该消息表项;传感节点N2与路由器R2相连,数据D1由名称NA1唯一标识,如果传感节点N2通过步骤301-333没有获取数据D1,则执行下述过程获取数据D1:

步骤401:开始;

步骤402:传感节点N2发送一个二次查询消息,该二次查询消息的名称域值为NA1,消息类型值为6,负载为空;

步骤403:路由器R2从接口y1接收到该二次查询消息,如果存在一个查询表项,该查询表项的名称域值等于该二次查询消息的名称域值,接口ID等于y1,则执行步骤423,否则执行步骤404;

步骤404:从接口y1接收到该二次查询消息的路由器R2查看查询表,如果存在一个查询表项,该查询表项的名称域值等于该二次查询消息的名称域值,则执行步骤405,否则执行步骤406;

步骤405:从接口y1接收到该二次查询消息的路由器R2创建一个查询表项,该查询表项的名称域值等于该二次查询消息的名称域值,接口ID等于y1,执行步骤423;

步骤406:从接口y1接收到该二次查询消息的路由器R2查看数据表,如果存在一个数据表项,该数据表项的名称域值等于该二次查询消息的名称域值,则执行步骤407,否则执行步骤408;

步骤407:从接口y1接收到该二次查询消息的路由器R2选择一个数据表项,该数据表项的名称域值等于该二次查询消息的名称域值,将该数据表项的时间戳设置为当前时间,从接口y1发送一个二次响应消息,该二次响应消息的名称域值等于该二次查询消息的名称域值,消息类型值为7,负载为该数据表项的数据域值,执行步骤423;

步骤408:从接口y1接收到该二次查询消息的路由器R2创建一个查询表项,该查询表项的名称域值等于该二次查询消息的名称域值,接口ID等于y1,如果路由器R2存在一个传感节点表项,该传感节点表项的名称域值等于该二次查询消息的名称域值,则执行步骤409,否则执行步骤410;

步骤409:从接口y1接收到该二次查询消息的路由器R2选择一个传感节点表项,该传感节点表项的名称域值等于该二次查询消息的名称域值,从该传感节点表项的接口ID所标识的接口转发该二次查询消息,执行步骤411;

步骤410:从接口y1接收到该二次查询消息的路由器R2选择所有名称域值等于该二次查询消息名称域值的转发表项,针对每一个选中的转发表项,路由器R2通过该转发表项的接口ID所标识的接口转发该二次查询消息;

步骤411:判断是传感节点还是路由器从接口y2接收到该二次查询消息,如果是传感节点则执行步骤420,否则执行步骤412;

步骤412:路由器从接口y2接收到该二次查询消息;,如果存在一个查询表项,该查询表项的名称域值等于该二次查询消息的名称域值,接口ID等于y2,则执行步骤423,否则执行步骤413;

步骤413:从接口y2接收到该二次查询消息的路由器查看查询表,如果存在一个查询表项,该查询表项的名称域值等于该二次查询消息的名称域值,则执行步骤414,否则执行步骤415;

步骤414:从接口y2接收到该二次查询消息的路由器创建一个查询表项,该查询表项的名称域值等于该二次查询消息的名称域值,接口ID等于y2,执行步骤423;

步骤415:从接口y2接收到该二次查询消息的路由器查看数据表,如果存在一个数据表项,该数据表项的名称域值等于该二次查询消息的名称域值,则执行步骤416,否则执行步骤417;

步骤416:从接口y2接收到该二次查询消息的路由器选择一个数据表项,该数据表项的名称域值等于该二次查询消息的名称域值,将该数据表项的时间戳设置为当前时间,从接口y2发送一个二次响应消息,该二次响应消息的名称域值等于该二次查询消息的名称域值,消息类型值为7,负载为该数据表项的数据域值,执行步骤423;

步骤417:从接口y2接收到该二次查询消息的路由器创建一个查询表项,该查询表项的名称域值等于该二次查询消息的名称域值,接口ID等于y2;如果该路由器至少存在一个传感节点表项,该传感节点表项的名称域值等于该二次查询消息的名称域值,则执行步骤418,否则执行步骤419;

步骤418:从接口y2接收到该二次查询消息的路由器选择所有名称域值等于该二次查询消息的名称域值的传感节点表项,针对选择的每一个传感节点表项,该路由器从该传感节点表项的接口ID所标识的接口转发该二次查询消息,执行步骤411;

步骤419:从接口y2接收到该二次查询消息的路由器选择所有名称域值等于该二次查询消息名称域值的转发表项,针对每一个选中的转发表项,该路由器通过该转发表项的接口ID所标识的接口转发该二次查询消息,执行步骤411;

步骤420:传感节点接收到二次查询消息后,查看消息表,如果存在一个消息表项,该消息表项的名称域值等于该二次查询消息的名称域值,则执行步骤428,否则执行步骤421;

步骤421:接收到二次查询消息的传感节点创建一个消息表项并设置一个新时钟,该消息表项的名称域值等于该二次查询消息的名称域值,时钟域值等于新设置的时钟,如果该传感节点存在一个数据表项,该数据表项的名称域值等于该二次查询消息的名称域值,则执行步骤422,否则执行步骤428;

步骤422:接收到该二次查询消息的传感节点选择一个数据表项,该数据表项的名称域值等于该二次查询消息的名称域值,则将该数据表项的时间戳设置为当前时间,发送一个二次响应消息,该二次响应消息的名称域值等于该二次查询消息的名称域值,消息类型值为7,负载为该数据表项的数据域值;

步骤423:如果传感节点接收到响应消息,则执行步骤426,否则执行步骤424;

步骤424:路由器从接口y3接收到响应消息后,选择所有名称域值等于该响应消息名称域值的查询表项,如果选择的查询表项的个数为0,则执行步骤428,否则执行步骤425;

步骤425:从接口y3接收到响应消息的路由器选择所有名称域值等于该响应消息名称域值的查询表项,针对每个选中的查询表项,该路由器从该查询表项的接口ID域值所标识的接口转发该响应消息;如果该路由器有足够的存储空间存在该响应消息负载中的响应数据,则创建一个数据表项,该数据表项的名称域值等于该响应消息的名称域值,数据域值等于该响应消息负载中的响应数据,时间戳为当前的时间;该路由器选择一个接口表项,该接口表项的名称域值等于该响应消息的名称域值,接口ID域值等于y3,将该接口表项的时间戳设置为当前的时间,执行步骤423;

步骤426:传感节点接收到响应数据后,如果传感节点存在一个数据表项,该数据表项的名称域值等于该响应消息的名称域值,则执行步骤428,否则执行步骤427;

步骤427:接收到响应消息的传感节点创建一个数据表项,该数据表项的名称域值等于该响应消息的名称域值,数据域值等于该响应消息负载中的响应数据,时间戳为当前的时间;

步骤428:结束。

传感节点通过上述过程获取所需数据,上述过程通过消息表实现数据请求,从而确保传感节点可以成功获取数据,从而大幅度降低了数据通信成功率。同时,上述过程中路由器可以缓存数据并提供数据,从而进一步降低了数据通信代价和延迟。

有益效果:本发明提供了一种可靠的多媒体传感网数据通信实现方法,在本发明中,传感节点能够快速获取数据,大幅度降低了数据通信延迟,提高了数据通信质量。本发明可应用于交通路况检控及农业工程化等诸多领域,具有广泛的应用前景。

附图说明

下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。

图1为本发明所述的建立传感节点表程示意图。

图2为本发明所述的建立转发表流程示意图。

图3为本发明所述的数据通信流程示意图。

图4为本发明所述的获取数据流程示意图。

具体实施方式:

本发明提供了一种可靠的多媒体传感网数据通信实现方法,在本发明中,传感节点能够快速获取数据,大幅度降低了数据通信延迟,提高了数据通信质量。本发明可应用于交通路况检控及农业工程化等诸多领域,具有广泛的应用前景。

图1为本发明所述的建立传感节点表流程示意图。所述网络包括两个以上的路由器和两个以上的多媒体传感节点;多媒体传感节点称为传感节点,每个传感节点配置能够产生多媒体数据的设备,一种类型的多媒体数据由一个名称唯一标识;每个路由器配置两个以上的上游接口和两个以上的下游接口,每个上游接口与一个路由器相连,一个路由器的下游接口与一个多媒体传感节点相连;一个多媒体传感节点配置一个接口,该接口与路由器的下游接口相连;

每个接口由一个接口ID唯一标识,接口ID为i的接口记为接口i,i为大于0的正整数;一个消息由名称、消息类型和负载构成;消息类型值如下所示:

消息类型名称消息类型值传感节点发布消息1数据发布消息2查询消息3数据消息4失败消息5二次查询消息6二次响应消息7

每个路由器维护一个传感节点表,每个传感节点表项包含名称域、接口ID域和生命周期域;

传感节点N1与路由器R1相连,数据D1由名称NA1唯一标识,如果传感节点N1产生或者获取了数据D1,则执行下述操作建立传感节点表:

步骤101:开始;

步骤102:传感节点N1发送传感节点发布消息,该传感节点发布消息的名称为NA1,消息类型值为1,负载为空;

步骤103:路由器R1从接口d1接收到该传感节点发布消息后,查看传感节点表,如果存在一个传感节点表项,该传感节点表项的名称等于该传感节点发布消息的名称,接口ID等于d1,则执行步骤104,否则执行步骤105;

步骤104:从接口d1接收到该传感节点发布消息的路由器R1选择一个传感节点表项,该传感节点表项的名称等于该传感节点发布消息的名称,接口ID等于d1,将该传感节点表项的生命周期设置为最大值,执行步骤106;

步骤105:从接口d1接收到该传感节点发布消息的路由器R1创建一个传感节点表项,该传感节点表项的名称等于该传感节点发布消息的名称,接口ID等于d1,将该传感节点表项的生命周期设置为最大值;

步骤106:结束;

如果路由器检测到一个传感节点表项的生命周期衰减为0,则删除该传感节点表项。

传感节点通过上述过程建立传感节点表,这样,与传感节点关联的路由器可以获取每个传感节点所提供的数据,并通过正确的接口实现消息的正确转发,从而确保数据通信的正确性和实时性。

图2为本发明所述的建立转发表流程示意图。每个路由器维护一个转发表,一个转发表项包含接口ID、名称和生命周期;路由器R1定期执行下述操作建立转发表:

步骤201:开始;

步骤202:路由器R1创建一个名称集合变量P1,变量P1的初始值为空,路由器R1查看传感节点表,针对每个传感节点表项,路由器R1执行下述操作:如果该传感节点表项的名称域值不包含在变量P1中,路由器R1将该传感节点表项的名称域值添加到变量P1中,否则,路由器R1不执行任何操作;

步骤203:对于变量P1中的每个元素,路由器R1执行下述操作:路由器R1发送数据发布消息,该数据发布消息的名称等于该元素,消息类型值为2,负载为空;

步骤204:路由器从接口u1接收到数据发布消息后查看转发表,如果存在一个转发表项,该转发表项的名称等于该数据发布消息的名称,接口ID等于u1,且生命周期大于T0-T1,T0为生命周期最大值,T1为调节系数,则执行步骤209,否则执行步骤205;

步骤205:从接口u1接收到数据发布消息的路由器查看转发表,如果存在一个转发表项,该转发表项的名称等于该数据发布消息的名称,接口ID等于u1,则执行步骤206,否则执行步骤207;

步骤206:从接口u1接收到数据发布消息的路由器选择一个转发表项,该转发表项的名称等于该数据发布消息的名称,接口ID等于u1,该路由器将该转发表项的生命周期设置为T0,执行步骤208;

步骤207:从接口u1接收到数据发布消息的路由器创建一个转发表项,该转发表项的名称等于该数据发布消息的名称,接口ID等于u1,该路由器将该转发表项的生命周期设置为T0;

步骤208:从接口u1接收到数据发布消息的路由器从除了接口u1之外的每个上游接口转发该数据发布消息,执行步骤204;

步骤209:结束;

如果路由器检测到一个转发表项的生命周期衰减为0,则删除该转发表项。

路由器通过上述过程建立转发表,路由器可以根据转发表建立最优路由路径,并通过正确的接口实现消息的正确转发,转发表通过生命周期确保转发表项的正确性和实时性,从而确保数据通信的正确性。

图3为本发明所述的数据通信流程示意图。每个路由器和传感节点保存一个数据表,一个数据表项包含名称域、数据域和时间戳;如果一个路由器或者传感节点检测到一个数据表项的时间戳与当前时间之差的绝对值小于阈值TS1,则删除该数据表项;

一个路由器保存一个查询表,每个查询表项包含名称域和接口ID域;一个路由器保存一个接口表,每个接口表项包含接口ID域、名称域和时间戳;传感节点N2与路由器R2相连,数据D1由名称NA1唯一标识,传感节点N2通过下述过程获取数据D1:

步骤301:开始;

步骤302:传感节点N2发送一个查询消息,该查询消息的名称域值为NA1,消息类型值为3,负载为空;

步骤303:路由器R2从接口x1接收到该查询消息,如果存在一个查询表项,该查询表项的名称域值等于该查询消息的名称域值,接口ID等于x1,则执行步骤330,否则执行步骤304;

步骤304:从接口x1接收到该查询消息的路由器R2查看查询表,如果存在一个查询表项,该查询表项的名称域值等于该查询消息的名称域值,则执行步骤305,否则执行步骤306;

步骤305:从接口x1接收到该查询消息的路由器R2创建一个查询表项,该查询表项的名称域值等于该查询消息的名称域值,接口ID等于x1,执行步骤330;

步骤306:从接口x1接收到该查询消息的路由器R2查看数据表,如果存在一个数据表项,该数据表项的名称域值等于该查询消息的名称域值,则执行步骤307,否则执行步骤308;

步骤307:从接口x1接收到该查询消息的路由器R2选择一个数据表项,该数据表项的名称域值等于该查询消息的名称域值,将该数据表项的时间戳设置为当前时间,从接口x1发送一个数据消息,该数据消息的名称域值等于该查询消息的名称域值,消息类型值为4,负载为该数据表项的数据域值,执行步骤330;

步骤308:从接口x1接收到该查询消息的路由器R2创建一个查询表项,该查询表项的名称域值等于该查询消息的名称域值,接口ID等于x1;如果路由器R2存在一个传感节点表项,该传感节点表项的名称域值等于该查询消息的名称域值,则执行步骤309,否则执行步骤310;

步骤309:从接口x1接收到该查询消息的路由器R2选择一个传感节点表项,该传感节点表项的名称域值等于该查询消息的名称域值,从该传感节点表项的接口ID所标识的接口转发该查询消息,执行步骤312;

步骤310:从接口x1接收到该查询消息的路由器R2选择所有名称域值等于该查询消息名称域值的转发表项,针对每一个选中的转发表项,路由器R2选择一个接口表项,该接口表项的名称域值和接口ID域值等于该转发表项的名称域值和接口ID域值;

步骤311:从接口x1接收到该查询消息的路由器R2从所有选中的接口表项中随机选取一个接口表项E1,接口表项E1的时间戳距离当前时间最近;选择一个转发表项E2,转发表项E2的名称域值和接口ID域值分别等于接口表项E1的名称域值和接口ID域值,从转发表项E2的接口ID所标识的接口转发该查询消息;

步骤312:判断是传感节点还是路由器从接口x2接收到该查询消息,如果是传感节点则执行步骤322,否则执行步骤313;

步骤313:路由器从接口x2接收到该查询消息,如果存在一个查询表项,该查询表项的名称域值等于该查询消息的名称域值,接口ID等于x2,则执行步骤330,否则执行步骤314;

步骤314:从接口x2接收到该查询消息的路由器查看查询表,如果存在一个查询表项,该查询表项的名称域值等于该查询消息的名称域值,则执行步骤315,否则执行步骤316;

步骤315:从接口x2接收到该查询消息的路由器创建一个查询表项,该查询表项的名称域值等于该查询消息的名称域值,接口ID等于x2,执行步骤330;

步骤316:从接口x2接收到该查询消息的路由器查看数据表,如果存在一个数据表项,该数据表项的名称域值等于该查询消息的名称域值,则执行步骤317,否则执行步骤318;

步骤317:从接口x2接收到该查询消息的路由器选择一个数据表项,该数据表项的名称域值等于该查询消息的名称域值,将该数据表项的时间戳设置为当前时间,从接口x2发送一个数据消息,该数据消息的名称域值等于该查询消息的名称域值,消息类型值为4,负载为该数据表项的数据域值,执行步骤330;

步骤318:从接口x2接收到该查询消息的路由器创建一个查询表项,该查询表项的名称域值等于该查询消息的名称域值,接口ID等于x2,如果该路由器存在一个传感节点表项,该传感节点表项的名称域值等于该查询消息的名称域值,则执行步骤319,否则执行步骤320;

步骤319:从接口x2接收到该查询消息的路由器选择一个传感节点表项,该传感节点表项的名称域值等于该查询消息的名称域值,从该传感节点表项的接口ID所标识的接口转发该查询消息,执行步骤312;

步骤320:从接口x2接收到该查询消息的路由器选择所有名称域值等于该查询消息名称域值的转发表项,针对每一个选中的转发表项,该路由器选择一个接口表项,该接口表项的名称域值和接口ID域值等于该转发表项的名称域值和接口ID域值;

步骤321:从接口x2接收到该查询消息的路由器从所有选中的接口表项中随机选取一个接口表项E3,接口表项E3的时间戳距离当前时间最近,从接口x2接收到该查询消息的路由器选择一个转发表项E4,转发表项E4的名称域值和接口ID域值分别等于接口表项E3的名称域值和接口ID域值,从转发表项E4的接口ID所标识的接口转发该查询消息,执行步骤312;

步骤322:传感节点接收到该请求消息后,查看数据表,如果存在一个数据表项,该数据表项的名称域值等于该查询消息的名称域值,则执行步骤323,否则执行步骤325;

步骤323:接收到该查询消息的传感节点选择一个数据表项,该数据表项的名称域值等于该查询消息的名称域值,将该数据表项的时间戳设置为当前时间;

步骤324:接收到该查询消息的传感节点发送一个数据消息,该数据消息的名称域值等于该查询消息的名称域值,消息类型值为4,负载为选中的数据表项的数据域值,执行步骤330;

步骤325:接收到该查询消息的传感节点发送一个失败消息,该失败消息的名称域值等于该查询消息的名称域值,消息类型值为5,负载为空;

步骤326:判断是传感节点还是路由器从接口x3接收到失败消息,如果是传感节点则执行步骤333,否则执行步骤327;

步骤327:路由器从接口x3接收到失败消息后,查看转发表,如果至少存在一个转发表项,该转发表项的名称域值等于该失败消息的名称域值且接口ID不等于x3,则执行步骤328,否则执行步骤329;

步骤328:从接口x3接收到失败消息的路由器查看转发表,选择所有名称域值等于该失败消息的名称域值且接口ID不等于x3的转发表项,针对每个选中的转发表项,该路由器创建一个查询消息,该查询消息的名称域值等于该失败消息的名称域值,消息类型值为3,负载为空,从该转发表项的接口ID所标识的接口转发该查询消息,执行步骤312;

步骤329:从接口x3接收到失败消息的路由器查看查询表,选择所有名称域值等于该失败消息的名称域值的查询表项,针对每个选中的查询表项,该路由器从该查询表项的接口ID所标识的接口转发该失败消息,删除该查询表项,执行步骤326;

步骤330:判断是传感节点还是路由器从接口x4接收到响应消息,如果是传感节点则执行步骤332,否则执行步骤331;

步骤331:路由器从接口x4接收到响应消息后,选择所有名称域值等于该响应消息名称域值的查询表项,针对每个选中的查询表项,该路由器从该查询表项的接口ID域值所标识的接口转发该响应消息,如果该路由器有足够的存储空间存在该响应消息负载中的响应数据,则创建一个数据表项,该数据表项的名称域值等于该响应消息的名称域值,数据域值等于该响应消息负载中的响应数据,时间戳为当前的时间,该路由器选择一个接口表项,该接口表项的名称域值等于该响应消息的名称域值,接口ID域值等于x4,将该接口表项的时间戳设置为当前的时间,执行步骤330;

步骤332:传感节点接收到响应消息后,创建一个数据表项,该数据表项的名称域值等于该响应消息的名称域值,数据域值等于该响应消息负载中的响应数据,时间戳为当前的时间;

步骤333:结束。

传感节点通过上述过程实现数据通信,从而获取所需数据,上述过程通过查询表实现请求聚合,这样多个传感节点可以通过一次数据通信即可获取数据,从而大幅度降低了数据通信代价和延迟。

图4为本发明所述的获取数据流程示意图。每个传感节点保存一个消息表,每个消息表项包含名称域和时钟域,如果一个传感节点检测到一个消息表项的时钟过期,即衰减为0,则删除该消息表项;传感节点N2与路由器R2相连,数据D1由名称NA1唯一标识,如果传感节点N2通过步骤301-333没有获取数据D1,则执行下述过程获取数据D1:

步骤401:开始;

步骤402:传感节点N2发送一个二次查询消息,该二次查询消息的名称域值为NA1,消息类型值为6,负载为空;

步骤403:路由器R2从接口y1接收到该二次查询消息,如果存在一个查询表项,该查询表项的名称域值等于该二次查询消息的名称域值,接口ID等于y1,则执行步骤423,否则执行步骤404;

步骤404:从接口y1接收到该二次查询消息的路由器R2查看查询表,如果存在一个查询表项,该查询表项的名称域值等于该二次查询消息的名称域值,则执行步骤405,否则执行步骤406;

步骤405:从接口y1接收到该二次查询消息的路由器R2创建一个查询表项,该查询表项的名称域值等于该二次查询消息的名称域值,接口ID等于y1,执行步骤423;

步骤406:从接口y1接收到该二次查询消息的路由器R2查看数据表,如果存在一个数据表项,该数据表项的名称域值等于该二次查询消息的名称域值,则执行步骤407,否则执行步骤408;

步骤407:从接口y1接收到该二次查询消息的路由器R2选择一个数据表项,该数据表项的名称域值等于该二次查询消息的名称域值,将该数据表项的时间戳设置为当前时间,从接口y1发送一个二次响应消息,该二次响应消息的名称域值等于该二次查询消息的名称域值,消息类型值为7,负载为该数据表项的数据域值,执行步骤423;

步骤408:从接口y1接收到该二次查询消息的路由器R2创建一个查询表项,该查询表项的名称域值等于该二次查询消息的名称域值,接口ID等于y1,如果路由器R2存在一个传感节点表项,该传感节点表项的名称域值等于该二次查询消息的名称域值,则执行步骤409,否则执行步骤410;

步骤409:从接口y1接收到该二次查询消息的路由器R2选择一个传感节点表项,该传感节点表项的名称域值等于该二次查询消息的名称域值,从该传感节点表项的接口ID所标识的接口转发该二次查询消息,执行步骤411;

步骤410:从接口y1接收到该二次查询消息的路由器R2选择所有名称域值等于该二次查询消息名称域值的转发表项,针对每一个选中的转发表项,路由器R2通过该转发表项的接口ID所标识的接口转发该二次查询消息;

步骤411:判断是传感节点还是路由器从接口y2接收到该二次查询消息,如果是传感节点则执行步骤420,否则执行步骤412;

步骤412:路由器从接口y2接收到该二次查询消息;,如果存在一个查询表项,该查询表项的名称域值等于该二次查询消息的名称域值,接口ID等于y2,则执行步骤423,否则执行步骤413;

步骤413:从接口y2接收到该二次查询消息的路由器查看查询表,如果存在一个查询表项,该查询表项的名称域值等于该

一种可靠的多媒体传感网数据通信实现方法专利购买费用说明

专利买卖交易资料

Q:办理专利转让的流程及所需资料

A:专利权人变更需要办理著录项目变更手续,有代理机构的,变更手续应当由代理机构办理。

1:专利变更应当使用专利局统一制作的“著录项目变更申报书”提出。

2:按规定缴纳著录项目变更手续费。

3:同时提交相关证明文件原件。

4:专利权转移的,变更后的专利权人委托新专利代理机构的,应当提交变更后的全体专利申请人签字或者盖章的委托书。

Q:专利著录项目变更费用如何缴交

A:(1)直接到国家知识产权局受理大厅收费窗口缴纳,(2)通过代办处缴纳,(3)通过邮局或者银行汇款,更多缴纳方式

Q:专利转让变更,多久能出结果

A:著录项目变更请求书递交后,一般1-2个月左右就会收到通知,国家知识产权局会下达《转让手续合格通知书》。

动态评分

0.0

没有评分数据
没有评价数据
×

打开微信,点击底部的“发现”

使用“扫一扫”即可将网页分享至朋友圈

×
复制
用户中心
我的足迹
我的收藏

您的购物车还是空的,您可以

  • 微信公众号

    微信公众号
在线留言
返回顶部