一种基于网络编码的无线传感器网络机会路由协议设计方法与流程

文档序号:14636073发布日期:2018-06-08 19:43阅读:175来源:国知局
一种基于网络编码的无线传感器网络机会路由协议设计方法与流程

本发明属于无线通信技术领域,涉及一种基于网络编码的无线传感器网络机会路由协议设计方法。



背景技术:

近年来,微电子学与低功率无线通信技术的发展极大地促进了无线传感器网络(Wireless Sensor Network,WSN)在环境、军事、医疗等领域的应用。WSN是由大量安置在监控区域内的传感器节点以多跳及自组织的方式构建而成的无线网络,网络中的节点可以收集、分析和传输区域内的各种信息,并将这些信息汇聚到网络所有者。

网络编码技术一种新型数据传输方式,相比于传统路由中节点只能对数据进行简单地存储转发,网络编码主要是通过网络中节点对收到的数据包进行一定的编码处理后再转发给下一跳节点来提高整个网络的吞吐量,在理论上实现数据的最大传输容量。RoutR等人(参见文献[1]:Rout R,Ghosh S.Enhancement of lifetime using duty cycle and network coding in wireless sensor network[J].IEEE Transactions on Wireless Communications,2013,12(2):656-667.)提出让处于瓶颈区域内的部分节点采用网络编码技术,将多个数据包编码成一个编码包后再发送给Sink节点,减少了数据包的传输次数,从而提高整个网络的生存时间。

传统的无线网络路由需构建一条或几条源到目的节点的传输路径。当网络中节点接收数据失败时,其上一跳节点需要重新发送,如果此时链路质量较差,上一跳节点可能需要多次重传才能保证数据包成功被下游节点接收,频繁地重传将消耗大量带宽资源和节点能耗。因此传输数据时,应充分考虑无线信道的广播特性,减少数据包的重传次数。

MORE协议(参见文献[2]:Chachulski S,Jennings M,Katti S,et al.Trading structure for randomness in wireless opportunistic routing[J].ACM SIGCOMM Computer Communication Review,2007,37(4):169-180.)在使用机会路由传输数据的同时,还结合了随机线性网络编码,使网络中的节点可以协作转发数据。该协议的缺陷在于源节点只有收到目的节点的ACK确认信息后才开始发送下一段数据,在数据包转发跳数比较多的情况下,严重影响了网络的吞吐量。CodePower算法(参见文献[3]:TongJ,QianD,DuZ,etal.Energy-efficientcodedroutingwith selective transmission power for wireless sensor networks[C].Proceedings of 2010IEEE 72nd Vehicular Technology Conference Fall(VTC2010-FALL),2010:1-5.)不仅将机会路由和随机线性网络编码应用到无线传感器网络中,还让节点通过计算端到端的路径代价来选择最优发射功率,节省网络能量,但该算法不能保证数据的可靠传输。

无线信道中的节点广播数据包时,其邻居节点都有一定的概率监听到该数据包,麻省理工大学的Biswas等人利用这一特性提出了机会路由策略。机会路由中的数据包不再是按一条固定路线进行传输,而是数据包每次都会转发给一组节点,然后从这一组节点中选出一个节点转发数据包,如此重复最后到目的节点。机会路由充分利用了无线信道的广播特性,进一步提高了网络性能。

无线传感器网络中,节点大多由能量有限的电池供电,电池能量一旦耗尽,节点就会失去工作能力,尤其是在无线链路极不稳定的情况下,数据包的大量重传将加速节点能量的损耗。现有的相关研究利用网络编码来进行节点间的协作传输,在保证数据包可靠传输的同时,降低了节点的能耗,但其中也存在了一些问题。当计算节点转发代价时,没有考虑节点因缓存区满而产生的丢包情况,可能造成数据包的重传次数增加,加剧节点的能量消耗。此外,在确定转发集中的主转发节点和协助转发节点时,节点间的控制消息过多,且确定主转发节点的时间过长,会缩短网络的生命周期以及增大网络开销。



技术实现要素:

本发明的目的在于克服上述已有的不足,提供一种基于网络编码的无线传感器网络机会路由协议设计方法,该方法同时考虑信道误码率和丢包率来计算一个节点接收编码包失败的概率,减少编码包的重传次数。转发集中的节点在收齐解码所需的编码包后直接广播自己的代价数据包,不再发送确认包,从而减少网络开销和确定主转发节点的等待时间。主转发节点的邻居节点实时更新自己的转发代价,防止转发代价大的邻居节点也转发编码包。

为达到上述目的,本发明的技术方案如下:

一种基于网络编码的无线传感器网络机会路由协议设计方法,其特征在于该方法主要包括以下四个步骤:

