APP下载

基于路由算法均衡物联网传感器节点能耗的分析研究

2016-06-30孟凤娇钟志军蔡玉俊张华东

物联网技术 2016年6期
关键词:能耗

孟凤娇+钟志军+蔡玉俊+张华东

摘 要:在基于无线传感器建立的物联网中,节点能耗不均会减少整个网络的生命周期。因此,文章对物联网中无线传感器节点的能量消耗进行了分析,提出了基于Dijkstra路由算法的能量均衡策略,该策略的节点间无线能量传输可以互补,并给出了如何动态选择核心节点和求解最佳能量的传输路径,以最优化使用节点的能量,从而延长了整个网络的寿命。

关键词:能耗;能量均衡;路由算法;网络生存时间

中图分类号:TP312 文献标识码:A 文章编号:2095-1302(2016)06-00-03

0 引 言

物联网中的传感器节点是物联网的基础单元,这些传感器节点一般都只有有限的能源,很难从外界主动获取额外的能量,节点之间对能量的消耗也存在较大差异。工作一段时间后,由于节点间的能耗不均匀,网络中核心耗能的节点容易过早死亡,从而导致整个物联网络的瘫换。因此,在电池研究比较滞后的今天,物联网中传感器节点对整体能量均匀合理的使用,已成为物联网研究中的一个关键问题。本文重点研究了基于Dijkstra路由算法的物联网节点间能耗均衡策略,以合理利用物联网络总体的有限能量,从而实现整个物联网络耗能的均衡。

1 物联网中存在能耗的分析

物联网中传感器节点的能量主要由传感元件、无线通信芯片和微型处理器消耗。2002年,Deborah Estrin在Mobicom国际会议上指出,物联网络中传感器节点1 b数据传输100 m消耗的能量,相当于处理3 000个机器指令所消耗的能量。无线传感器网络体系结构如图1所示。

从无线传感器网络体系结构可以看出,物联网络中的传感器节点承担着通信任务,并且还需转发来自周围其他节点的数据,因此可以看出,传感器节点的数据通信在整个物联网路中的能耗最大。

在传感器节点进行无线通信的过程中,发送数据、接受数据、空闲侦听以及冲突重传、串音等情况均有可能导致整个网络的能量被浪费。其中,源节点到基站路径选择的路由协议有以下两方面的使命:

(1)在物联网源节点和基站之间寻找最佳通信链路;

(2)保证将报文准确完整地传送到基站。

物联网络中的路由协议应能降低和避免选择剩余能量低的节点或重复节点作为通信链路的节点,从而使整个物联网络中的能量消耗尽量达到均衡。

GEAR路由的核心算法是一个局部最优算法,基于物联网节点的位置信息,运用在己知局部拓扑结构上,建立汇聚节点到该节点的最优路径,这样可以有效降低路由建立的耗能。但是该方法对完整的拓扑结构依赖性较强,如果拓扑结构未知,则会导致路由空白,从而降低路由效率。

美国麻省理工学院的学者设计出了无线传感器网络节点间数据通信的路由协议LEACH,该协议是首个层次型、低功耗的路由协议,改善了传统平面路由协议占用存储空间较多、路由表项过大等缺陷。但其也存在一些问题,例如在选取物联网络簇头时,忽略了节点的剩余能量,若将剩余能量低的节点作为簇头节点时,该节点会因过早达到能量最小阈值而导致节点失效,从而致使整个物联网络的生存周期大大减少。另外,LEACH协议的簇头选取策略是随机的,在能量有限的物联网络中是不可取的。

当网络运行处于数据传输阶段时,核心节点能量消耗过大,容易过早死亡。有些节点由于电量不足而失效,这些都凸显出在物联网络能量受限时,保证传感节点能量消耗均衡对物联网络生命周期的影响。传统的网络层分簇路由协议通常采用各种改进算法来均衡或减少网络中各节点的能耗,以延长整个网络的生存时间,最终实现整个网络的能耗均衡。

本文提出了基于Dijkstra路由算法的能量均衡策略。MatLab仿真实验表明,当核心节点能量低于设定值时,通过能量无线传输来为核心节点补充能量,从而实现整个物联网络中的能耗均衡。

2 基于路由算法动态计算剩余能量的策略

参考已有的物联网能量均衡策略,考虑到在无线传输中能量消耗最大,因此主要解决传输过程中的能量均衡路由算法,其主要设计思想是每次传输前先动态计算各传感器节点的剩余能量,然后基于剩余能量级别进行传输。在数据传输阶段,检测到该节点能量低于预设的临界能量值(设为TE_MIN)时,以半径r广播能量获取的报文。接收到报文节点则返回本节点ID、剩余能量和节点间距离等信息。之后该节点通过计算能量传输效率和传输距离,选出能量发射节点和中继节点,最终建立一条能量传输通道路由。通过无线能量传输技术完成节点间的能量传输。从而实现了物联网络中节点能量过低时,能量高的节点可以向该节点传输能量的目的,避免了网络中耗能节点过早的死亡,进而延长了整个网络的生存周期。

