一种物联网数据传输方法技术

技术编号:15441962 阅读:94 留言:0更新日期:2017-05-26 06:56
本发明专利技术提供了一种物联网数据传输方法,所述物联网中包含四类节点:数据路由器、用户设备、传感节点和执行节点;数据路由器用于路由转发,用户设备为数据消费者,用于获取传感节点感知的数据或者向执行节点发布命令从而实现远程控制,传感节点和数据节点为数据提供者;用户通过该方法可实时查询目标对象节点所处环境的参数,并根据目标对象节点的状态及时向传感器节点发送命令实现对目标对象节点的实时控制和调节,本发明专利技术可广泛用于农业环境监测和远程控制等领域。

Data transmission method for Internet of things

The invention provides a network data transmission method, including four kinds of nodes in the Internet of things: data router, user equipment, the sensor nodes and the execution node; data router for routing and forwarding data, user equipment for consumers, used to obtain the sensor node sensing data or to the execution node command to realize remote control. The sensor nodes and data nodes for the data provider; the user can query the target node parameters in real time environment by this method, and according to the target node state in a timely manner to the sensor nodes send command to realize the real-time control of the target node and adjust, the invention can be widely used in agricultural environmental monitoring and remote control etc..

【技术实现步骤摘要】
一种物联网数据传输方法
本专利技术涉及一种数据传输方法,尤其涉及的是一种物联网数据传输方法。
技术介绍
在典型的物联网构架中,一个电子标签具有全球唯一的电子编码,将其附着在物品上标识目标对象。在物品的生存期间,读写器利用射频识别技术(RFID,Radio-frequencyidentification)读取附着在目标对象的电子标签并将电子编码发送给物联网中间件,物联网中间件将电子编码所标识的目标对象信息数据传输到远程数据库服务器进行存储或者更新。用户通过向物联网中间件发送物品的电子编码来查询目标对象的相关信息,物联网中间件将目标对象的电子编码发送到对象名解析服务器(ONS,ObjectNameService)进行解析从而获取目标对象信息所在数据库服务器的统一资源标识(URI,UniversalResourceIdentifier),即目标对象信息所在数据库服务器的IP地址,然后通过数据库服务器获取目标对象的相关信息数据,并将此数据返回给用户。目前典型的物联网解决方案包括美国的EPC(ElectronicProductCode)系统和日本的UID(UbiquitousID)系统。目前的物联网架构能够很好地跟踪目标对象,但仍存在以下不足:1)用户只能通过数据库服务器来获取目标对象信息,无法实现与目标对象直接地点到点通信;2)用户只能查询目标对象的信息,无法直接控制目标对象的状态;3)目标对象信息只能通过读写器被动地读取,目标对象无法根据当前的状态主动请求数据更新或发出警报信息。
技术实现思路
专利技术目的:本专利技术所要解决的技术问题是针对现有技术的不足,提供一种物联网数据传输方法。技术方案:本专利技术公开了一种物联网数据传输方法,所述物联网中包含四类节点:数据路由器、用户设备、传感节点和执行节点;数据路由器用于路由转发,用户设备为数据消费者,用于获取传感节点感知的数据或者向执行节点发布命令从而实现远程控制,例如自动关灯,传感节点和数据节点为数据提供者;一个数据路由器与一跳范围内的用户设备、传感节点和执行节点构建成一个簇,数据路由器为簇首节点,用户设备、传感节点和执行节点为簇内节点;簇内节点不执行路由转发功能;用户设备、传感节点和执行节点有一个无线接口,并通过该无线接口与所在簇簇首节点进行通信;数据路由器具有一个无线接口和两个以上的有线接口,通过无线接口域本簇簇内节点进行通信,通过有线接口与其他数据路由器进行通信;数据路由器由一个路由器ID唯一标识,传感节点和执行节点由一个名字唯一标识,传感节点的名字由名字前缀和名字ID组成;执行节点的名字由名字前缀、名字ID和命令域构成;消息结构由四部分构成:名字集合域、消息类型值、跳数和负载;其中名字集合域为定义目标数据的数据名字的集合,跳数定义该消息被转发的最大距离;消息类型值如下所示:消息类型消息类型值信标消息0发布消息1数据推送消息2数据请求消息3数据响应消息4命令请求消息5命令响应消息6数据路由器维护一个转发表,每个转发表项包括三个域:源路由器ID域值、接口域值和名字前缀集合;传感节点的名字预先设定,例如Temp,执行节点的名字前缀和名字ID预先设定,例如名字前缀为Light,名字ID为On,具有网络唯一性;执行节点的名字前缀和名字ID具有唯一性;数据路由器维护一个本簇名字前缀集合,该本簇名字前缀集合为本簇所有传感节点和执行节点的名字前缀的集合,数据路由器通过无线接口定期广播信标消息,该信标消息的名字集合域域值为名字前缀集合,消息类型为0,跳数域值为1,负载为自己的路由器ID;用户设备、传感节点和执行节点启动后,侦听数据路由器广播的信标消息,选择发送信号最强的信标帧的数据路由器为簇首节点,记录簇首节点的路由器ID,将自己标记为簇内节点;用户设备、传感节点和执行节点开始从无线接口定期广播信标消息,传感节点和执行节点广播的信标消息的名字集合域值为自己名字的名字前缀,消息类型为0,跳数域值为1,负载为簇首节点的路由器ID;用户设备广播的信标消息的名字集合域值为空,消息类型为0,跳数域值为1,负载为簇首节点的路由器ID;簇首节点收到信标消息后,如果信标消息中的路由器ID等于自己的路由器ID,则将信标消息中的名字集合域值加入到维护的名字前缀集合;簇首节点收到所有簇内节点的信标帧后,获取并保存本簇名字前缀集合;对于该集合中的每个元素设置一个定时器,如果簇首节点在一个元素的定时器过期之前收到了该元素的信标消息,即该元素属于该信标消息的名字集合,那么簇首节点重新设置定时器,否则从本簇名字前缀集合中删除该元素;然后执行下述步骤建立转发表:步骤101:开始;步骤102:簇首节点构建一个发布消息,发布消息的名字集合域为本簇名字前缀集合,消息类型为1,跳数为d/r,d为网络直径,r为传输半径,负载为自己的路由器ID;簇首节点从每一个与数据路由器相连的有线接口发送该发布消息;步骤103:邻居数据路由器从接口f接收到该发布消息后,将发布消息中的跳数值递减1,在转发表中创建一个转发表项,该转发表项的源路由器ID为发布消息负载中的路由器ID,接口域值为f,名字前缀集合为发布消息中的名字集合域值;步骤104:邻居数据路由器判断发布消息中的跳数值是否为0,如果是,执行步骤106,否则执行步骤105;步骤105:邻居数据路由器从除了接口f之外的所有与其他数据路由器相连的有线接口发送该发布消息,执行步骤103;步骤106:结束。上述过程可以快速建立转发表从而实现数据通信。本专利技术所述方法中,在簇CL1的簇首节点为CH1,簇CL2的簇首节点CH2,传感节点或者执行节点M1的名字前缀为NP1的条件下,如果节点M1从簇CL1移动到CL2,那么节点M1收到簇首节点CH2的信标消息后保存簇首节点CH2的路由器ID,然后执行下述过程:步骤201:开始;步骤202:节点M1从无线接口发送一个信标消息,该信标消息的名字集合为它名字的名字前缀,消息类型为0,跳数为1,负载为簇首节点CH2的路由器ID;步骤203:簇首节点CH2接收到信标消息后,查看自己的本簇名字前缀集合,如果本簇名字前缀集合不包含信标消息中的名字集合中的名字前缀,那么执行步骤204,否则执行步骤207;步骤204:簇首节点CH2将信标消息中名字集合中的名字前缀加入到自己的本簇名字前缀集合中,然后构建一个发布消息,发布消息的名字集合域为本簇名字前缀集合,消息类型为1,跳数为d/r,d为网络直径,r为传输半径,负载为自己的路由器ID;簇首节点CH2从每一个与数据路由器相连的有线接口发送该发布消息;步骤205:邻居数据路由器从自己的接口f1接收到该发布消息后,将发布消息中的跳数值递减1,在转发表中查找源路由器ID值等于发布消息负载中的路由器ID的转发表项,将该转发表项的接口域值更新为f1,名字前缀集合更新为发布消息中的名字集合域值;步骤206:邻居数据路由器判断发布消息中的跳数值是否为0,如果是,执行步骤208,否则执行步骤207;步骤207:邻居数据路由器从除了接口f1之外的所有与其他数据路由器相连的有线接口发送该发布消息,执行步骤205;步骤208:结束。本专利技术所述方法中,在簇CL1的簇首节点为CH1,簇CL2的簇首节点CH2,传感节点或者执行节点M1的名字前本文档来自技高网...
一种物联网数据传输方法