S1:当网络中有节点发送数据包时,需先利用SelectSet算法确定节点的转发代价转发集和发射功率

S2:上游节点向下游节点集广播数据包,当收到下游节点集中某个节点的代价数据包时,上游节点停止发包,同时确定下游节点集的主转发节点。

S3:从转发集中选取一些符合条件的节点即“协助转发节点”,让其和主转发节点共同转发数据包给下游节点集。

S4:主转发节点和协助转发节点向其下游节点集广播数据包,当协助转发节点转发的数据包个数到达设置的上限值时,协助转发节点停止发包。

进一步,确定步骤S1中节点转发代价转发集和发射功率的具体方法为:

首先节点发射功率和转发集选择机制是指节点通过比较不同发射功率下的转发代价后,选择转发代价最小的转发集来传输数据。设节点的发射功率集合为E。节点u以功率ε以及其转发集Fu发送一个数据包的代价Cu(ε,Fu)用下式表示:

式(1)分为两部分,其中表示节点u以功率ε成功发送一个数据包到转发集Fu的代价。表示节点u的转发集Fu中的节点成功发送一个数据包的代价。计算Cu(ε,Fu)的具体步骤如下:

步骤一:节点u计算以功率ε发送l比特数据时消耗的能量Et(ε,l)以及节点v接收l比特数据时消耗的能量Er(l),两者的计算方法如下:

式中,A为节点分析处理数据时的平均功率,B为节点接收数据的平均功率,β为放大器的效率(0<β<1),R是物理层的数据速率(单位:bps)。

步骤二:计算数据包出现误码的概率。本文考虑瑞利衰落无线信道,节点u以功率ε发送信号给节点v的误码概率为:

为接收信号与干扰加噪声比,可由下式计算:

g1为与发送和接收天线有关的常数,εN是噪声与干扰的功率,η为路径衰减指数,du,v是两节点之间的距离。

步骤三:利用排队论模型计算节点缓存队列及服务率引起的丢包率。节点缓存及服务率引起的丢包率pv计算公式为:

式中,λ是数据包的到达率,μ是服务率,k是节点缓存大小。

步骤四:计算节点u以功率ε发送l比特的数据到节点v,节点v不能成功接收这个数据包的概率由公式(4)和(6)可知:

由公式(7)可得节点u广播数据包时,Fu中至少有一个节点收到该数据包的概率为即要保证数据包至少被Fu中的一个节点成功接收,节点u需要广播的次数为

步骤五:由上述公式可得发送方和接收方收发数据包的总能耗为:

考虑到剩余能量较小的节点如果过多地收发数据,可能会过早能量耗尽,因此参照公式(8),节点u发送一个数据使得Fu中至少有一个节点成功接收的代价表达式为:

式中,REu和REv分别代表节点u和v的剩余能量。

步骤六:本文中主转发节点的定义为第一个收齐编码包并发送自己代价数据包的节点,因此集合Fu中节点均有可能成为主转发节点。一般来说,集合Fu中接收数据包成功率最高的节点会比其它节点更早收齐编码包,因此,我们将Fu中节点按照数据包接收成功率由大到小的顺序依次记为:v1,v2,...,vn,n为Fu中节点的个数,则这些节点成为主转发节点及其对应概率的计算公式如表1所示:

表1转发集Fu中主转发节点及对应概率

我们将(ε,Fu)定义为转发集Fu中节点转发代价的期望值,由表1可得:

其中为转发集中各节点最后确定的转发代价,其计算方法由SelectSet算法得出,公式(10)中的分式代表在Fu中至少有一个节点成功接收u发送的数据包时,节点vi成为主转发节点的概率。

对于一个节点u,它的发射功率ε*、转发集和转发代价最终SelectSet算法确定,SelectSet算法的具体步骤如下:

//初始化转发代价值为无穷大

for eachε∈E do//对发射功率集合E中的值进行遍历

for each

if Cu(ε,F∪{f})<Cu*then//利用相应公式计算转发代价

Fu=F∪{f}

end if

end for

end for

其中为节点u按功率ε广播数据时的邻居节点集,Fp为节点u的上游节点集。

进一步,当上游节点发送编码包时,下游转发集中在同时刻可能存在多个节点缓存到足够的数据包。假如这多个节点同时广播代价数据包(包含该节点的转发集和转发代价),可能会导致数据包的碰撞,也可能产生多个主转发节点,则步骤S2中主转发节点的确定方法为:

(1)数据包发生碰撞时,我们让节点随机延迟T个符号周期发送自己的代价数据包,而且在延迟时间内,若有其它节点广播了自己的代价数据包,则该节点直接放弃成为主转发节点。由于IEEE802.15.4标准中规定确认包发送的时延区间为[12,32],所以T∈[12,32]。