算法设计具体过程如下:

(1)发送能量传输请求报文。报文格式如下:

(2)接受能量传输应答报文。节点接收到广播的报文后,首先判断是数据报文还是能量传输报文。如果是数据转发报文,按路由协议进行转发,如果是能量传输报文,首先检测自身是否是核心节点,如果是,直接丢弃报文;如果不是,则计算剩余能量是否满足要求。如果不满足要求,则直接丢弃报文;如果满足则向请求节点返回应答报文。其判断的分支图如图2所示。

应答报文有节点ID、节点类型、报文类型、节点间距离、节点剩余能量几个字段。

(3)选择能量发射节点Wz。请求能量传输的节点收到返回的报文后,需要根据报文的信息,计算出能量传输的效率。能量在空气中传输,像光和声音一样会出现衰竭,因此效率与距离成反比,但效率与两个节点间的能量差成正比。因此能量发射结点Ni的选取函数定义为:

Ni =Nsel (MAX(Eri/Li2))

其中,Li为接收节点到发射节点Ni的距离,Eri为节点在某个时刻的剩余能量,且Li

(4)选择能量传输中继节点。能量传输的两个节点间的距离越远,能量损失越多,并且直接从能量的发射节点传输能量到能量的接收节点,会使发射节点的能量急剧下降,造成发射节点的过早死亡。这里使用Dijkstra最短路径算法,节点间的能量传输效率作为权值,选出能量损耗最小的传输路径。选出传输路径之后,传输路径的节点作为能量传输的中继节点。

(5)建立节点间能量传输链路。找到物联网中的能量发射节点及能量传输路径上的能量中继节点,就可以在能量请求节点和能量发射节点之间建立一条能量传输链路。中继节点收到能量后,按能量转发报文将一定的能量传输到下一中继节点,同时转发能量转发报文,直到能量传输到能量请求节点。

3 基于Dijkstra算法动态计算传输节点的策略

上述路由算法实现的关键是运用Dijkstra算法求解最佳电量节点构成的传输路径,即需要核心节点进行信息传输,由于核心节点的电力存储影响整个网络的寿命,因此,需要动态变化这些核心节点。根据节点剩余电量情况,定时动态计算参与传输的核心传感节点,以形成物联网结构上的传输网络。

本文运用Dijkstra算法求解最佳电量节点构成的传输路径图,图中的每个节点代表一个参与传输的传感器节点,每条弧代表一条通信线路。为一对给定节点之间选择一条传输路径,只需在图中找到这对节点之间的最短路径即可。在最短传输路径上的节点,即为本次能量传输的中继和后续节点。

3.1 图结构

图结构的定义:节点信息存储物联网传感器节点的剩余电量;彼此直接通讯的则对应图中的边;每次发生信息传输时,找其后续节点中剩余电量最大的作为中继节点进行传输。

3.2 图调整

图初建时设置几个主要核心传感器节点作为参与数据传输的节点,并彼此连边,形成初始图。在传输过程中,一旦网络中的某一个节点的剩余能量低于预设的临界能量值TE—MIN,则该低能量节点就会退出无线能量传输,只传播该节点采集的信息给其他中继节点,以传输其信息到服务器。从而实现高能量节点向低能量节点的能量补充。

3.3 算法

该算法分为如下几个步骤:

(1)设置一个未选择为最短路径的节点集合U,一个已选择为最短路径的节点集合S,S+U=V(G)。在初始情况下,S为空,U中包含所有节点。源点s的距离dis(s)=0,其他节点v的距离dis(v)=∞。

(2)从U集合中选择一个到S集合任一点距离最短的点,将其加到S集中,并从U集中删除。

(3)修改U中各节点的距离,重复过程(2)直到到达终点。

Dijkstra算法流程图如图3所示。

算法伪代码如下:

(1)图中包含n+1个顶点,分别为源点s=v0和v1,v2,…vn,边的权值为w(vi,vj)

(2)for i=1 to n

(3)dis(vi) =∞

(4)dis(s)=0

(5)S=φ

(6)U=V[G]-S

(7)while(S不包括终点)

(8)Begin

(9)u=集合U中dis(u)最小的顶点

(10) S=S+{u}

(11) U=U-{u}

(12) for(v∈U)

(13) dis(v)=min{dis(v), dis(u) +w(u,v)}

(14) End

从上面明显可以看出,在动态调整传输的核心节点时,需要定时计算节点的能量作为Dijkstra算法的基础。

