一种基于命名数据的物联网数据通信方法技术

技术编号:19068117 阅读:22 留言:0更新日期:2018-09-29 14:58
本发明专利技术提供了一种基于命名数据的物联网数据通信方法,所述物联网包括一个以上的节点,每个节点配置一个无线接口;一种数据由一个数据ID唯一标识,数据ID为大于0的正整数;一个消息包含消息类型、数据ID、广播范围和负载域;用户通过本发明专利技术提供的方法能够快速获取数据,从而降低数据通信延迟和代价,提高服务质量。本发明专利技术可应用于智能家居、环境监测、路况监测等诸多领域,具有广泛的应用前景。

【技术实现步骤摘要】
一种基于命名数据的物联网数据通信方法
本专利技术涉及一种通信方法,尤其涉及的是一种基于命名数据的物联网数据通信方法。
技术介绍
物联网是一种新的服务模式。近年来,很多研究工作致力于物联网,以便用户人能够快速获取网络服务。随着网络技术的发展,物联网会成为未来提供服务的一种模式。目前,物联网的数据通信延迟和代价都比较大,降低了网络服务性能。因此,如何降低物联网提供服务的延迟和代价成为近年来研究的热点问题。
技术实现思路
专利技术目的:本专利技术所要解决的技术问题是针对现有技术的不足,提供了一种基于命名数据的物联网数据通信方法。本专利技术通过请求聚合的方式来实现物联网,从而降低物联网提供服务的延迟和代价,从而有效提高网络服务性能。技术方案:本专利技术公开了一种基于命名数据的物联网数据通信方法,所述物联网包括一个以上的节点,每个节点配置一个无线接口;一种数据由一个数据ID唯一标识,例如电视剧,数据ID为大于0的正整数;一个消息包含消息类型、数据ID、广播范围和负载域;邻居消息的消息类型为1,邻居查询消息的消息类型为2,邻居数据消息的消息类型为3,查询消息的消息类型为4,数据消息的消息类型为5,二次查询消息的消息类型为6,二次数据消息的消息类型为7,数据创建消息的消息类型为8;每个节点维护一个索引表,每个索引表项包含数据ID集合域和生命周期域;每个节点维护一个存储表,每个存储表项包含数据ID域,数据域和生命周期域;节点N1定期执行下述过程来建立索引表:步骤101:开始;步骤102:节点N1查看存储表并创建一个数据ID集合参数D1,参数D1的初始值为空;针对每一个存储表项,节点N1判断参数D1中是否包含该存储表项的数据ID域值,如果不包括,节点N1则将该存储表项的数据ID域值加入到参数D1中,否则节点N1不执行任何操作;步骤103:节点N1发送邻居消息,该邻居消息的消息类型为1,数据ID域值为0,广播范围为1,负载为参数D1;步骤104:邻居节点接收到该邻居消息后,将该邻居消息的广播范围递减1,查看索引表,如果存在一个索引表项,该索引表项的数据ID集合域值等于该邻居消息负载中的参数D1,则将该索引表项中的生命周期设置为最大值,例如500ms,否则该邻居节点创建一个索引表项,该索引表项的数据ID集合域值等于该邻居消息负载中的参数D1,生命周期为最大值;步骤105:接收到该邻居消息的邻居节点判断该邻居消息的广播范围是否为0,如果是,则执行步骤107,否则执行步骤106;步骤106:接收到该邻居消息的邻居节点转发该邻居消息,执行步骤104;步骤107:结束;如果节点检测到一个索引表项的生命周期衰减为0,则从索引表中删除该索引表项;节点通过上述过程建立索引表,基于该索引表项的数据ID集合域,节点能够从邻居节点获取所需数据,从而大幅度降低了数据通信延迟和代价。本专利技术所述方法中,数据C1由数据IDCID1标识,如果节点N1检测到自己的索引表中存在一个索引表项,且该索引表项的数据ID集合中包含数据IDCID1,则通过下述过程获取数据C1:步骤201:开始;步骤202:节点N1发送邻居查询消息,该邻居查询消息的消息类型为2,数据ID为CID1,广播范围为1,负载为空;步骤203:邻居节点接收到邻居查询消息后,将该邻居查询消息的广播范围域值递减1,查看存储表;如果存在一个存储表项,该存储表项的数据ID等于该邻居查询消息的数据ID,则执行步骤206,否则执行步骤204;步骤204:接收到邻居查询消息的邻居节点判断该邻居查询消息的广播范围是否等于0,如果是,则执行步骤207,否则执行步骤205;步骤205:接收到邻居查询消息的邻居节点转发该邻居查询消息,执行步骤203;步骤206:接收到邻居查询消息的邻居节点选择一个存储表项,该存储表项的数据ID等于该邻居查询消息的数据ID,该邻居节点发送一个邻居数据消息,该邻居数据消息的数据ID等于该邻居查询消息的数据ID,消息类型为3,广播范围域值为1,负载为该存储表项中的数据域值;步骤207:接收到邻居数据消息的节点将该邻居数据消息的广播范围域值递减1,查看存储表,如果存在一个存储表项,该存储表项的数据ID等于该邻居数据消息的数据ID,则丢弃该邻居数据消息,否则,接收到邻居数据消息的节点创建一个存储表项,该存储表项的数据ID等于该邻居数据消息的数据ID,数据域值等于该邻居数据消息负载中的数据域值,生命周期设置为最大值,例如1h;步骤208:接收到邻居数据消息的节点判断该邻居数据消息的广播范围域值是否等于0,如果是,则执行步骤210,否则执行步骤209;步骤209:接收到邻居数据消息的节点转发该邻居数据消息,执行步骤207;步骤210:结束;如果节点检测到一个存储表项的生命周期衰减为0,则从存储表中删除该存储表项;节点通过监测邻居表以获取能够提供目标数据的邻居表项,由于上述过程没有指定某个特定的邻居节点提供数据,因此所有能够提供目标数据的邻居节点均返回数据,从而确保节点能够接收到响应数据,解决了无线网络丢包率高的问题,也避免了节点由于数据通信失败而再次请求数据的情况,因此大幅度降低了数据通信延迟和代价。本专利技术所述方法中,节点保存一个查询表,每个查询表项包含数据ID域、距离域和生命周期域;数据C1由数据IDCID1标识;如果节点N1检测到自己的索引表中任何一个索引表项的数据ID集合中都不包含数据IDCID1,则通过下述过程获取数据C1:步骤301:开始;步骤302:节点N1设置一个参数h0,参数h0的初始值为常量X;常量X一般为大于5的正整数,常量X小于阈值TS1,X取值越大,查询消息和数据消息的广播范围越大;步骤303:节点N1将参数h0的值递增1;如果参数h0的值大于阈值TS1,则执行步骤315,否则执行步骤304;阈值TS1为大于常量X的正整数;阈值TS1越大,查询消息和数据消息的广播范围越大;步骤304:节点N1设置一个时钟TM1,节点N1发送一个查询消息,该查询消息的消息类型为4,数据ID为CID1,广播范围域值等于参数h0,负载为参数h0;步骤305:接收到查询消息的节点将该查询消息的广播范围域值递减1,查看存储表,如果存在一个存储表项,该存储表项的数据ID等于该查询消息的数据ID,则执行步骤306,否则执行步骤307;步骤306:接收到查询消息的节点选择一个存储表项,该存储表项的数据ID等于该查询消息的数据ID,该节点发送一个数据消息,该数据消息的数据ID等于该查询消息的数据ID,消息类型为5,广播范围域值等于该查询消息负载中的参数h0与该查询消息广播范围域值之差的绝对值,负载为该存储表项中的数据域值,执行步骤310;步骤307:接收到查询消息的节点查看查询表,如果存在一个查询表项,该查询表项的数据ID等于该查询消息的数据ID,则执行步骤310,否则执行步骤308;步骤308:接收到查询消息的节点创建一个查询表项,该查询表项的数据ID等于该查询消息的数据ID,距离域值等于该查询消息负载中的参数h0与该查询消息广播范围域值之差的绝对值,生命周期设置为最大值,例如1s;该节点判断该查询消息的广播范围域值是否为0,如果是,则执行步骤310,否则执行步骤309;步骤309:接收到查询消息的节点转发接收到本文档来自技高网...

