一种WSN中基于等级区域划分的协作式分簇路由通信方法与流程

文档序号:12380225阅读:356来源:国知局
一种WSN中基于等级区域划分的协作式分簇路由通信方法与流程

本发明涉及WSN(Wireless Sensor Networks,无线传感器网络)技术领域,具体涉及一种WSN中基于等级区域划分的协作式分簇路由通信方法。



背景技术:

WSN,即无线传感器网络。无线传感器网络由于其自身的应用特点,其能量已成为首要问题,如何提高能量使用效率和保存能量已成为WSN设计和实际应用的首要考虑目标。

现如今对无线传感器网络的研究大多采用分簇路由协议来降低能量消耗,其中已出现许多分簇算法,如LEACH、LEACH-C、PEGASIS、HEED、TEEN、EEUC、DEEC等,其大多是基于LEACH算法进行改进的。而LEACH算法以随机的方式选择簇头并采取周期性轮换簇头,将整个网络的能量负载平均分配到每个传感器节点中,从而达到降低能量消耗和提高网络生存时间的目的。但是,其分簇中以概率方式频繁选举簇头,没有考虑节点的剩余能量,极易造成低能量节点多次当选簇头,导致节点因能量消耗过快而过早死亡,整个网络拓扑不断变化,且每个簇头节点直接和Sink节点进行单跳路由通信,严重影响节点能量的均衡消耗和网络寿命,不适合应用于大规模无线传感器网络。LEACH-C是一种集中式分簇算法,需要Sink节点对全网进行分簇,操作较复杂。PEGASIS算法使全网节点构成一条链,几乎每个节点需要数据融合,链首节点的负载较大,能量消耗较快,链尾节点的数据传输延迟较高。因此,本发明提出了一种WSN中基于等级区域划分的协作式分簇路由通信方法。该方法通过对WSN进行等级区域划分以实现分布式非均匀分簇,并在每个区域中采用改进的LEACH算法进行自适应分簇,同时结合改进的PEGASIS算法使离Sink节点较远区域的离散簇的簇内节点形成链式结构,分簇完成后簇间采用多跳路由和协作式传输技术进行数据传输。此方法能够较好的均衡簇内和簇间各自节点的能量消耗,避免较远区域中出现较多的离散簇,并延长整个网络的生存时间及提高全网的工作性能,较适合应用于大规模无线传感器网络。



技术实现要素:

本发明的目的在于解决上述问题,提供了一种WSN中基于等级区域划分的协作式分簇路由通信方法。

本发明解决其技术问题所采用的技术方案是:一种WSN中基于等级区域划分的协作式分簇路由通信方法,该方法通过对WSN进行等级区域划分以实现分布式非均匀分簇,并在每个区域中采用改进的LEACH算法进行自适应分簇,同时结合改进的PEGASIS算法使离Sink节点较远区域的离散簇的簇内节点形成链式结构,分簇完成后簇间数据传输考虑采用多跳路由和协作式传输技术进行;

按上述技术方案,一种WSN中基于等级区域划分的协作式分簇路由通信方法,其特征在于,该方法包括如下关键步骤:

步骤一:等级区域划分

将WSN监测区域以汇聚节点为中心,以n*R(n=1,2,…)为半径,划分为多个不同的环状区域,并将同一环状区域的传感器节点标定为同一等级;

步骤二:确定最优簇数

WSN监测区域进行等级区域划分后,首先对离汇聚节点最近的第1等级区域采用区域簇头选取概率和总能量消耗最小化原则计算最优分簇个数,然后根据区域间总能量消耗均衡原理确定其他等级区域的最优簇数;

步骤三:确定簇域

WSN中每个等级区域的最优簇数确定后,需要结合改进的LEACH和PEGASIS算法形成具体簇域。WSN采用轮询方式进行分簇,其具体分簇过程为:

(1)第一轮分簇依据传统的LEACH算法进行随机选举簇头,其中在基本簇域形成后,需要计算每个区域中各个簇的比例系数和分散系数,以便确定离Sink节点较远区域的簇内节点的离散程度,并据此决定是否对相应区域中的簇内节点采取PEGASIS算法形成链式结构;

(2)后续轮分簇只进行簇内调整,簇内节点保持不变。其中,每个区域中非链式结构的簇需依据阈值T1(n)进行选举新簇头,而较远区域中链式结构的簇需选取离Sink节点较近且剩余能量较高的节点担任簇头,并形成新的PEGASIS链式结构;

(3)若干轮分簇后,如果某个簇内平均剩余能量小于节点初始能量的20%,则此区域需重新计算最优簇数并分簇,依据阈值T2(n)选举新簇头,其中对某些区域的簇内节点需重新考虑采用PEGASIS算法形成链式结构;

