一种无线传感网的分布式分簇组网的方法

文档序号:7646094阅读:198来源:国知局
专利名称:一种无线传感网的分布式分簇组网的方法
技术领域
本发明提供一种WSN(无线传感器网络)的分簇组网的方法,尤其涉及一种采用分布式算法的分簇组网方法。

背景技术
无线传感器网络(wireless sensor network,WSN)是当前国际上备受关注的、由多学科高度交叉的新兴前沿研究热点领域。无线传感器网络具有十分广阔的应用前景,在军事国防、工农业、城市管理、生物医疗、环境监测、抢险救灾、防恐反恐、危险区域远程控制等许多领域都有重要的科研价值和巨大实用价值,已经引起了世界许多国家军界、学术界和工业界的高度重视,并成为进入2000年以来公认的新兴前沿热点研究领域,被认为是将对二十一世纪产生巨大影响力的技术之一,它将会对人类未来的生活方式产生深远影响。
分簇的网络拓扑结构已经成为无线传感网研究的重要方向之一。在规模化的无线传感网中,分簇的网络结构在拓扑管理、能量效率、数据融合与节点协同处理方面都具有明显的优势。分簇的结构将大规模的网络划分为多个小规模的网络,从而降低了拓扑管理的难度,同时可以引入节点睡眠机制而不影响网络连通性,便于数据融合,减少了信道接入的竞争从而提高网络吞吐量,对节点的协同处理提供了良好的物理支持。
现有的分簇机制在簇头选举时都仅着眼于网络信息的某一方面。如LEACH是基于节点担当簇头的次数,LowestID则是节点的ID,其都没有考虑网络的负载均衡,产生的簇结构中簇头分布不均,簇规模差异较大,不利于整个网络的能量消耗的均衡。HEED考虑到了负载均衡的问题,其簇头选择依据两个参数节点的剩余电池能量用于选出簇头集,簇内通信成本用于选择在多个簇范围内的节点加入的簇头。其主要改进在于引入了多种约束条件来综合考虑分簇的合理性。但是其分簇的簇头分布与簇规模不等的问题并未解决。
为平衡网络负载,又不能采用集中式的方式,则充分利用节点及其邻居节点的局部网络信息就是比较好的解决方法。WCA(Weighted Clustering Algorithm)与DCA(DistributedClustering Algorithm)即基于此种思想,考虑多种网络参数以获得节点的簇头选取权值。
WCA算法将节点的当前能量Pv、节点的度Δv(邻居节点数)、节点的相对位置信息Dv、节点的移动性Mv等参数作为簇头选取的依据,根据公式 Wv=ω1Δv+ω2Dv+ω3Mv+ω4Pv 计算出每个节点的权值,在邻居中权值最小的节点成为簇头,其邻居不再参与簇头选举。
其中, Δv=|dv-δ|,表征节点度与预设簇规模的差值; 表征节点与其邻居的距离之和; 表征节点的移动性; Pv,节点担当簇头的时间,表征节点消耗的能量; WCA算法的加权计算的方法综合了多种网络参数的影响,相对于其他算法能够更好的体现负载平衡,但是在无线传感网中,WCA算法的考虑因素则不太适用。在无线传感网中,节点一般不移动,则Mv就没有必要考虑,而且节点的发射功率一定,即只要节点的邻居节点在其覆盖范围之内,无论远近其功耗都是一致的,所以采用Dv作为参数同样是不合适的。另外,WCA等算法在计算出节点权值后,在分簇过程中是静态的,这在某些情况下(如节点的权值分布很不均匀)会导致较差的分簇结果。
因此,可以借鉴WCA算法的加权计算方式,针对无线传感网的特点,分析影响网络分簇合理性的各种网络参数,给出合适的解决方案。


