高 艳
(晋中信息学院大数据学院,山西 太谷 030800)
无线传感器网络为一种由大量部署在指定区域内,具备计算能力及无线通信能力的微小传感器组成的一个智能化网络,用于感知、处理以及传输其覆盖区域中的目标对象信息。无线传感器网络具有组建方式自由、网络拓扑结构随意和控制方式灵活等特点。无线传感器网络具有运行模式、待机模式和休眠模式,通过转换不同形式的工作模式,可以有效降低数据传输能耗。传感器网络中的各节点间距离较短,通常采用多跳无线通信进行连接,能够在相对独立的环境下自主运行,也可以直接连接到互联网,使相关管理人员能够远程访问。便捷地通信方式使得传感器网络被广泛应用于环境监测、军事等领域。在运行的过程中,感知节点必须将采集得到的大量相关信息,从初始节点发送至Sink节点,再通过Sink节点进一步处理分析数据。大多数节点的能量主要是通过电池来供电,来源较为有限,因此合理地利用有效能量完成更大规模数据传输就变得尤为重要。
关于数据传输优化的方法有很多,文献[1]提出了大数据资源调度下船舶网络信息传输方法,对船舶多进程网络信息进行整合,优化其PCI地址映射机制,改善数据传输的打包方式,提高无线网络传输协议的稳定性。实验表明该方法虽然能够有效降低传输消耗的能量,但是需要多次数据传输才能完成通信,传输耗时较长。文献[2]提出了基于改进自适应对偶预测的网络数据传输方法,该算法无需借助数据历史表来在漂移时更新模型参数,从存储的参数中执行新模型参数,参数对应于先前在过去预测阶段使用的模型,并在超过用户强加的阈值时消除,实现优化传输。该方法提高了传输的稳定性,节点传输能耗高,传感器网络寿命低,还需继续深入研究。文献[3]和文献[4]提出了一种边缘计算节点能量优化方法,构建约束路径最优节点模型预处理传输原始数据,利用能量感知节点完成数据传输资源分配,降低网络能耗。文献[5]提出了一种故障恢复和快速数据传输的优化技术,在移动自组网中利用链路和节点的生命周期设定数据传输最佳路径,避免频繁断开和节点故障,提高数据包的发送率和吞吐量。文献[6]利用FPGA跨时钟域的交互能力,对数据传输链路进行协议纠错,以此优化发送端和接收端的嵌入式效果。文献[7]提出自然优化的同构和异构网络能量感知数据采集技术,通过能量感知聚类方法提高数据传输聚类熟练度,根据能量效率、簇节点密度和基站距离等参数完成数据传输链路的采集,以数据聚合消除冗余数据,降低数据传输成本和开销。数据汇聚是无线传感器网络中处理数据传输和汇聚数据节点的一个重要过程,文献[8]采用蚁群算法,在数据聚合过程中选取最优动态簇头,提高数据传输能力和效率,降低传输能耗。
虽然上述算法均实现了数据传输,但是存在耗时较长,节点能耗较高等问题,为此本文结合分簇算法给出了一种无线传感器网络大数据传输优化方法。在研究过程中,为提高节点能量的利用率,计算出无线传感器网络的最优动态簇头数量,确定动态簇头数量后,采用最小路径法计算出能耗最小的传输路径,完成数据传输优化,降低了节点传输时的能量消耗,提高了传输的稳定性和精度。
无线传感器网络的各节点间的连接是通过无线信道建立的,两节点间相隔越远,数据传输所需要消耗的能量就越多,动态簇头节点的数量和位置会直接影响能量利用率,因此为实现传感器数据传输优化,首先需要选取最优动态簇头。由于无线传感器网络具有一定的移动能力,因此选择动态网络作为终端网络控制,可以更好地部署网络移动节点。
设在区域M×M中共放置了N个传感器,该区域被划分为K个簇,则每个簇中就平均含有N/K个节点,且每个簇中存在一个动态簇头CH以及N/K-1个普通节点。各动态簇头节点中产生的能耗分别为:接收节点数据时消耗的能量、数据聚合所产生的能耗、数据发送所产生的能耗[9],此时动态簇头CH节点的能耗可以表示为:
式中:l为数据的比特数[10];Eelec表示网络中收发电路产生的能耗;(N/K-1)lEelec为动态簇头接收N/K-1个节点数据后产生的能量消耗;EDA为单位比特数据聚合能耗[11];dtoBS为动态簇头距Sink节点[12]的距离;εmp为多路衰减模型系数;l(Eelec+εmpd4toBS)为与Sink通信后动态簇头消耗的能量。由于区域内的各个动态簇头与节点Sink的距离相对较远,其能耗符合多路衰减模型[13],所以dtoBS为四次方,(N/K)lEDA为簇内所有节点l聚合产生的能量消耗。无线传感器网络中的节点状态位置分布会影响能耗,同时节点自身的能耗与状态位置有关,因此节点为均匀分布。
单个簇节点的能耗可以表示为:
式中:dtoCH表示簇节点与动态簇头之间的距离,由于二者之间的距离大多数情况下较短,符合自由空间模型[14],所以dtoCH为二次方;εfs为自由传播模型系数[15]。
设区域M×M为一个正方形,表示的是该区域内整体动态簇面积,由于在该区域内划分了K个簇,所以单独一个簇的面积表示为M2/K,每个簇的形状可以根据实际情况决定,网络内的节点分布函数是ρ(x,y)。则簇内节点与动态簇头之间距离的期望值可以表示为:
此时式(2)中的簇内节点产生的能量消耗可以表示为:
动态簇头和簇成员所需能量Ecluster可以表示为:
整个网络的一轮数据传输需要的能量即为K个簇需要能量的总和,如下:
式中:d4toBS的大小和K没有直接关系。
为使总能耗值Etotal的值最小,将式(7)等号的两边同时对K求偏导,令,则在驻点处即可获得K的最优值如下:
进一步简化式(8)即可获得网络中的最优动态簇头数量可以表示为:
至此就获得最优动态簇头数量,式(9)中各参数的具体值,可以根据实际情况在设置网络的过程中给定。
由上述分析可知,传感器网络是由多个不相交簇组成,动态簇头与簇内节点通过无线网络进行通信,同时会由不同的簇内节点担任中继功能,降低数据传输能耗[16]。假设节点j和动态簇头之间的距离较远,则二者可以选择直接通信或者通过节点i间接通信。若两个节点的间距为a,节点j、节点i与动态簇头间距离分别为b和c,线段a、b之间的夹角为θ。由上文可知两个节点之间的距离越短,能耗越低[17],因此设置相距d0的两个节点直接进行通信,d0的值可根据传感器网络的实际情况确定。为简化计算,设a=b,c>d0,由余弦定理可得:
式中:θ∈(0,180°),当θ∈(0,90°)时,a2+b2>c2,又因为a=b,则又可以将式(10)进一步简化为:
下面分别从a<d0、a>d0两个方面来分析能耗问题。
①当a<d0时,那么节点j与动态簇头直接通信产生的总能耗Edirect、由节点i转发间接通信产生的总能耗Eindirect可以表示为:
直接、间接两种通信方式的能耗差可以表示为:
由式(11)可知,若动态簇头与两个节点位于同一直线上,那么由节点i转发的间接通信所产生的能耗最低[18],则设θ=π,那么a=0.5c,为了使间接通信有意义,规定ΔE>0,则有:
由此结合上文分析又可得:
式(16)无解,因此可得簇内节点需要与动态簇头直接进行通信才能节约更多能量。
②当a>d0时,节点j由节点i间接转发产生的总能耗可以表示为:
通过式(12)求解出直接通信、间接通信之间的能耗差如下:
设θ=π,a=b,则:
与a<d0同理,ΔE>0,则有:
由上述分析可得,c>2d0时,传感器网络的路由节点通过多路跳路由的方式进行数据传输,可一定程度节约能耗。
综合以上分析,优化可分为如下步骤:
步骤1 由网络中的Sink节点广播组建消息。
步骤2 计算动态簇头与节点间距离,若低于1.5d0,则与节点进行直接通信,反之进行步骤3。
步骤3 根据传感器网络的实际情况设置接收计时器,等待动态簇头发生信息表。
步骤4 结束计时,计算待转发数据的动态簇头和各候选动态簇头之间的距离d与夹角θ。
步骤5 计算θ数值,若其大于90°则转下一步,反之则直接进入第9步。
步骤6 选择出θ最大的动态簇头,通过该动态簇头向外发出接入请求。
步骤7 收到接入请求的节点自动计算节点度是否超出其最大限定,是则反馈给发出方delay消息,反之则返回accept消息。
步骤8 发出接入请求的动态簇头收到反馈消息accept后,继续选择该节点的下一节点作为待选转发节点,若接收到delay反馈信息,则删除相应的数据信息。删除后如果还能寻找到候选节点,则再次跳到步骤6,反之进行步骤9操作。
步骤9 使发出接入请求的动态簇头与Sink节点直接通信。
本文在仿真测试过程中,将无线传感器网络应用于某地区动植物栖息地的生态情况监测中,通过布设无线传感器节点获取生物多样性监测数据,利用提出的分簇算法将无线传感器节点划分为多个动态簇头,利用最优动态簇头实现基站与各节点之间的通信,然后将数据转发传递和直接传递给相关生态环保机构。本文选用如图1所示的仿真监测环境。
图1 无线传感器网络监测环境
仿真数据采用伯克尔实验室采集的2021年3月份的无线传感器网络通信数据,数据由57个无线传感器采集而来,每个节点的具体参数如表1所示。
表1 无线传感器节点参数
该实验室的无线传感器节点数量还是相对较少,采集获得的数据信息也较少,因此为验证算法能够实现大规模数据传输优化,通过加噪方式复制数据,加噪后数据的信噪比是20 dB。
采用以上数据及参数,分别采用本文方法、文献[1]大数据资源调度、文献[2]冗余数据消除的传输优化方法,在仿真环境中对80个传感节点数据进行传输,共进行10次测试,记录3种方法从节点1将数据传输至Sink节点所需传输次数,将结果进行对比分析,如图2所示。
图2 不同方法传输效率对比图
从图2中可得,在10次仿真过程中,大数据资源调度将数据从传感器节点1传输至Sink节点平均约需要83次传输,效率最低;冗余数据消除的传输优化方法,平均约需要进行57次传输才能完成数据传输任务;而本文方法所用次数最少,平均仅需要26次即可完成全部采集信息的传输工作,传输效率远高于其他两种方法。这是由于本文方法首先设置了最优动态簇头数量,能够一定程度地加快传输速度。
运行初期,网络中各个节点的能量充足,随着传输的进行,能量也逐渐被消耗殆尽,就会出现死亡节点,使部分信息无法有效传输到中心节点内。若在传输的过程中,数据量较大、传感器节点较多、通信链路又过长,就会导致前面节点的传输任务较重,能量消耗加剧,网络寿命降低。记录3种方法在传输过程中的节点存活情况,验证方法性能,结果如图3所示。
图3 不同方法节点存活情况对比图
从图3中可以看出,冗余数据消除和大数据资源调度优化算法在传输中后期存活节点数量减少较多、幅度较大;本文方法在传输后期虽然也出现了节点死亡现象,但数量相对较少,在传输轮数为160时传输节点数量为750,表明该方法下节点传输能耗低,可有效延长网络寿命,减少数据因节点死亡被丢失的概率。
随后验证不同方法的总体能耗,即传感器网络中全部节点传输数据消耗能量的总量,值越大则说明方法传输所需能量就越大,因此为验证算法是否能够降低传输耗能,将三种方法传输160轮数据产生的能耗进行对比,结果如图4所示。
图4 不同方法总能耗
从图4中,可以看出相比文献方法,本文方法在不同轮次数据传输的过程中能耗均为最低,在传输轮数为160时,传感器耗能为260 kWh,这是由于本文方法节点会在计算最小能耗后,再确定下一步是进行间接传输还是直接传输,从而确保每个节点均是以最小能耗完成传输工作的,使总体能耗保持最低。另一方面随着轮次的增加,能耗呈近似线性增长,所提方法增长幅度变化也是最小的,进一步证明所提方法性能优越。
由于大多数传感器都是用电池作为能量来源,导致其自身能量具有一定限制,为提高网络中各节点性能,降低能源消耗,延长网络的生命周期就成了热门研究课题。因此本文提出了一种基于分簇算法的传感器网络大数据传输优化方法,根据各节点之间距离计算出网络中的最佳动态簇头数量,随后采用最小路径法选择能源消耗最低的传输路径,完成传输优化全过程。最后在仿真分析中,与传统方法比较各项性能,结果表明,本文方法的传输效率更高、稳定性更强,且传输过程中节点存活率最高、能耗最小,具有一定的实际应用价值。由于时间限制,本文的研究工作还存在一些不完善之处如下:
①本文方法主要考虑了能源消耗问题,对其他方面还考虑较少,例如网络中簇成员间存在干扰等,一般情况下传感器节点是能够移动使用的,因此在接下来的研究过程中还需要在节点移动的条件下进一步完善算法。
②算法现阶段还仅针对同构环境下的传感器网络,进一步研究可以在网络异构、节点异构等异构环境下进行。