(4)每轮选举簇头节点结束后,除只进行簇内调整外,其它情况下普通节点需依据RSSI(接收信号强度)计算出离相应簇头节点的距离,然后选择数据传输能耗最小的簇头节点加入,并形成具体簇域;

步骤四:数据采集和融合

每个等级区域中的各个簇内的簇头节点在簇域形成后,会依据TDMA方式为簇内成员节点分配时隙,开始时簇内成员节点均处于休眠状态,当节点的时间槽到来时节点会被激活,非链式结构的簇内成员节点采集数据并单跳发送至簇首,而链式结构的簇内节点采集数据后需沿链传输至簇首,之后簇首对接收到的数据进行融合,并传输融合后的数据至汇聚节点;

步骤五:数据传输

WSN中的数据传输,也称作路由通信,即除第1等级区域外,在其它区域的簇头节点融合的数据需要通过最优路由路径由外向内转发至汇聚节点,其中最优路由路径的选取采用协作式传输技术的多跳路由通信方法进行,而第1等级区域的簇头节点融合的数据采用单跳路由直接传输至汇聚节点。每完成一个任务循环,需返回步骤三继续向下重复进行操作,至此即完成了一种WSN中基于等级区域划分的协作式分簇路由通信方法。

按上述技术方案,所述WSN的监测区域可以是矩形或圆形区域,且该区域是可以适度扩展的,其Sink节点位于监测区域附近。

按上述技术方案,所述WSN的每个区域是可以确定最优分簇个数的,且每个区域各不相同,随离Sink节点的距离增加而逐渐变少。

按上述技术方案,所述步骤三中的WSN分簇过程不会跨越等级区域进行,且各个区域只进行簇内调整时可以同步进行,而其他情况下各个区域分簇过程是在不同时刻进行的,即一个区域进行分簇时,其它区域的节点休眠。

按上述技术方案,所述WSN各个等级区域中的簇规模大小是比较均匀的,而区域间簇大小是非均匀的。

按上述技术方案,所述步骤三中的计算各个簇的比例系数和分散系数,可以用于确定离Sink节点较远区域且簇内节点较分散的簇形成PEGASIS链式结构,以便降低这些区域中簇内节点的能量消耗。

按上述技术方案,所述步骤四WSN某些区域链式结构簇内的成员节点需采集数据沿链传输至簇头节点,且只需在簇头节点进行数据融合。

按上述技术方案,所述步骤五的WSN数据传输采用协作式传输技术的多跳路由通信方法进行,其第1等级区域的簇头节点需把自身融合的数据和由其他区域转发过来的数据直接传输至汇聚节点,而其他区域中的簇头节点需依据该方法选取最优路由路径传输融合数据至汇聚节点。

本发明的技术特点及有益效果:

(1)与传统的无线传感器网络分簇路由方法相比,本发明提出了一种通过等级区域划分实现分布式的非均匀分簇方法,该方法对每个区域采用改进的LEACH和PEGASIS算法进行分簇,以形成能够保存能量的均匀簇,并避免较远区域出现离散簇,簇间数据传输结合多跳路由和协作式传输技术进行,最终解决问题并实现本发明的目的和效果。

(2)本发明采用等级区域划分来达到无线传感器网络的非均匀分簇策略,并对簇间数据传输实施协作式传输技术的多跳路由通信方法,进一步降低离Sink节点较远区域中簇头节点的能量消耗,从而更大程度地均衡簇间节点的能量消耗。

(3)本发明对WSN的每个等级区域采用改进的LEACH和PEGASIS算法进行分簇,以形成能够保存能量的均匀簇,并避免全网周期性地频繁分簇及较远区域中出现过多的离散簇,从而降低分簇造成的能量消耗,以及最小化和均衡区域中簇内节点的能量消耗。

(4)本发明的分簇路由方法能够延长第一个节点的死亡时间,并且全网节点几乎是在同一时刻或其小范围的附近时刻死亡,在每一时刻全网总能量消耗较少,其达到的效果是很好地均衡了簇内和簇间所有节点的能量消耗且最小化总能量消耗,延长了整个网络的寿命,并提高了全网的工作性能。

附图说明

图1是本发明方法的监测区域示意图;

图2是本发明方法的等级区域划分示意图;

图3是本发明方法的某轮分簇形成示意图;

图4是本发明方法的数据传输示意图;

图5是本发明实施例的总流程图;

图6是本发明实施例的具体分簇过程流程图;

图7是本发明方法的具体协作式传输的流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

图1是本发明方法采用的矩形监测区域示意图,其中随机投放大量静止的传感器节点,Sink节点位于区域附近,且它知道区域中传感器节点的位置和ID。