发明内容
为使得网络节点负载平衡,则需要网络中的簇头分布合理及各簇的规模趋于一致,本发明提供一种针对无线传感网的分布式分簇组网的方法,其包括如下步骤 步骤1、节点周期性地广播HELLO消息,各节点根据接收到的广播信息建立自己的邻居表,计算出自己的簇头竞争权值Wi,并广播自己的更新了簇头竞争权值Wi的HELLO消息;其中,权值Wi计算公式如下 Wi=w1Pi+w2Ei+w3Di+w4Qi+w5Δi+… 其中, P=PT/Pmax为节点的发射功率与最大发射功率比值; E=(Emax-Ecur)/Emax,表示节点消耗的能量与最大能量的比值; D=|D0-δ|/δ,表示节点度的偏差,其中D0为节点度,在计算时取邻居中非簇头的节点数,δ为预设的簇规模,根据不同的应用环境作调整; Q为节点间的链路质量,可以通过计算通信时的丢包率来表征; 表示节点到其邻居节点的距离的标准差,其中xi为节点到其邻居i的距离,x为平均距离; 所述的加权系数wj要求满足 步骤2、节点依据自己的权值竞争簇头,在此过程中,节点的权值在动态变化,以保证簇头的选择的局部最优性,在确定了簇头之后,其周围的节点依据权值的顺序向簇头发出加入申请,通过REQ-ACK交互完成成簇过程,周围无簇头或未能加入簇的节点则自己成为簇头,直到所有节点都成为簇成员或者簇头。
进一步地,所述的HELLO消息包含如下信息节点的发射功率、节点的能量相关信息、节点的状态、节点的权值。
进一步地,所述的步骤2包括如下步骤 步骤21、若节点的权值Wi在其邻居中最小,则置自己为簇头,同时在其HELLO消息中将其节点状态置为CH(簇头),若簇头的邻居中存在簇头,则比较其权值,小于自己的权值则置节点状态为未定,以保证网络中无邻居簇头的存在; 步骤22、非簇头节点向其邻居表中权值最小的簇头节点发送请求加入消息ReqToJoin,并设置等待定时器; 步骤23、簇头在收到加入请求ReqToJoin之后,若簇未满,则反馈AckToJoin消息,允许节点加入簇。若簇头的容量达到预设的上限,则拒绝节点的加入请求,向节点发送DenyToJoin消息; 步骤24、节点收到AckToJoin消息,置自己的节点状态为CM(簇成员),广播更新的HELLO消息。节点收到DenyToJoin消息,则检查邻居表,若存在其他可用簇头,则向其发出加入申请ReqToJoin,否则,置自己为簇头,并广播HELLO消息; 步骤25、重复第三至六步过程,直到所有节点都成为簇成员或者簇头,则分簇过程完成。
进一步地,所述的某一个或多个加权系数可以为0。
本发明充分利用节点所能掌握的局部网络信息,以加权的方式,获得局部最优的簇头竞争权值,从而达到网络的整体分簇最优化,实现系统的负载平衡。而本发明的节点权值在分簇过程中是动态变化从而可以得到更加优化的分簇结果。本发明与现有的分簇组网方法相比易于实现节点负载平衡,延长网络生存周期,且性能更佳,可以满足不同的应用场景下对网络性能的不同要求,具有较好的适应性和扩展性。



