CN102149160B - 一种用于无线传感网络的能量感知路由算法 - Google Patents
一种用于无线传感网络的能量感知路由算法 Download PDFInfo
- Publication number
- CN102149160B CN102149160B CN2011100996254A CN201110099625A CN102149160B CN 102149160 B CN102149160 B CN 102149160B CN 2011100996254 A CN2011100996254 A CN 2011100996254A CN 201110099625 A CN201110099625 A CN 201110099625A CN 102149160 B CN102149160 B CN 102149160B
- Authority
- CN
- China
- Prior art keywords
- node
- bunch
- energy
- head
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及一种用于无线传感网络的能量感知路由算法,包括以下步骤:(1)对无线传感网络实现基于蜂窝网络结构的二层分簇机制;(2)根据节点剩余能量和到单元格的中心距离动态选择簇头,形成一个处理并转发数据的骨干网络;其中,未担当簇头且未进行数据传输的节点进入休眠状态,担当簇头的节点对簇内节点进行管理;(3)使用受限的泛洪机制实现以汇聚节点为最终目标节点的路由的建立:簇间根据最小路径代价和簇头的剩余能量在簇头之间建立路由表,通过合理调整参数,使整个无线传感网络中的节点只需通过一次广播即可建立最佳路由。本发明可提高整个无线传感器网络的生命周期,从而满足对能量敏感的无线传感器网络的应用。
Description
技术领域
本发明涉及无线传感网络技术领域,特别是涉及一种用于无线传感网络的能量感知路由算法。
背景技术
典型的无线传感器网络由传感器节点(sensor node)、汇聚节点(sink node)和任务管理节点(用户)组成。节点任意散落在被监测区域内,除了感测特定的对象,还进行简单的计算并维持互相之间的网络连接。传感器网络具有自组织的功能,单个节点经过初始的通信和协商,形成一个信息传输网络。
路由算法负责将数据分组从源节点通过网络转发到目的节点,它主要包括两方面的功能:导找源节点和目的节点间的优化路径,将数据分组沿着优化路径正确转发。在转发的过程中还要考虑减少节点能量消耗及保持能量消耗的均匀性。
现有的路由算法都针对于网络的应用与构成进行研究,分为平面路由算法和分层路由算法。
1.平面路由算法:平面型路由协议是指在路由过程中,所有节点所处的地位是相同的,都按照相同的策略进行路由发现和数据转发。现有的平面型路由协议有能量多路径机制、定向扩散路由、谣传路由、地理位置路由、可靠路由等。
2.分层路由算法:分层型路由协议与平面型路由协议不同,传感器节点在网络中扮演不同的角色。最简单的分层型路由协议是两层协议。传感器节点按照一定的规则进行分簇,每个簇内选举产生一个簇头,簇头之间按照平面型路由协议形成路由路径,即主干网。非簇头节点有数据传输需求时,首先将数据转发给所在簇的簇头节点,由簇头节点通过主干网将数据传输到目的节点。分簇算法是分层路由协议的重要组成部分,常用的分簇算法有LEACH算法,GAF算法,TopDisc算法。
路由算法的任务是在传感器节点和汇聚节点之间建立路由,可靠的传递数据。由于传感器网络是资源受限的网络,因此路由算法的设计不能太复杂,不能在节点上保存太多信息,节点间不能交换太多报文等等。因此现有的路由算法无法满足对能量敏感的无线传感器网络的应用。
发明内容
本发明所要解决的技术问题是提供一种用于无线传感网络的能量感知路由算法,可提高整个无线传感器网络的生命周期,从而满足对能量敏感的无线传感器网络的应用。
本发明解决其技术问题所采用的技术方案是:提供一种用于无线传感网络的能量感知路由算法,包括以下步骤:
(1)对无线传感网络实现基于蜂窝网络结构的二层分簇机制;
(2)根据节点剩余能量和到单元格的中心距离动态选择簇头,形成一个处理并转发数据的骨干网络;其中,未担当簇头且未进行数据传输的节点进入休眠状态,担当簇头的节点对簇内节点进行管理;
(3)使用受限的泛洪机制实现以汇聚节点为最终目标节点的路由的建立:簇间根据最小路径代价和簇头的剩余能量在簇头之间建立路由表,通过调整参数,使整个无线传感网络中的节点只需通过一次广播即可建立最佳路由。
所述的步骤(1)和步骤(2)之间还包括对无线传感网络进行连通性维护的步骤。
所述的步骤(2)中包括以下子步骤:
(a)将簇内除进入休眠状态的节点外的所有节点均退避一个随机时间,该退避的随机时间长短根据与节点的剩余能量多少进行确定,节点剩余能量越多退避的随机时间越短,节点剩余能量越少退避的随机时间越长;
(b)若节点在退避时间内收到其他节点发送的本节点当选簇头报文,则确认发送该信号的节点为本簇内簇头的报文;若节点在退避时间内未收到其他节点发送的本节点当选簇头报文,则立即向其他节点广播本节点当选簇头报文,并宣布该节点为本簇内簇头。
所述的步骤(2)中进入休眠状态的节点在休眠时间到后被唤醒,被唤醒的节点向当前簇头发送当前簇头查询报文,簇头节点则用确认当前簇头查询报文应答该节点,该节点收到确认当前簇头查询报文后发送睡眠要求报文,如果收到簇头的睡眠确认报文则继续进入休眠状态,如果收到簇头否定睡眠报文则该节点准备数据传输。
所述的步骤(2)和步骤(3)之间还包括以下步骤:
(a)判断骨干网络是否建立,若建立则进入下一步骤,否则返回到步骤(2);
(b)判断选择的簇头是否发生故障,若发生故障则返回步骤(2),否则进入下一步骤;
(c)判断当前簇头能量是否降低至阈值或担当簇头的时间超过规定时间,若当前簇头能量降低至阈值或担当簇头的时间超过规定时间则返回步骤(2),否则进入下一步骤。
所述的步骤(3)中通过路由跳数、或通信能耗、或下一跳簇头节点的剩余能量参数进行调整对路由代价进行权衡。
有益效果
由于采用了上述的技术方案,本发明与现有技术相比,具有以下的优点和积极效果:
本发明在簇头选举时通过对传感器节点的能量测试和等级的划分,使得剩余能量相对较高的传感器节点在选举的过程中退避时间相对较短,这样可以确保接下去一轮中当选簇头的传感器节点的能量较为充足。在簇头选举完毕之后,对簇内的节点进行管理,为了能使得在有限的能量中尽量延长生命周期,引入了节点休眠机制。当本簇内节点均未执行任务时,簇头发送休眠信号,节点进入休眠状态。同时,簇头在定时的发送状态信号,以确保及时换醒处于休眠状态的节点,从而保证数据的正常传输。当簇头能量低于某阀值是,立即换醒节点,进行簇头重新选举,以使整个无线传感网络的生命周期延长。
本发明采用蜂窝网络结构的二层分簇机制,同时利用连通支配集的性质进行网络连通性的维护,通过对一些传感器节点的位置进行限定,解决路由算法在实际环境中“资源盲点”的问题。
本发明以有效利用传感器节点的能量为目标,利用二层分簇结构,有效的利用簇头的对节点的管理,且分别在簇内进行动态簇头选举并引入休眠机制和簇间的可靠路由两方面展开路由的研究。在对能量敏感的无线传感器网络上,实现了路由算法的原型,并对算法进行了有效的验证。
附图说明
图1是本发明中的增加Δ长度的蜂窝网络结构示意图;
图2是本发明蜂窝网络结构中的两个单元格结构示意图;
图3是本发明中簇头选举过程的网络状态转换图;
图4是本发明中退避时间取值与电压的情况示意图;
图6-图8是本发明中建立路由过程示意图;
图9-图11是本发明中路由代价更新过程示意图;
图12是农田环境监测系统的框架图。
具体实施方式
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
本发明涉及一种用于无线传感网络的能量感知路由算法,本算法针对无线传感网络工作的特点,将暂时不工作的节点进入休眠状态,从而达到节能效果,体现了是无线传感网络中各个节点能量均衡消耗,从而达到延长整个无线传感网络生命期的目标,满足对能量敏感的无线传感器网络(如农田环境监测系统、无人看守的防火、报警、温度采集等方面的无线传感器网络)的应用。
该算法的具体步骤如下:
(1)对无线传感网络实现基于蜂窝网络结构的二层分簇机制。
无线传感器网络是由众多具有通信和计算能力的传感器节点,以多跳通信、自组织方式形成的网络。由于传感器电池容量小,因此将无线传感器网络以蜂窝结构虚拟划分监测区域,提出改进的GAF算法。该算法通过适当增加单元格边长,使得单元格包含节点个数增加,在簇头选举过程中综合考虑节点的剩余能量和地理位置,充分利用单元格重叠区域中的中转节点实现簇头间的多跳路由。它有效地减少了无线传感器网络节点的平均能量消耗并延长了网络生命期,适用于大规模的无线传感器网络。
通过理论分析和仿真结论,当单元格内节点个数增加时,网络生命期会相应地延长。所以,在监测区域节点密度不变的情况下,可以通过增大单元格边长,使单元格包含更多节点,从而可以延长网络生命期。将蜂窝结构的六边形单元格边长由a6延长为a6+Δ,即增加Δ长度(Δ=a6/x,x>1),如图1所示,阴影部分表示单元格增大的面积。在图2中,阴影部分表示相邻单元格之间的重叠部分。假设无线传感器节点在二维监测空间内随机均匀分布,监测区域面积为S,节点总数为n。在原蜂窝结构中,每个单元格平均节点个数为提出的蜂窝结构中,单元格平均节点个数为在二维监测区域中,假设nmin是保证网络连通的平均每个单元格中的最小节点个数,相应的最小网络生命期为Tmin,如果在实际部署中,每个单元格的平均节点个数是n=β·nmin,则网络生命期为β·Tmin-ε),其中β为大于1的倍数,0<ε<<Tmin。那么通过将单元格边长增加Δ长度,网络生命期可以延长倍。适当增加单元格边长,能有效地延长网络生命期。
(2)骨干网的连通性,即无线传感网络进行连通性维护。
较多现有的传感器网络路由算法未能足够重视网络的连通性问题。尽管连通性不是路由算法关心的主要问题,但是它的保证是路由算法在实际应用环境中更有效用价值。在算法设计、理论分析和原型的实现中,其中原型的实现是非常重要的一部分。骨干网络连通性的保证使得原型的实现更有实际应用价值,也能更好地在有限的能量中有效的利用传感器节点的能量。
邻近簇内的各个传感器节点均处于各自的传输范围内,彼此之间可以相互直接通信是分簇区域划分的前提必要条件,倘若个别簇内无传感器节点,那么路由的过程将会出现通信空洞(communication holes),从而影响数据的传输通信。利用传感器节点地理位置信息和不利用传感器地理信息是目前构建骨干网络技术的两大类。前者以GAF算法为代表,后者以连通支配集(CDS,connected dominating set)拓扑结构为典型。对网络系统连通性的维护,使用了连通支配集拓扑结构和传感器节点的地理位置信息。
如果网络系统骨干网中传感器节点簇头构成k连通的子网,那么非骨干传感器节点簇头存在等于或大于k个骨干网络邻近簇头。k连通支配集是冗余度为k-1的连通支配集,当k=1时,退化为连通支配集。现已证明,k连通支配集的构建是NP-hard,其生成算法直接影响到容错骨干网络构建的优劣。在连通支配集拓扑结构中,骨干网节点构建的骨干网络至少满足单连通性质。现有研究着重讨论最小连通支配集的构建,即如何选出最少数量的骨干节点,构建连通支配集。
实现基于蜂窝网络结构的二层分簇机制以及对无线传感网络连通性的维护由分簇模块完成。因传感器节点随机分布,所以在分簇过程中以按等半径的正六形将监测区域划分为若干个六边形。由于形状较像蜂窝故称为蜂窝网络。采用二层分簇机制,普通传感器节点作为簇头的下层节点进行工作,而簇头和汇聚节点处于上层同一管理层,所以所有的普通节点所采集的信号先传送给本簇的簇头,由簇头节点将采集的数据最终传送至汇聚节点。同时利用连通支配集的性质进行网络连通性的维护,通过对一些传感器节点的位置进行限定,解决路由算法在实际环境中“资源盲点”的问题。
(3)动态簇头选举
将传感器网络区域划分为蜂窝网状簇结构之后,需要在各个小六边形簇内选举产生一个簇头传感器节点,负责簇内信心的收集和处理,同时形成一个处理并转发的数据骨干网。由此可见,簇头所担任的工作任务相对要较重,导致其消耗的能量远大于簇内的普通节点,如果不及时轮换可能导致簇头很快将能量消耗完毕。针对这种情况因此要以节点的剩余能量为选举重要指标,使得剩余能量较大的节点拥有较大的概率成为簇头节点,同时也能够实现簇头的自动轮换,以达到各传感器节点能量平稳降级,可以延长网络的生命周期。
在传统的GAF算法中,簇头是随机产生的,在改进的算法FULL和RANDOM中,在簇头选举阶段考虑了节点的剩余能量值,这种做法有利于均衡传感器节点能量消耗,延长网络生存时间。同时,由于在改进的蜂窝结构中,同一单元格的节点不再等价,节点在单元格中的位置将直接影响其能否成为簇头。因此,在簇头选举过程中,通过综合考虑节点的能量寿命和节点到单元格中心的距离来选择合适的簇头。
1.节点的剩余能量
在考虑一个节点能否充当簇头的时候,最重要的是看该节点是否具有较大的剩余能量。用Ci来表示节点的剩余能量,将节点能量分为m个等级,使得
2.节点到单元格中心的距离
在蜂窝结构中,当簇头处于单元格中心时,它与其他簇头之间通信所需要的能量消耗最小。所以,在实际监测环境中,选举的簇头离单元格中心距离越近,越能有效地使用能量,以达到节能的目的。用di来表示节点与其所在单元格中心间的距离,di≤a6’。
考虑以上两个参数,结合公式(1),可以计算无线传感器网络节点i的权值wi;
其中,假设无线传感器网络中的节点为同类节点,它们的初始能量等级均为C。w1和w2分别对应为两个参数的权值,且w1+w2=1。由公式(2)可以看出:节点i的剩余能量Ci越大,节点i到单元格中心的距离越小,节点i的权值wi越小,节点i成为簇头节点的概率越大。
根据对蜂窝结构的改进,相邻单元格之间会有重叠区域。一方面,由于增加了单元格边长,相邻簇头有可能不能直接通信;另一方面,根据无线信道的传输模型,数据包直线多跳传播的能量消耗小于直线单跳传播。基于以上两点分析,考虑将位于重叠区域的节点作为相邻簇头之间的中转节点,实现簇头之间的多跳路由。其中,中转节点的定义如下:若无线传感器节点位于改进蜂窝结构的相邻单元格之间重叠区域,称作无线传感器网络的中转节点。
在拓扑生成过程中,节点根据位置信息判断所属单元格。当节点i发现同时属于两个或三个单元格即位于这些单元格的重叠区域A时,向包含A的所有单元格g的簇头发送报文TRANS(A,g,ID,Ci),其中g为包含A的所有单元格编号,ID为中转节点的标识符,Ci为中转节点的剩余能量。簇头存储该信息,记录与之产生重叠的单元格编号及相关中转节点。在簇头传输监测信息时,选择中转节点向邻居簇头转发信息。
报文类型与约定。先将根据蜂窝网分簇区域给每个簇进行簇编号,簇内传感器节点记住自己所在簇的编号。传感器节点的地址用(簇号,簇内地址)表示,为了方便起见,传感器节点在簇内的地址用1,2,3......顺序编号。如:(1,5)即表示位该传感器节点所在位置为编号1号的分簇内,在簇内的标号为5号,根据编号很快就能得知该传感器节点的地理位置信息。在动态簇头选举过程中所涉及到的报文类型如下所示。
(1)KEEP_ALIVE
用于普通节点正常工作时与其所属的簇头节点之间的定时查询,若普通节点发送一定数量的KEEP_ALIVE报文后未收到簇头节点的回应,则认为簇头发生故障。
(2)KEEP_ALIVE_ACK
簇头节点对普通节点KEEP_ALIVE报文的回应。
(3)KEEP_ALIVE_NAK
普通节点收到KEEP_ALIVE报文后,若知道自己所属的簇的簇头节点信息,则在KEEP_ALIVE_NAK中包含此簇头的信息。
(4)REQ_CLUSTER_HEAD
节点启动后,广播REQ_CLUSTER_HEAD报文,要求当前簇头回应。
(5)REQ_CLUSTER_HEAD_ACK
簇头节点对普通节点REQ_CLUSTER_HEAD报文的回应,其中包含簇头节点的簇号和簇内地址。
(6)PREPARE_ELECT_HEAD
通知簇内其他节点,准备选举簇头。
(7)ELECT_HEAD
通知簇内其他节点,本节点当选为簇头。
(8)SLEEP_ACK
簇头同意簇内传感器普通节点进入休眠状态。
(9)SLEEP_NAK
簇头不同意簇内传感器普通节点进入休眠状态。
(10)SLEEP_REQ
传感器节点发送簇内传感器节点休眠请求。
簇头选举过程,簇内传感器节点在网络系统中,发生以下几种情况要进行动态选举簇头:
(1)网络系统刚刚启动时,还未建立起骨干网络时;
(2)簇头因某种原因发生故障(如;气候、地理位置等自然环境或人为破坏等情况引起的故障);
(3)当前簇头能量下降低至某阀值时或担当簇头时间超过规定时间时,应主动请求重新选举簇头。
(1)、(2)两种情况下的簇头选举的过程比较接近,仅在发起选举的过程略有不同。第(3)种情况则由当前簇头广播PREPAER_ELECT_HEAD报文,同时拒绝所有簇内传感器节点休眠请求SLEEP_REQ,并发送SLEEP_NAK信号,同时等待休眠最长时间Tmax以确保所有节点均处于唤醒状态,此时所有节点才重新进入选举状态。
表1 引发簇头选举的三种状态
簇头的选举过程如下:
◆当网络系统刚启动时或还未选举产生簇头时或簇内因种种原因簇头故障失效时,则传感器节点广播PREPARE_ELECT_HEAD报文并通知其它传感器节点进入等待簇头选举状态。
◆在选举簇头时即收到PREPARE_ELECT_HEAD报文时(由于广播所以时间接收到的时间误差可以忽略不计),该簇内除进入休眠状态的传感器节点外的其他所有的传感器节点均要退避一个随机时间t,依据能量的高低确定退避时间长短。若在传感器节点退避期间收到其它节点发送的ELECT_HEAD报文,则确认发送该信号的传感器节点为该簇簇头;若在其退避时间已过仍未收到来至其它传感器节点的发送过来的ELECT_HEAD报文,则立即向其它传感器广播ELECT_HEAD报文,并宣布该节点为本簇内簇头。
◆当传感器节点收到ELECT_HEAD报文以后,立刻向发送ELECT_HEAD报文的传感器节点发送KEEP_ALIVE报文,并更新本簇内当前状态的簇头信息。
结合上述内容和表1内容,绘制出簇头选举过程的网络状态转换图如图3所示。
在“正常工作”状态下,若传感器节点在无数据传输任务时应进入休眠状态,当休眠时间到时唤醒后立即向当前簇头发送KEEP_ALIVE报文进行当前簇头查询,簇头节点则用KEEP_ALIVE_ACK应答该节点,并且同时发送SLEEP_REQ,如果收到簇头SLEEP_ACK则继续进入休眠状态,如果收到簇头SLEEP_NAK则准备数据传输或其它任务。如传感器节点在承当其它任务时则定时向簇头发送KEEP_ALIVE报文进行当前簇头进行查询,也可以用KEEP_ALIVE_NAK报文回应其它普通节点的KEEP_ALIVE报文;如果出现暂时联系不上簇头处于“等待簇头回应”的状态时,普通节点可以多次发送REQUIRE_CLUSTER_HEAD报文直至收到簇头回应。当“等待簇头回应”超出等待最长时间时,立即向其它节点广播PREPARE_ELECT_HEAD报文,进入重新选举新簇头阶段。
退避时间的选择。随机退避时间t对簇头选举有至关重要的影响。应当以节点的剩余能量为准则,剩余能量大的节点具有较大概率成为簇头节点,并且能够实现簇头的自动轮换。设计的随机退避时间与节点的剩余能量有关:将节点当前的电池电压分为若干等级,属于同一压等级i的节点在同一时间范围内随机选择退避时间ti如图4所示。根据实验数据测得,利用MATLAB数据拟合得到函数ti的取值如下:
ti=Tistart+ωk
Tistart=2.53x2-57.26x+162.75
ti=2.53x2-57.26x+162.75+ωk
Tistart的取值如表2,ω为(0,1)之间的随机数,k为常数不妨取值10。如图4,剩余能量较多的节点的退避时间较短,以较高的概率成为下一轮的簇头节点,从而保证下一轮当选的簇头有较多的剩余能量。
例如,当前簇中有5个节点N1~N5,其中N2为簇头,各节点电压初始值如表3。网络运行一段时间后,各节点能量均有所下降(且N2下降的比较多),簇头N2广播PREPAER_ELECT_HEAD报文,所有节点重新进入选举状态。根据各节点当前状态,能量最高的节点N5获得最短退避时间,即16s后,N5首先在簇内广播ELECT_HEAD报文,宣布自己当选。其余节点收到ELECT_HEAD报文后立即向N5发送KEEP_ALIVE报文,并将当前的簇头由N2修改为N5。N5工作一段时间且能量下降后,将引起新一轮的簇头选举,使得当前剩余能量最大的节点当选为下一轮簇头。
表3
节点 | 初始(V) | T时刻后(v) | 退避时间(S) | 选举后 |
N1 | 2.83 | 2.73 | 24 | N1 |
N2(簇头) | 3.24 | 2.66 | 35 | N2 |
N3 | 2.65 | 2.53 | 41 | N3 |
N4 | 2.42 | 2.35 | 48 | N4 |
N5 | 3.16 | 3.00 | 16 | N5(簇头) |
簇头的选举由簇头选举模块完成。通过对传感器节点的能量测试和等级的划分,使得剩余能量相对较高的传感器节点在选举的过程中退避时间相对较短,这样可以确保接下去一轮中当选簇头的传感器节点的能量较为充足,同时能够实现簇头自动轮换。在期间各传感器节点将进行不同状态的转换,比如:当无数据传输时节点进入休眠状态,节点的正常工作,节点启动时寻找本簇簇头,以及所有节点唤醒状态进入退避状态并等待新一轮的簇头选举和当选簇头的通知。
(4)休眠机制
休眠机制主要是指当节点周围没有感兴趣的事件发生时,即未进行数据传输或承担簇头时,数据处理与通信模块均处于空闲状态,把这部分模块进行关闭电源或调到更低能耗的状态便进入休眠状态,休眠机制对延长传感器节点的生存周期起到积极的作用。
图5为节点状态转换图,节点k在t1时刻完成了事件的处理,能耗为P0,下一个事件发生在t2时刻,t2=t1+ti,于是节点k决定转换到睡眠状态Sk,睡眠状态的能耗为Pk,设从活动状态到Sk的时间为τd,k,从Sk到活动状态的转换时间为τu,k,那么状态转换节约的能量为:
节点进入休眠状态由休眠模块完成。当簇头选举完毕之后,簇头承担起对簇内的节点进行管理,为了能使得在有限的能量中尽量延长生命周期,其中一项就是对节点休眠状态的管理。当本簇内节点均为执行任务时,簇头发送休眠信号,节点进入休眠状态。同时,簇头在定时的发送状态信号,以确保及时唤醒节点,从而保证数据的正常传输。当簇头能量低于某阀值是,立即换醒节点,进行簇头重新选举。
(5)簇间多跳路由的建立
簇头的选举是为了更好形成一个处理并转发数据的骨干网络。簇间路由模块使用受限的泛洪机制实现以汇聚节点为最终目标节点的路由的建立:簇间根据最小路径代价和簇头的剩余能量在簇头之间建立路由表,通过合理调整参数,整个网络中的节点只需通过一次广播即可建立最佳路由;通过对不同参数的调整,可以对路由代价进行不同情况下的权衡(如路由跳数、通信能耗、下一跳簇头节点的剩余能量等)。
报文类型与约定
(1)INTEREST_PRO
由汇聚节点发出的兴趣扩散报文,该报文含有源节点的路由代价、当前的剩余能量、位置信息和兴趣扩散报文的标识(丢弃已收到的兴趣扩散报文,防止报文在网络中循环转发)。其经过的每个簇头节点对其进行转发,并根据其中的代价信息建立路由表。
(2)ROUTE_UPDATE
每次进行兴趣扩散后,路由信息会发生变化。簇头节点在每次更新路由表后,在簇内进行ROUTE_UPDATE报文的广播,通告路由信息和兴趣扩散报文的标识,普通节点收到后只作记录,但不使用这两个数据;一旦该普通节点成为簇头,则立即使用这两个数据,保持路由信息的同步。从而避免了簇头更换后路由信息丢失,导致重新兴趣扩散、建立路由表引起的额外开销。
骨干网路由的形成。在兴趣消息的传播过程中,本算法采用退避机制和受限的泛洪机制进行路由代价的通告,逐跳地在每个簇头节点上建立反向的从数据源到汇聚节点的最小代价路由。采用退避通告方式是为了避免节点多次广播自身的非最优代价,从而减少广播的报文数量。
汇聚节点的初始代价为0,其余节点为∞。汇聚节点利用无线信道广播包含自身代价的INTEREST_PRO报文,该报文在网络中受控地扩散:当节点i从节点j接收到包含j代价的INTEREST_PRO报文时,已建立一条由汇聚节点到j的路径,代价为Cj+cost(i,j),其中Cj为节点j到汇聚节点的代价,cost(i,j)为节点i至j的链接上代价函数,该代价可以代表路径的跳数、通信能耗或者综合考虑路径上的能量消耗和节点的剩余能量,见式(3.5)。设当前节点i到汇聚节点的代价为Ci,如果Cj+cost(i,j)<Ci,则Ci被赋予新值Cj+cost(i,j),将其路由表中的下一跳记作节点j,并启动一个退避定时器。当定时器溢出时节点i将广播包含Ci的INTEREST_PRO报文;如果Cj+cost(i,j)>Ci,不做任何动作。
节点通过将侦听到的INTEREST_PRO报文中的代价与自身代价相比较,建立最优路径。节点的退避时间应与其路由代价成正比,取决于延迟时间系数x,通过合理设置x的值,每个簇头节点可只通过一次广播就在整个区域建立起最优代价路径。以下假设x=10ms,并给出建立最优代价路由的一个示例。
(1)图中节点i、j和k均位于各自的通信范围内,已建立路由表的节点标有阴影线,尚未获得路由信息的节点为白色。初始,节点i的代价为Ci,j和k则为∞,在t时刻,i发出的INTEREST_PRO报文被j和k接收,j和k根据该报文中节点i的能量与位置信息分别计算出cost(i,j)=2.5,cost(i,k)=5。j将其代价Cj设为Ci+2.5,退避定时器设为x*2.5=25ms后超时;同样,k将代价Ck设为Ci+5,退避定时器设为50ms后超时(见图6);
(2)t+25时刻,j的退避定时器超时,j将其下一跳节点记为i并广播含有其代价Cj的INTEREST_PRO报文。当k接收到该报文后计算得cost(j,k)=1,由于Ck=Ci+5>Cj+1=Ci+3.5,k将路由代价更新为Cj+1,退避定时器设为10ms后超时;当i收到该消息时由于Cj>Ci,i将该消息丢弃(见图7);
(3)t+35时刻,k的退避定时器超时,k将其下一跳节点记为j并广播含有其代价Ck的INTEREST_PRO报文(见图8)。
(6)数据传输与路由维护
当传感器节点采集到与兴趣匹配的数据时,节点沿着路由表中的下一跳节点,将所需的数据逐跳地发向汇聚节点。在数据的传输过程中,通过接收方对数据的应答ACK进行对数据流的控制,表明该DATA报文是否被正确接收;同时该ACK报文还包含当前接收方的剩余能量与节点之间的路由代价,ACK报文的接收方可以通过这些参数重新计算节点之间的路由代价,并进行必要的路由更新。这种路由信息的piggyback机制对减少路径选择和路由表更新的开销有重要意义。
报文类型与约定。本节中用到的报文类型主要有DATA和ACK,其各自的作用如下:
(1)DATA
传感器节点采集到的兴趣数据,其中的TYPE域表明该数据的类型。汇聚节点在收到兴趣数据后,根据该域对不同的数据进行分类。
(2)ACK
接收方对DATA报文的发送节点的应答,该报文一方面向数据的发送方告知DATA报文是否正确到达目的节点,另一方面包含了接收方节点当前的剩余能量、路由代价与位置信息,发送节点可以据此计算并更新节点之间的路由代价。
数据传输与路由代价更新。在数据传输的同时进行路由代价的更新,使得节点能够选择当前路由代价较小的节点作为路由表中的下一跳节点,这种动态路由更新的方法避免了汇聚节点进行定期的兴趣扩散以重新建立新路由,避免了由于新一轮的兴趣扩散导致的数据传输过程中路由信息的不一致。以下给出路由代价更新的一个示例,图中仍假设节点i、j和k均位于各自的通信范围内。
(1)节点k向路由表中的下一跳节点j发送DATA报文,节点j在正确收到该报文后返回ACK,其中包含j的路由代价Cj=Ci+2.5、剩余能量与位置信息。由于节点j的能量降低较快,节点k根据式(3.5)计算得cost(j,k)=2.8,因此经过节点j的路由代价发生变化:Ck=Cj+2.8=Ci+5.3(见图9);
(2)由于节点i同样位于节点k的通信范围内,它同时也收到节点k发送的DATA报文并返回ACK,其中包含路由代价Ci和剩余能量等信息。节点k根据式(3.5)计算得cost(i,k)仍为5,经过节点i的路由代价为Ck’=Ci+5(见图10);
(3)由于Ck>Ck’,因此节点k将下一跳节点更新为i,新的路由代价为Ck=Ci+5(见图11)。
簇间多跳路由的建立和数据传输与路由维护采用簇间路由模块完成。该模块主要完成和实现在各簇头之间形成一条多跳的数据转发骨干网络,并在簇头数据传输的同时进行动态的路由维护。首先,汇聚节点发起兴趣扩散的过程,使用受限的泛洪机制实现可靠路由:簇间根据最小路径代价和簇头的剩余能量在簇头之间建立路由表;当网络中的节点采集到应用相关的数据后,沿着建立的最小代价路径反向路由至汇聚节点,并使用piggyback机制更新当前的路由代价、实时修改路由表。
本发明从分簇结构、动态簇内选举、节点休眠和簇间多跳路由方面详细讨论能量敏感的路由算法的设计,其中详细说明了基于蜂窝网络结构的二层分簇机制、网络连通性的维护、节点休眠及状态转换、节点能量等级确定、骨干网络形成与数据传输。该路由算法体现了是网络中各个节点能量均衡消耗,从而达到延长整个网络的生命期目标。
以下以农田环境监测系统为例进一步说明本发明。
农田环境监测系统的框架如图12所示。在已经提供基础API的前提下,农田环境监测系统的主要贡献是动态簇头选举、簇间多跳路由和应用层温度监控三方面,如图12中簇间多跳路由、动态簇头选举和节点休眠之前有所说明,在此不再赘述。另外,载波多路侦听/冲突避免技术(CSMA/CA,Carrier Sense Multiple Access with Collision Avoidance)的作用是减少数据的传输碰撞和重试发送,防止各站点无序地争用信道。监控中心主要用于汇聚节点向其它传感器节点征询状态或传感器节点向汇聚节点报告状态。这二者均是本算法实现的基础与前提。
在路由选择时,首先汇聚节点发起兴趣扩散过程,中间节点逐跳的建立路由表,各簇头节点形成一个优化的骨干网。通过节点间路由信息的实时更新和路由代价的piggyback机制,簇头节点间可动态的维护优化的骨干网,。这样的维护减少了汇聚节点进行定期兴趣扩散的开销,节省了不必要的能量消耗,也使网络更具灵活性。
本算法以有效利用传感器节点的能量为目标,利用二层分簇结构,有效的利用簇头的对节点的管理。且分别在簇内进行动态簇头选举并引入休眠机制和簇间的可靠路由两方面展开路由的研究。在农田环境监测系统上,实现了路由算法的原型,并对算法进行了有效的验证。
Claims (5)
1.一种用于无线传感网络的能量感知路由算法,其特征在于,包括以下步骤:
(1)对无线传感网络实现基于蜂窝网络结构的二层分簇机制;
(2)根据节点剩余能量和到单元格的中心距离动态选择簇头,形成一个处理并转发数据的骨干网络;其中,未担当簇头且未进行数据传输的节点进入休眠状态,担当簇头的节点对簇内节点进行管理;所述的步骤(2)中包括以下子步骤:
(a)将簇内除进入休眠状态的节点外的所有节点均退避一个随机时间,该退避的随机时间长短根据与节点的剩余能量多少进行确定,节点剩余能量越多退避的随机时间越短,节点剩余能量越少退避的随机时间越长;
(b)若节点在退避时间内收到其他节点发送的本节点当选簇头报文,则确认发送信号的节点为本簇内簇头的报文;若节点在退避时间内未收到其他节点发送的本节点当选簇头报文,则立即向其他节点广播本节点当选簇头报文,并宣布该节点为本簇内簇头;
(3)使用受限的泛洪机制实现以汇聚节点为最终目标节点的路由的建立:簇间根据最小路径代价和簇头的剩余能量在簇头之间建立路由表,通过调整参数,使整个无线传感网络中的节点只需通过一次广播即可建立最佳路由。
2.根据权利要求1所述的用于无线传感网络的能量感知路由算法,其特征在于,所述的步骤(1)和步骤(2)之间还包括对无线传感网络进行连通性维护的步骤。
3.根据权利要求1所述的用于无线传感网络的能量感知路由算法,其特征在于,所述的步骤(2)中进入休眠状态的节点在休眠时间到后被唤醒,被唤醒的节点向当前簇头发送当前簇头查询报文,簇头节点则用确认当前簇头查询报文应答该节点,该节点收到确认当前簇头查询报文后发送睡眠要求报文,如果收到簇头的睡眠确认报文则继续进入休眠状态,如果收到簇头否定睡眠报文则该节点准备数据传输。
4.根据权利要求1所述的用于无线传感网络的能量感知路由算法,其特征在于,所述的步骤(2)和步骤(3)之间还包括以下步骤:
(a)判断骨干网络是否建立,若建立则进入下一步骤,否则返回到步骤(2);
(b)判断选择的簇头是否发生故障,若发生故障则返回步骤(2),否则进入下一步骤;
(c)判断当前簇头能量是否降低至阈值或担当簇头的时间超过规定时间,若当前簇头能量降低至阈值或担当簇头的时间超过规定时间则返回步骤(2),否则进入下一步骤。
5.根据权利要求1所述的用于无线传感网络的能量感知路由算法,其特征在于,所述的步骤(3)中通过路由跳数、或通信能耗、或下一跳簇头节点的剩余能量参数进行调整对路由代价进行权衡。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100996254A CN102149160B (zh) | 2011-04-20 | 2011-04-20 | 一种用于无线传感网络的能量感知路由算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100996254A CN102149160B (zh) | 2011-04-20 | 2011-04-20 | 一种用于无线传感网络的能量感知路由算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102149160A CN102149160A (zh) | 2011-08-10 |
CN102149160B true CN102149160B (zh) | 2013-10-30 |
Family
ID=44423088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011100996254A Expired - Fee Related CN102149160B (zh) | 2011-04-20 | 2011-04-20 | 一种用于无线传感网络的能量感知路由算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102149160B (zh) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102355753B (zh) * | 2011-11-15 | 2014-01-01 | 江南大学 | 基于无线传感器网络的博物馆环境监测系统 |
CN102970223B (zh) * | 2012-07-12 | 2016-05-18 | 北京工商大学 | 具有退避机制的Epidemic路由方法 |
CN102802231A (zh) * | 2012-08-14 | 2012-11-28 | 中国电子科技集团公司第五十四研究所 | 适用于传感器网络电磁频谱监测系统的高效能量感知路由方法 |
CN102857990B (zh) * | 2012-09-29 | 2015-08-12 | 苏州贝尔塔数据技术有限公司 | 面向高速节点自组网的三级树形结构令牌双簇首分簇方法 |
CN103024814B (zh) * | 2013-01-09 | 2015-06-24 | 中国人民解放军理工大学 | 一种基于冗余控制和分簇路由的无线传感网节能方法 |
CN103188758B (zh) * | 2013-03-25 | 2015-09-02 | 电子科技大学 | 一种无线传感网络的节能方法 |
CN103152434A (zh) * | 2013-03-27 | 2013-06-12 | 江苏辰云信息科技有限公司 | 一种分布式云系统中的领导节点更替方法 |
CN103228024B (zh) * | 2013-05-09 | 2015-06-03 | 中国科学技术大学苏州研究院 | 雾霾气候环境监测网络基于能耗均衡的数据路由方法 |
CN104284402B (zh) | 2013-07-09 | 2018-11-13 | 南宁富桂精密工业有限公司 | 无线传感器网络的电量调度方法及控制装置 |
CN103906108B (zh) * | 2014-03-25 | 2017-06-20 | 北京邮电大学 | 网络结构调整方法、汇聚节点和管理节点 |
CN104469903B (zh) * | 2014-11-12 | 2018-07-10 | 成都理工大学 | 一种基于无线传感网络中数据存储减少数据冗余的方法 |
CN104378812B (zh) * | 2014-11-28 | 2017-09-29 | 北京农业信息技术研究中心 | 农田自组织网络可再生能源节点差异化拓扑控制方法 |
CN104581901B (zh) * | 2014-12-03 | 2018-12-04 | 武汉企鹅能源数据有限公司 | 一种用于能源监测的分簇式数据网络建立和传输方法 |
CN104936230B (zh) * | 2015-06-15 | 2018-07-20 | 华侨大学 | 一种基于簇头期望的无线传感器网络能量均衡路由优化方法 |
CN105072661A (zh) * | 2015-07-15 | 2015-11-18 | 国家电网公司 | 无线传感器网络分簇多跳路由协议 |
CN105472690B (zh) * | 2015-11-18 | 2018-07-24 | 北京邮电大学 | 一种能量感知型分布式分簇路由协议设计方法 |
CN105721296A (zh) * | 2016-02-23 | 2016-06-29 | 重庆邮电大学 | 一种提高链状结构的ZigBee网络稳定性的方法 |
CN106027648A (zh) * | 2016-05-20 | 2016-10-12 | 天津恒威先创科技发展有限公司 | 一种基于电影院观众人数管理系统的检票方法及检票系统 |
CN106060888B (zh) * | 2016-05-26 | 2019-04-16 | 南京理工大学 | 一种基于复杂网络中心性的vanet分簇路由方法 |
CN106254146B (zh) * | 2016-09-07 | 2019-09-10 | 上海市信息网络有限公司 | 一种大规模无线传感器网络拓扑发现方法及系统 |
CN106535137B (zh) * | 2016-10-13 | 2019-12-13 | 天津光电华典科技有限公司 | 无线网络中链路数据传输控制方法 |
CN106454985A (zh) * | 2016-11-28 | 2017-02-22 | 陕西尚品信息科技有限公司 | 一种应用于无线自组织网络的分层级路由方法 |
CN107613542B (zh) * | 2017-09-01 | 2021-04-27 | 天津大学 | 一种使用能量收集提高协作网络物理层安全的方法 |
CN108064063A (zh) * | 2017-12-26 | 2018-05-22 | 江苏金陵机械制造总厂 | 一种基于能量距离比的传感网路由实现方法 |
CN108867608A (zh) * | 2018-07-03 | 2018-11-23 | 深圳众厉电力科技有限公司 | 建筑基坑沉降实时监测系统 |
CN109115988A (zh) * | 2018-08-02 | 2019-01-01 | 梧州市兴能农业科技有限公司 | 农田土壤质量无线传感器网络监测装置 |
CN109120456B (zh) * | 2018-09-06 | 2019-06-14 | 江苏佳源科技有限公司 | 配电设备状态智能监测系统 |
CN109361599B (zh) * | 2018-11-06 | 2021-05-18 | 北京邮电大学 | 一种基于簇的协作包传输方法 |
CN112929594B (zh) * | 2019-12-06 | 2023-08-08 | 中兴通讯股份有限公司 | 自组网级联方法、音频采集设备、会议系统、存储介质 |
US11431518B2 (en) | 2020-02-13 | 2022-08-30 | Cisco Technology, Inc. | Localized multicast in a low power and lossy network based on rank-based distance |
CN113473402B (zh) * | 2020-03-30 | 2023-06-16 | 中国科学院沈阳自动化研究所 | 一种面向认知无线传感网的稳定分簇路由方法 |
CN112469100B (zh) * | 2020-06-10 | 2023-03-31 | 广州大学 | 基于可充电多基站式无线异构传感器网络的分层路由算法 |
CN112887947B (zh) * | 2021-01-14 | 2021-12-03 | 南通大学 | 一种双层区块链的蓝牙Mesh分簇组网方法 |
CN113179544B (zh) * | 2021-04-26 | 2022-09-09 | 国网四川省电力公司经济技术研究院 | 一种应用于电力物联网的无线传感分簇路由簇头选择方法 |
CN115038139A (zh) * | 2022-05-16 | 2022-09-09 | 上海事凡物联网科技有限公司 | 一种适用于野外环境下使用的无线传感器网络 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101094131A (zh) * | 2006-06-21 | 2007-12-26 | 中兴通讯股份有限公司 | 一种基于博弈论的无线传感器网络分层式路由选择方法 |
CN101267391A (zh) * | 2008-03-27 | 2008-09-17 | 上海交通大学 | 基于不均匀分簇的无线传感器网络拓扑控制方法 |
CN101360051A (zh) * | 2008-07-11 | 2009-02-04 | 西安电子科技大学 | 一种能量高效的无线传感器网络路由方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100943178B1 (ko) * | 2007-12-17 | 2010-02-19 | 한국전자통신연구원 | 무선 센서 네트워크에서의 라우팅 및 자원 할당 방법 |
-
2011
- 2011-04-20 CN CN2011100996254A patent/CN102149160B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101094131A (zh) * | 2006-06-21 | 2007-12-26 | 中兴通讯股份有限公司 | 一种基于博弈论的无线传感器网络分层式路由选择方法 |
CN101267391A (zh) * | 2008-03-27 | 2008-09-17 | 上海交通大学 | 基于不均匀分簇的无线传感器网络拓扑控制方法 |
CN101360051A (zh) * | 2008-07-11 | 2009-02-04 | 西安电子科技大学 | 一种能量高效的无线传感器网络路由方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102149160A (zh) | 2011-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102149160B (zh) | 一种用于无线传感网络的能量感知路由算法 | |
US7729285B2 (en) | Energy-efficient network protocol and node device for sensor networks | |
Vidhyapriya et al. | Energy aware routing for wireless sensor networks | |
Misra et al. | Policy controlled self-configuration in unattended wireless sensor networks | |
CN104320796A (zh) | 基于leach协议的无线传感器网络数据传输方法 | |
CN101217381A (zh) | 基于跨层的无线传感器网络节能方法 | |
CN102395173A (zh) | 环境监测物联网感知层能量高效利用的成簇方法 | |
CN102651898A (zh) | 异步传感器网络中时延受限且能量高效的在线路由方法 | |
CN102438298B (zh) | 一种可信的无线传感网数据节能汇聚方法 | |
CN105323818A (zh) | 基于网络区域划分和距离的节能分簇路由方法 | |
CN102843758B (zh) | 无线传感器网络内节点间数据节能传输的方法 | |
CN104301965A (zh) | 一种无线传感器网络非均匀分簇节点调度方法 | |
CN103209455A (zh) | 一种基于节点位置信息的无线传感网路由方法 | |
CN101835099B (zh) | 基于分簇与rrep广播的大规模传感器网络路由方法 | |
CN108566664A (zh) | 一种分布式高能效的wsn分簇路由优化方法 | |
CN103327653A (zh) | 基于睡眠调度和覆盖补偿的覆盖保持方法 | |
Munusamy et al. | Role of Clustering, Routing Protocols, MAC protocols and Load Balancing in Wireless Sensor Networks: An Energy-Efficiency Perspective | |
CN100486195C (zh) | 无线自组网的节能方法 | |
Xuegong | A control algorithm based on double cluster-head for heterogeneous wireless sensor network | |
CN102983948B (zh) | 一种无线传感网络自适应聚类传输方法及其装置 | |
Azim et al. | Hybrid LEACH: A relay node based low energy adaptive clustering hierarchy for wireless sensor networks | |
Atero et al. | A low energy and adaptive routing architecture for efficient field monitoring in heterogeneous wireless sensor networks | |
Bhasgi et al. | Energy and target coverage aware technique for mobile sink based wireless sensor networks with duty cycling | |
Patil et al. | A novel AEB-AODV based AADITHYA cross layer design hibernation algorithm for energy optimization in WSN | |
Aziz et al. | A new improved algorithm of leach protocol for wireless sensor networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20131030 Termination date: 20160420 |
|
CF01 | Termination of patent right due to non-payment of annual fee |