一种基于簇的数据采集和负载平衡方法
技术领域
本发明涉及基于簇的数据采集和负载平衡方法。
背景技术
近些年无线传感器网络技术发展迅速,它的潜在应用十分广泛,包括环境监测、栖息地监测、军事监视等等,这促使传感器节点向低消耗、低能量、多功能的方向发展。因为传感器节点的能量是由电池提供的,所以能源供应十分有限。这造成了无线传感器网络应用中的一个重要问题:如何在给定能量限制的条件下使网络寿命最大化。现存的研究表明可以通过增大电池的容量或者降低每个节点能量的消耗这两种方法来延长传感器节点的寿命。然而我们研究中发现由于重量和大小的限制,电池的容量不能显著的提高。因此本文将寻找一种通过节约能量的方法减少节点能量的消耗。
数据收集是无线传感器网络中的一个非常重要的环节。数据收集即大量的传感器节点发送数据到FC(Fusion Center融合中心)的过程。现有的一些能效协议提出可以按照某种特定的路径传递数据到FC。其中许多采用了基于簇的方法:选择一些传感器节点作为CH,这些CH从邻居节点收集数据。它们把数据传递给一个临近的CH,这样一来簇成员消耗能量降低。所以这种数据运输方式能够大大减少能量消耗。已有研究中经过仿真研究揭示了分簇协议能够将网络寿命扩大为8倍。
尽管现存的基于簇的方法在小范围内实现了良好的负载平衡,但是整个网络中能量的损耗仍然不能平衡。如图1所示,最简单的连接方法是基于CH和FC之间的一条单链。目前有两种从CH传递数据到FC主流的方法,分别是直接连接法和最短路径树法。如图2所示,在直接连接法中,靠近FC的节点要比远离FC的节点消耗更少的能量。而在图3中,在最短路径树法中,位于FC附近的小区域会形成热点,通常像集线器一样传输数据。在两种情况中都有一部分网络比其他部分先衰竭。所以整个网络的寿命可以通过平衡负载进一步提高。
现有的基于簇的数据采集协议主要有LEACH、HEED以及他们的变换。这些协议包含两部分,第一部分是CH的选取,第二部分是将采集到的数据到发送到FC。现有的路由结构分为以下类别。
单链方法:如图1所示,这种方法应用于基于簇的协议,单链由所有CH依次连接而成。每个CH仅与它的邻居节点进行通信并且将数据逐跳传输到FC。虽然这种连接易于建立和维护,但是每个CH和FC之间的距离是不同的,这造成了能量消耗极度的不平衡。
星型链路方法:如图2所示,在这种直接连接的方式中,每个CH直接传输数据给FC。当该方法应用于LEACH协议时,能耗的不平衡会变得非常严重。显然,节点距离FC越远,传输距离也就越长。因此,离FC很远的CH将消耗更多的能量传输数据。在整个网络中,这种能量消耗的不平衡性可能导致在感应区域远端的节点过早衰竭,从而导致网络出现盲区问题。
树型链路方法:如图3所示,最短路径树由网络中的最短路径组成,HEED中的所有CH将通过最短路径将数据传送到FC。这种方案能够减少局部的能量损耗,但从整个网络的角度来看,流量负荷总是集中在某些特定的路径上,这会造成全局能量消耗的不平衡。值得注意的是,在树形链路中,CH所处的位置决定着它所能发送的数据包的数量。距离FC较近的CH负责把其他CH发送到FC的数据包聚类。CH离根越近,它的流量负载就越重。所以FC周围容易形成热点,热点区域的数据传输很拥挤并且能量消耗也比网络中其他区域快。当这个区域的CH能量耗尽时,这些热点将衰竭成为盲点,并且不能与FC中的其他CH通信。
发明内容
本发明的目的是为了解决现有网络中的能量损耗不平衡的问题,而提出一种基于簇的数据采集和负载平衡方法。
一种基于簇的数据采集和负载平衡方法具体过程为:
步骤一、一维网络中链路的形成;
步骤二、基于一维网络中链路的形成,进行一维网络中的数据采集;
步骤三、基于一维网络中的数据采集,确定一维网络中的最佳的链路数量。
本发明的有益效果为:
本发明提出一种基于簇的平衡能耗方法(CBEL)。本发明CBEL(平衡能耗方法)是从两个方面实现高效数据采集和负载平衡的。一是将整个网络中的CH均衡的组织排列成多条平行链路。一维网络中的链路形成方案为:如果形成m条链路,每条链路i(1≤i≤m)由Chi,m+i,2m+i…组成。二是基于CBEL的有效的数据采集机制。任意一条有n个节点的链路要将传输n个数据包到FC,那么这n个数据包要通过n次循环来传输。对于任意的第r次循环,如果r<n,那么数据包将被分成两条链路传输,分别记为(FC←1←…←r-1←r)和(FC←r+1←…←←n-1←n);如果r=n,那么数据包则通过单链(FC←1←2←…←n-1←n)传输。(从距离FC最远的节点开始,每个节点把数据传递给相邻的后继节点,最后链路末端的节点将全部数据传递给FC。)
CBEL在能量有效利用,减小能量损耗和延长网络寿命方面都存在着优越的性能。在该方法中,CH被排列成多条平行链路,将负载均衡的分配到每条链路中,从而实现全局的负载平衡。CBEL可以有效地收集数据从而避免“热点”的产生。应用本发明的无线传感器网络能够获得较好的负载平衡性能,并能极大地延长网络寿命。解决现有网络中能量的损耗不平衡的问题。
如图12所示,一个n=4、L=200、D=100和L=2000的一维网络,LEACH的最大能耗为12.6mJ(CH4),最小能耗为2.1mJ(CH1);HEED的最大能耗为8.7mJ(CH1),最小能耗为0.6mJ(CH4);CBEL的最大能耗为为5.4mJ(CH1),最小能耗为3.6mJ(CH4)。显然,与其他两种方案相比,CBEL实现了更好的节点能耗平衡。
如图13所示,令L=200,D=100,l=2000,CH的数量n从2增加到32,CBEL中的链路数量m分别为1,2,4,8。在n逐渐增大的过程中,CBEL-m的最大能耗值趋于平稳,且总低于LEACH和HEED。例如,当n=12时LEACH的最大能耗为15.5mJ,HEED的最大能耗为26mJ,CBEL-1的最大能耗为14mJ,CBEL-2的最大能耗为10mJ,CBEL-4的最大能耗为9mJ,CBEL-8的最大能耗为12mJ。
如图14所示,令L=200,l=2000,当CH数量n=8时,我们研究节点最大能耗与CH1到FC的距离D之间的关系。随着D的增加,链路数量越多的CBEL变得有益。例如,当D=50时,LEACH的最大能耗为10mJ,HEED的最大能耗为5mJ,CBEL-1的最大能耗为2.5mJ,CBEL-2的最大能耗为2.5mJ,CBEL-4的最大能耗为5.5mJ,CBEL-8的最大能耗为10mJ。当D=300时,LEACH的最大能耗为46mJ,CBEL-1的最大能耗为80mJ,CBEL-2的最大能耗为52mJ,CBEL-4的最大能耗为42mJ,CBEL-8的最大能耗为46mJ。值得注意的是CBEL-8的性能和LEACH接近一致。
在图15中,D=100,n=8,l=2000,L不论为何值,CBEL-1的最大能耗均为10mJ。所以随着区域宽度L不断增大,CBEL-1的性能趋于稳定且最优。另外,在L很大的前提下,CBEL中链路数量越少越好。例如,当L=300时,LEACH的最大能耗为27mJ,HEED的最大能耗为17.5mJ,CBEL-1的最大能耗为10mJ,CBEL-2的最大能耗为10mJ,CBEL-4的最大能耗为15.5mJ,CBEL-8的最大能耗为27mJ。
附图说明
图1为单链路链内路由方法示意图;
图2为星型链路链内路由方法示意图,CH为簇头节点,FC为基站;
图3为树型链路链内路由方法示意图;
图4为本发明平行链路链内路由方法示意图;
图5为本发明一维网络中的单链链路形成方法示意图;
图6为本发明一维网络中的两条链路形成方法示意图;
图7为本发明一维网络中的三条链路形成方法示意图;
图8为本发明数据采集第一次循环方法示意图;
图9为本发明数据采集第二次循环方法示意图;
图10为本发明数据采集第r次循环方法示意图;
图11为本发明数据采集第n次循环方法示意图;
图12为一维网络中基于三种不同方法的四个簇头的能耗分布图,LEACH为低功耗自适应集簇分层型协议(Low Energy Adaptive Clustering Hierarchy),HEED为混合节能分布式集簇协议(A Hybrid,Energy-Efficient Distributed clustering approach),CBEL为本发明提出的平衡能耗方法;
图13为一维网络中CH数量与单个节点的最大能量消耗间的关系(L=200,D=100,l=2000)图,CBEL-1为本发明提出的单链平衡能耗方法,CBEL-2为本发明提出的两条链路平衡能耗方法,CBEL-4为本发明提出的四条链路平衡能耗方法,CBEL-8为本发明提出的八条链路平衡能耗方法;
图14为一维网络中CH1到FC的距离D与单个节点最大能耗间的关系(L=200,n=8,l=2000)图,l为数据包的大小,单位为比特;
图15为一维网络中网络区域宽度与单个节点最大能耗间的关系(D=100,n=8,l=2000)图。
具体实施方式
具体实施方式一:本实施方式一种基于簇的数据采集和负载平衡方法具体过程为:
本发明提出了一种基于簇的平衡能耗方法(CBEL)。将CBEL中的CH组织成多个并行链路,如图4所示。将能源均衡消耗集中在全局而不是局部,从而延长网络寿命。
步骤一、一维网络中链路的形成;
步骤二、基于一维网络中链路的形成,进行一维网络中的数据采集;
步骤三、基于一维网络中的数据采集,确定一维网络中的最佳的链路数量。
具体实施方式二:本实施方式与具体实施方式一不同的是,所述步骤一中一维网络中链路的形成;具体过程为:
在一维网络模型中,感应区域为长度为L的直线,如图5所示,FC在感应区域左端,n个簇头节点CH1,CH2,CH3,…,CHk,…,CHn在这条线上从左到右依次排列;n个簇头节点CH1,CH2,CH3,…,CHk,…,CHn均是静态节点;FC为基站;
任意两个相邻的簇头节点CH之间的距离是L/n,FC和CH1之间的距离是D;因此FC与CHn的距离为D+(n-1)L/n;
形成m条链路,每条链路i由CHi,m+i,2m+i,...组成,1≤i≤m。
如图5所示,单链由CH1,2,3,…,n-1,n组成;
如图6所示,两条链路分别由CH1,3,5,…和CH2,4,6,…组成;
如图7所示,三条链路分别由CH1,4,7,…、CH2,5,8,…和CH3,6,9,…组成。
其它步骤及参数与具体实施方式一相同。
具体实施方式三:本实施方式与具体实施方式一或二不同的是,所述步骤二中基于一维网络中链路的形成,进行一维网络中的数据采集;具体过程为:
一条有n个簇头节点的链路将传输n个数据包到FC;如果采用直接连接方案,离FC最远的CHn将会消耗最多的能量。如果采用最短路径树方法,离FC最近的CH1将会成为热点。接下来,用单链方案解释链内调度方法,如方法1所示。
n个数据包被分成n次循环来传输:r∈{1,...,n};
对于任意的第r次循环,如果r<n,那么数据包将被分成两条链路传输,分别记为(FC←1←…←r-1←r)和(FC←r+1←…←←n-1←n);
如果r=n,那么数据包则通过单链(FC←1←2←…←n-1←n)传输。
其它步骤及参数与具体实施方式一或二相同。
具体实施方式四:本实施方式与具体实施方式一至三之一不同的是,所述n个数据包被分成n次循环来传输;r∈{1,...,n},对于任意的第r次循环,如果r<n,那么数据包将被分成两条链路传输,分别记为(FC←1←…←r-1←r)和(FC←r+1←…←←n-1←n);如果r=n,那么数据包则通过单链(FC←1←2←…←n-1←n)传输;
具体过程为:
图8、9、10、11是在单链中实现数据采集的例子。
第一次循环如图8所示,CH1仅传递CH1自己的一个数据包到FC,CH2传递剩余的簇头节点CH2,CH3,...,CHn的n-1个数据包到FC;
第二次循环如图9所示,CH1传递CH1和CH2的2个数据包到FC,而CH3传递剩余的簇头节点CH3,CH4,...,CHn的n-2个数据包到FC;
第r次循环如图10所示,CH1传递CH1,CH2,...,CHr的r个数据包到FC,而CH(r+1)传递剩余的簇头节点CH(r+1),...,CH(n-1),CHn的n-r个数据包到FC;
最后一次循环如图10所示,CH1将传递全部簇头节点CH1,CH2,...,CHn的n个数据包到FC。
一条单链中,一个CH平均传递一个数据包。对于任意L和D,当n超过了一个确定的界限,传输成本可能会超过预期。因此,多链路的形成有利于分散能耗。下面我们将讨论最佳的链路数量。
其它步骤及参数与具体实施方式一至三之一相同。
具体实施方式五:本实施方式与具体实施方式一至四之一不同的是,所述步骤三中基于一维网络中的数据采集,确定一维网络中的最佳的链路数量;具体过程为:
CBEL的性能分析
本发明将比较一维网络模型中CBEL、LEACH和HEED的性能。本发明的重点是在单节点能量消耗最大的情况下实现路由平衡。
在距离为d的情况下传输l比特的数据包,一维网络中基站对应的发射功率为Pt,接收功率为Pr;
采用单链拓扑结构,CHk在任意一次循环的平均能耗为:
式中Nr(k,r)表示在第r次循环中CHk接收的数据包数量;Nt(k,r)表示第r次循环中CHk传输到后继节点的数据包数量;Nt(k,r)′表示第r次循环中CHk传输到FC的数据包数量;
CHk在任意一次循环的平均能耗和最大能耗分别由(2)和(3)得到:
如图12所示,令一维网络中n=2,L=200,l=2000和D=100,比较LEACH,HEED和CBEL的最大能耗和最小能耗。显然,CBEL的能耗分布比其他两种方案平衡性更好。LEACH的最大能耗为12.6mJ(CH4),最小能耗为2.1mJ(CH1);HEED的最大能耗为8.7mJ(CH1),最小能耗为0.6mJ(CH4);CBEL的最大能耗为5.4mJ(CH1),最小能耗为3.6mJ(CH4)。显然,与其他两种方案相比,CBEL实现了更好的节点能耗平衡。
采用m条链路拓扑结构,并假定n=n'm,n'为一个倍数;每条链路i包含CHi,m+i,...,(n'-1)m+i;在m条链路的情况下CHk在任意一次循环的平均能耗由公式(4)得出,k=k'm+i,k'为一个倍数,i=1,2,...,m;
公式(4)表达式为:
式中Nr(k′,r)表示在m条链路的情况下第r次循环中CHk接收的数据包数量;Nt(k′,r)表示在m条链路的情况下在第r次循环中CHk传输到后继节点的数据包的数量;Nt(k′,r)′表示在m条链路的情况下在第r次循环中CHk传输到FC的数据包的数量;Nr(k′,r),Nt(k′,r)和Nt(k′,r)′可由公式(9)(10)(11)得到。
在m条链路的情况下CHk在任意一次循环的平均能耗和最大能耗见式(5)和(6):
其它步骤及参数与具体实施方式一至四之一相同。
具体实施方式六:本实施方式与具体实施方式一至五之一不同的是,所述发射功率为Pt和接收功率为Pr表达式为:
Pt(d)=Pradiol+Pampliferld2 (7)
Pr=Pradiol (8)
式中,Pradio是无线电为运行发射机或接收机电路而消耗的总能量,Pamplifer是传输放大器消耗的总能量。
Pradio=50nJ/bit,Pamplifer=100pJ/(bit·m2);
在LEACH中,CHk传送一个数据包到FC所消耗的能量为:
LEACH中,CHk传送一个数据包到FC的最大的能量损耗是:
PLEACH(n)为距离FC最远的簇头节点CHn传送一个数据包到FC所消耗的能量;
在HEED中,上游节点(远离FC)传输n-k个数据包给CHk,下游节点(靠近FC)从CHk接收n-k+1个数据包;那么CHk传送一个数据包到FC所消耗的能量为:
HEED中,假设D>1/nL;上游节点(远离FC)传送一个数据包到CHk消耗的最大能量为:
PHEED(1)为距离FC最近的上游节点CH1传送一个数据包到FC所消耗的能量。
其它步骤及参数与具体实施方式一至五之一相同。
具体实施方式七:本实施方式与具体实施方式一至六之一不同的是,所述在第r次循环中CHk接收的数据包数量Nr(k,r),第r次循环中CHk传输到后继节点的数据包数量Nt(k,r),第r次循环中CHk传输到FC的数据包数量Nt(k,r)′分别满足:
将公式(9)(10)(11)带入(1)进一步得到公式(2)。
其它步骤及参数与具体实施方式一至六之一相同。
具体实施方式八:本实施方式与具体实施方式一至七之一不同的是,所述在m条链路的情况下第r次循环中CHk接收的数据包数量Nr(k′,r)、在m条链路的情况下在第r次循环中CHk传输到后继节点的数据包的数量Nt(k′,r)、在m条链路的情况下在第r次循环中CHk传输到FC的数据包的数量Nt(k′,r)′满足:
其它步骤及参数与具体实施方式一至七之一相同。
采用以下实施例验证本发明的有益效果:
实施例一:
本实施例具体是按照以下步骤制备的:
LEACH,HEED和CBEL在一维网络中性能的变化随着参数L,D和n变化。为了比较不同路由方案的负载均衡,我们分别用三种方法计算单个节点的最大能耗。
如图13所示,令L=200,D=100,l=2000,CH的数量n从2增加到32,CBEL中的链路数量m分别为1,2,4,8。在n逐渐增大的过程中,CBEL-m的最大能耗值趋于平稳,且总低于LEACH和HEED。这说明在不同的CH数量n下,只有形成恰当的m条链路时,CBEL的性能才是最优的。
如图13所示,当n=12时LEACH的最大能耗为15.5mJ,HEED的最大能耗为26mJ,CBEL-1的最大能耗为14mJ,CBEL-2的最大能耗为10mJ,CBEL-4的最大能耗为9mJ,CBEL-8的最大能耗为12mJ。
如图14所示,令L=200,l=2000,当CH数量n=8时,研究节点最大能耗与CH1到FC的距离D之间的关系,仿真结果表明,链路数量越多CBEL方法的性能越好,其中CBEL-8的性能和LEACH接近一致。随着D的增加,链路数量越多的CBEL变得有益。
如图14所示,当D=50时,LEACH的最大能耗为10mJ,HEED的最大能耗为5mJ,CBEL-1的最大能耗为2.5mJ,CBEL-2的最大能耗为2.5mJ,CBEL-4的最大能耗为5.5mJ,CBEL-8的最大能耗为10mJ。当D=300时,LEACH的最大能耗为46mJ,CBEL-1的最大能耗为80mJ,CBEL-2的最大能耗为52mJ,CBEL-4的最大能耗为42mJ,CBEL-8的最大能耗为46mJ。值得注意的是CBEL-8的性能和LEACH接近一致。
在图15中,D=100,n=8,l=2000,随着区域宽度L不断增大,CBEL-1的性能趋于稳定且最优。这说明在L很大的前提下,CBEL中链路数量越多能耗越大。另外,在L很大的前提下,CBEL中链路数量越少越好。
在图15中,L不论为何值,CBEL-1的最大能耗均为10mJ。当L=300时,LEACH的最大能耗为27mJ,HEED的最大能耗为17.5mJ,CBEL-1的最大能耗为10mJ,CBEL-2的最大能耗为10mJ,CBEL-4的最大能耗为15.5mJ,CBEL-8的最大能耗为27mJ。
本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。