图1为本发明方法的实现流程图 具体实施方法 以下结合实例对本发明的技术方案作进一步描述。
本发明的成簇方法如附图1所示的流程进行。
本方法在以下假设的前提下进行 ◆节点采用全向天线,工作在半双工模式下; ◆通信链路是双向的,两个相邻节点可以相同的发射功率通信; ◆节点是同构的、且地位平等、每个节点具有唯一的ID; ◆节点可以不同的发射功率发送数据,至少存在两个功率级别; ◆在分簇算法执行过程中,网络不发生较大变化; 由于分簇过程中需要交互的信息较多,故将其置于HELLO消息中以减少控制信息,包括节点ID(用于构建邻居表)、节点权值(用于竞争簇头)、节点状态(包括UN、CH与CM)等,节点无论处于何种状态,都需要发送HELLO消息及接收HELLO消息以进行信息交互。每个节点维护自己的邻居表,簇头需要额外维护其簇成员表。
本方法的具体实现步骤如图1所示 1)邻居发现,各节点广播HELLO消息,包含节点ID、当前能量Ei、权值Wi(初始值为0)、当前节点状态(簇头、簇成员或未定)、地理位置(绝对位置或相对位置,可选)等信息,这个进程由各节点周期性进行; 2)每个节点根据接收到的广播信息建立自己的邻居表,计算出自己的簇头竞争权值Wi,并广播自己的更新了簇头竞争权值Wi的HELLO消息; 权值计算公式如下 Wi=w1Pi+w2Ei+w3Di+w4Qi+w5Δi+… 其中, P=PT/Pmax为节点的发射功率与最大发射功率比值; E=(Emax-Ecur)/Emax,表示节点消耗的能量与最大能量的比值; D=|D0-δ|/δ,表示节点度的偏差,其中D0为节点度(邻居数),在计算时取邻居中非簇头的节点数,δ为预设的簇规模,根据不同的应用环境作调整; Q为节点间的链路质量,可以通过计算通信时的丢包率来表征; 表示节点到其邻居节点的距离的标准差,其中xi为节点到其邻居i的距离,x为平均距离。
加权系数wj要求满足即必须是归一化的,wj可根据不同的应用环境侧重的网络性能作调整,在特定的场合甚至可以令wj=0以忽略某些参数,加以简化,如无法获知节点位置则令w5=0忽略该项。
以上邻居交互HELLO消息持续若干周期,则各节点建立起各自的邻居表且权值稳定。
3)若节点的权值Wi在其邻居中最小,则置自己为簇头,同时在其HELLO消息中将其节点状态置为CH(簇头),若簇头的邻居中存在簇头,则比较其权值,小于自己的权值则置节点状态为未定,以保证网络中无邻居簇头的存在; 4)非簇头节点向其邻居表中权值最小的簇头节点发送请求加入消息ReqToJoin,这里有几种情况,并设置等待定时器; 5)簇头在收到加入请求ReqToJoin之后,若簇未满,则反馈AckToJoin消息,允许节点加入簇。若簇头的容量达到预设的上限,则拒绝节点的加入请求,向节点发送DenyToJoin消息; 6)节点收到AckToJoin消息,置自己的节点状态为CM(簇成员),广播更新的HELLO消息。节点收到DenyToJoin消息,则检查邻居表,若存在其他可用簇头,则向其发出加入申请ReqToJoin,否则,置自己为簇头,并广播HELLO消息; 7)重复第三至六步过程,直到所有节点都成为簇成员或者簇头,则分簇过程完成。
以上描述的仅是本发明的一个最佳实施例,本发明的保护范围并非局限于上述具体实施例,凡本领域技术人员根据本发明所做出的显而易见的改动均落在本发明的保护范围内。
权利要求
1.一种无线传感网的分布式分簇组网的方法,其特征在于,包括如下步骤
步骤1、节点周期性地广播HELLO消息,各节点根据接收到的广播信息建立自己的邻居表,计算出自己的簇头竞争权值Wi,并广播自己的更新了簇头竞争权值Wi的HELLO消息;其中,权值Wi计算公式如下
Wi=w1Pi+w2Ei+w3Di+w4Qi+w5Δi+...
其中,
P=PT/Pmax为节点的发射功率与最大发射功率比值;
E=(Emax-Ecur)/Emax,表示节点消耗的能量与最大能量的比值;
D=|D0-δ|/δ,表示节点度的偏差,其中D0为节点度,在计算时取邻居中非簇头的节点数,δ为预设的簇规模,根据不同的应用环境作调整;
Q为节点间的链路质量,可以通过计算通信时的丢包率来表征;
表示节点到其邻居节点的距离的标准差,其中xi为节点到其邻居i的距离,
为平均距离;
所述的加权系数wj要求满足
步骤2、节点依据自己的权值竞争簇头,在此过程中,节点的权值在动态变化,以保证簇头的选择的局部最优性,在确定了簇头之后,其周围的节点依据权值的顺序向簇头发出加入申请,通过REQ-ACK交互完成成簇过程,周围无簇头或未能加入簇的节点则自己成为簇头,直到所有节点都成为簇成员或者簇头。
2.根据权利要求1所述无线传感网的分布式分簇组网的方法,其特征在于,所述的HELL0消息包含如下信息节点的发射功率、节点的能量相关信息、节点的状态、节点的权值。
3.根据权利要求1所述的无线传感网的分布式分簇组网的方法,其特征在于,所述的步骤2包括如下步骤
步骤21、若节点的权值Wi在其邻居中最小,则置自己为簇头,同时在其HELLO消息中将其节点状态置为CH(簇头),若簇头的邻居中存在簇头,则比较其权值,小于自己的权值则置节点状态为未定,以保证网络中无邻居簇头的存在;
步骤22、非簇头节点向其邻居表中权值最小的簇头节点发送请求加入消息ReqToJoin,并设置等待定时器;
步骤23、簇头在收到加入请求ReqToJoin之后,若簇未满,则反馈AckToJoin消息,允许节点加入簇。若簇头的容量达到预设的上限,则拒绝节点的加入请求,向节点发送DenyToJoin消息;
步骤24、节点收到AckToJoin消息,置自己的节点状态为簇成员,广播更新的HELLO消息。节点收到DenyToJoin消息,则检查邻居表,若存在其他可用簇头,则向其发出加入申请ReqToJoin,否则,置自己为簇头,并广播HELLO消息;
步骤25、重复第三至六步过程,直到所有节点都成为簇成员或者簇头,则分簇过程完成。
4.根据权利要求1所述的无线传感网的分布式分簇组网的方法,其特征在于,所述的加权系数可依据环境和应用需求定值,某一个或多个加权系数可以为0,须满足
全文摘要
本发明公开了一种无线传感网的分布式分簇组网的方法,通过节点在邻居范围内交互信息,获知局部网络信息,并在此基础上,通过加权的方式计算节点用以竞争簇头的权值,据此进行簇头选举、成簇,由此完成网络的成簇过程。本发明充分利用节点所能掌握的局部网络信息,以加权的方式,获得局部最优的簇头竞争权值,从而达到网络的整体分簇最优化,实现系统的负载平衡。而本发明的节点权值在分簇过程中是动态变化从而可以得到更加优化的分簇结果。本发明与现有的分簇组网方法相比易于实现节点负载平衡,延长网络生存周期,且性能更佳,可以满足不同的应用场景下对网络性能的不同要求,具有较好的适应性和扩展性。
文档编号H04B7/005GK101188444SQ20071004129
公开日2008年5月28日 申请日期2007年5月25日 优先权日2007年5月25日
发明者黄河清, 杰 沈, 姚道远, 奎 马, 刘海涛, 涛 邢, 袁晓兵 申请人:中科院嘉兴中心微系统所分中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1