(2)当产生多个主转发节点时,由于节点发送的代价数据包中包含节点的转发代价,所以我们将转发代价最小的节点确定为主转发节点。

进一步,步骤S3中协助转发节点的具体判断方法为:

(1)当主转发节点确定后,其邻居节点的转发集必须与主转发节点的转发集存在交集。

(2)邻居节点更新自己的转发集,并利用公式(1)重新计算自己的转发代价,且新的转

发代价值必须小于转发节点的转发代价。

进一步,为了防止某个协助转发节点发送的数据过多,造成节点能量消耗过快,其转发的编码包数量需要进行限定。步骤S4中协助转发节点的计算方法为:假设某一邻居节点f为节点u的协助转发节点,定义一个变量Qf,其表达式如下:

式中表示主转发节点u的转发代价,Cf'表示邻居节点按照转发代价公式重新计算后的转发代价,由于所以可以得出0<Qf<1。则协助转发节点发送的最大编码包个数Mf为:

式中Γf为节点f已接收的编码包数量,只要节点f发送的编码包数量达到Mf或者收到下游节点的代价数据包时,节点f就停止编码包的发送。

本发明的有益效果在于:提供了一种基于网络编码的无线传感器网络机会路由协议设计方法,该方法通过事先利用节点间的链路质量以及缓存区满产生的丢包概率来选择转发代价最小的转发集转发数据,有效提高了网络生存时间。同时,当转发集中的某个节点收齐编码包后直接发送代价数据包,不需要再发送ACK包,且能够更加准确地选择协助转发节点,该过程有效地减少了网络开销。

附图说明

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步的详细描述,其中:

图1为基于网络编码的无线传感器网络机会路由协议的数据传输模型;

图2为协助转发节点选择流程图。

具体实施方式

为了使本技术领域人员能更好地理解本发明的目的、技术方案和有益效果,下面结合具体实施例和说明附图来进行完整的描述。

图1为基于网络编码的无线传感器网络机会路由协议的数据传输模型;

基于网络编码的无线传感器网络机会路由协议主要包括转发集的选择、主转发节点的选择、协助转发节点的选择、确定转发节点转发数据量四个阶段。源节点s向Sink节点发送数据时,首先,利用SelectSet算法计算出自己的转发代价转发集和发射功率本文在计算转发代价时考虑了节点因缓存区满而丢包的情况,在选择转发集时可避开缓存数据过多的节点集。然后,源节点将需要发送的原始数据分成m个等长片段:p1,p2,…,pm,并且利用随机线性网络编码生成新的编码包后向其转发集广播,直到收到中某个节点的代价数据包(包含该节点的转发代价和转发集)。源节点广播的第i个编码包为其中kij从有限域GF(q)中随机选取。

当源节点S广播编码包时,处于其转发集中的节点若发现监听到的编码包与缓存的编码包线性无关,就将该包放入缓存,否则,丢弃这个编码包。当中某个节点收齐m个编码包后,该节点向源节点S广播自己的代价数据包,源节点停止继续向下游节点广播编码包。

本文中“主转发节点”定义为转发集中最先缓存到m个编码包的节点。如图1,节点u为转发集的主转发节,只有当发送的代价数据包碰撞时,才会产生等待时延,否则可以直接确定主转发节点,减少了网络时延。当节点u收齐m个编码包时就能按照以下方式,通过高斯消元解码出原始数据包。

当源节点S停止广播编码包时,中的其它节点由于没有收齐m个编码包,所以不能得到原始数据,但它缓存的编码包可能帮助下游节点解出原始数据包。我们会从中选取一些符合条件的节点(即“协助转发节点”),让其转发自己的编码包给下游节点,具体方法参照图2。为了节省协助转发节点的能耗,其转发编码包的个数会通过公式(12)进行限定,公式中所用参数值皆为节点已经储存的数据信息,不用再另外获取。当上游节点广播编码包时,只有处于主转发节点转发集的下游节点才监听并缓存编码包(例如,图1中,当Fs*中节点广播编码包时,只有的节点才监听并缓存编码包)。

主转发节点u和它的协助转发节点在向下游节点转发收到的编码包之前,需要先利用随机线性网络编码将各自缓存的编码包进行再次编码,然后将这些新的编码包发送给中的节点,直到收到节点v(如图1,节点v为中的主转发节点)的代价数据包。

网络中数据包的传输按上述过程逐步推进,直到Sink节点发送自己的代价数据包,最后由Sink节点解出相应的原始数据包。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1