本发明涉及无线传感器网络领域,特别是涉及一种能量异构无线传感器网络分簇方法和系统。
背景技术:
无线传感器网络是由大量传感器节点以自组织、多跳的方式形成的网络,由于传感器节点微小,数目众多,而且往往部署环境十分恶劣,更换节点电源不可实现,因此如何节约网络能量、延长网络生命周期便成为了无线传感器网络研究的重点。目前为止,国内外的学者针对不同的应用环境已经设计出许多无线传感器网络算法,其中,分簇路由算法凭借能量高效性和网络可扩展性方面的优势,已经成为了重要的研究课题。
在无线传感器网络的研究中,能量异构(即网络中的各个节点其他方面完全一致,只有节点的能量配置不同)无线网络的研究更符合实际,其中,DEEC(Distributed Energy-Efficient Clustering)算法是能量异构无线网络中性能较好的分簇算法,具体实现步骤如下:
首先在检测区域内随机部署传感器节点,在成簇阶段,簇内节点当选为簇头的概率与该节点的剩余能量有关,当该节点剩余能量多时,其当选为簇头的概率增大,优先承担网络负担,避免了低能量节点因担任簇头而导致死亡的情况,然后每经过网络节点发送一次数据的时间,再按照上述原理选取簇头。簇头当选的同时,会向周围所有非簇头节点广播自己要成为簇头的消息(Advertisement Message,ADV),非簇头节点根据ADV的强度来决定所要加入的簇,并发送加入请求(join-requestion,JOIN-REQ)告诉相应的簇头。数据传输阶段,簇头节点采集到的信息传送到簇头,簇头经过数据融合最终传送到基站。
从整体来看,DEEC算法使高能量节点优先承担网络负担,延长的网络生命周期。但是DEEC算法有以下几种缺点:
(1)只是单纯的考虑了节点的剩余能量,却没有考虑到节点与基站的位置因素:根据能量异构无线传感器网络数据传输公式可以看出,当传输距离小于节点的有效传输距离时,节点传输数据所消耗的能量与传输距离的平方成正比;当传输距离大于节点的有效传输距离时,节点传输数据所消耗的能量与传输距离的四次方成正比,因此若距离基站较远的节点当选为簇头,会因为远距离传输数据而消耗过多能量。
(2)高剩余能量节点在当选为簇头后很长一段时间内都不能重复当选,造成了能源浪费;低剩余能量节点当选簇头的概率降低,但并不能完全避免当选簇头的情况。
(3)入簇机制上没有综合考虑节点、簇头、基站三者的位置信息,只是简单的将节点分配给最近的簇头,有可能造成能量不必要的浪费。
技术实现要素:
本发明的目的是提供一种能量异构无线传感器网络分簇方法和系统,解决无线传感器网络生命周期短,节点能量利用不合理的问题。
为实现上述目的,本发明提供了如下方案:
一种能量异构无线传感器网络分簇方法,包括以下步骤:
获取无线传感器网络节点已发送数据的次数和所述无线传感器网络节点的剩余能量;
根据所述已发送数据的次数计算最低当选簇头能量阈值;
判断无线传感器网络节点的剩余能量是否大于所述最低当选簇头能量阈值,得到第一判断结果;
当所述第一判断结果表示所述无线传感器网络节点的剩余能量大于所述最低当选簇头能量阈值时,为大于最低当选簇头能量阈值的无线传感器网络节点生成一个随机数;
计算所述无线传感器网络节点的簇头选举阈值;
判断所述随机数是否小于所述簇头选举阈值,得到第二判断结果;
当所述第二判断结果表示所述随机数小于所述簇头选举阈值,确定所述无线传感器网络节点为簇头,确定簇头以外的无线传感器节点为普通节点;所述簇头用于融合所述普通节点采集到的信息,并传送给无线传感器网络基站;
根据入簇公式为所述普通节点分配簇头。
可选的,所述计算所述无线传感器网络节点的簇头选举阈值具体包括:
计算无线传感器网络节点到基站的距离;
根据所述无线传感器网络节点到基站的距离计算所述无线传感器网络节点的边缘度;
根据所述边缘度和所述剩余能量计算所述无线传感器网络节点的簇头选举阈值。
可选的,所述根据入簇公式为所述普通节点分配簇头具体包括:
确定令所述普通节点的入簇公式获得最小值的簇头;
将所述普通节点分配给所述簇头。
可选的,所述根据所述已发送数据的次数计算最低当选簇头能量阈值,具体包括:
根据计算最低当选簇头能量阈值;
其中,Einit为无线传感器网络节点初始能量的最低值,a为无线传感器网络节点初始能量的最高值与最低值的比值,r为无线传感器网络节点当前数据发送次数,rmax为无线传感器网络节点数据发送次数的最大值。
可选的,所述根据所述无线传感器网络节点的边缘度和所述无线传感器网络节点的剩余能量计算所述无线传感器网络节点的簇头选举阈值,具体包括:根据计算所述无线传感器网络节点的簇头选举阈值;
其中,Eo(i)为第i个无线传感器网络节点的初始能量,Er(i)为第i个无线传感器网络节点在第r次数据发送时的剩余能量,为所有无线传感器网络节点初始能量平均值,为在第r次数据发送时所有无线传感器网络节点剩余能量的平均值;
edge(i)为第i个无线传感器网络节点的边缘度,其中,dis(i)为第i个无线传感器网络节点到基站的距离;dis(max)为无线传感器网络节点到基站的最远距离;
Pi为第i个无线传感器网络节点在第r次簇头选举时的成为簇头的概率,具体公式为:pinit为簇头个数与所述无线传感器网络节点个数的比值。
可选的,根据入簇公式为所述普通节点分配簇头,具体包括:根据f=b×D(i,A)+(1-b)×D(A,S)为所述普通节点分配簇头;其中,D(i,A)为节点i到簇头的距离,D(A,S)为簇头到基站的距离,b为0到1之间的数。
一种能量异构无线传感器网络分簇系统,包括:
获取单元,用于获取无线传感器网络节点已发送数据的次数和所述无线传感器网络节点的剩余能量;
第一计算单元,用于根据所述已发送数据的次数计算最低当选簇头能量阈值;
第一结果判断单元,用于判断无线传感器网络节点的剩余能量是否大于所述最低当选簇头能量阈值;
随机数生成单元,用于当所述第一判断结果表示所述无线传感器网络节点的剩余能量大于所述最低当选簇头能量阈值,为大于最低当选簇头能量阈值的无线传感器网络节点生成一个随机数;
第二计算单元,用于计算所述无线传感器网络节点的簇头选举阈值;
第二结果判断单元,用于判断所述随机数是否小于所述簇头选举阈值;
确定单元,用于当所述第二判断结果表示所述随机数小于所述簇头选举阈值,确定所述无线传感器网络节点为簇头,确定簇头以外的无线传感器节点为普通节点;所述簇头用于融合所述普通节点采集到的信息,并传送给无线传感器网络基站;
分配单元,用于根据入簇公式为所述普通节点分配簇头。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
1、本发明设立了最低当选簇头能量阈值,使低能量的节点不能当选簇头,从而保护了低能量节点,避免了低能量节点因当选簇头而快速死亡所导致的能量空洞问题。
2、本发明在簇头选取阶段,不再对上一次当选为簇头的的节点进行标记,所有的节点都进行簇头的选举,而且尽量选择靠近基站的节点当选簇头,大大节约网络传输数据所消耗的能量,提高了无线传感器网络生命周期。
3、本发明改进了入簇机制,综合考虑了节点与簇头的距离和簇头与基站的距离因素,使入簇机制更加合理,更能合理利用节点能量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为无线传感器网络节点分布情况示意图;
图2为本发明第一实施例的能量异构无线传感器网络分簇方法的流程图;
图3为本发明第二实施例的能量异构无线传感器网络分簇系统的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种能量异构无线传感器网络分簇方法,解决无线传感器网络生命周期短,节点能量利用不合理的问题。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1为无线传感器网络节点分布情况示意图。
如图1所示,无线传感器网络是由大量传感器节点以自组织、多跳的方式形成的网络,在成簇阶段,簇内节点当选为簇头的概率与该节点的剩余能量有关,当该节点剩余能量多时,其当选为簇头的概率增大,优先承担网络负担,避免了低能量节点因担任簇头而导致死亡的情况,然后每经过网络节点发送一次数据的时间,再按照上述原理选取簇头。簇头当选的同时,会向周围所有非簇头节点广播自己要成为簇头的消息,非簇头节点根据所述信息的强度来决定所要加入的簇,并发送加入请求告诉相应的簇头。数据传输阶段,非簇头节点采集到的信息传送到簇头,簇头经过数据融合最终传送到基站。
图2为本发明第一实施例的能量异构无线传感器网络分簇方法的流程图。
步骤100,获取无线传感器网络节点已发送数据的次数和所述无线传感器网络节点的剩余能量。
首先在任意检测区域内部署N个传感器,编号从1到N,基站位置在检测区域的中心,由于本发明的适用环境为能量能量异构无线传感器网络,设一个初始能量倍数a,即无线传感器网络节点的初始能量从Einit到a倍的Einit间,节点每发送完一次数据,都会向基站汇报自己的剩余能量及编号。根据目的要求设定簇头数与总节点数之比pinit,则节点在r次簇头选举时成为簇头的概率如下式:其中Er(i)为第i个节点发送完r-1次数据后剩余的能量,即在第r次簇头选举时的剩余能量,为第r次簇头选举时所有节点的平均能量。
步骤200,根据所述已发送数据的次数计算最低当选簇头能量阈值。具体为根据根据计算最低当选簇头能量阈值;其中,r为无线传感器网络节点当前数据发送次数,rmax为无线传感器网络节点数据发送次数的最大值。
步骤300,判断无线传感器网络节点的剩余能量是否大于所述最低当选簇头能量阈值,得到第一判断结果。
步骤400,当所述第一判断结果表示所述无线传感器网络节点的剩余能量大于所述最低当选簇头能量阈值时,为大于最低当选簇头能量阈值的无线传感器网络节点生成一个随机数。可选的,所述随机数为0-1之间的随机数。
步骤500,计算所述无线传感器网络节点的簇头选举阈值。具体步骤为:
计算无线传感器网络节点到基站的距离;
根据所述无线传感器网络节点到基站的距离计算所述无线传感器网络节点的边缘度;
根据所述边缘度和所述剩余能量计算所述无线传感器网络节点的簇头选举阈值。
所述簇头选举阈值,具体为
其中,Eo(i)为第i个无线传感器网络节点的初始能量,Er(i)为第i个无线传感器网络节点在第r次数据发送时的剩余能量,为所有无线传感器网络节点初始能量平均值,为在第r次数据发送时所有无线传感器网络节点剩余能量的平均值;
edge(i)为无线传感器网络节点的边缘度,其中,dis(i)为第i个无线传感器网络节点到基站的距离;dis(max)为无线传感器网络节点到基站的最远距离;
步骤600,判断所述随机数是否小于所述簇头选举阈值,得到第二判断结果。
步骤700,当所述第二判断结果表示所述随机数小于所述簇头选举阈值,确定所述无线传感器网络节点为簇头,确定簇头以外的无线传感器节点为普通节点。
步骤800,根据入簇公式为所述普通节点分配簇头。具体包括:
确定令所述普通节点的入簇公式获得最小值fmin的簇头;
将所述普通节点分配给所述簇头。
所述入簇公式为:f=b×D(i,A)+(1-b)×D(A,S);其中,D(i,A)为节点i到簇头的距离,D(A,S)为簇头到基站的距离。b的数据可以根据网络需要更改,经过仿真分析可以得出当b取0.6时,网络节能效果明显。
图3为本发明第二实施例的能量异构无线传感器网络分簇系统的结构图。
如图3所示,一种能量异构无线传感器网络分簇系统包括获取单元901、第一计算单元902、第一结果判断单元903、随机数生成单元904、第二计算单元905、第二结果判断单元906、确定单元907和分配单元908。
获取单元901,用于获取无线传感器网络节点已发送数据的次数和所述无线传感器网络节点的剩余能量;
第一计算单元902,用于根据所述已发送数据的次数计算最低当选簇头能量阈值;
第一结果判断单元903,用于判断无线传感器网络节点的剩余能量是否大于所述最低当选簇头能量阈值;
随机数生成单元904,用于当所述第一判断结果表示所述无线传感器网络节点的剩余能量大于所述最低当选簇头能量阈值,为大于最低当选簇头能量阈值的无线传感器网络节点生成一个0到1之间的随机数;
第二计算单元905,用于计算所述无线传感器网络节点的簇头选举阈值;
第二结果判断单元906,用于判断所述随机数是否小于所述簇头选举阈值;
确定单元907,用于当所述第二判断结果表示所述随机数小于所述簇头选举阈值,确定所述无线传感器网络节点为簇头,确定簇头以外的无线传感器节点为普通节点;所述簇头用于融合所述普通节点采集到的信息,并传送给无线传感器网络基站;
分配单元908,用于根据入簇公式为所述普通节点分配簇头。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。