【技术保护点】
1.一种基于命名数据的物联网数据通信方法,其特征在于,所述物联网包括一个以上的节点,每个节点配置一个无线接口;一种数据由一个数据ID唯一标识,数据ID为大于0的正整数;一个消息包含消息类型、数据ID、广播范围和负载域;邻居消息的消息类型为1,邻居查询消息的消息类型为2,邻居数据消息的消息类型为3,查询消息的消息类型为4,数据消息的消息类型为5,二次查询消息的消息类型为6,二次数据消息的消息类型为7,数据创建消息的消息类型为8;每个节点维护一个索引表,每个索引表项包含数据ID集合域和生命周期域;每个节点维护一个存储表,每个存储表项包含数据ID域,数据域和生命周期域;节点N1定期执行下述过程来建立索引表:步骤101:开始;步骤102:节点N1查看存储表并创建一个数据ID集合参数D1,参数D1的初始值为空;针对每一个存储表项,节点N1判断参数D1中是否包含该存储表项的数据ID域值,如果不包括,节点N1则将该存储表项的数据ID域值加入到参数D1中,否则节点N1不执行任何操作;步骤103:节点N1发送邻居消息,该邻居消息的消息类型为1,数据ID域值为0,广播范围为1,负载为参数D1;步骤104:邻居节点接收到该邻居消息后,将该邻居消息的广播范围递减1,查看索引表,如果存在一个索引表项,该索引表项的数据ID集合域值等于该邻居消息负载中的参数D1,则将该索引表项中的生命周期设置为最大值,否则该邻居节点创建一个索引表项,该索引表项的数据ID集合域值等于该邻居消息负载中的参数D1,生命周期为最大值;步骤105:接收到该邻居消息的邻居节点判断该邻居消息的广播范围是否为0,如果是,则执行步骤107,否则执行步骤106;步骤106:接收到该邻居消息的邻居节点转发该邻居消息,执行步骤104;步骤107:结束;如果节点检测到一个索引表项的生命周期衰减为0,则从索引表中删除该索引表项。...