4 仿真实验分析

利用Matlab对本文算法建立了仿真场景,在仿真实验中有30个传感器节点,按一定的随机策略分布在面积为100m×200 m的正方形区域内,基站位置为(50 m,175 m)。

网络生存时间和能量均衡因子这两个网络性能衡量指标,是验证网络路由协议性能优劣的较为常用的指标。

(1)网络生存时间

网络生存时间是指从整个网络开始到消耗完毕的时间。网络生存时间越长,算法的性能越好,本文给出的算法能够根据节点剩余能量动态调整传输信息路径中的节点,使能量较低的节点尽可能不参与传输信息,只用于收发采集信息,因此达到了延长网络生存周期的效果。

(2)能量均衡因子

能量均衡因子是指在物联网络运行的某一时刻,网络中节点剩余能量的最大值与最小值的比值。由于本文方法可使能量均衡因子最小,因此可以延长网络的生命周期。

本文算法实验运行前要预设临界能量值TE_MIN,该值对网络生存时间有着重要影响。该值过大,会使节点间能量传输次数过于频繁,传输所消耗的能量也会随之增多,这样便造成能源的浪费,使网络生存时间减少;但该值过小,则剩余能量无法完成能量传输请求的处理过程。

5 结 语

本文主要针对物联网中无线传感器节点的能耗问题进行分析,基于Dijkstra算法动态计算剩余能量的策略,给出了如何均衡使用物联网中节点以达到减少其消耗的方法。

参考文献

[1]孙跃,戴欣,唐春森,等.分布式无线电能传输网[J].电力电子,2010(3):59-61,84.

[2]许国,胡瑜,张莹,等.一种能量有效的无线传感器网络分簇路由算法[J].天津科技大学学报,2009,24(1):58-61.

[3]陈志奎,倪晶晶,姜国海,等.WSN中一种基于剩余能量级别的负载均衡路由协议[J].微电子学与计算机,2010,27(12):82-86.

[4]段其昌,陈艳,周元.基于能量距离复合权值Dijkstra算法的新型能量均衡WSN路由算法[J].传感技术学报,2010,23(11):1610-1616.

[5]傅文珍,张波,丘东元,等.自谐振线圈耦合式电能无线传输的最大效率分析与设计[J].中国电机工程学报,2009,29(18):21-26.

[6]孙利民.无线传感器网络[M].北京:清华大学出版社,2005.

[7]张春花,刘方爱,吴楠.WSN中基于能量和距离的自适应分层路由算法[J].计算机应用研究,2014,31(11):3434-3437.

[8]潘中强,刘亮亮,张东.基于非均匀分簇的能耗高效WSN路由协议[J].微电子学与计算机,2012(1):93-96,101.

[9]张玉娟,樊晓平,刘少强,等.太阳能补给下无线传感器网络分簇路由算法[J].计算机应用研究,2012,29(1):260-262.

[10]詹思瑜,李建平.基于遗传算法的Adhoc路由协议优化[J].小型微型计算机系统,2012,33(1):24-27.

[11]马向南,陈兵.一种具有动态负载均衡功能的LB_HWMP路由协议[J].小型微型计算机系统,2012,33(2):343-346.

[12]张敬,许宗泽.一种剩余能量感知的异构AdHoc网络跨层路由协议[J].小型微型计算机系统,2012,33(2):353-356.

[13]吕斌斌,包震斌,张明乐.基于SNMP协议的网络拓朴发现算法分析[J].信息网络安全,2012(1):46-49.

[14]刘晓培,李颖,张豪,等.高效率的小规模AdHoc组播路由协议[J].现代电子技术,2011,34(1):7-10.

[15]冯文江,沈嘉皓,李林.基于负载平衡的分层无线Mesh网络路由协议[J].计算机应用研究,2011,28(2):651-653.

[16]陈培培,张华忠.MHST-LEACH—基于LEACH-EE高效聚类路由算法[J].计算机工程与应用,2011,47(1):120-122.

[17]李梅,周继鹏.基于负载均衡的DSR路由协议改进[J].计算机应用研究,2011,28(1):256-258.

[18]钱志鸿,王义君.面向物联网的无线传感器网络综述[J].电子与信息学报,2013,35(1):215-227.

猜你喜欢

能耗
EnMS在航空发动机试验能耗控制中的应用实践
从能耗“双控”向碳排放“双控”转变
120t转炉降低工序能耗生产实践
能耗双控下,涨价潮再度来袭!
宁夏议能耗“双控”三年行动计划
日本先进的“零能耗住宅”
基于ZigBee的大型公共建筑能耗采集器设计
我国火力发电能耗状况研究及展望
基于Moldflow MPI软件的注射阶段能耗研究
湿重碱二次过滤对煅烧炉能耗的影响