一种基于网络编码的无线传感器网络可靠数据传输方法技术

技术编号:17798244 阅读:72 留言:0更新日期:2018-04-25 21:46
本发明专利技术公开了一种基于网络编码的无线传感器网络可靠数据传输方法,包括:汇聚节点定时发送链路更新信息进行网络链路初始化或链路状态更新;源节点发送数据包前根据链路信息进行链路估计,然后对源数据包进行网络编码后通过多条路径向中继节点传输;中继节点对接收到的数据包进行相关性检测,然后将线性无关的数据包重新进行网络编码后转发;汇聚节点在接收到第一个数据包后开始计时,在等待时间T内进行数据包接收,若接收到的网络编码数据包大于等于源节点的原始数据包数量,则利用网络编码解码方法对数据包进行解码。本发明专利技术将网络编码与多路径传输相结合,多路径传输可分散数据包流向,不过于依赖一条链路,提高无线传感器网络数据包传输可靠性;网络编码可减少冗余数据包,降低网络负载。

【技术实现步骤摘要】
一种基于网络编码的无线传感器网络可靠数据传输方法
本专利技术属于无线传感器通信
,具体涉及一种基于网络编码的可靠数据传输方法。
技术介绍
在无线传感器网络数据传输中,由于链路的不可靠性,源节点发送出的数据包可能还没发送到目的节点就丢失了,重传虽然可以在一定程度上保证数据包的传输率,但端到端的数据包重传会产生大量的数据传输时延。为提高数据传输的可考性,很多无线传感网络选择多路径数据传输方法。在无线传感器网络中,传统的多路径传输方式为:源节点将感知到的数据包复制成若干份然后通过多条路径传输给汇聚节点,虽然在一定程度上提高了数据包传输的可靠性,但网络中传输大量相同的数据包,会浪费网络资源,增加网络负载,减少网络生命周期。
技术实现思路
为减少冗余数据包,减少网络负载及能耗,减少数据包传输时延,本专利技术提出一种基于多路径的网络编码数据传输方法,首先根据链路可靠性估算出总共传输数据包的数量,在计算出传输数据包的量之后,节点首先对数据包进行网路编码之后再通过多路径向汇聚节点传输,若汇聚节点接收到的数据包大于源数据包个数,则汇聚节点可用解码方法解码出所有源数据包。实现上述技术目的,达到上述技术效果,本专利技术通过以下技术方案实现:网络初始化及状态信息更新,在节点部署之后汇聚节点定时广播数据包进行链路状态更新,普通节点收集链路信息进行链路建立和链路更新;路由估计,当源节点有数据包要向汇聚节点传输时,根据链路信息进行链路估计,估算出所要传输数据包的链路数;进行链路估计之后,源节点对数据包进行编码,在发送数据包前源节点首先对数据包进行随机线性网络编码,并通过多条路径向汇聚节点传输;中继节点转发数据包,中继节点对接收到的数据包进行分析,丢弃与已接收数据包线性相关的数据包,接收到足够的线性无关后重新进行网络编码并传输给下一跳节点;汇聚节点接收到第一个数据包之后,等待一段时间,若在时间内接收到的线性无关数据包个数小于M个,则发送request数据包进行数据包重传,若接收到的线性无关数据包个数大于或等于M个则利用网络编码方法对数据包进行解码。与现有技术相比,本专利技术的有益效果:本专利技术的一种基于多路径的网络编码数据传输方法,通过在无线传感器网络中使用网络编码及多径传输技术,源节点对源数据包进行网络编码后通过多条路径向汇聚节点传输,有效地解决了链路失败、数据包丢失等问题,提高数据包传输可靠性,减少数据包传输时延,提高网络鲁棒性,能够显著提高无线传感器网络的传输性能。附图说明图1为本专利技术一种实施例的无线传感器网络模型图;图2为本专利技术一种实施例的定时广播数据包结构示意图;图3为本专利技术一种实施例的源节点数据包处理流程示意图;图4为本专利技术一种实施例的编码数据包结构示意图;图5为本专利技术一种实施例的中继节点转发数据包流程示意图;图6为本专利技术一种实施例的汇聚节点数据包解码及发送重传请求流程示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。下面结合附图对本专利技术的应用原理作详细的描述。如图1所示,在无线传感器网络中,源节点(S)可通过多条路径向汇聚节点(R)传输数据包,所述汇聚节点即为目的节点;图1中,从源节点到汇聚节点之间有若干个中继节点,所述中继节点用于对数据包进行转发,源节点的数据包通过多跳传输经过中继节点最终传输到汇聚节点。如图2所示,无线传感器网络部署完成后,进行基于网络编码的可靠数据传输,具体包括以下步骤:步骤一、汇聚节点向无线传感器网络定时广播链路更新数据包对网络进行初始化(第一次为初始化)或状态更新,所述汇聚节点发送的链路更新数据包的结构如图2所示,各个数据段代表的信息分别为:GroupType:分组类型,包括路由更新消息、编码数据包、路径建立反馈消息,用于区分节点接收到的包是用于建立路径还是用于传输数据;GroupID:分组编号,每个消息有自己唯一的编号;SAddress:源节点的地址,在初始化数据包中为汇聚节点的地址,每一跳节点都会记录路由更新消息中的SAddress值,并在自身发送的路由更新消息中将其值设为自己的地址;;TCount:该节点到汇聚节点有多少跳,TCount字段值就为多少;汇聚节点广播的链路更新数据包中的SAddress字段为汇聚节点地址,TCount设置为0。由于数据包是以广播的方式向无线传感器网络中发送,正常情况下,在汇聚节点通信范围内的节点都可以收到该链路更新数据包消息。如果节点经判断后发现自己在一个任务周期内是第一次收到此类消息,则更新自己的邻居表,主要记录上一跳节点发来的消息中的SAddress、TCount字节。节点接收到链路更新数据包之后,进行邻居表建立(在还没有邻居表时)或邻居表更新,具体过程如下:(1)计时设置:设等待时间T=μd,μ为时间参数,该值根据无线传感器网络内节点的部署状况或视其他状况而定,本专利技术中设为0.5;d为上一跳节点到该节点的欧氏距离,当节点第一次接收到链路更新数据包时开始倒计时。(2)邻居表建立:在等待时间T内,当前节点检查自己的邻居表,选择TCount最小的节点加入自己的近邻居列表,节点个数并不唯一;同时将SAddress字段替换为自己的地址,TCount的值加1后继续转发收到的链路更新数据包。(3)邻居表更新:当节点离汇聚节点的距离越来越远时,收到的链路更新数据包来源并不唯一,这种情况下,当前节点仍需检查消息中的SAddress、TCount字段。若SAddress对应的节点并不在邻居表中,则将此节点加入到本节点的邻居列表中。不然,如果该TCount比邻居表记录中的跳数小,则更新邻居表。通过这样的方式,各个节点都可以知道自己与汇聚节点之间的跳数。(4)存活节点设置:假设每个节点初始能量为E0,能量消耗主要有两部分,一是发送数据包,二是节点编解码数据包,当单个节点剩余能量低于门限值E′时,将该节点从邻居表中删除。步骤二、当源节点有数据包发送时,源节点发送数据的具体步骤如图3所示,包括:S201:链路估计;假设无线传感器网络的传输可靠性要求,即期望数据传输可靠性为r,信道丢失率为ρ,当前节点距离汇聚节点有n跳,当前节点利用已知参数计算在达到期望可靠性的条件下必需的传输路径数h,其中,M为源节点需要发送的总数据包个数,为向上取整。S202:网络编码;源节点将M个数据包X1,X2,…,XM编码成h个数据包Y1,Y2,…,YN,编码公式为:其中,λij为在伽罗华域随机选取网络编码因子,编码完成后,编码数据包的结构如图4所示,其中,各个数据段的内容为:Type:数据包类型,用于区分该消息是路由更新消息还是传输数据包;PacketID:数据包ID,对每个数据包来说,该编号是存在且唯一的;SAddress:源节点的地址;Path:该节点分配给下一跳节点的路径数;GroupID:每组数据包的编号;Num:相同组编号的数据包个数;Vector:编码向量;Data:数据。S203:下一跳选择;组成无线传感器网络的节点在网络区域中为随机分布,为了方便下一跳节点的选择,本专利技术中按照每个节点到汇聚节点的距离即跳数,将所有邻居节点进行分层,主要分为3个层次集:H-:跳本文档来自技高网...
一种基于网络编码的无线传感器网络可靠数据传输方法