【技术保护点】
一种物联网数据传输方法,其特征在于,所述物联网中包含四类节点:数据路由器、用户设备、传感节点和执行节点;数据路由器用于路由转发,用户设备为数据消费者,用于获取传感节点感知的数据或者向执行节点发布命令从而实现远程控制,传感节点和数据节点为数据提供者;一个数据路由器与一跳范围内的用户设备、传感节点和执行节点构建成一个簇,数据路由器为簇首节点,用户设备、传感节点和执行节点为簇内节点;簇内节点不执行路由转发功能;用户设备、传感节点和执行节点有一个无线接口,并通过该无线接口与所在簇簇首节点进行通信;数据路由器具有一个无线接口和两个以上的有线接口,通过无线接口域本簇簇内节点进行通信,通过有线接口与其他数据路由器进行通信;数据路由器由一个路由器ID唯一标识,传感节点和执行节点由一个名字唯一标识,传感节点的名字由名字前缀和名字ID组成;执行节点的名字由名字前缀、名字ID和命令域构成;消息结构由四部分构成:名字集合域、消息类型值、跳数和负载;其中名字集合域为定义目标数据的数据名字的集合,跳数定义该消息被转发的最大距离;消息类型值如下所示:

【技术特征摘要】
1.一种物联网数据传输方法,其特征在于,所述物联网中包含四类节点:数据路由器、用户设备、传感节点和执行节点;数据路由器用于路由转发,用户设备为数据消费者,用于获取传感节点感知的数据或者向执行节点发布命令从而实现远程控制,传感节点和数据节点为数据提供者;一个数据路由器与一跳范围内的用户设备、传感节点和执行节点构建成一个簇,数据路由器为簇首节点,用户设备、传感节点和执行节点为簇内节点;簇内节点不执行路由转发功能;用户设备、传感节点和执行节点有一个无线接口,并通过该无线接口与所在簇簇首节点进行通信;数据路由器具有一个无线接口和两个以上的有线接口,通过无线接口域本簇簇内节点进行通信,通过有线接口与其他数据路由器进行通信;数据路由器由一个路由器ID唯一标识,传感节点和执行节点由一个名字唯一标识,传感节点的名字由名字前缀和名字ID组成;执行节点的名字由名字前缀、名字ID和命令域构成;消息结构由四部分构成:名字集合域、消息类型值、跳数和负载;其中名字集合域为定义目标数据的数据名字的集合,跳数定义该消息被转发的最大距离;消息类型值如下所示:消息类型消息类型值信标消息0发布消息1数据推送消息2数据请求消息3数据响应消息4命令请求消息5命令响应消息6数据路由器维护一个转发表,每个转发表项包括三个域:源路由器ID域值、接口域值和名字前缀集合;传感节点的名字预先设定,执行节点的名字前缀和名字ID预先设定,具有网络唯一性;执行节点的名字前缀和名字ID具有唯一性;数据路由器维护一个本簇名字前缀集合,该本簇名字前缀集合为本簇所有传感节点和执行节点的名字前缀的集合,数据路由器通过无线接口定期广播信标消息,该信标消息的名字集合域域值为名字前缀集合,消息类型为0,跳数域值为1,负载为自己的路由器ID;用户设备、传感节点和执行节点启动后,侦听数据路由器广播的信标消息,选择发送信号最强的信标帧的数据路由器为簇首节点,记录簇首节点的路由器ID,将自己标记为簇内节点;用户设备、传感节点和执行节点开始从无线接口定期广播信标消息,传感节点和执行节点广播的信标消息的名字集合域值为自己名字的名字前缀,消息类型为0,跳数域值为1,负载为簇首节点的路由器ID;用户设备广播的信标消息的名字集合域值为空,消息类型为0,跳数域值为1,负载为簇首节点的路由器ID;簇首节点收到信标消息后,如果信标消息中的路由器ID等于自己的路由器ID,则将信标消息中的名字集合域值加入到维护的名字前缀集合;簇首节点收到所有簇内节点的信标帧后,获取并保存本簇名字前缀集合;对于该集合中的每个元素设置一个定时器,如果簇首节点在一个元素的定时器过期之前收到了该元素的信标消息,即该元素属于该信标消息的名字集合,那么簇首节点重新设置定时器,否则从本簇名字前缀集合中删除该元素;然后执行下述步骤建立转发表:步骤101:开始;步骤102:簇首节点构建一个发布消息,发布消息的名字集合域为本簇名字前缀集合,消息类型为1,跳数为d/r,d为网络直径,r为传输半径,负载为自己的路由器ID;簇首节点从每一个与数据路由器相连的有线接口发送该发布消息;步骤103:邻居数据路由器从接口f接收到该发布消息后,将发布消息中的跳数值递减1,在转发表中创建一个转发表项,该转发表项的源路由器ID为发布消息负载中的路由器ID,接口域值为f,名字前缀集合为发布消息中的名字集合域值;步骤104:邻居数据路由器判断发布消息中的跳数值是否为0,如果是,执行步骤106,否则执行步骤105;步骤105:邻居数据路由器从除了接口f之外的所有与其他数据路由器相连的有线接口发送该发布消息,执行步骤103;步骤106:结束。2.根据权利要求1所述的一种物联网数据传输方法,其特征在于,在簇CL1的簇首节点为CH1,簇CL2的簇首节点CH2,传感节点或者执行节点M1的名字前缀为NP1的条件下,如果节点M1从簇CL1移动到CL2,那么节点M1收到簇首节点CH2的信标消息后保存簇首节点CH2的路由器ID,然后执行下述过程:步骤201:开始;步骤202:节点M1从无线接口发送一个信标消息,该信标消息的名字集合为它名字的名字前缀,消息类型为0,跳数为1,负载为簇首节点CH2的路由器ID;步骤203:簇首节点CH2接收到信标消息后,查看自己的本簇名字前缀集合,如果本簇名字前缀集合不包含信标消息中的名字集合中的名字前缀,那么执行步骤204,否则执行步骤207;步骤204:簇首节点CH2将信标消息中名字集合中的名字前缀加入到自己的本簇名字前缀集合中,然后构建一个发布消息,发布消息的名字集合域为本簇名字前缀集合,消息类型为1,跳数为d/r,d为网络直径,r为传输半径,负载为自己的路由器ID;簇首节点CH2从每一个与数据路由器相连的有线接口发送该发布消息;步骤205:邻居数据路由器从自己的接口f1接收到该发布消息后,将发布消息中的跳数值递减1,在转发表中查找源路由器ID值等于发布消息负载中的路由器ID的转发表项,将该转发表项的接口域值更新为f1,名字前缀集合更新为发布消息中的名字集合域值;步骤206:邻居数据路由器判断发布消息中的跳数值是否为0,如果是,执行步骤208,否则执行步骤207;步骤207:邻居数据路由器从除了接口f1之外的所有与其他数据路由器相连的有线接口发送该发布消息,执行步骤205;步骤208:结束。3.根据权利要求2所述的一种物联网数据传输方法,其特征在于,在簇CL1的簇首节点为CH1,簇CL2的簇首节点CH2,传感节点或者执行节点M1的名字前缀为NP1,节点M1为簇CL1的簇内节点且簇CL1中只有节点M1的名字前缀为NP1条件下,如果节点M1从簇CL1移动到CL2,那么簇首节点CH1执行下述过程:步骤301:开始;步骤302:如果簇首节点CH1检测到名字前缀NP1的定时器过期,则从本簇名字前缀集合将名字前缀NP1删除;簇首节点CH1构建一个发布消息,发布消息的名字集合域为本簇名字前缀集合,消息类型为1,跳数为d/r,d为网络直径,r为传输半径,负载为自己的路由器ID;簇首节点CH1从每一个与数据路由器相连的有线接口发送该发布消息;步骤303:邻居数据路由器从自己的接口f2接收到该发布消息后,将发布消息中的跳数值递减1,在转发表中查找源路由器ID值等于发布消息负载中的路由器ID的转发表项,然后将该转发表项的接口域值更新为f2,名字前缀集合更新为发布消息中的名字集合域值;步骤304:邻居数据路由器判断发布消息中的跳数值是否为0,如果是,执行步骤306,否则执行步骤305;步骤305:邻居数据路由器从除了接口f2之外的所有与其他数据路由器相连的有线接口发送该发布消息,执行步骤303;步骤306:结束;每个簇首节点维护一个数据表,每个数据表项由名字域,数据域和生命周期域;传感节点定期收集感知到的数据,然后执行下述数据推送操作:步骤401:开始;步骤402:传感节点构建数据推送消息,该数据推送消息的名字集合由该传感节点的名字构成,消息类型为2,跳数为1,负载为感知到的数据,然后从无线接口发送该数据推送消息;步骤403:与传感节点位于相同簇的簇首节点接收到数据推送消息后,在数据表中创建一个数据表项,该数据表项的名字域值为数据推送消息中名字集合的名字,数据域为数据推送消息负载中的数据,生命周期为最大值;步骤404:结束;如果簇首节点检测到一个数据表项的生命周期衰减到0,那么删除该数据表项。4.根据权利要求3所述的一种物联网数据传输方法,其特征在于,每个数据路由器保存一个聚合表,一个聚合表项包括名字集合域和接口域;用户设备U1为簇CL3的簇内节点,簇CL3的簇首节点为CH3;如果用户节点U1需要获取名字集合S1定义的数据,名字集合S1的名字前缀集合为NPS1,那么用户设备U1执行下述过程:步骤501:开始;步骤502:用户设备U1构建一个数据请求消息,该数据请求消息的名字集合为S1,消息类型为3,跳数为d/r+2,d为网络直径,r为传输半径,负载为簇首节点CH3的路由器ID;用户设备U1从无线接口发送该数据请求消息;步骤503:簇首节点CH3从接口f3接收到该数据请求消息后,将数据请求消息中的跳数递减1,然后判断数据表中是否存在满足条件1的数据表项,如果是,执行步骤504,否则执行步骤506;条件1:数据表项的名字域值属于数据请求消息中的名字集合;步骤504:簇首节点CH3构建一个数据响应消息,该数据响应消息的名字集合为符合条件1的数据表项的名字域集合,消息类型为4,跳数为1,负载为符合条件1的数据表项中的数据域值;簇首节点CH3从接口f3发送数据响应消息;步骤505:簇首节点CH3从数据请求消息的名字集合中减去数据响应消息中的名字集合;如果数据响应消息的名字集合等于数据请求消息中的名字集合,那么执行步骤518,否则执行步骤506;步骤506:如果簇首节点CH3检测到存在一个聚合表项,该聚合表项的接口域值为f3,名字集合域值为数据请求消息的名字集合域值的超集,那么执行步骤518,否则执行步骤5...

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

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

1