【技术特征摘要】
1.一种基于命名数据的物联网数据通信方法,其特征在于,所述物联网包括一个以上的节点,每个节点配置一个无线接口;一种数据由一个数据ID唯一标识,数据ID为大于0的正整数;一个消息包含消息类型、数据ID、广播范围和负载域;邻居消息的消息类型为1,邻居查询消息的消息类型为2,邻居数据消息的消息类型为3,查询消息的消息类型为4,数据消息的消息类型为5,二次查询消息的消息类型为6,二次数据消息的消息类型为7,数据创建消息的消息类型为8;每个节点维护一个索引表,每个索引表项包含数据ID集合域和生命周期域;每个节点维护一个存储表,每个存储表项包含数据ID域,数据域和生命周期域;节点N1定期执行下述过程来建立索引表:步骤101:开始;步骤102:节点N1查看存储表并创建一个数据ID集合参数D1,参数D1的初始值为空;针对每一个存储表项,节点N1判断参数D1中是否包含该存储表项的数据ID域值,如果不包括,节点N1则将该存储表项的数据ID域值加入到参数D1中,否则节点N1不执行任何操作;步骤103:节点N1发送邻居消息,该邻居消息的消息类型为1,数据ID域值为0,广播范围为1,负载为参数D1;步骤104:邻居节点接收到该邻居消息后,将该邻居消息的广播范围递减1,查看索引表,如果存在一个索引表项,该索引表项的数据ID集合域值等于该邻居消息负载中的参数D1,则将该索引表项中的生命周期设置为最大值,否则该邻居节点创建一个索引表项,该索引表项的数据ID集合域值等于该邻居消息负载中的参数D1,生命周期为最大值;步骤105:接收到该邻居消息的邻居节点判断该邻居消息的广播范围是否为0,如果是,则执行步骤107,否则执行步骤106;步骤106:接收到该邻居消息的邻居节点转发该邻居消息,执行步骤104;步骤107:结束;如果节点检测到一个索引表项的生命周期衰减为0,则从索引表中删除该索引表项。2.根据权利要求1所述的一种基于命名数据的物联网数据通信方法,其特征在于,数据C1由数据IDCID1标识,如果节点N1检测到自己的索引表中存在一个索引表项,且该索引表项的数据ID集合中包含数据IDCID1,则通过下述过程获取数据C1:步骤201:开始;步骤202:节点N1发送邻居查询消息,该邻居查询消息的消息类型为2,数据ID为CID1,广播范围为1,负载为空;步骤203:邻居节点接收到邻居查询消息后,将该邻居查询消息的广播范围域值递减1,查看存储表;如果存在一个存储表项,该存储表项的数据ID等于该邻居查询消息的数据ID,则执行步骤206,否则执行步骤204;步骤204:接收到邻居查询消息的邻居节点判断该邻居查询消息的广播范围是否等于0,如果是,则执行步骤207,否则执行步骤205;步骤205:接收到邻居查询消息的邻居节点转发该邻居查询消息,执行步骤203;步骤206:接收到邻居查询消息的邻居节点选择一个存储表项,该存储表项的数据ID等于该邻居查询消息的数据ID,该邻居节点发送一个邻居数据消息,该邻居数据消息的数据ID等于该邻居查询消息的数据ID,消息类型为3,广播范围域值为1,负载为该存储表项中的数据域值;步骤207:接收到邻居数据消息的节点将该邻居数据消息的广播范围域值递减1,查看存储表,如果存在一个存储表项,该存储表项的数据ID等于该邻居数据消息的数据ID,则丢弃该邻居数据消息,否则,接收到邻居数据消息的节点创建一个存储表项,该存储表项的数据ID等于该邻居数据消息的数据ID,数据域值等于该邻居数据消息负载中的数据域值,生命周期设置为最大值;步骤208:接收到邻居数据消息的节点判断该邻居数据消息的广播范围域值是否等于0,如果是,则执行步骤210,否则执行步骤209;步骤209:接收到邻居数据消息的节点转发该邻居数据消息,执行步骤207;步骤210:结束;如果节点检测到一个存储表项的生命周期衰减为0,则从存储表中删除该存储表项。3.根据权利要求1所述的一种基于命名数据的物联网数据通信方法,其特征在于,节点保存一个查询表,每个查询表项包含数据ID域、距离域和生命周期域;数据C1由数据IDCID1标识;如果节点N1检测到自己的索引表中任何一个索引表项的数据ID集合中都不包含数据IDCID1,则通过下述过程获取数据C1:步骤301:开始;步骤302:节点N1设置一个参数h0,参数h0的初始值为常量X;步骤303:节点N1将参数h0的值递增1;如果参数h0的值大于阈值TS1,则执行步骤315,否则执行步骤304;阈值TS1为大于常量X的正整数;步骤304:节点N1设置一个时钟TM1,节点N1发送一个查询消息,该查询消息的消息类型为4,数据ID为CID1,广播范围域值等于参数h0,负载为参数h0;步骤305:接收到查询消息的节点将该查询消息的广播范围域值递减1,查看存储表,如果存在一个存储表项,该存储表项的数据ID等于该查询消息的数据ID,则执行步骤306,否则执行步骤307;步骤306:接收到查询消息的节点选择一个存储表项,该存储表项的数据ID等于该查询消息的数据ID,该节点发送一个数据消息,该数据消息的数据ID等于该查询消息的数据ID,消息类型为5,广播范围域值等于该查询消息负载中的参数h0与该查询消息广播范围域值之差的绝对值,负载为该存储表项中的数据域值,执行步骤310;步骤307:接收到查询消息的节点查看查询表,如果存在一个查询表项,该查询表项的数据ID等于该查询消息的数据ID,则执行步骤310,否则执行步骤308;步骤308:接收到查询消息的节点创建一个查询表项,该查询表项的数据ID等于该查询消息的数据ID,距离域值等于该查询消息负载中的参数h0与该查询消息广播范围域值之差的绝对值,生命周期设置为最大值;该节点判断该查询消息的广播范围域值是否为0,如果是,则执行步骤310,否则执行步骤309...

【专利技术属性】
技术研发人员:王晓喃
申请(专利权)人:常熟理工学院
类型:发明
国别省市:江苏,32

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

1