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