张 欢
(中国民用航空飞行学院计算机学院 四川 广汉 618307)
由于无线传感器网络(WSN)组网速度快、价格低廉、无需固定网络基础设施等特点使其越来越受到学术界以及工程领域的广泛关注。WSN本质上是由大量小型传感器节点构成,这些传感器节点通过无线方式进行互联通信、互相协作完成指定区域的数据感知任务。WSN应用范围已从最开始的科学理论研究拓展到了今天的工业、农业、卫生健康监测等诸多实际应用领域[1]。
通常分布在感知区域内的WSN节点同其他临近的节点在所感知的数据上具有一定的相关性,而相关性会导致冗余数据的产生,大量的冗余数据往往会使得接收终端,如Sink节点,无法对这些数据进行及时有效地处理。因此在实际应用中,较为可行的方法就是将来自不同传感器节点的相关数据进行数据融合处理[2],保留这些相关数据中有用的信息,去掉冗余信息。
数据融合技术除了可以通过减少WSN内部冗余数据的传输从而提高整个网络的性能之外,也可以相应地减少WSN数据传输所用的能耗。这些对于本来就是能量受限、处理能力及带宽受限的WSN而言都是十分重要的。在各种各样的数据融合算法当中,基于簇的数据融合算法受到了学者们的广泛关注。在基于簇的数据融合算法当中,若干节点构成簇,每一个簇包含一个数据融合节点和若干成员节点,每个成员节点将数据发送给数据融合节点,每个数据融合节点将接收的数据进行融合,融合后的数据再发送给Sink节点。
然而大多数的基于簇的协议以及簇形成算法, 如文献[2-6]都认为WSN节点是可信的,或者没有对网络中存在恶意节点的可能性给与足够的重视,因此若恶意节点选为数据融合节点,其后果会严重危害网络的可靠性和安全性。有研究表明,在节点随机部署的无线传感器网络中,当网络中存在5%的恶意节点时,35%的路由会受到影响,当恶意节点数为10%时,路由影响将超过54%。这就意味着在含有5%簇头或融合节点的基于簇的网络协议中,如果融合节点都是恶意节点,则网络中很大部分甚至全部都会瘫痪[7]。
本文根据WSN的特点,结合网络节点的特性,提出一种基于改进Bayes估计和能量均衡的无线传感器网络数据融合节点选取方法。本文主要创新点为:1) 同传统的Bayes估计方法相比,所提方法在节点信任计算中更加符合节点交互过程评价的实际情况;2) 所提方法考虑了节点当选为数据融合节点的能量均衡问题,即首先依据改进的Bayes估计方法选取信任值高的节点作为潜在的融合节点,其次为避免高信任节点多次当选为融合节点从而过早地消耗掉自身的能量,所提方法还将节点剩余能量作为参数共同考察潜在的融合节点。
数据融合可以看作是如何以自动化或半自动化的方式将来自不同信息源的数据转化成一种可以用于有效支持自动决策的方法,数据融合可以减少数据的维度,优化数据的体量和提取出有用的信息,此外,数据融合还可以帮助删除数据中的“杂质”以及克服所感知数据的复杂度[8]。
文献[9]从所涉及到的数学方法以及使用环境角度对数据融合在物联网中的应用进行了研究,该研究分析了在不同数学方法和应用环境中的数据融合方法所面临的问题和技术挑战,同时总结了数据融合在未来智能普适环境下的研究方向。文献[10]对数据融合进行了分类以及其在不同的领域中的应用进行了较为深入的研究,同时针对不同的应用需求进行了案例展示以及为大数据中的数据融合解决方案提供了理论建议。文献[11]对数据融合的不同使用框架进行了分类和研究,并对当前主流的数据融合方法在这些框架下的使用情况进行了测试和评估,同时也指出了当前数据融合方法中存在的主要问题。文献[12]将数据融合方法分为基于概率论和统计学的方法,基于经典机器学习、粗糙集等技术的人工智能方法以及基于证据理论的方法,在以上的三类方法中,基于概率论的方法相对最为简单同时在数据融合中使用得最为广泛,而其中的Bayes方法是近几年来在数据融合研究和使用最为多的方法。
此外,文献[13]提出一种基于簇和最小生成树的混合数据融合协议CTPEDCA。CTPEDCA采用的是分布式网络模型并不需要来自于基站的中心控制方式。在CTPEDCA中,假设基站知道所有节点的部署情况,任何一个节点都可以将数据发送给其他节点并且节点可以直接和基站进行通信。在每个簇内,节点通过一定的算法轮流充当簇头节点并由簇头节点负责收集和融合来自簇内其他节点的感知数据。所有的簇头节点通过MST算法生成一颗最小生成树,当前剩余能量最多的簇头节点充当树根节点,在这颗生成树中非终端节点将数据发送给终端节点,终端节点融合来自非终端节点的数据后再把数据传递给上一级节点,如此反复直到数据最后传递给根节点,最后由根节点进行最终数据融合并将最终数据发送给基站。
为了减少传感器节点将数据发送给远程基站点的能量损耗,防止传感器节点过早的能量耗尽,文献[14]提出LEACH算法,LEACH算法是簇形结构数据融合算法的典型代表之一。其主要思想是减少直接将数据发送给基站点的传感器节点数目。在LEACH算法中,网络通过自组织的方式生成一系列的簇,每个簇由若干节点构成,簇头节点搜集簇内节点数据,将这些数据进行融合,并负责将融合后的数据发送给基站点。另外一个较为经典的算法是PEGASIS。同LEACH算法相比,PEGASIS[15]通过链式方法来收集数据,该算法也是把数据发送给基站点的传感器节点数目减少为一个特定节点,并由该特定节点将每轮最终融合后的数据传递给基站点。PEGASIS假设基站是固定的,每个节点都会将接收到的数据同自己的数据进行融合。
由于WSN节点的部署通常在户外无人看管区域,因此应采取必要的措施对网络节点以及其传输的数据进行保护。虽然传统的加密方法可以提供数据保密性和数据完整性[16],但是对于黑洞攻击[17]等来自于WSN内部的恶意节点或自私节点发动的网络攻击,仅靠加密方法则不能有效应对和处理[18]。信任机制[19]应运而生,并已成为加密方法的有效补充方案以处理WSN中的安全问题[20]。
在WSN中,根据完成指定任务以及节点的行为等情况,节点可以增加或者丢失其信任值。此外,只有当节点的信任值高过事先定义好的阈值时,它才有资格参与由网络内部其他节点发起的任务请求。因此,信任机制可用来评估节点完成指定任务的能力,也可以利用信任信息进行决策的制定[21]。
为了应对数据融合过程中潜在的恶意节点,文献[22]结合信任管理和加密技术,提出一种基于信任的安全数据融合盲观察法。盲观察法通过将Order-Preserved加密技术和Sigmoid信任模型进行适配,在不需要将节点发送给基站的数据进行解密和数据内部检验的情况下,就可以对恶意行为节点进行区分,通过该方法可以保证数据融合的安全性和可靠性。为提高数据融合的安全度,文献[23]提出一种基于信任的网内数据融合方法。该方法使用的是树状数据融合结构并采用基于二项分布的信任模型来检测节点的恶意行为。在文献[23]中,节点的信任量度是由其发送的数据、路由行为以及可用性这三个方面进行评定的。为了达到可靠数据融合的目的,网络节点只将数据发送给信任度高于指定阈值的数据融合节点进行融合操作。在文献[24]中,来自节点的数据根据对应节点的信任度进行加权处理,普通节点依据数据融合节点的信任进行融合点的选取。RDAS[25]在无线传感器网络数据融合算法中通过采用信任机制对恶意节点进行识别和隔离的方式来提高数据融合的健壮性。RDAS中节点采用簇形结构和分布式信任机制,每个节点在本地保存有簇内其他节点的信任信息并和簇内其他节点进行信任信息的分享。RDAS使用LEACH作为底层数据融合协议,采用基于二项分布的信任模型作为节点信任评判方法。
在信任建模的诸多理论方法中,基于统计学的方法如贝塔分布、泊松分布以及高斯分布都受到了学者们的广泛关注,其中采用Bayes估计进行信任构建在方法上相对简单,理论上具备较强的统计学基础,尤其是该方法通常仅需要两个参数,在实际运用中可以分别代表节点正评价和负评价的数目等优点使其非常适用于WSN的信任构建。诸多文献如文献[26-28]等都采用了该信任方法,其中经典的如文献[26]和文献[29]对Bayes估计理论在信任系统当中的应用进行了较为深入的理论研究和探讨。
文献[26]利用Bayes估计为WSN提出了一种信任框架RFSN。RFSN采取的策略是将直接信任信息和间接信任信息相互结合的去中心化的信任管理模式,目的是建立一个可信的节点社区。RFSN在信任的计算过程中加入了来自邻居节点的间接信任信息并同节点的直接信任信息一起构建信任系统。RFSN使用一种称为Watchdog的监督机制, 其基本原理则是: 节点将一段时间内通常是最近一段时间内的数据保留在自己的缓存中,同时节点网卡采用混杂模式来监听其他节点在相同一段时间内发送的数据,如果其他节点发送的数据同自己缓存中的数据相匹配,则认为监听节点的行为是正常的,通常会伴随信任评价的增加,否则认为是不正常,也会伴随信任评价的减少。
根据经典文献[29], 基于传统Bayes估计的信任计算方法简述如下:在WSN中,假设节点B定期向节点A请求合作(例如数据包传递请求或路由信息请求),节点A在收到合作请求后可以选择合作或者不合作,假设在以往的记录中,A合作、不合作的次数分别为S1和S2,则根据Bayes估计,节点A(历史)合作信任值可定义为:
(1)
当节点B下一次再向A发送合作请求之前,就可以根据Bayes估计和式(1)来估算A的下一次合作信任值为:
(2)
当节点B的可以合作节点多于1个时,节点B就可以根据式(2)来计算各个候选合作节点的信任值,并根据一定的策略选择信任值高的节点进行合作。传统Bayes估计方法虽然简单易用,但每次在计算候选合作节点的信任值时都要将合作和不合作的次数加1,也即当候选节点选择不合作时也要进行S1+1操作。
本文所提方法首先依据改进的Bayes估计方法选取信任值高的节点作为潜在的融合节点,其次为避免高信任节点多次当选为融合节点从而过早地消耗掉自身的能量,所提方法还将节点剩余能量作为参数共同考察潜在的融合节点。
改进的Bayes估计方法描述如下:用ρ表示贝努利试验中成功的概率,Y是一随机变量,用来表示在贝努试验中第r次成功之前失败的次数,则X称作服从参数(ρ,r)的负二项随机变量,X的概率可表示为:
(3)
式中:k=0,1,2,…,且0<ρ<1。将式(3)进行整理,从而随机变量X的概率密度函数可表示为:
(4)
式(3)和式(4)可以简单理解为在r次成功之前观察到s次失败的概率或在r+s次试验中直到出现第r次成功的概率。
在二项分布中,试验中的成功次数是一随机变量,而在负二项分布中,得到给定的成功次数所要进行的试验次数也是一随机变量。进一步,负二项分布和二项分布的关系可表述如下:
(5)
式中:Y是服从参数为(r+s,ρ)的二项随机变量。
在式(5)中,ρ仍然是二项分布中成功的概率。在Bayes估计中,ρ的共轭先验分布为Beta分布,P(ρ)可表示为:
(6)
ρ的后验分布为:
(7)
在式(7)中,ρ的后验分布P(ρ|X)仍然服从参数为(α+r,β+s)的Beta分布,从而可由下式计算出ρ的数学期望:
(8)
在实际应用中,E(ρ)可以看作是某个节点的信任值,其计算依据为该节点过去同其他节点进行交互过程中正评价的次数以及负评价的次数。
同传统的Bayes估计方法相比,式(8)中的r和s的值可以为0或任意正整数。在改进的Bayes估计中,可以根据节点实际交互情况,当有正评价发生时,r增加,没有则r不变;当有负评价发生时,s增加,没有则s不变,也即r和s的值根据实际情况变化而不是每次都增1,因此改进的Bayes估计方法更加符合实际的节点信任计算。
在利用信任值选取数据融合节点时,高信任值节点往往会多次当选,虽然高信任的数据融合节点会提高数据融合的可靠性和准确性,但这种方式明显的缺陷则是此类节点会过早消耗掉自身的能量,不利于整个簇甚至整个网络的能量均衡负载。可行的办法是在考虑选取高信任节点作为融合节点的过程中同时考虑该节点的剩余能量,即不管某些节点的信任值有多高,只要其剩余能量没有达到一定的标准,就不考虑此类节点为数据融合节点。
对比式(8),本文在此处引入能量参数λ,其定如下:
(9)
式中:EI为节点的初始能量,ET和ER分别为节点在传递数据比特和接收数据比特时所使用的传递能耗和接收能耗,ET和ER的计算方式可以参见文献[30]。
每个节点的能量参数λ定期在簇内节点成员间传递,在实际应用中设置能量参数阈值φ,当某节点成为候选融合节点前,该节点同能量参数φ进行比较,当条件满足时将其标记为候选融合节点,否则视为非融合节点,即:
(10)
分别对融合节点的平均信任值、平均剩余能量值以及网络的数据包传递率进行了实验测试,测试参数如表1所示。
表1 实验参数
整个网络按照LEACH[14]提出的成簇算法自组成簇,WSN节点网卡采用混杂模式来监听同一簇内其他节点在最近一段时间内发送的数据,并通过本文所提的改进Bayes估计方法计算簇内其他节点的信任值。在每一轮的融合节点选举中,簇内每个节点都将其记录的信任值最高且满足能量阈值的节点在簇内进行广播也即投票,得票最多的节点当选本轮数据融合节点,当得票最多的节点数量大于1时,则选取其中剩余能量最多的当选为本轮数据融合节点。
假设网络基站节点位于测试区域中心并在固定时间段内发送1 000次数据包请求给网络中各个节点,簇内节点收到数据包请求后把数据直接传递给本簇的融合节点,之后由融合节点直接将融合数据传递给基站节点。
此外,假设正常节点每次传递的是正常区间[0~99]间的随机数,有20%的正常节点以25%的概率传递的是非正常区间内的随机数;恶意节点每次传递的都是非正常区间内的随机数;当正常节点选为融合节点时,会将所接收到的正常区间内数字的值以及其对应的频数发送给基站节点,即不会发送非正常区间内的数字及其频数;当恶意节点当选为融合节点时,除了完成正常融合节点的工作外,还会将接收到非正常区间内数字的值以及对应的频数发送给基站节点,能量参数阈值的取值为簇内节点的平均剩余能量值。
在该部分中,对数据融合节点的平均信任值进行了测试,测试对比方法为本文所提方法(P)同随机选取融合节点的方法(R),测试结果如图1所示。
图1 数据融合节点平均信任值
从图1中可以看出,随着基站节点查询的次数的不断增多,两种方法中的数据融合节点平均信任值都有不断上升的趋势,但所提方法中的平均信任值要上升的更快一些,例如在第1 000次查询的时候约0.9,而对比方面中因为采用随机选取簇内节点为数据融合节点,没有考虑到恶意节点当选为数据融合节点的可能性,使得部分恶意节点成为了融合节点,最终导致数据融合节点的平均信任值偏低。
在该部分中,对数据融合节点的平均剩余能量进行了测试,测试对比方法为本文所提方法(P)同不考虑剩余能量的改进的Bayes估计方法(N),测试结果如图2所示。
图2 融合节点平均剩余能量
在图2中,随着基站节点查询的次数的递增,两种方法中的融合节点剩余平均能量都呈现出下降的趋势。但在所提方法中,由于采用了能量均衡方法,使得高信任节点不能多次地当选为融合节点,所以所提方法中的融合节点平均剩余能量要下降得缓慢一些,而对比方法没有采用能量均衡方法。因此融合节点的平均剩余能量下降得要快一些,并随着查询测试的增多,如从第600次查询开始,下降的趋势不断增大,又如在第1 000次查询时,下降到约0.29 J。
在理想情况下,到达基站节点的数据正确率应接近100%,但由于网络中恶意节点传送非正常区间内数据,降低了整个网络的数据正确率,当恶意节点充当数据融合节点时,对整个网络的数据正确率影响更大。在该部分中,对数据正确率进行了测试,测试对比方法为本文所提方法(P)同随机选取数据融合节点方法(R),测试结果如图3所示。
图3 数据正确率
在图3中,随着基站节点查询次数的递增,所提方法的数据正确率始终保持在0.95左右,而对比方法由于随机选取的数据融合节点,使得部分错误数据也传递到了基站节点,因此其数据融合率始终在0.75左右波动,数据正确率相对较低。
在无线传感器网络中,数据融合节点的选取在整个数据融合过程中起着非常重要的作用。本文根据无线传感器网络的特点,结合网络节点的特性,提出一种基于改进Bayes估计和能量均衡的无线传感器网络数据融合节点选取方法。通过仿真实验表明,本文所提方法能够在降低数据融合节点的平均耗能、提高网络传递的数据正确率等几个方面取得较好的效果。