图2是本发明方法中对WSN进行等级区域划分的大概示意图,其WSN监测区域以汇聚节点为中心,以n*R(n=1,2,…)为半径,划分为多个不同的环状区域,并将同一环状区域的传感器节点标定为同一等级,离Sink节点最近的区域为第1等级,然后依次是第2等级、第3等级、…第n等级。

图3是本发明方法对WSN的每个区域采用上文中的分簇策略进行分簇所形成的某轮分簇示意图,由图可知此方法可以产生整个网络的分布式非均匀分簇,而区域内分簇是比较均匀的,某些区域中簇内节点形成链式结构。

图4是本发明方法对WSN完成分簇后簇间数据传输的基本示意图,其第1等级区域的簇头节点需把自身融合的数据和由其他区域转发过来的数据直接传输至汇聚节点,而其他区域中的簇头节点需依据一定的方法选取最优路由路径传输融合数据至汇聚节点。

实施例1

本发明方法采用图5中的总流程图进行,该方法包括如下关键步骤:

步骤一:对WSN进行等级区域划分

将无线传感器网络监测区域以汇聚节点为中心,以n*R(n=1,2,…)为半径,划分为多个不同的环状区域,并将同一环状区域的传感器节点标定为同一等级。

步骤二:确定最优簇数

无线传感器网络监测区域进行等级区域划分后,首先对离汇聚节点最近的第1等级区域采用区域簇头选取概率和总能量消耗最小化原则计算最优分簇个数,然后根据区域间总能量消耗均衡原理确定其他等级区域的最优簇数。其中,每个区域的簇头选取概率不同,随离Sink节点的距离增加而依次变小,保证非均匀分簇。

假设WSN被分成n个区域,每个区域的半径为n*R,每个区域传感器节点总数为Nn*R,每个区域簇头选取概率为Pn,从而每个区域的簇头数为Nn*R×Pn,即分簇的个数,则一个簇内成员节点数为保证各自区域中每个簇内节点数相同而实现均匀分簇。若每个节点在各自时隙中发送Kbit数据,其WSN能量模型采用自由空间模型,则在第1等级区域中,一个簇内簇头节点能耗为:

其中i∈(1,2,…,n),第n等级区域时i为n,CH代表簇头节点;

一个簇内全体成员节点总能耗为:其中CM代表簇内成员节点;

因此,第1等级区域的总能耗为:其中j∈(1,2,…,NR×P1);

根据总能量消耗最小化原则可知,由得P1,继而可得第1等级区域的最优簇数为NR×P1。另外,根据区域间总能量消耗均衡原理,由ER*Total=E2R*Total得P2,从而可依次得Pn(n=1,2,…),最终可获得每个区域的最优簇数为Nn*R×Pn

步骤三:确定簇域

无线传感器网络中每个等级区域的最优簇数确定后,需要结合改进的LEACH和PEGASIS算法形成具体簇域。分簇过程除只进行簇内调整时可以全网同步进行外,其他情况下需由第1等级区域依次向第n等级区域进行,即当某个区域分簇时,其它区域的节点处于休眠状态,以防分簇跨越等级区域进行,每个区域分簇采用轮询方式实施,具体分簇过程如图6所示。

步骤四:数据采集和融合

每个等级区域中的各个簇内的簇头节点在簇域形成后,会依据TDMA方式为簇内成员节点分配时隙,开始时簇内成员节点均处于休眠状态,当节点的时间槽到来时节点会被激活,非链式结构的簇内成员节点采集数据并单跳发送至簇首,而链式结构的簇内节点采集数据后需沿链传输至簇首,之后簇首对接收到的数据进行融合,并传输融合后的数据至汇聚节点。

步骤五:数据传输

WSN中的数据传输,也称作路由通信,即除第1等级区域外,在其它区域的簇头节点融合的数据需要通过最优路由路径由外向内转发至汇聚节点,其中最优路由路径的选取采用协作式传输技术的多跳路由通信方法进行,而第1等级区域的簇头节点融合的数据采用单跳路由直接传输至汇聚节点。每完成一个任务循环,需返回步骤三继续向下重复进行操作,直至WSN的生命周期结束为止。

上述数据传输中采用了协作式传输技术的多跳路由通信方法,其具体过程如图7所示。协作式传输技术的多跳路由通信方法的实施首先需要具备协作式传输的条件,即发送节点所在簇的平均剩余能量(Eavg-t)必须不小于接收节点所在簇的平均剩余能量(Eavg-r)。此时,发送节点启用协作式传输技术以延长传输距离,避免下一跳节点的传输负载过大。发送节点采用协作式传输技术需要选取所在簇的一些节点作为协作式节点,协作式节点的个数值一般可取2、3、4,但尽量选取最小个数。另外,协作式节点应该具有尽可能多的能量,且它们离簇头节点的距离应尽可能小,其具体选取标准的表达式为:其中,Ecur(CMi)表示第i个簇内成员节点的剩余能量;dci表示第i个簇内成员节点离簇头节点的距离。协作式节点确定后,簇间就可以结合多跳路由和协作式传输技术进行数据传输。协作式传输技术只在第n等级区域到第2等级区域的簇间进行,而第1等级区域的簇头节点不需要选取协作式节点,直接和Sink节点单跳路由通信。

