一种能量高效的无线传感器网络路由方法
技术领域
本发明属于无线传感器网络通信技术领域,具体是利用生物学中蚁群算法的基本原理,提出一种能量高效的无线传感器网络(WSN)路由协议,解决资源受限的无线传感器网络的高效路由问题,此路由协议适合于分层的无线传感器网络。在数据传输过程中,应用此路由协议能够减少无线传感器网络的能量消耗,平衡网络各个节点之间的能量消耗,防止部分节点因能量消耗过快而死亡,延长网络的生命周期。
背景技术
短距离无线通信、微电子与传感器技术的发展使得传感器网络技术取得了巨大的进步。传感器信息获取技术已经从过去的单一化渐渐向集成化、微型化和网络化方向发展,并带来一场新的信息技术革命。无线传感器网络是由多学科高度交叉而形成的新兴前沿研究热点领域,其综合了传感器技术、嵌入式计算技术、无线通信技术、分布式信息处理技术等。传感器网络通过各类集成化的微型传感器协作地实时监测、感知、采集和处理各种环境或监测对象的信息;传感器节点自组成网,以多跳中继方式将所感知信息传送到用户终端,从而真正实现“无处不在的计算”。
无线传感器网络可以用于监控温度、湿度、压力、土壤构成、噪声、机械应力等多种环境参数,使用户可以深入的了解和把握周围的环境信息。无线传感器网络的随机部署、自组织、环境适应性等特点使其在军事国防、环境监测、生物医疗、抢险救灾以及商业应用等领域具有广阔的应用前景和较高的应用价值。另外,在空间搜索和灾难拯救等特殊领域,无线传感器网络也有其得天独厚的技术优势。
在无线传感器网络中,存在一个或多个节点充当数据汇聚点(Sink节点),网络中传感器节点收集数据,并通过多跳的方式传送到Sink节点,Sink节点将收集到的数据通过有线或无线的方式传送给用户。在通信方式上,无线电、红外、声波等多种无线通信技术的发展为传感器间通信提供了多种选择,尤其是以IEEE802.15.4为代表的短距离无线电通信标准的出现,为无线传感器网络的发展奠定了坚实的基础。
路由技术是无线传感器网络的核心技术。从路由的角度看,无线传感器网络有其自身的特点,既不同于传统网络,又不同于移动自组网(Mobile Ad hoc Network,MANET)。与传统无线网络相比,无线传感器网络体系结构、编址方法和通信协议不同于Internet;传感器网络路由协议面向多到一的数据流和一到多的控制流,而非任意源和目的对之间的数据传输;传输过程中采用数据融合方式,其路由以数据而非报文为中心;节点的移动性较低,但由于节点死亡、新节点加入以及节点睡眠和活动状态切换使得网络拓扑动态变化。与Ad hoc网络相比,无线传感器网络的移动性较弱,但能量约束更强,节点更容易死亡。无线传感器网络路由协议设计的主要优化目标是减少能量消耗和保持节点能量消耗均衡,提高网络生命周期。
传统的无线网络路由协议的设计以避免网络拥塞、保持网络的连通性和提高网络服务质量为主要目标。在路由实现中,首先利用网络层定义的逻辑上地址来区别不同节点以便实现数据交换,然后通过路由选择算法决定到达目的地的最佳路径。与传统无线网络相比,虽然WSN具有与无线自组织网络相似的特征,但在网络特点、通信模型和数据传输需求方面却与传统无线网络有着很大不同。这主要表现在:
(1)无线传感器网络节点能量受限,网络中的每个操作、计算以及相互间的通信都会消耗电池能量,一旦某些节点特别是一些关键节点因能量耗尽而死亡,将会影响到整个网络的连通性以及整个监测任务的顺利进行。
(2)无线传感器网络是以数据为中心的网络。传感器网络是任务型网络,节点数量大,且随机分布,每个传感器节点没有全局唯一的标识或地址。
(3)无线传感器网络相邻节点的数据存在信息冗余,需要采用一定的信息融合来减少数据发送量,节省网络资源。
(4)频繁变化的拓扑结构。传感器节点因能量消耗或者人为破坏而死亡,新节点的加入,节点在睡眠与工作状态之间切换,部分节点的移动等因素使得网络拓扑结构频繁变化。
(5)在无线传感器网络中,传感器节点和物理环境交互密切,WSN的通信构架及其所提供的服务都是针对每个特定的应用而设计的。WSN数据在传输过程中,中间传感器节点需要针对特定应用,对来自其他节点的转发数据以及自身采集的数据进行融合,缓存和转发。
综上所述,传统的无线网络路由协议不适合在无线传感器网络。本发明针对传感器网络的自身特性,设计无线传感器网络路由方法。无线传感器网络的路由协议应该满足以下条件:
(1)能源有效性
能量严格受限是传感器节点最显著的特点,在无线传感器网络中,每个节点只携带有限的、不可更换的电源,节点计算、存储能力弱;能量节约是传感器网络路由协议设计得最主要目标。典型的无线传感器网络工作在人类无法忍受的恶劣环境,甚至是人类无法到达的环境,比如火山周围,一旦电池耗尽,将无法更换。设计有效的路由协议节约节点能源、延长网络的生命周期就成为无线传感网络的核心问题。
(2)简单性
相对于传统无线网络而言,传感器节点的运算和存储能力严格受限,这种硬件资源有限的节点却承担着信息采集和路由双重功能,这就要求为这种节点资源有限的特殊网络“量身定制”一种简单有效的路由协议,要求路由协议的报文和算法简单有效,实现的程序代码短小精悍,路由表项尽可能少。由于无线传感器网络规模很大,因此要求通信协议具有很强的可扩展性,能够动态地适应节点规模的变化,保证通信质量。
(3)多路性
为了避免单个节点的失效影响整个网络的效率,要求每个节点尽可能维护多条路由,维护多条路由是指每个节点同时维护去往Sink节点的多条路径,只有当所有路由都失效时,才按需发起路由请求过程,从而降低路由请求频率、分组等待延时和协议开销。
(4)数据融合
为了减少无线传感器网络中冗余信息的发送,尽可能地节省传感器节点的能量,路由协议的设计需要以数据为中心,具备数据融合的能力。
现有方案以及优缺点:传感器网络的路由被分为平面路由和分层路由,在平面结构中,所有节点的地位是平等的,不存在任何等级和层次差异,原则上不存在瓶颈问题,具有较好的健壮性。其缺点是可扩充性差,维护动态变化的路由需要大量的控制信息。分层路由协议的基本思想是将传感器节点组织成簇,每个簇内有一个簇头。簇头完成数据聚集和合成,并负责将数据传送给Sink节点。这种网络组织方式有效地维持传感节点的能量消耗,延长网络生命周期,且很好的满足传感器网络的可扩展性,并减少网络延迟,其缺点是Sink节点可能会成为网络的瓶颈。
LEACH协议是第一个在无线传感器网络中提出的分层路由协议。其后的大部分分层路由协议都是在它的基础上发展而来的,如TEEN、PEGASIS等。LEACH协议中的操作是分轮进行的,每一轮包含簇建立阶段和稳定阶段。在簇形成的阶段,选择簇头节点。选取簇头的方法为:对于一个节点,随机选取一个在0到1之间的数字作为标记值,如果这个标记值小于一个门限值T(n)的话,节点n就充当本轮的簇头节点。T(n)值计算如下:
其中,N为网络中传感器节点的总数;k为一个回合网络中的簇头节点数;r为已完成的回合数。被选为簇头的节点广播自己成为簇头节点的消息,网络中的其他节点根据接收信息的强弱加入从属的簇,完成簇的建立。节点采用TDMA的方式通过一跳通信将数据传送给簇头,簇头再将融合后的数据传送给Sink节点。该协议采用随机选举簇头的方式避免簇头过分消耗能量,提高了网络生存时间。
LEACH的优点是采用动态集群,与一般的平面多跳路由协议和静态集群算法相比,LEACH可以延长网络生命周期。LEACH算法的主要缺点是在簇生成过程中没有考虑节点的能量和具体位置。LEACH算法可能选取能量较低的节点作为簇头,而且簇头地理位置分布不均匀、各个簇内节点的数量不平衡。由于这些缺点LEACH算法需要花费大量的能量进行重新成簇和网络维护。
蚁群算法是模仿蚂蚁行为的一种方法,已经被应用在无线网络的路由协议中。这些应用将蚁群算法直接应用传感器网络中,设计全新传感器网络路由协议,或者使用蚁群算法来求解和优化传感器网络路由协议。这些路由方法,随着网络规模的增大,需要花费大量的代价计算和维持链路信息素浓度。
发明的内容
本发明的目的在于解决LEACH算法的不足之处和现有基于蚁群的传感器网络路由协议存在的缺陷,此路由协议是在传感器网络分层分簇的基础上,提出了基于蚁群算法的传感器网络路由(ACR)方法。在簇间路由和路由维护上借鉴蚁群算法,此路由协议相比与LEACH算法,在簇划分方法上和簇间路由上有创新,相比与现有的基于蚁群的传感器网络路由协议,由于簇头节点数量有限,在簇间路由和簇头节点的路由表维护上借鉴蚁群算法的思想,适合于传感器网络。
本发明主要是针对分层的传感器网络。分层的传感器网络路由协议主要包括三个部分:簇内路由、簇间路由和路由维护。簇内路由为簇成员节点将收集的信息传输给簇头节点,其中最主要的工作是簇头选取和簇生成问题;簇间路由为各个簇头通过多跳的方式将簇内收集的数据发送给Sink节点。
本发明根据剩余能量确定节点是否具有竞选簇头的资格;根据节点地理位置,利用重复分割法进行簇划分,保证各个簇地理位置均匀,簇内节点数相近;簇成员节点通过单跳的方式将信息传输给簇头。采用蚁群算法,根据各个链路上的信息素浓度选择路由链路,进行簇间路由,将各个簇的数据传送到Sink节点;随着网络的运行,周期性计算链路的信息素浓度,并依据此信息更新节点路由表,维护路由信息。此路由协议能够减少无线传感器网络的能量消耗,平衡网络各个节点之间的能量消耗,防止部分节点因能量消耗过快而死亡,延长网络的生命周期。本发明基于蚁群算法的路由协议的具体步骤包括:协议的初始化、簇分割、簇的建立、信息素计算、簇间路由和路由维护:
1.协议的初始化过程
协议的初始化是传感器网络分簇的基础。在初始化过程中使用洪泛的方法,使得Sink节点获网络拓扑和网络中节点剩余能量信息;传感器节点获取自己距离Sink节点的跳数和邻居节点信息。在协议初始化之后,Sink节点能够计算网络的总剩余能量和网络平均能量;每个传感器节点知道自己的邻居节点信息以及各个邻居节点到Sink节点的跳数。
2.簇的建立
在协议初始化的基础上,依据节点剩余能量和网络平均能量选择具有竞争簇头资格的节点,在此基础上,根据节点的地理位置,划分传感器网络簇。为了避免剩余能量较低的节点当选簇头而导致部分节点过快死亡,让剩余能量高于网络平均能量的传感器节点具有竞争簇头的资格,剩余能量低于网络平均能量的传感器节点没有竞争簇头的资格。在簇划分中,首先选择网络中距离较远的两个具有竞争簇头资格的节点作为簇头,将网络化分成两个簇,再在各个簇内采用同样的方法循环分割,直到网络中簇的个数达到预先的要求,最后其他节点按照就近的原则加入各个簇。此簇分割方法保证簇头地理位置分布均匀,每个簇中的传感器节点数相近。
3.簇间路由
采用蚁群算法进行簇间路由,包括形成簇头节点的路由表、计算链路信息素浓度和选择信息传输链路;
(1)形成簇头节点的路由表:每个被选为簇头的节点判断自身路由表中是否存在到所有邻居簇头的路由记录,如果有,重新计算信息素浓度,使用新计算的信息素浓度、邻居节点剩余能量和距离Sink节点的跳数,更新此路由表记录;如果没有则创建新的路由表记录,并在此路由表记录中,填写邻居簇头节点标识、邻居节点剩余能量,链路信息素浓度和距离Sink节点的跳数;
(2)信息素浓度计算:链路的信息素浓度随着链路上传输信息而增多,路径上的信息素会随着时间的推移而挥发,簇头节点i和j之间的链路信息素浓度τij的计算方法是τij←(1-ρ)τij+a×energyα+lβ,式中ρ表示信息素的挥发量,α表示节点剩余能量在信息素中所占的比重,l是两簇头间的距离,β表示节点间距离在信息素中所占的比重,energy为簇头节点余能量,计算式的第一部分是一段时间内的信息素的挥发;第二部分是两簇头间的距离以及相邻簇头的剩余能量来计算簇头间的信息素浓度;
(3)选择信息传输链路:当有数据需要发送时,通过各个链路的信息素浓度计算选择各个链路的概率,依据此概率选择相应的链路进行数据传输;信息素浓度高的链路被选择的概率较大;
4.路由维护:采用蚁群算法进行路由维护,包括链路的信息素浓度的更新和簇头更换,根据链路传输数据情况和时间的推移,周期性更新路由表中各条链路的信息素浓度,进行路由表更新和维护;采用轮换的方式让簇内最大能量节点轮流担任簇头,并将被替换簇头的路由表复制到新的簇头。
本发明所公开的高效的传感器网络路由方法的主要特点如下:
(1)在簇间路由和路由维护上借鉴蚁群算法,此路由协议相比与LEACH算法,在簇划分方法上和簇间路由上有创新,相比与现有的基于蚁群的传感器网络路由协议,由于簇头节点数量有限,在簇间路由和簇头节点的路由表维护上借鉴蚁群算法的思想,适合于传感器网络;
(2)协议简单:协议设计简单,总体开销较小,适合于能量受限的传感器网络;
(3)能量高效:网络总能量消耗较小,平衡各个节点的能量消耗,主要体现在:基于蚁群算法的传感器网络依据链路上的信息素浓度来确定选择该路径的概率;在簇划分阶段每个簇内的传感器节点数量相近,总体分布均匀。通过仿真试验,与LEACH算法相比,ACR能够延长网络的生命周期;
(4)容易形成多经路由:由于采用蚁群算法进行簇间路由和路由维护,当一条路径出现问题时,将不会有信息通过此链路传递,此链路的信息浓度变低,而选择另外的链路进行信息传输,因此具有动态调整路由的功能;
(5)支持数据融合:簇头节点对簇内收集的数据进行数据融合,在簇间路由时,中间簇头节点也可以进行数据融合。
附图说明
图1基于蚁群算法的无线传感器网络路由方法网络模型图
图2基于蚁群算法的传感器网络方法流程图
图3Sink节点广播初始化数据包结构图
图4节点转发初始化数据包结构图
图5路由应答消息结构图
图6成簇数据包结构图
图7竞争簇头数据包格式
图8簇建立流程图
图9簇分割流程图
图10路由表条目结构图
图11平均能量消耗曲线图,(a)为场景I,(b)为场景II
图12节点存活数比较曲线图(a)为场景I,(b)为场景II
具体实施方案
结合上述附图,本发明提出的基于蚁群的传感器网络路由算法,此算法所包括各个部分的具体实施方式如下:
一.协议步骤:
基于蚁群算法的传感器网络路由协议是针对分层分簇的传感器网络体系结构的,如图1所示。Sink节点首先获取传感器网络的拓扑结构和网络节点的能量情况,每个节点获取到Sink节点的跳数,然后采用重复分割法进行簇划分,建立传感器网络簇,再基于蚁群算法进行簇间路由和路由维护。
基于蚁群算法的传感器网络路由协议步骤如下,具体流程如图2所示。
(1)初始化:通过洪泛的方式,Sink节点获取传感器网络的网络拓扑和网络中各个节点剩余能量情况,为簇建立创造条件;
(2)簇的建立:根据预先设定的簇头数使用重复分割法划分出传感器网络簇,保证剩余能量较大的节点成为簇头,完成成簇工作,并使簇内节点数基本相同以均衡网络节点负载;
(3)信息素浓度计算:每个被选为簇头的节点判断自身路由表中是否存在到所有邻居簇头的路由记录,路由表记录格式如图10所示,如果有,重新计算信息素浓度,使用新计算的信息素浓度、邻居节点剩余能量和距离Sink节点的跳数,更新此路由表记录;如果没有则创建新的路由表记录,并在此路由表记录中,填写邻居簇头节点标识、邻居节点剩余能量,链路信息素浓度和距离Sink节点的跳数;
(4)计算链路选择概率和信息传输:当有数据需要发送时,通过各个链路的信息素浓度计算选择各个链路的概率,依据此概率选择相应的链路进行数据传输;
(5)路由表更新和维护:根据链路传输数据情况和时间的推移,周期性更新路由表中各条链路的信息素浓度,进行路由表维护。
二.协议初始化
协议初始化的目的是为了让Sink节点获取传感器网络的网络拓扑和网络的剩余能量情况,以及节点知道自己距离Sink节点的跳数和邻居节点信息。主要步骤如下:
(1)Sink节点广播msg_qur查询信息,此信息的结构如图3所示;
(2)收到msg_qur查询信息的节点将距离Sink节点的跳数域的值加1,若收到多个则以跳数值最小的为准,然后广播数据包,结构如图4所示;并向msg_qur查询信息的源节点返回ack应答消息,消息结构如图5所示;如若收到邻居节点的应答消息,则向msg_qur查询信息中的源节点转发此应答消息;
(3)通过步骤(2),Sink节点得知网络中的节点到自身的位置,Sink节点根据ack消息获取网络中节点的个数n以及每个节点的剩余能量E
i,1≤i≤n,计算网络总能量
网络平均能量E
average=E
total/n;每个传感器节点知道自己的邻居节点,并知道邻居节点到Sink节点的跳数。
协议初始化工作为簇的建立奠定基础。
三.簇的建立
依据传感器网络预先设定的划分簇的数量,在协议初始化的基础上进行簇建立,主要过程如下:
(1)由Sink节点广播一个开始成簇信息,该信息包含本轮网络平均能量Eaverage信息,该数据包的格式如图6所示;
(2)网络中传感器节点收到Sink节点广播的成簇信息后,根据Ei-Eaverage>0来计算自己是否有竞选簇头的资格。如果大于零,则表示自己具有竞选簇头资格,从而将自身的status设置为cl_head_tentative;否则没有簇头竞选资格,则status置为ch_undecide;
(3)具有竞争簇头资格的节点广播竞争簇头数据包,宣布自己具有竞争簇头资格,该数据包的结构如图7所示。由Sink节点根据预先设定的划分簇的数量和具有竞争簇头资格的节点发出的竞选簇头数据包进行簇分割;
(4)采用TDMA机制,簇头节点给每个簇内节点分配一个时间片,节点按照分配时间片的先后顺序发送数据给簇头。
以上簇建立过程的主要流程如图8所示。
在簇建立的步骤(3)中的簇分割的主要步骤为:
(1)Sink节点从标记为cl_head_tentative的节点中选择距离最远的两个节点s1,s2;
(2)将剩余节点按就近原则分成s1,s2两个簇,两个簇内节点数量尽可能相同;
(3)在s1和s2两个簇内分别按照上面两个步骤进行划分,分割成更小的子簇;
(4)重复进行分割,直至达到预先设定的簇的个数。
以上描述的簇分割过程的主要流程如图9所示。
四.簇间路由
每个簇头节点均保存一张路由表,此路由表记录和它相邻簇头节点的链路信息,此表的单个条目如图10所示。簇间路由需要形成簇头节点的路由表、计算信息素浓度和计算选择链路的概率。
簇头节点的路由表形成方法:每个被选为簇头的节点判断自身路由表中是否存在到所有邻居簇头的路由记录,路由表记录格式如图10所示,如果有,重新计算信息素浓度,使用新计算的信息素浓度、邻居节点剩余能量和距离Sink节点的跳数更新此路由表记录;如果没有则创建新的路由表记录,并在此路由表记录中,填写邻居簇头节点标识、邻居节点剩余能量,链路信息素浓度和距离Sink节点的跳数;
信息素浓度的计算方法:簇头节点i和j之间的链路信息素浓度τij的计算方法是τij←(1-ρ)τij+a×energyα+lβ,式中ρ表示信息素的挥发量,α表示节点剩余能量在信息素中所占的比重,l是两簇头间的距离,β表示节点间距离在信息素中所占的比重。与蚁群算法类似,路径上的信息素会随着时间的推移而挥发。所以上面的公式是由两部分组成的。第一部分是实现一段时间内的信息素的挥发,初始时信息素浓度为0,挥发量也为0。第二部分是启发信息,是两簇头间的距离以及相邻簇头的剩余能量来计算簇头间的信息素浓度。
链路选择概率的计算方法:当某个簇头要发送数据时,根据路由表中与相邻簇头的信息素浓度,计算出各个相邻簇头被选择的概率。簇头i到相邻簇头j发送数据的概率为式中,N表示可以成为簇头i下一跳的簇头节点的集合。β1用来表示探索行为,β1越小表示各相邻节点概率越接近,探索能力越强,β1越大表示各相邻节点的概率相差越大,探索能力越弱,但路由收敛的也越快。
五.路由维护
路由维护主要包括链:路的信息素浓度的更新和随着簇头能量消耗过多引起的簇头变化。
信息素浓度更新:传输信息的多少和时间推移确定链路的信息素浓度,由蚁群算法的原理可知,路径上的信息素形成之后并不是一成不变的。当簇头节点i以一定的概率将数据发送到相邻簇头节点j后,节点i就会在它的路由表相应记录项中增加信息素浓度,这样在经过一段时间后,不经常使用的路径信息素浓度就会越来越小,被选择的概率就会越来越小,这需要Sink节点周期性的对全局的信息素浓度进行更新。此外,当节点死亡或是有新的节点加入时,均对信息素进行更新。更新信息素浓度的方法为:τij←(1-ρ)τij+a×energyα+lβ
簇头更换:由于簇头承担簇内数据融合、发送或转发数据到基站的任务,因此簇头消耗着比普通节点更多的能量。为了均衡网络负载,不让节点因能量耗尽而过早死去,采用轮换的方式担当簇头即簇内最大能量节点轮流担任簇头任务。当簇头变化的时候,旧簇头将自己的路由表复制到新的簇头。
六.示范性实例分析与相关工作比较
衡量传感器网络路由方法的最核心的指标是能量消耗。基于蚁群算法的传感器网络路由方法与LEACH算法的最大区别在于改进了簇头选举策略,以及借鉴蚁群算法,将其应用到簇间路由和路由维护中,通过折中考虑能量消耗及传输距离来延长网络生存时间。为了验证簇路由协议的有效性,从传感器网络的平均能量消耗以及存活的节点数对所提议的路由方法进行分析和仿真。使用的仿真工具为被业界公认的仿真工具NS2。
为了测试网络规模对路由协议的性能影响,设置了两种节点部署场景:
场景I:将100个节点随机分布在100×100m2的区域内;
场景II:将100个节点随机分布在200×200m2的区域内。
每个无线传感器节点的初始能量为2J,共进行3600秒,每20秒选举一次簇头。仿真时,设定网络中有一个信源和一个Sink节点,Sink节点距离最近的节点为75m。
基于蚁群算法的无线传感器网络路由方法和LEACH在平均能量消耗方面的比较如图11的(a)、(b)所示。
在场景I中,ACR的能量消耗较LEACH有所减小。这表明基于蚁群算法的无线传感器网络路由算法延长了网络的生命周期,同时使能量的消耗更加均匀地分布到所有节点中。这主要是因为基于蚁群算法的无线传感器网络路由算法通过将簇头节点较均匀的分布在整个网络中,从而均衡了网络的负载。并且簇内节点只采用一跳路由,簇头节点通过蚁群算法折中选择能量低和距离近的簇头将数据传输出去。这也会使得簇头节点每次传输的距离都比较近,节省了能量。而在LEACH算法中,所有簇头节点都会直接与远距离的Sink节点进行通信,这就会轮流引起簇头节点能量的显著下降。因此,本算法的平均能量消耗会较LEACH算法小。
在场景II中,随着网络场景的扩大,ACR的能量消耗较LEACH有明显减小。这是因为在大场景下,LEACH算法中的随机选举簇头以及簇头远距离传输的缺点进一步暴露,而基于蚁群算法的无线传感器网络路由算法经过多跳路由传输数据,所以对于大区域的网络具有更强的适应性。
基于蚁群算法的传感器网络路由方法和LEACH在节点存活数方面的比较如图12的(a)和(b)所示。
在场景I中,对于LEACH在进行到第160轮左右时,几乎已无节点存活,而基于蚁群算法的无线传感器网络路由方法依然有60个左右的节点存活,这就说明该算法很大程度上延长了整个网络的生存周期。这主要是因为本算法在簇头选举阶段就通过选举节点能量足够大的节点作为簇头,从而使得低能量节点能够延长它们的生命周期。此外,在簇间路由时,利用蚁群算法,将簇头节点的剩余能量加入信息素浓度的计算中,这样,选择下一跳节点时,通过一定概率选择能量较大的节点,从而避免了单一节点因能量消耗过大而过早死亡,延长了网络的生命周期。
在场景II中,基于蚁群算法的无线传感器网络路由算法的优势进一步得到了体现:LEACH在进行到第135轮左右时,几乎已无节点存活,而基于蚁群算法的无线传感器网络路由方法依然有90个左右的节点,这是因为在大场景环境下,LEACH算法形成的簇在很多情况下都无法达到最优化,这样使得簇内节点与簇头的通信距离加大,聚类内部的通信能量消耗也随之加大。另外,由于簇头与Sink节点的距离变远,簇头发送数据到Sink节点的能耗必然也会加大,这势必加速了节点的死亡。而在基于蚁群算法的无线传感器网络路由方法中,首先簇头节点不是直接与Sink节点通信的,再者,簇头在选择下一跳时,是通过计算包含距离与相邻簇头剩余能量的信息素浓度来以一定的概率进行的。因此,通过选择大能量的簇头作为下一跳,必然会使得节点的死亡率降低,从而延长了网络生命周期。
综上所述,基于蚁群算法的无线传感器网络路由算法在平均能耗、节点存活数以及延长网络生命周期方面较LEACH算法而言都表现出了良好的性能。此外,随着网络规模的扩大,本方法将表现出更好的性能,显示了良好的可扩展性。
符号说明:
WSN:无线传感器网络
LEACH:低开销自适应分层路由算法
ACR:基于蚁群算法的无线传感器网络路由方法
TEEN:感知门限低开销传感器网络路由
PEGASIS:感知信息系统的功率有效聚簇算法
TDMA:时分多址
MAC:介质访问控制
NS:网络仿真