【技术保护点】
一种基于网络编码的无线传感器网络可靠数据传输方法,其特征在于,包括以下步骤:(1)汇聚节点定时广播链路更新数据包进行链路状态更新,普通节点根据链路更新数据包中的链路信息进行链路建立或链路更新;(2)源节点发送数据包前根据链路信息进行链路估计,根据链路估计的结果对源数据包进行网络编码后通过多条路径向中继节点传输;(3)中继节点接收到数据包之后对数据包进行相关性检测,然后将线性无关的数据包重新进行网络编码后进行转发;(4)汇聚节点在接收到第一个数据包后开始计时,在等待时间T内进行数据包接收,若接收到的网络编码数据包大于等于源节点的原始数据包数量,则利用网络编码解码方法对数据包进行解码,完成数据的传输。

【技术特征摘要】
1.一种基于网络编码的无线传感器网络可靠数据传输方法,其特征在于,包括以下步骤:(1)汇聚节点定时广播链路更新数据包进行链路状态更新,普通节点根据链路更新数据包中的链路信息进行链路建立或链路更新;(2)源节点发送数据包前根据链路信息进行链路估计,根据链路估计的结果对源数据包进行网络编码后通过多条路径向中继节点传输;(3)中继节点接收到数据包之后对数据包进行相关性检测,然后将线性无关的数据包重新进行网络编码后进行转发;(4)汇聚节点在接收到第一个数据包后开始计时,在等待时间T内进行数据包接收,若接收到的网络编码数据包大于等于源节点的原始数据包数量,则利用网络编码解码方法对数据包进行解码,完成数据的传输。2.根据权利要求1所述的一种基于网络编码的无线传感器网络可靠数据传输方法,其特征在于:所述步骤(1)具体包括:(1.1)汇聚节点定时广播链路更新数据包对网络进行初始化或状态更新,所述链路更新数据包括以下字段:分组类型GroupType、分组编号GroupID、源节点的地址SAddress和该节点到汇聚节点有多少跳TCount;(1.2)普通节点接收到链路更新数据包之后,进行邻居表建立或者更新,并进行存活节点设置。3.根据权利要求2所述的一种基于网络编码的无线传感器网络可靠数据传输方法,其特征在于:所述汇聚节点广播的链路更新数据包中SAddress字段为汇聚节点地址,TCount设置为0,且在汇聚节点通信范围内的节点都可以收到该链路更新数据包,所述步骤(1.2)具体包括:(1.2.1)计时设置:设等待时间T=μd,μ为时间参数,d为上一跳节点到该节点的欧氏距离,当节点第一次接收到链路更新数据包时开始倒计时;(1.2.2)邻居表建立:在时间T范围内,当前节点检查自己的邻居表,选择TCount最小的节点加入自己的近邻居列表,节点个数并不唯一,同时将链路更新数据包中的SAddress字段替换为自己的地址,TCount的值加1后继续转发该链路更新数据包;(1.2.3)邻居表更新:当节点离汇聚节点的距离越来越远时,收到的链路更新消息来源并不唯一,当前节点需检查链路更新消息中的SAddress和TCount字段,若该SAddress对应的节点不在其邻居表中,则将此节点加入到本节点的邻居列表中;否则,若该TCount比邻居表记录中的跳数小,则更新本节点的邻居表,通过这样的方式,各个节点都可以知道其与汇聚节点之间的跳数;(1.2.4)假设每个节点初始能量为E0,能量消耗包括两部分,一是发送数据包,二是节点编解码数据包,当单个节点剩余能量低于门限值E′时,将该节点从邻居表中删除。4.根据权利要求1所述的一种基于网络编码的无线传感器网络可靠数据传输方法,其特征在于:所述步骤(2)具体包括以下步骤:(2.1)链路估计;假设网络的传输可靠性要求,即期望数据传输可靠性为r,每一跳链路的信道丢失率为ρ,当前节点距离汇聚节点有n跳,当前节点利用已知参数计算在达到期望可靠性的条件下必需的传输路径数h,其中,M为源节点需要发送的总数据包个数,为向上取整;(2.2)网络编码;源节点将M个数据包X1,X2,…,XM编码成h个数据包Y1,Y2,…,Yh,编码公式为:其中,λij为在伽罗华域随机选取网络编码因子,编码完成后的数据包包括:Type:数据包类型,用于区分该消息是路由更新消息还是传输数据包;PacketID:数据包ID,对每个数据包来说,该编号是存在且唯一的;SAddress:源节点的地址;Path:该节点分配给下一跳节点的路径数;GroupID:每组数据包的编号;Num:相同组编号的数据包个数;Vector:编码向量;Data:数据;(2.3)选择下一跳;按照每个节点到汇聚节点的距离即跳数,将所有邻居节点划分为3个层次节点集,具体为...

【专利技术属性】
技术研发人员:孙宁韦海龙金永霞吕定一汤文菲
申请(专利权)人:河海大学常州校区
类型:发明
国别省市:江苏,32

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

1