基于节点等级的异构网络自适应分簇算法的制作方法

文档序号:11139761阅读:569来源:国知局
本发明涉及异构自组织网络的
技术领域
:,特别是基于节点等级的异构网络自适应分簇算法。
背景技术
::异构网络是指由多种不同类型节点构成的网络,其异构性可体现在能量、感知能力、计算能力、通信能力、链路和网络协议等诸多方面,其网络模型更接近于实际应用。在现实生活中,异构网络几乎无处不在。比如当前的一个研究热点——物联网就是一种典型的异构网络。在农业生产中,对农作物的生长环境调查可能需要能感知温度、湿度、光强的多种传感器。不同传感器具有不同的初始能量,能量消耗速率也不同,且需要感知收集和分发的数据包亦不同,从而构成一个异构网络。因此异构网络具有十分重要的理论研究价值和工程应用价值。异构网络与大多数传感器网络一样,仍面临节点能量有限且不能补充的问题,如何利用有限的节点能量延长网络寿命仍是异构网络亟需解决的问题。分簇技术将网络划分为若干个簇,每个簇由一个簇头和若干成员节点组成。成员节点将监测信息发送给簇头,由簇头平均分担中继业务,将成员节点的信息融合处理后发送给基站。分簇技术能均衡节点的能量消耗,延长节点存活时间,因此是目前降低节点能耗和延长网络寿命的一种重要途径。目前根据簇头数目是否确定可将异构网络分簇算法分成固定簇头算法和周期簇头选举算法两大类:(1)固定簇头算法:该类算法的设计思路是在网络初始化时将初始能量高的节点设置为簇头,其他普通节点根据不同的成簇算法加入到不同的族中,普通节点一般只负责收集环境信息,消耗能量较小,并将数据在特定的时刻直接发送给簇头,簇头收到数据进行融合后,再通过单跳或多跳的方式直接或者间接的发送给基站。该类算法的设计思路充分利用了高能异构节点,能较大程度延长网络寿命,但存在一定的局限性,比如网络拓扑形成后很难再次改变,高能簇头的数量都是固定的,大大降低网络的动态自组织性和健壮性等。此外,在异构网络中,往往存在初始能量高同时能量消耗也快的节点,从网络整体性能来看,这类节点并不是簇头的最佳选择。(2)周期簇头选举算法:该类算法的设计思路是采用轮询的方式,网络每一轮从所有的节点中重新选取簇头,可以控制每个节点当选簇头的概率。簇头的当选需要考虑它的能量、通信和计算能力、鲁棒性强弱等因素等。该类算法的典型代表有:LEACH-C算法(参考文献[1]:HeizelmanWR,ChandrakasanA,BalakrishnanH.Energy-efficientCommunicationprotocolforwirelessmicrosensornetworks[A].Proceedingsofthe33rdHawaiiInt’1ConfonSystemSciences(HICSS’00)[C].2000:1-10.)、DEEC算法(参考文献[2]:卿利,朱清新,王明文.异构传感器网络的分布式能量有效成簇算法[J].软件学报,2006,17(3):481-489)、SEP算法(参考文献[3]:SmaragdakisG,MattaI,BestavrosA.SEP:Astableelectionprotocolforclusteredheterogeneouswirelesssensornetworks[C].In:Proc.oftheInt’1WorkshoponSANPA2004.)、EEHC算法(参考文献[4]:KumarD,AseriTC,PatelRB.EEHC:Energyefficientheterogeneousclusteredschemeforwirelesssensornetworks[J].ComputerCommunications,2009,32(4):662-667)。该类算法的性能普遍较固定簇头算法好,但仍存在一些问题。比如LEACH-C算法是在基于同构网络分簇算法LEACH改进的,主要体现在每轮中的簇头选取不再是随机选取,而是通过控制阀值的方式,只有当节点的结果值(一种和剩余能量有关的计算值大于阀值时)此节点才能当选为簇头,否则重新进行选取。由于仅考虑节点剩余能量,仍存在簇头数目不合理,簇头分布不均,节点能耗不均等问题。DEEC算法是针对多级异构网络的一般性设计,其设计思想是让剩余能量高的节点有更大的概率当选簇头,从一定程度上均衡了网络节点能耗,延长了网络寿命,但未考虑节点的通信距离及不同节点的能量消耗速率。在异构网络中,存在剩余能量大同时能量消耗也快的节点,从网络整体性能来看,这类节点并不是簇头的最佳选择。SEP算法能很好的适用于二级异构网络,但不能扩展到多级异构。EEHC算法在簇头选举时考虑了网络异构情况下节点初始能量的相对大小,但未考虑异构节点能量消耗速率的不同。综上所述,分簇技术是目前均衡网络节点能耗和延长网络寿命的一种有效途径,现有异构网络分簇算法多数参考节点剩余能量进行簇头选择,从一定程度上延长了网络寿命,但在实际应用网络中,存在剩余能量大同时能量消耗速率也大的节点,从网络整体性能来看,这类节点并不是簇头的最佳选择。同时,节点能耗与通信距离成正比,减小通信距离亦是降低节点能耗的一条有效途径。综述所述,仅参考节点剩余能量进行簇头选择不是最合理的,需结合实际网络综合考虑多种因素,如节点能量消耗速率,通信距离等进行簇头选择,提出一种更适用于异构网络的分簇算法。技术实现要素:本发明的目的是提出基于节点等级的异构网络自适应分簇算法,解决现有分簇方法中簇头数目不合理,簇头分布不均,簇规模差异较大的问题,均衡网络节点能耗,延长网络寿命,提高网络数据吞吐量。为了达到上述目的,本发明的构思是:网络按轮运行,每轮包括自适应分簇、簇头选举及簇建立、数据传输三阶段。自适应分簇阶段,利用信标节点或锚节点将网络监测区域分为若干子区域,根据每轮子区域内节点数目对相应子区域细化或合并,使每个子区域内节点数目在一个合理范围内。每个子区域内的节点自成一簇。簇头选举及簇建立阶段选举簇内等级最高的节点为簇头,其余节点为成员节点;节点等级由节点剩余能量、能量消耗速率、到基站的距离、到簇内其他节点的距离综合决定。数据传输阶段簇头汇总、融合簇内成员节点信息后上传给基站。本发明分簇合理均匀,能较好均衡节点能量消耗、延长网络寿命、提高网络数据吞吐量。基于上述构思,本发明采用如下技术方案:1.基于节点等级的异构网络自适应分簇算法,适用对象为异构网络,包括基站、节点以及所述基站和节点所在的网络监测区域;所述节点是异构节点,所述异构节点的异构性体现为能量异构,异构节点的初始能量和能量消耗速率不同,同构节点的初始能量和能量消耗速率相同;所述节点的初始能量大于零,能量消耗速率在节点生命周期内恒定;当节点能量小于等于零时,表明该节点死亡,死亡节点永久退出网络;所述节点之间、节点与基站之间的通信按轮次周期性依次进行;每轮分为初始阶段和稳定工作阶段;初始阶段,通过安置的信标节点或锚节点将所述网络监测区域划分为若干子区域,并监测子区域内的节点数目,每个子区域中所有节点自成一簇,并选举出簇头;非簇头节点即为成员节点,与簇头组成簇;簇头和成员节点可相互转换;稳定工作阶段,成员节点将监测信息发送给本簇簇头,由簇头汇总、融合后发送给基站,其特征在于:在每个所述轮次,根据子区域内所述节点数目变化对网络实现自适应分簇,即根据每个子区域内所述节点数目对相应子区域进行合并或细分,直到合并或细分后的子区域内节点数目符合一定要求;自适应分簇完毕后,在每个所述子区域内,根据每个所述节点在本轮次的剩余能量、能量消耗速率、该节点到簇内其它节点的距离平方和、该节点到所述基站的距离的平方,计算每个所述节点在本轮次的等级,选举等级最高的节点为本轮次本簇的簇头;2.基于节点等级的异构网络自适应分簇算法,其特征在于:所述自适应分簇的方法如下:若所述第r轮第m个子区域内节点数目大于上限阈值将该子区域进一步细化,直到细化后每个所述子区域内的节点数目均在范围内;若所述第r轮第m个子区域内节点数目数目低于下限阈值将该子区域与就近子区域合并,直到合并后的子区域中节点数目在范围内;m∈[1,Mr-1],Mr-1表示网络监测区域第r-1轮划分的子区域总数,M0为网络监测区域初始划分的子区域总数,M0、Mr-1、r和m为大于0的整数;Nr表示第r轮网络中节点总数,ω1和ω2表示权重系数,ω1∈[0,1],ω2∈[1,2];符号表示取整数运算;3.基于节点等级的异构网络自适应分簇算法,其特征在于:所述簇头选举方法如下:节点i按以下公式计算自身在第r轮中的等级数值越大,说明节点等级越高;选举等级最高的节点为本轮次本簇的簇头;其中,表示第r轮中节点i的剩余能量,ai表示节点i的能量消耗速率,ai>0;tr表示第r轮的时长,tr>0;ω3表示权重系数,ω3∈[0,1];表示第r轮中节点i在到基站的距离的平方;第r轮中节点i到簇内其它节点的距离平方和。本发明涉及的基于节点等级的异构网络自适应分簇算法分簇合理,簇头分布较均匀,簇规模合理,充分考虑异构网络的特点,能有效均衡节点能耗,延长网络寿命,提高网络数据吞吐量。本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。附图说明下面根据附图和具体实施对本发明作进一步阐述。以M=9,N=100,L=100的异构网络为例进行说明。图1为算法流程。图2为节点初始随机分布示意图。图3为网络子区域细化/合并示意图。图4为网络中节点的无线通信模型。图5为分别运用本发明、LEACH-C算法、DEEC算法进行分簇时,节点死亡时间随网络运行轮数分布图。图6为分别运用本发明、LEACH-C算法、DEEC算法进行分簇时,网络数据吞吐量随网络运行轮数分布图。具体实施方式基于节点等级的异构网络自适应分簇算法流程如图1所示。一种具体实施方式如下:1)部署网络:基站部署于边长为L×L的方形网络监测区域中心,能量无限,L为大于0的数;N个节点随机部署在网络监测区域,能量有限且不能补充。根据节点初始能量和能量消耗速率将N个节点分为N1个类型,0<N1≤N的整数,不同类型节点的初始能量和能量消耗速率不同,同类型节点的初始能量和能量消耗速率相同;节点的能量消耗速率在节点生命周期内恒定。节点之间、节点与基站之间的通信按轮次周期性依次进行;2)初始化:首先,利用信标节点或锚节点将网络监测区域按一定原则,如从左到右、从上到下的原则,等分为M0个子区域,M0为大于0的整数,每个子区域内的节点属于同一簇,示意图如图2所示;3)自适应分簇:利用信标节点或锚节点监测每个子区域内的节点数目,根据每个子区域内的节点数目变化实现自适应分簇;按一定原则,如从左到右、从上到下的原则为每个簇分配唯一的簇号,并通知该区域内所有节点。自适应分簇方法如下:若第r轮第m个子区域内节点数目大于上限阈值将第m个子区域按一定原则,如从左到右、从上到下的原则进一步细化,直到细化后每个子区域内的节点数目均在范围内,为第r轮子区域内节点数目的下限阈值;若第r轮第m个子区域内节点数目数目低于下限阈值将第m个子区域和就近子区域合并,直到合并后的子区域中节点数目在范围内,子区域细化/合并示意图如图3所示;Nr表示第r轮网络中节点总数,ω1和ω2表示权重系数,ω1∈[0,1],ω2∈[1,2],符号表示取整数运算;Mr-1表示网络监测区域第r-1轮划分的子区域总数,M0为网络监测区域初始划分的子区域总数,M0、Mr-1、r和m为大于0的整数;m∈[1,Mr-1]。4)节点等级计算:自适应分簇后,节点i按以下公式计算自身在第r轮的等级,其中,表示第r轮中节点i的剩余能量,ai表示节点i的能量消耗速率,ai>0;tr表示第r轮的时长,tr>0;ω3表示权重系数,ω3∈[0,1];表示第r轮中节点i在到基站的距离的平方;第r轮中节点i到簇内其它节点的距离平方和。5)簇头选举与簇建立:网络中每个节点广播自身等级和ID号、自身所在的簇号,并设置定时器T1。T1的时间长度应使广播信息能够往返于监测网络中的任一节点为宜。节点仅对同簇内比自身等级低的节点进行反馈,反馈信息包括自身等级和ID号。在定时器T1时间内,如节点i在定时器T1结束时收到同簇内比自身等级高的节点的反馈信息,则转为簇内成员节点,等待接收簇头当选的消息;如节点i在定时器T1结束时未收到任何反馈信息,则表明自己为本轮次本簇等级最高的节点,随即向簇内其余节点广播当选簇头的消息和自身ID号,并设置定时器T2。T2的时间长度应使广播信息能够往返于网络中的任一节点为宜。簇内成员节点收到簇头的当选消息后,向簇头发送请求加入信息;簇头根据成员节点的加入信息确定本簇的成员个数,将制定的TDMA表广播给成员节点;当簇内所有成员节点接收到入簇确认信息和TDMA表,簇建立完成。6)信息传输:簇内成员节点在自己的TDMA时隙发送监测信息给簇头,簇头收集、汇总、融合成员节点信息后上传给基站,直到本轮时间Tr结束(Tr应远大于T1和T2)跳转到步骤3)进行下一轮自适应分簇、簇头选举和簇建立、信息传输,直到节点全部死亡,网络寿命终止。本发明的效果可以通过以下仿真实验进一步说明,其中,M=9,N=100,L=100,ω1=0.54,ω2=1.26,ω3=1,T1=T2=0.002s,tr=2s。1)实验条件:采用软件MATLAB7.12.0R2011a。2)实验场景:如图2所示,N个异构节点随机分布在L×L的正方形网络监测区域内,节点异构性体现为能量异构,节点初始能量为范围在0.5~0.8J间的随机数,节点能量消耗速率为范围在0.000125~0.0002间的随机数,节点初始能量和能量消耗速率均相同的节点为同类型节点。在图2-3的示意图中,通过节点颜色表征当前节点的能量高低,颜色越深的节点表示能量越高。基站位于网络监测区域中心;在网络监测区域中,分别在坐标(0,0),(0,100/3),(0,200/3),(0,100),(100,100/3),(100,200/3),(100,100),(100,200/3),(100,100/3)(100,0),(200/3,0),(100/3,0)布置12个锚节点用于网络监测区域划分和节点数目监测。仿真中簇头对簇内成员节点进行数据融合后转发给基站,并假设每个成员节点均向簇头发送4kbits的数据,无论簇内成员节点数目为多少,簇头将其成员节点的数据压缩为4kbits数据转发给基站,簇内数据融合能耗设定为5nJ/bit。节点与基站间、节点与节点间采用无线通讯,无线通信能耗模型选用Heinzelman提出的无线通信能耗模型,该模型如图4所示。其中,节点的发送能耗包含发送电路能耗、放大电路能耗;节点的接收能耗仅包含接收电路能耗。该模型根据数据传输距离的远近,采用两种不同的信道模型。当传输距离d小于阀值距离d0时,采用自由空间信道模型;反之,采用多径衰落信道模型。下列公式分别给出了向距离d处的节点发送lbit数据的能耗ETX(l,d)和接收lbit数据的能耗ERX(l,d)。ERx(l,d)=Eelecl其中,Eelec为发送或接收电路的能耗,Eelec=5nJ/bit;εfs和εamp分别为两种模型的功率耗损系数,即将1bit信息传输1m2的能耗,εfs为自由空间信道功率放大器能耗,εfs=10pJ/bit/m2;εamp为多径衰落信道功率放大器能耗,εamp=0.0013pJ/bit/m4;3)实验方法:分别运用本发明、LEACH-C算法与DEEC算法对上述网络进行分簇,然后对比三种算法在节点死亡情况、网络数据吞吐量方面的情况。4)实验结果:在上述仿真条件下,每次实验在相同的条件下分别进行1000次仿真,然后取整数平均值。由图5-6所示的仿真结果可知,在上述实验条件下,运用本发明、LEACH-C算法和DEEC算法对网络进行分簇:1)首个节点死亡时间分别发生在2004轮、1183轮和1495轮,此时网络数据吞吐量分别为2.004×105个、9.382×104个和1.030×105个;本发明的首个节点死亡时间比LEACH-C算法和DEEC算法分别延长了69.3%和34.0%,首个节点死亡时,本发明的网络数据吞吐量分别较LEACH-C算法和DEEC算法增大113.6%和94.6%;2)网络节点半数死亡时间分别发生在2740轮、1833轮和1998轮,此时网络数据吞吐量分别为2.562×105、1.329×105和1.253×105个;本发明的半数节点死亡时间比LEACH-C算法和DEEC算法分别延长了49.4%和37.1%;半数节点死亡时,本发明的网络数据吞吐量分别较LEACH-C算法和DEEC算法增大23.3%和30.9%。3)网络节点全部死亡时间分别发生在3942轮、2636轮和3009轮,此时网络数据吞吐量分别为2.829×105、1.421×105和1.308×105个;本发明的节点全部死亡时间比LEACH-C算法和DEEC算法分别延长了49.5%和31.0%;节点全部死亡时,本发明的网络数据吞吐量分别较LEACH-C算法和DEEC算法增大99.1%和116.3%。由上述实验结果可知,较运用LEACH-C算法和DEEC算法分簇的网络,运用本发明进行分簇的网络,节点发生死亡的时间明显滞后,网络寿命的得到较大程度延长,网络数据吞吐量亦高于其余两种算法,优势明显。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1