本发明属于无线传感器网络领域,特别涉及一种应用于航天器数据采集的高稳定性路由选择方法。
背景技术:
航天器作为作为各种传感器的典型应用平台,集成了速变类传感器以及缓变类传感器,为航天器的状态监控、姿态调整提供保障。然而传统的有线连接导致航天器内的线路布局错综复杂,各种设备连接关系繁冗,缺乏灵活性和可扩充性。这不仅给航天器的设计、制造、装备、调试和升级带来困难,而且占用了宝贵的负载和空间,客观上降低了运载能力。无线传感器网络的研究以及在军事、环境和工业上的广泛应用为航天无线传感网的应用提供理论基础和实践的可能性。作为航天运载器测量通信与测控系统中的一项全新技术,无线传感技术自诞生起就牵动着业界人士的目光,它的每一次技术突破,都象征着我国航空航天事业又迈出关键性的一步。航天运载器无线传感技术更将成为航天智能升级的重要抓手。
目前rpl是大规模无线传感器网络中非常流行的路由协议。在rfc6550中制定的rpl路由协议的规范,该规范对于rpl的上行路由和下行路由的构建以及环路避免、流量类型做了详细的说明。在rfc6551和rfc6791中分别提出了目标函数0(of0)和具有滞后特性的基于最低排名的一种目标函数(mrhof),前者提出了抽象度量的一般计算方法,后者提出的判决门限能够有效避免度量的小幅变化导致的拓扑抖动。然而这些文档对于路由度量(如跳数、丢包率、节点能量等)的选择并没有详细的规定。在contikirpl的这种实现方式中,使用的是基于期待重传次数(etx)的mrhof,能够提供较高的传输效率,但是没有考虑到节点的剩余能量所带来的路由抖动问题,并且局部数据过于密集容易导致部分节点因能量消耗过快而失效,造成数据的损失,也为航天飞行任务带来极大的风险。
技术实现要素:
本发明的目的,在于提供一种航天器数据采集无线网络的高稳定性路由选择方法,其可解决rpl网络中路由抖动的问题,提高网络的可靠性。
为了达成上述目的,本发明的解决方案是:
一种航天器数据采集无线网络的高稳定性路由选择方法,在该方法中使用的不是单一的路由度量,而是基于rssi和elt的混合度量目标函数;基于此目标函数,路由选择分为两个阶段;除根节点外每个节点都至少有一个首选父节点和次优父节点;
该方法基于rpl协议实现,拓扑构建和路由选择流程包括以下步骤:
步骤1,根节点作为路由拓扑构建的发起者,广播dio消息给通信范围内的所有邻居节点;
步骤2,初次收到dio信息的邻居节点,进入路由选择阶段一。解析出rank信息并更新自己的邻居表信息,根据rssi路由度量计算每条链路到自身的rank,选择rank最小的链路中的邻居节点作为最优父节点,在这里使用rssi路由度量,能够快速选择出距离较近、满足信号强度的父节点;
步骤3,处理完dio信息的邻居节点,更新dio消息中的rank信息并继续转发此消息;
步骤4,当dio消息到达叶子节点拓扑构建完成。
步骤5,拓扑初次建立完成后进入路由选择阶段二,根据目标函数选择最佳父节点,完成拓扑的优化工作。
上述dio消息的发送使用trickle定时器进行管理,trickle定时器使用tdoubl,tmin,tcurrent,credundancy,ccounter共5个参数控制dio消息的发送,ccounter在每收到一个dio消息时加1,当且仅当ccounter小于credundancy时,定时器随机延迟一个时间tcurrent进行dio消息的转发,并且每次发送的延迟时间加倍,延迟的时间上限是tmin+tdoubl。
上述步骤2中,采用接收信号强度指示(rssi)和期望生命时间(elt)组合计算路由度量。目标函数定义为:
其中ω1和ω2分别代表rssi度量和期望生命时间度量目标函数,α和β代表两个备选的下一跳路由,<表示一种优先关系;该目标函数规定,如果利用rssi计算权重,α路由节点权重优于β路由节点,则选择α路由节点;或者当使用rssi计算得到的权重相等时,使用elt度量,此时若α路由节点计算的elt度量权重优于β路由节点计算的elt度量权重,则选择α路由节点。
上述elt度量采用节点的剩余能量和单位时间内的发包数量的比值进行衡量,其计算方法为:
1)计算成功传递一个数据包所需要的发送次数,其中s表示成功传输的次数,f表示发送失败的次数:
2)计算观察窗口时间内ttotal个数据包所需要的发送次数s为:
s=ttotal×etx
3)考虑射频模块物理层的发送速度,发送s个数据时射频模块的工作时间t如下式,其中lenavg表示每个数据包的平均长度,data_rate表示射频模块物理层的发送速度:
4)计算节点的期望生命时间如下式,其中e代表剩余能量,p代表发送功率:
上述步骤3中,更新dio消息中的rank信息,根据单调递增原则,rank值r(k)的计算方法为:
r(k)=floor((r(p)+abs(rssi))/minhopincrease)
其中floor表示取整数部分,r(p)表示接收到的dio消息中的rank值,minhopincrease是用来衡量最小跳数增长的常数,abs(rssi)表示接收信号强度指示的绝对值。
采用上述方案后,本发明基于rpl协议,适用于资源受限的传感节点构建大规模网状网络。本发明提供了一种高稳定性的路由选择目标函数,将rssi度量和elt度量组合为混合度量的目标函数,作为路由选择的判断条件,使得网络具有较高的传输质量,同时又可以减少路由抖动造成的丢包。
本发明的优点是:网络构建前期使用rssi度量能够快速构建网络,在网络构建后期根据elt度量对路由选择进行优化,充分考虑到了链路的传输质量和节点的使用寿命,可以减少网络的拓扑结构变化,从而降低路由抖动发生的几率。特别是处于网状网络中枢的路由节点,承担了数据包的发送和转发两项任务,电量消耗较快,在路由选择时使用elt度量能够考虑到负载均衡,可以避免部分节点因为电量消耗较快导致局部网络失效,提高了网络的可靠性。
附图说明
图1是网络拓扑结构示意图;
图2是拓扑控制信息发送相关的trickle定时器流程图;
图3是使用目标函数选择下一跳路由的流程图;
图4是本发明的流程图。
具体实施方式
以下将结合附图,对本发明的技术方案及有益效果进行详细说明。
本发明基于在contiki中的实现的rpl路由算法contikirpl,使用新的路由选择方法,构建具有高稳定性的无线传感器网络,为了详细介绍本发明的内容,下面对一些概念进行阐述或者定义:
定义一:dio消息。rpl路由拓扑的上行路由通过dio(dodaginformationobject)消息进行构建和维护。该消息由网络根节点触发,包含有发送节点本身的级别(rank)信息。接收dio消息的邻居节点将根据目标函数选择最优父节点。
定义二:路由度量。路由度量用来衡量节点之间的链路成本,作为节点在选择下一跳路由时的选择标准。常见的路由度量有跳数,信号质量,剩余能量、期待重传次数(etx)等。
定义三:rank。用于标识节点在网络拓扑内相对根节点的位置,在路由选择时作为距离矢量使用。子节点n和父节点p的rank信息之间的关系如下,其中metric(p,n)代表p、n间的路由度量:
rank(n)=rank(p)+metric(p,n)
以下为本发明的具体实施方案,本发明使用avr-atmega128rfa1这一款mcu作为传感节点的硬件方案,片上集成了一颗兼容ieee802.15.4协议的射频芯片,采用加速度传感器adxl345、温湿度传感器dht11分别作为速变类传感器和缓变类传感器。采用contiki嵌入式操作系统作为运行环境,在contikirpl实现上进行路由选择的优化,构建具有高稳定性的路由方案,路由拓扑如图1所示,本发明的流程如图4所示。
(1)节点启动后将当前的rank值r_cur置为一个max_rank的极大值,并设置一个定时器t1用于计时使用rssi度量的时间,只有在该定时器未过期时才能使用rssi作为构建拓扑的度量;
(2)在网络构建的初期为了迅速建立拓扑需要快速发送dio消息,在拓扑稳定建立后逐渐减少控制消息的数量,使用trickle定时器控制发送的时间。trickle定时器使用tdoubl,tmin,tcurrent,credundancy,ccounter共5个参数控制dio消息的发送。其发送流程图如图2所示,发送过程如下:
2.1设置发送延迟为[tcurrent/2,tcurrent]之间的一个随机数;
2.2将ccounter置0;
2.3每收到一个dio消息,就将ccounter加1;
2.4ccounter小于credundancy时,发送dio消息,并将ccounter加1;否则执行2.5;
2.5当tcurrent小于tmin+tdoubl时,将tcurrent加倍,否则取tcurrent=tmin+tdoubling,延迟tcurrent后返回2.1继续执行;
通过以上这种方式就可以使发送的间隔以幂指数的速度迅速增加,最终收敛于tmin+tdoubl,这里将其设置为220s。接收到dio消息的节点从dio消息中获得并设置网络前缀,将节点加入邻居列表,根据目标函数考虑是否将节点作为父节点。
(3)下一跳路由节点的选择流程如图3所示,在t1有效期内对接收到dio消息进行处理,根据下式计算节点的级别信息r(k):
r(k)=floor((r(p)+abs(rssi))/minhopincrease)
如果r(k)小于节点当前的级别r_cur,并且rssi值小于门限δrssi,则将该节点加入候选父节点集合pk;否则继续监听dio信息;
(4)当t1定时器过期后,如果当前候选父节点集合pk为空,则返回步骤(1)重新构建初始拓扑,否则选择pk中rssi绝对值最小的节点作为父节点,更新dio消息中的rank信息并向下转发;
(5)初始拓扑建立完成后,设置一个定时器t2,以防止出现候选父节点集合没有统计出所有符合目标函数ω1的节点,如果有新的节点加入,则返回步骤(1)继续监听dio消息,否则当t2过期后选择pk中elt最大的节点
(6)若
以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。