实施例2

上述实施例1中的步骤三的具体分簇过程采用图6实施,其详细过程如下:

(1)第一轮分簇依据传统的LEACH算法进行随机选举簇头:每个节点生成一个0到1之间的随机数,比阈值T(n)小的节点当选为簇头,并向邻居节点通告自己成为簇头消息,其中T(n)的设置如下:

其中,p是预期簇头数目所占比重,即上述中的区域簇头选取概率Pn;r是当前轮数;G是在前轮中从未当选簇头的节点集合;n是当前传感器节点的ID号。

上述操作过程由第1等级区域依次向第n等级区域非同步进行,以防分簇跨越等级区域。此过程结束后,需要计算各个簇的比例系数和分散系数,以便确定较远区域簇内节点的离散程度。首先,计算全网节点与Sink节点的直线距离,从中选取最大的距离作为WSN网络标准距离;然后,计算各个簇的比例系数Φi,即Φi=dis/dms,其中dis为第i个簇头节点离Sink节点的距离,dms为网络标准距离。若比例系数Φi小于0.65,则该簇头节点离Sink节点较近,簇内成员节点直接和簇头节点单跳通信;若Φi大于0.65,则该簇头节点距离Sink节点较远,此时需计算该簇的分散系数ηi。分散系数的计算通过对该簇内成员节点距Sink节点与距簇头距离之比求和,再除以簇内成员节点数,其具体表示如下:

其中N为上述中的dNs为第N个簇内成员节点离Sink节点的距离,dNi为第N个簇内成员节点离簇头的距离。若ηi超过经验阈值0.65,则该簇为存在空洞的离散簇,启用PEGASIS算法使簇内成员节点与簇头节点构成一条链,否则,该簇为常规簇,簇内成员节点与簇头节点直接单跳通信。

(2)后续轮分簇只进行簇内调整,簇内节点保持不变。其中,每个区域中非链式结构的簇需依据阈值T1(n)进行选举新簇头,选举方式同(1),其中需考虑备选簇头节点的剩余能量、簇内成员节点到备选簇头的平均距离及备选簇头到Sink节点的距离,其阈值T1(n)的设置如下:

其中,参数权重λ∈(0,1),需根据实际应用环境选择不同的权重参数值;d1为簇内成员节点到备选簇头节点n的平均距离;d2为备选簇头节点n到Sink节点的距离;Ecur为节点n当前的剩余能量;Einit为节点n的初始能量;Emin为一轮中簇头节点所需要消耗的能量,即上述中的ER*CH;其他参数同(1)。此设置能够保证所选簇头节点的剩余能量较多,簇内成员节点到簇头节点的平均距离及簇头节点到Sink节点的距离都较短,尽可能降低节点的能量消耗,并均衡节点的能量消耗。

每个区域中若存在链式结构的簇,则需要重新选取离Sink节点较近且剩余能量较高的节点担任簇头节点,并与簇内成员节点采用PEGASIS算法形成新的链式结构。.

(3)若干轮分簇后,如果某个簇内平均剩余能量小于节点初始能量的20%,可能出现节点死亡,则此区域需重新计算最优簇数并分簇,依据阈值T2(n)选举新簇头,选举方式同(1),此时只考虑节点的剩余能量,其阈值T2(n)的设置如下:

当时,其中,Eavg为某个簇内平均剩余能量;Ek(cur)为簇内第k个节点的剩余能量;其他参数同(2)。假设此时区域内死亡节点数为NnR*death,则新的最优簇数为(Nn*R-NnR*death)×Pn。然后需重新计算各个簇的比例系数和分散系数,以便确定较远区域簇内节点的离散程度,从而决定是否采用PEGASIS算法使簇内所有节点成链,其中的方法同(1)。

(4)每轮选举簇头节点结束后,除只进行簇内调整外,其它情况下普通节点需依据RSSI(接收信号强度)计算出离相应簇头节点的距离,然后选择数据传输能耗最小的簇头节点加入,并形成具体簇域。

以上结合附图和技术方案对本发明的具体实施方式作了说明,但这些说明不能被理解为限制了本发明的范围,本发明的保护范围由随附的权利要求书限定,任何在本发明权利要求基础上的改动都是本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1