专利名称:基于自适应退避策略的无线传感器网络分布式分簇方法
技术领域:
本发明涉及一种基于自适应退避策略的无线传感器网络分布式分簇方法,特别适用于无线传感器网络的自组织、分层路由管理以及网络拓扑构建。
背景技术:
随着通信技术、嵌入式计算技术和传感器技术的飞速发展和日益成熟,具有感知能力、计算能力和通信能力的微型传感器开始在世界范围内出现。由这些微型传感器构成的传感器网络引起了人们的极大关注。这种传感器网络综合了传感器技术、嵌入式计算技术、分布式信息处理技术和通信技术,能够协作地实时监测、感知和采集网络分布区域内的各种环境或监测对象的信息,并对这些信息进行处理,获得详尽而准确的信息,传送到需要这些信息的用户。传感器网络可以使人们在任何时间、地点和任何环境条件下获取大量详实而可靠的信息。因此,这种网络系统可以被广泛地应用于国防军事、国家安全、环境监测、交通管理、医疗卫生、制造业、反恐抗灾等领域。传感器网络是信息感知和采集的一场革命。传感器网络作为一个全新的研究领域,在基础理论和工程技术两个层面向科技工作者提出了大量的挑战性研究课题。
无线传感器网络因为不依赖于固定的基础设施,所以网络节点要求具有自组织的能力。一个节点进入工作区域之后,它只能依赖于媒体接入层和物理层所能提供的有限的机制获得周围一跳(one-hop)邻居的信息,对全网的拓扑结构信息将一无所知。这时候需要有一个方法将这些分散的节点有效地组织起来,为整个系统的运行构建拓扑基础,协调一致来完成某一个特定的任务。分簇算法是目前公认的一种有效的自组织方法节点通过约定的协议选举出各自的“簇首”,从而将网络划分成簇,簇首管理簇内的普通节点,簇首之间通过信息交互完成全网拓扑的构建。同时,分簇算法还可以帮助完成路由选择、资源管理以及数据融合等功能。目前代表性的分簇算法有LEACH(Low Energy AdaptiveClustering Hierarchy)和HEED(Hybrid Energy-Efficient Distributed Clustering)等。
LEACH算法是一种针对无线传感器网络特点的分布式分簇算法(“AnApplication-specific Protocol Architecture for Wireless Microsensor Networks”,W.B.Heinzelman,A.P.Chandrakasan,H.Balakrishnan,IEEE Tran.On WirelessCommunications,Vol.1,No.4,pp.660-670,Oct.2002.)。LEACH是完全分布式的,节点只依靠本地信息决定自身的“角色”是簇首还是普通节点,算法具有O(l)的时间复杂性。LEACH的随机簇首选举方法简单,易于实现。同时它也考虑了负载均衡问题,在最近的轮次中已经成为簇首的节点将没有机会在这个工作周期(cycle)中再次成为簇首。正是因为LEACH具有以上的特点,它成为了目前应用最为广泛的无线传感器网络分簇算法,同时也是一个检验其它分簇算法的基准。
尽管LEACH的初衷是均摊系统的负荷,但仿真结果显示LEACH会导致某些节点过早地耗尽电池能量。经过分析,有两个原因可以解释这个现象●由于LEACH算法簇首产生的随机性,会导致产生簇首的分布不均,使得某些节点的附近没有簇首存在而被迫与远方的基站直接通信。长距离的通信将会极大地消耗节点有限的电池能量,从而导致某些节点过快地耗尽电池能量而“死亡”。
●LEACH决定节点的“角色”并没有考虑节点的剩余电池能量,这样的负载均衡策略是不完备的。
HEED算法是另外一种无线传感器网络分簇算法(“Distributed Clustering inAd-hoc Sensor NetworksA Hybrid,Energy-efficient Approach”,O.Younis,and S.Fahmy,Proc.of IEEE INFOCOM2004,USA)。HEED指出延长生存时间和负载平衡是传感器网络中两个最重要的需求,并通过将能量消耗分布在整个网络上来延长网络生存时间。选择簇首依据主次两个参数,主参数依赖于剩余电池能量,用于随机地选取初始簇首集合,次参数依赖于簇内通信代价,用于确定落在多个簇范围内的结点属于哪个簇。该协议的改进主要在于,在簇首选择中考虑了结点的剩余能量,并以主从关系引入了多个约束条件作用于簇首的选择过程。
尽管HEED算法弥补了LEACH算法的某些不足,但是它会带来额外的系统能耗在簇首选举阶段,算法要求每个传感器节点必须广播簇内通信代价,对于一个大规模的网络来说这个过程将会消耗巨大的系统能量,从而缩短网络的生命。
发明内容
本发明的目的在于针对现有技术的不足,提出一种基于自适应退避策略的无线传感器网络分布式分簇方法,能有效地实现网络的负载均衡,延长系统生命并提高系统的能耗效率。
为了实现这一目的,本发明的基于自适应退避策略的分布式分簇方法中,利用节点剩余电池能量均衡系统的负载,并且通过调节算法的相关参数来保证所产生的簇首分布均匀。首先从节点的剩余能量入手,每个节点根据剩余电池能量自适应地设置定时器,当定时到达时,节点自动成为“簇首”并广播消息,而其相邻节点选择加入这个簇成为“普通节点”。当最大簇形成时间到达时,所有没有决定自己角色的节点自动成为“簇首”。由此,整个网络被划分为“簇首”和“普通节点”,形成层次性的管理体系。
本发明的方法包括如下具体步骤1、在簇形成阶段,所有节点首先处于“等待”状态,维护一个在区间
上均匀分布的随机变量。由系统预先设定的参数λmax(最大唤醒速率)、λmin(最小唤醒速率)和Emax(节点最大电池能量)以及当前节点剩余电池能量Eiresidual生成节点的唤醒速率λiλi=λmin+(λmax-λmin)EresidualiEmax]]>2、取系统当前时间tcurrent,并由节点的唤醒速率λi按照负指数分布设置节点的定时器ti,并自适应调整定时长度,即ti=tcurrent+min(-(1/λi)ln(xi/λi),TCF)其中TCF是系统预先设定的最大簇形成时间。
3、当某个节点的定时到达时,选举自己成为“簇首”并且广播“簇首”状态消息通知相邻节点。当定时没有到达时,节点维持“等待”状态。
4、节点在“等待”状态时,如果接收到相邻节点的“簇首”状态消息,就停止计时,标记自己为“普通节点”并加入到这个簇,同时广播“加入”消息,告知相邻节点自己的选择。如果同时接收到多个“簇首”状态消息,则使用节点标识或者与簇首的距离来选择加入某一个簇。如果没有接收到“簇首”状态消息,节点继续维持“等待”状态;5、节点在“等待”状态时,如果接收到相邻节点的“加入”消息,则记录下这个消息。如果所有相邻节点在最大簇形成时间TCF到达之前都已经决定了自己的“角色”,则停止计时,标记自己为簇首,并广播“簇首”状态消息通知相邻节点;6)当最大簇形成时间TCF到达时,所有没有决定自己“角色”的节点自动成为簇首。最终整个网络被划分为“簇首”和“普通节点”,形成层次性的管理体系,完成无线传感器网络的分布式分簇。
本发明根据节点剩余电池能量,自适应地调整节点的“唤醒”时间,有效实现了系统的负载均衡并保证了所产生簇首的均匀分布。仿真结果显示,本发明能够减少节点被迫与基站通信的次数,延长网络生命,并提高了能耗效率。方法简单,易于实现,并且有严格的时间上限和线性的消息复杂性,这些良好的性能大大增加了它的应用范围。
图1为本发明方法实现的流程图。
图2为本发明和LEACH算法对同一个随机产生的网络拓扑的实施例的对比。其中图2(a)是LEACH算法的结果,图2(b)是本发明的结果。
图3为本发明与其它两种算法仿真结果的对比。其中图3(a)是系统生命的对比,图3(b)是传递的有效数据分组与系统中存活节点数量的关系,图3(c)是系统能耗与传递的有效分组数的关系。
具体实施例方式
以下结合附图和实施例对本发明的技术方案作进一步描述。
本发明的方法按图1所示的流程图进行。图中给出了节点的“角色”确定过程。
首先系统满足以下的假定(1)每一个节点有唯一的标识(ID),并且知道其所有邻居的ID,这个可以通过MAC层周期性地广播“hello”消息来获知。(2)节点具有相同的无线覆盖半径且信道是对称的。
1)在簇形成阶段,所有节点首先处于“等待”状态,由Random函数生成一个在区间
上均匀分布的随机变量xi,xi=Random(0,1),生成节点的唤醒速率λiλi=λmin+(λmax-λmin)EresidualiEmax,]]>其中Emax是节点的最大电池能量,Eiresidual是当前节点i的剩余电池能量,λmin和λmax是预先设定的最小和最大唤醒速率。
2)取系统当前时间tcurrent,由节点的唤醒速率λi按照负指数分布设置节点的定时器t,并自适应调整定时长度,即有ti=tcurrent+min(-(1/λi)ln(xi/λi),TCF) (1)其中TCF是系统预先设定的最大簇形成时间。
本发明中负指数分布的参数根据节点的剩余电池能量控制,并自适应调整定时长度,可使具有较多剩余电池能量的节点有较短的等待时间。
3)当某个节点u的定时到达时,就选举自己成为“簇首”,并且广播“簇首”状态消息(ADV_CH消息)通知相邻节点。节点u的角色就此确定为“簇首”。当节点u的定时没有到达时,仍然维持“等待”状态。
4)节点u在等待状态时,如果接收到相邻节点广播的ADV_CH消息,就停止计时,标记自己为“普通节点”并加入到这个簇,同时广播加入消息(JOIN消息)告知相邻节点自己的选择。此时,节点u的角色已确定为“普通节点”。
如果节点u同时接收到多个簇首广播消息,则可以使用节点标识或者与簇首的距离来选择加入某一个簇。与簇首的距离可以通过接收信号强弱的强弱来判断。如果节点u没有接收到相邻节点的ADV_CH消息,节点u继续维持“等待”状态。
5)节点u在等待状态时,如果接收到某一个相邻节点v的“JOIN”消息,说明节点v已经加入到了某一个簇中,则记录下v的决定。
设置变量Γ为节点u“所有相邻节点的集合”,将已经确定角色的节点v从集合Γ中移除,即Γ=Γ-v,在预先设定的最大簇形成时间TCF到达之前,如果节点u的所有相邻节点都已经决定了自己的“角色”,即Γ=,这说明节点u的相邻节点已经都加入了相应的簇,则节点u停止计时,标记自己为簇首,并广播ADV_CH消息,完成节点u的角色确定。
6)当最大簇形成时间TCF到达时,所有没有决定自己“角色”的节点也就意味着邻域内没有簇首产生。为了完成与基站通信等正常的网络功能,这些节点自动成为簇首。最终整个网络被划分为“簇首”和“普通节点”,形成层次性的管理体系,完成无线传感器网络的分布式分簇。
本发明方法中,系统参数λmax、λmin和TCF是根据不同的应用背景在算法执行之前确定的。比如某些应用场景期望在1分钟内簇形成过程结束,即TCF=60秒。
以下通过仿真实验来比较本发明的方法与LEACH以及HEED的性能。实验模型由100个节点组成,它们随机均匀分布在(x=0,y=0)至(x=100,y=100)的这个正方形区域内,每个节点的初始电池能量为2焦耳,无线覆盖半径都是25个长度单位,基站位于(50,175)的位置。
为了分析系统的能耗,本发明引入一种简单的无线信道模型一个传感器节点接收、发送一个k比特的分组,接收器和发送器分别消耗Eelec×k焦耳的能量,短距离通信发送放大器消耗的能量是εfs*k*d2焦耳而长距离通信消耗εamp*k*d2焦耳的能量;数据融合消耗的能量为Efusion*k*信号个数。这里设Efusion=5nJ/bit/signal,Eelec=50nJ/bit,εfs=10pJ/bit/m2,εmp=0.0013pJ/bit/m4,分组比特长度L=10000bit。对于LEACH,设期望的簇首数目为k=5,对于HEED算法,设pmin为0.0005以及CHprob为5%。对于本发明的算法,设λmin=2.8和λmax=5,节点的剩余电池能量被量化成20个电平。
在每一个稳定工作阶段,每一个普通节点收集环境参数生成一个原始的数据分组并向簇首发送,簇首将簇内成员(包括簇首本身)的所有数据分组进行数据融合,重新封装生成一个新的分组再传送到基站。如果一个节点的附近没有簇首的产生,它将直接把原始数据分组传递给远方的基站。这里把传递的原始数据分组称为“有效分组”。
图2为本发明的方法和LEACH算法对同一个随机产生的网络拓扑的实施例的结果对比。其中图2(a)是LEACH算法的结果,图2(b)是本发明的结果。图中,三角形代表产生的簇首,圆点代表普通节点,十字代表被迫与基站直接通信的普通节点。在同样产生9个簇首的情况下,可以看到,与LEACH算法相比,本发明方法所产生的簇首分布均匀,从而大大减少了被迫与远方基站直接通信的普通节点的数量。
图3为本发明与LEACH算法及HEED算法仿真结果的对比。通过仿真实验测试网络的系统生命,研究了系统生命和有效数据分组的关系,并比较了两种算法的能耗效率。这里的“系统生命”定义为第一个因为电池耗尽而“死亡”的节点所经过的工作轮次。
图3(a)是系统生命的对比,从图3(a)可以看出,与其他两种算法相比,本发明的算法明显地延长了系统生命。如前所述,本发明的算法考虑了每个节点的剩余电池能量,能量越多的节点越有可能成为簇首,所以能够更好地保证负载均衡。另外,算法参数的选择保证了簇首的相对均匀分布。
图3(b)是传递的有效数据分组与系统中存活节点数量的关系,从图3(b)的仿真结果可见,当第一个节点电池能量耗尽的时候,本发明的算法与前两种算法相比,系统将会传递更多的“有效分组”。这是因为LEACH会导致节点将有限的电池能量消耗在与基站的长距离通信上,而本发明的算法则避免了这一点,从而可以传递更多的有效分组。与HEED算法相比,本发明的方法并不要求节点在每个工作周期广播簇内通信耗费,从而节省了系统能耗。
图3(c)给出了系统耗能与传递的有效数据分组数的关系。可以看出在耗能相同的情况下,本发明的算法与其他两种算法相比能够传递更多的有效数据分组,这说明本发明的算法具有更高的能耗效率。
权利要求
1.一种基于自适应退避策略的无线传感器网络分布式分簇方法,其特征在于包括如下步骤1)在簇形成阶段,所有节点首先处于“等待”状态,维护一个在区间
上均匀分布的随机变量xi;由系统预先设定的最大唤醒速率λmax、最小唤醒速率λmin、节点最大电池能量Emax以及当前节点剩余电池能量Eiresidual,生成节点的唤醒速率λi,λi=λmin+(λmax-λmin)EresidualiEmax;]]>2)取系统当前时间tcurrent,由节点的唤醒速率λi按照负指数分布设置节点的定时器ti,并自适应调整定时长度,即ti=tcurrent+min(-(1/λi)ln(xi/λi),TCF),其中TCF是系统预先设定的最大簇形成时间;3)当某个节点的定时到达时,选举自己成为“簇首”,并且广播“簇首”状态消息通知相邻节点;当定时没有到达时,节点维持“等待”状态;4)节点在“等待”状态时,如果接收到相邻节点的“簇首”状态消息,就停止计时,标记自己为“普通节点”并加入到这个簇,同时广播“加入”消息,告知相邻节点自己的选择;如果同时接收到多个“簇首”状态消息,则使用节点标识或者与簇首的距离来选择加入某一个簇;如果没有接收到“簇首”状态消息,节点继续维持“等待”状态;5)节点在“等待”状态时,如果接收到相邻节点的“加入”消息,则记录下这个消息;如果所有相邻节点在最大簇形成时间TCF到达之前都已经决定了自己的“角色”,则停止计时,标记自己为簇首,并广播“簇首”状态消息通知相邻节点;6)当最大簇形成时间TCF到达时,所有没有决定自己“角色”的节点自动成为簇首;最终整个网络被划分为“簇首”和“普通节点”,形成层次性的管理体系,完成无线传感器网络的分布式分簇。
全文摘要
本发明涉及一种基于自适应退避策略的无线传感器网络分布式分簇方法,从节点的剩余能量入手,每个节点根据剩余电池能量自适应地设置定时器,当定时到达时,节点自动成为“簇首”并广播消息,而其相邻节点选择加入这个簇成为“普通节点”。当最大簇形成时间到达时,所有没有决定自己角色的节点自动成为“簇首”。由此,整个网络被划分为“簇首”和“普通节点”,形成层次性的管理体系。本发明利用节点剩余电池能量均衡系统的负载,通过调节算法的相关参数保证所产生的簇首分布均匀。仿真结果显示,能够减少节点被迫与基站通信的次数,延长网络生命,提高能耗效率。
文档编号H04L12/46GK1852216SQ20061002668
公开日2006年10月25日 申请日期2006年5月18日 优先权日2006年5月18日
发明者何晨, 曹涌涛, 蒋铃鸽 申请人:上海交通大学