一种无线传感网中基于生命周期的RPL路由优化方法与流程

文档序号:14197681阅读:237来源:国知局
一种无线传感网中基于生命周期的RPL路由优化方法与流程
本发明涉及一种无线传感网中基于生命周期的rpl路由优化方法,属于无线通信、路由协议、无线传感网
技术领域

背景技术
:物联网(internetofthings)是物与物、人与物之间信息传递与控制的网络。其典型体系架构分为3层,自下而上分别是感知层、网络层和应用层。无线传感网(wirelesssensornetworks,wsn)作为物联网的感知层是物联网的核心,是信息采集的关键部分。构建无线传感网(wsn)过程中用到的传感器节点都是一些能量、功能受限的设备,此类节点构建的网络被称为低功耗有损网络(lowpowerandlossynetwork,lln)。而低功耗有损网络(lln)是由功率、存储空间、处理能力和能量储备等资源受限的嵌入式设备所组成的网络。由于低功耗有损网络(lln)的上述特点,互联网工程任务组(internetengineeringtaskforce,ietf)的roll小组,评估过目前已经存在的路由协议,如ospf,is-is,aodv,olsr,这些已存在的路由协议并不适合lln。因此工作组研究制定了rpl(routingprotocolforlln)协议。rpl是一个距离矢量路由协议,利用有向无环图(dodag,destinationorienteddirectedacyclicgraph)组织网络,一个节点通过和邻居节点交互dis、dio和dao信息加入一个目标dodag。目前rpl路由协议依然存在问题,向上路由选择rank值的计算主要依据节点跳数、目标函数没有明确定义。同时,rpl是一个灵活的可扩展的单路径协议,每次只保存一条最优路由,只选择一个最优父节点,路径失效后利用本地修复算法,需要重新运行程序,进行路径的探测和建立,效率不高且能量损耗严重。此外,rpl协议是主要设计用于低速率场景,也就是说,每个节点产生低速率数据。但它也需要有能力处理高速率情况。因为即使每个节点产生低速率数据,在sink节点附近的节点也必须处理高速率数据的情况。大多数高速率情况下数据包丢失情况的原因是拥塞。所以拥塞也是rpl协议需要解决的问题。针对rpl存在的问题,目前的研究人员提出了不同改进方案。但是由于未综合考虑节点能量、功率、链路质量、成功传输数据速率等多种因素。同时,未考虑链路拥塞问题。因此需要提出一种对rpl路由协议的优化方法,综合考虑多种因素,从而有效延长网络的生存时间,最大化能量的利用率,同时解决链路拥塞问题。技术实现要素:本发明对rpl(routingprotocolforlln)协议进行改进,目的在于提出一种无线传感网中基于生命周期的rpl路由优化方法,解决现有路由技术存在的rank值的计算主要依据节点跳数、目标函数没有明确定义、路由代价比较单一、最优父节点的选择过于简单、节点只保存单个可用路径及拥塞等技术问题,具有有效延长网络生存时间,最大化能量利用率,更好地平衡负载,减少端到端时延,提高数据包投递率等诸多优点,使其更适合无线传感器网络等等。本发明的目的是通过下述技术方案实现的。本发明的一种无线传感网中基于生命周期的rpl路由优化方法,包括提出网络的生命周期指标lci代替rpl路由中不明确定义的目标函数,lci指标综合考虑节点能量、功率、链路质量、成功传输数据速率等多种因素,在进行向上路由选择时计算该条路径的生命周期指标lci,根据lci值选择路径;改变节点rank值的计算方法;设计新的父节点选择策略,不单单只是选择最优的父节点,要综合考虑提出的新指标,在预估链路质量的前提下,对父节点进行选择,同时不仅选择其中一个最优的,还要保存其它满足条件的父节点;同时引入多路径路由方案对单路径的rpl进行改进,并利用多路径解决拥塞问题。所述网络的生命周期指标lci表示每一个节点要完成链路传输必须付出的代价。设计新的路径选择时考虑节点的生命周期成本、数据传输功率和节点的剩余能量,在考虑链路质量时利用已经存在的etx标准。计算一个节点的生命周期指标lci,步骤如下:1)评估节点n数据吞吐量mn。mn表示当前节点和它的孩子产生的数据流,公式(1)所示,计算时不仅仅考虑到当前节点,还考虑到孩子节点,使数据吞吐量的计算更具有代表性。其中di表示节点i产生的数据流。2)利用转发的平均数。让吞吐量乘以每个节点的每个父节点链路可靠性etx(n,p)与吞吐量速率,这里p属于n节点的父节点;发送到每个节点的每个父节点的吞吐量速率;转发的平均数如公式(2)所示,该公式把链路质量指标添加到吞吐量速率中,同时考虑链路质量和速率,并且考虑孩子节点因素。其中fn表示转发平均数,p属于n节点的父节点,etx(n,p)表示节点n到每个父节点p的链路质量指标,λp表示父节点p的吞吐量速率。3)数据被发送耗费的时间。计算利用中间节点进行发送的平均速率。根据数据发送速率计算耗费的时间,如公式(3)所示。其中vdata表示数据发送速率,t表示数据被发送耗费的时间。4)计算数据被发送耗费的时间乘以花费在发送所有吞吐量的能量消耗,考虑传送能量速率,这时的指标就同时具有能量传输速率因素,如公式(4)所示。venergy=t×ptx(n)(4)其中ptx(n)发送节点n吞吐量能量消耗速率。5)最后,计算节点的生命周期指标lci。利用剩余能量的速率与接收和发送数据消耗能量相除,加上每个节点的拥塞检测因子cf(n),可以得到想要的指标,当指标越小说明网络情况越不容乐观。如公式(5)(6)所示。其中pq(n)是节点n队列中数据包的数目,tq(n)是节点n整个队列的大小。利用生命周期指标计算路径瓶颈,在进行路径选择时如果某条路径有最大的瓶颈,则这条路径就作为较优路径。瓶颈,就是那些最容易首先耗尽能量的节点。因此一条路径的关键因素就是它的瓶颈,也就是路径上的某个最易耗尽能量的节点。所述节点rank值的计算方法包括以下步骤:rpl协议的rank值的计算仅仅考虑跳数,这将导致负载不平衡。公式如(7)(8)所示,节点n根据自己的父节点p利用剩余能量计算节点的rank值。rankinc=eres(n)+mhr(7)rankini(n)=rank(p)+rankinc(8)其中eres是节点n的剩余能量,mhr取值为100。本发明综合考虑节点跳数、节点剩余能量重新定义rank计算方法。为传播节点的拥塞信息节点rank的计算中也要包括拥塞检测因子。当网络初始化时,对根节点的rank进行赋值,令根节点的rank值等于m,这里取值为100。定义发送者节点的跳数为hop(ns),ns表示发送者节点,公式(9)所示。接收节点跳数在发送者基础上加1。利用剩余能量比例来计算节点级别,如公式(10)所示。包含拥塞检测因子cf(n)的新节点rank值计算如公式(11)。rank(n)=β[hop(n)×rankinc-el(n)]+(1-β)cf(n)(11)其中,β是一个用于嵌入和解码两个数值的密码参数。在本发明中,β取值为0.87。所述新的最优父节点选择方案如下:本发明在选择最优父节点时考虑节点rank值,要选择最优父节点,一个节点必须计算自己的lci值和瓶颈节点的lci值,同时要判断谁是最新的瓶颈,最优父节点选择。当确定最优父节点时,包括以下步骤:1)多个可用的父节点收到dio信息的节点,计算节点的lci指标值,通过改进的rank值,比较比自己rank值小的邻居节点,找到所有可用的邻居节点代表的路径作为候选父节点并对信息进行存储,否则舍弃该邻居。2)通过计算邻居候选路径上的瓶颈指标,进行比较,取其中的相对较大的几个节点,并与自己的lci值进行比较,之后通知链路当前lci值和瓶颈lci值。3)比较通过计算节点lci值和父节点路径瓶颈(此时的瓶颈不单单是路径原来的还有可能自己就是当前瓶颈),最后选择路径瓶颈lci值最大的那个作为选定的路径,同时选定最优父节点,通知路径更新瓶颈。所述多路径路由方案如下:rpl是单路径协议,此类协议只会寻找一条最优的或者是较优的路径,为防止出现故障,路径需要实时更新,需要发送较多的控制信息,当网络出现故障时由于只有一条路径,需要重新启动路径查找,这是一个复杂且耗费资源的过程。由于在路径发现过程中找到不止一条路径,把找到的其他路径进行存储,当发生故障时直接利用备用的路径进行通信,节省不少时间,本文设计多路径方案来增强容错能力。实现多路径的rpl,在选择最优父节点时,首先根据lci和rank值选定一个最优节点,同时存储另外一条次优的路由,作为备用路由,选择路径时当链路失效或邻居节点失效后,节点没有向上的路径,就直接利用备用路径,而不必发送新的dis查询修复协议。同时,定义一个拥塞指数ωn,用于检测拥塞和为解决拥塞触发多路径路由方案。把节点n最近这段时间内所有备用父节点中最大的cf作为拥塞指数,如公式(12)所示,其中,是最近4个小时内最大的p是n的父节点。当ωn>0.5时,说明拥塞节点的拥塞检测因子大于50%,节点n需要开始多路径路由方案解决拥塞问题。子节点转发一个数据包到它的拥塞父节点,然后转发下一个数据包到任何其它备选路径。因此,在拥塞缓解期间一个节点对拥塞的父节点的转发率下降一半。其余的数据通过备用路径上的父节点进行转发。这种多路径方案可以减少父节点的拥塞问题。本发明的有益技术效果是,1、具有更加均衡的网络负载:本发明提出的新节点rank计算方案考虑剩余能量、链路质量,能够避免某些节点能量过早消耗,使网络负载更加均衡;2、端到端时延小:由于多路径方案,当拥塞出现时,节点可以利用其它有用的路径进行转发数据;3、较高的数据包投递率:lci方案不仅仅考虑链路,还要顾及链路的瓶颈增加了计算量,数据包发送速率变大时,由于只有质量好的链路可以传输,就导致了其他链路空闲时也无法使用,导致了链路的拥塞。但是拥塞因子可以检测到拥塞问题并且触发多路径方案解决,因此投递率较高;4、更好的网路稳定性:通过利用网络生命周期指标,可以选择更加稳定的父节点,使网络更加稳定,减少网络拓扑的改变,同时也可以减少网络能量的消耗;5、能量消耗更加均衡:利用改进的生命周期指标lci,重新定义rank值和最优父节点的选择,综合考虑节点链路质量和发送速率等因素,选择剩余能量较大,节点链路etx较好的链路进行传输,使能量消耗更加均衡。附图说明图1为本发明无线传感网中基于生命周期的rpl路由优化方法的流程图;图中,101表示初始化网络结构,形成dodag结构;102表示计算节点rank值;103表示计算网络的瓶颈信息,之后计算路径lci值;104表示发送dio信息到其他节点;105表示收到dio信息的节点,计算自己的lci值查看邻居节点比较rank值;106表示邻居rank不可用;107表示计算邻居链路的瓶颈,进行比较选择其中较大值;108表示不存在可用父节点;109表示选择瓶颈值最大的链路,选定最优父节点;图2为当网络发生故障时启用备用路径转发数据的过程图;图3为各方案不同时刻数据包投递率;图4为各方案端到端时延;图5为各方案运行时间内最优父节点改变次数;图6为各方案网络的能量消耗。具体实施方式下面通过实施例,并结合附图,对本发明的技术方案作进一步的说明。<实施例1>图1为本发明无线传感网中基于生命周期的rpl路由优化方法的流程图。如图1所示,本发明实施例提供的无线传感网中基于生命周期的rpl路由优化方法流程包括:(1)首先执行步骤101,初始化网络结构,形成dodag结构。设置rankinc=m,令根节点的rank值等于m,本发明m取值为100。需要说明的是,在网络初始化阶段节点无法知道邻居节点链路质量,为避免选择第一个收到dio消息的节点作为父节点,节点需要等待一段时间。等收到多个dio消息后就可以,再进行选路计算。(2)执行步骤102,利用改进的rank值计算方法,计算节点rank值。这时就需要发送dio消息到父节点,最终到根节点。根节点会汇集dio消息中的网络前缀信息。节点rank值计算过程如下所示:rpl协议的rank值的计算仅仅考虑跳数,这将导致负载不平衡;公式如(a)(b)所示,节点n根据自己的父节点p利用剩余能量计算节点的rank值。rankinc=eres(n)+mhr(a)rankini(n)=rank(p)+rankinc(b)其中eres是节点n的剩余能量,mhr取值为100。本发明综合考虑节点跳数、节点剩余能量重新定义rank计算方法。为传播节点的拥塞信息节点rank的计算中也要包括拥塞检测因子。当网络初始化时,对根节点的rank进行赋值,令根节点的rank值等于m,这里取值为100。定义发送者节点的跳数为hop(ns),ns表示发送者节点,如公式(c)所示。接收节点跳数在发送者基础上加1。利用剩余能量比例来计算节点级别,如公式(d)所示。包含拥塞检测因子cf(n)的新节点rank值计算如公式(e)。rank(n)=β[hop(n)×rankinc-el(n)]+(1-β)cf(n)(e)其中,β是一个用于嵌入和解码两个数值的密码参数。在本发明中,β取值为0.87。(3)执行步骤103,计算网络的瓶颈信息,之后计算路径lci指标。lci指标计算过程如下所示:1)评估节点n数据吞吐量mn。mn表示当前节点和它的孩子产生的数据流,如公式(f)所示,计算时不仅仅考虑到当前节点,还考虑到孩子节点,使数据吞吐量的计算更具有代表性。其中di表示节点i产生的数据流。2)利用转发的平均数。让吞吐量乘以每个节点的每个父节点链路可靠性etx(n,p)与吞吐量速率,这里p属于n节点的父节点;发送到每个节点的每个父节点的吞吐量速率;转发的平均数如公式(g)所示,该公式把链路质量指标添加到吞吐量速率中,同时考虑链路质量和速率,并且考虑孩子节点因素。其中fn表示转发平均数,p属于n节点的父节点,etx(n,p)表示节点n到每个父节点p的链路质量指标,λp表示父节点p的吞吐量速率。3)数据被发送耗费的时间。计算利用中间节点进行发送的平均速率。根据数据发送速率计算耗费的时间,如公式(h)所示。其中vdata表示数据发送速率,t表示数据被发送耗费的时间。4)计算数据被发送耗费的时间乘以花费在发送所有吞吐量的能量消耗,考虑传送能量速率,这时的指标就同时具有了能量传输速率因素,如公式(i)所示。venergy=t×ptx(n)(i)其中ptx(n)发送节点n吞吐量能量消耗速率。5)最后,计算节点的生命周期指标lci。利用剩余能量的速率与接收和发送数据消耗能量相除,加上每个节点的拥塞检测因子cf(n),可以得到想要的指标,当指标越小说明网络情况越不容乐观。如公式(j)(k)所示。其中pq(n)是节点n队列中数据包的数目,tq(n)是节点n整个队列的大小。利用生命周期指标计算路径瓶颈,在进行路径选择时如果某条路径有最大的瓶颈,则这条路径就作为较优路径。瓶颈,就是那些最容易首先耗尽能量的节点。因此一条路径的关键因素就是它的瓶颈,也就是路径上的某个最易耗尽能量的节点。(4)执行步骤104,利用dio消息通知其他节点rank值和lci值。(5)执行步骤105,节点收到dio信息的节点,计算自己的lci值查看邻居节点比较rank值。如果邻居rank不可用,就执行步骤106。否知执行步骤107。(6)执行步骤106,邻居节点不可用,不可用就丢弃。(7)执行步骤107,计算邻居链路的瓶颈lci值,进行比较选择其中较大值。(8)执行步骤108,查找父节点转发数据,不存在就调用保存的备用父节点。(9)执行步骤109,存在可用父节点,就直接转发数据,选择瓶颈值最大的链路,选定最优父节点,更新父列表。<实施例2>本发明实施例结合附图2对步骤108和109数据转发进行详细说明,包括如下的处理步骤:当网络发生故障有数据需要转发时,可以首先查找备用的父节点,如果不存在,则利用rpl的本地修复算法进行修复。如果存在,选择一个最小rank值的父节点进行数据转发,然后判断是否有数据成功发送到目的节点的确认信息,有确认信息的话,则继续转发数据更新节点rank值;没有确认信息的话,则移动父节点执行修复,选择次优节点进行转发,以此类推。这样就不需要再发送dis等多余的报文信息。<实施例3>本发明实施例对节点的拥塞问题进行详细说明。在lci指数和rank值中的拥塞检测因子可以把节点的拥塞信息转发给它的邻节点。通过拥塞检测因子,我们可以及时地识别节点的拥塞情况。拥塞检测因子cf(n)如公式(j)所示,其中pq(n)是节点n队列中数据包的数目,tq(n)是节点n整个队列的大小。同时,定义一个拥塞指数ωn,用于检测拥塞和为解决拥塞触发多路径路由方案。把节点n最近这段时间内所有备用父节点中最大的cf作为拥塞指数,公式如(1)所示,其中,是最近4个小时内最大的p是n的父节点。当ωn>0.5时,说明拥塞节点的拥塞检测因子大于50%,节点n需要开始多路径路由方案解决拥塞问题。子节点转发一个数据包到它的拥塞父节点,然后转发下一个数据包到任何其它备选路径。因此,在拥塞缓解期间一个节点对拥塞的父节点的转发率下降一半。其余的数据通过备用路径上的父节点进行转发。这种多路径方案可以减少父节点的拥塞问题。<实施例4>在仿真环境操作系统contiki3.0中对优化的协议进行仿真,在一个500m×500m的区域随机部署100个节点,传输的数据类型为cbr,时间5分钟,每个数据包128byte。对结果利用ccdf累积分布函数进行处理,对数据归一化后进行绘图,通过查看斜率和所占比重,发现在本区域的节点数相对总的分布数的大小。进行模拟时100个节点随机方形区域内,节点工作范围是40m。仿真环境参数配置参见表一:表一对本发明的优化方法和基于能量及etx质量方案作对比实验,比较每种方案的网络层负载、端到端时延、数据包投递率、最优父节点改变百分比和能量消耗等指标,更能突显出本发明优化方法的有益效果。具体数据如表二、图3、图4、图5、图6所示。表二实验结果对比参数负载(%)时延(s-3)投递率(%)rpl39.6997.1173.36优化rpl37.5387.3178.54由表二表明,rpl协议的负载高于优化rpl,超过2.1%。优化rpl的时延比rpl小,数据包投递率优化rpl比rpl高5%。从图3、图4、图5、图6可以看出,本发明一种无线传感网中基于生命周期的rpl路由优化方法在网络层负载、端到端时延、数据包投递率、最优父节点改变百分比和能量消耗具有比其他方法明显的优势,也是有效的。上述仅是本发明的集中实施方式,应当指出,本领域技术人员在本发明技术方案范围内进行的。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1