无线传感器网络中能量高效的Top-k监测算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

无线传感器网络中能量高效的Top-k监测算法
毕冉;李建中
【摘要】传感器节点由于电源能量耗尽的原因经常失效或废弃,因此研究无线传感网的高能效查询处理算法具有重要意义.Top-k监测返回k个最大(或最小)的感知值及相应的位置信息,可以帮助用户检测异常事件并定位发生异常事件的位置,对于用户具有重要的实际意义.已有的Top-k查询处理算法致力于返回精确或近似的查询结果,通信能量开销较高.以最小化网内通信开销的期望为优化目标,提出了基于过滤器的Top-k监测算法.首先,提出了过滤器的健壮性并给出了通信开销模型;其次,根据期望的均值内涵和感知数据的时空相关性,给出了过滤器失败概率的计算公式;最后,以最小化通信开销的期望为优化目标,证明了健壮的过滤器的最优阈值,并提出了基于过滤器的Top-k监测算法(filter based Top-k monitoring algorithm,FTM).理论分析和实验结果验证了该算法的正确性以及低能耗性.
【期刊名称】《计算机研究与发展》
【年(卷),期】2014(051)011
【总页数】13页(P2361-2373)
【关键词】无线传感器网络;最小化通信能量;Top-k监测算法;滤波器;阈值
【作者】毕冉;李建中
【作者单位】哈尔滨工业大学计算机科学与技术学院哈尔滨 150001;哈尔滨工业大学计算机科学与技术学院哈尔滨 150001
【正文语种】中文
【中图分类】TP393
随着微电子技术、嵌入式技术以及无线通信技术的日趋成熟,无线传感器网络成为人们观察和认知复杂多变的物理世界的重要工具.无线传感器网络将信息世界和物理世界有效地结合在一起,被广泛地应用在国防军事、环境监测和医疗卫生等诸多领域.
无线传感器网络由个数众多、电源能量有限的传感器节点组成,节点间的无线通信成为电源能量消耗的主要因素,网络中的传感器节点由于能量耗尽的原因经常失效或废弃.因此,通信能量的消耗成为评估无线传感网络中算法性能的一个关键指标.Top-k监测返回k个最大(或最小)的感知值及相应的位置信息,可以帮助用户检测异常事件并定位发生异常事件的位置,对于用户具有重要的实际意义.例如,感知数据的Top-k查询结果有助于用户获取监测区域内的异常事件信息并作出相应的分析决策.在基于无线传感器网络的桥梁振动程度的监测应用中[1],Top
-k查询结果可以使用户了解哪些区域振动程度最为严重,帮助用户作出相应的预警机制,进而有效地避免了人员及财产损失事故的发生.无线传感器网络的Top
-k查询处理问题已经引起人们的广泛关注,提出了一些Top-k查询处理算法
[2-4].然而,这些算法以返回精确的 Top-k 查询结果为主旨,通信能量开
销较大,降低传感器网络的寿命.
由于感知数据受到节点硬件的测量误差和环境噪声的影响,用户很难获取完全精确的查询结果,而且在很多传感器网络的实际应用中,近似查询结果可以帮助用户完成分析决策等工作[5-7].鉴于上述原因,人们开展了近似查询处理算法的研
究[8-11].基于抽样的Top-k查询处理算法[8]以最小化丢失查询结果的
数量为优化目标,通信复杂度较高.基于过滤器的Top-k查询处理算法[12]
的基本思想是为每个节点分配过滤区间,减少由不必要的数据更新引起的通信开销.
然而,已有算法以返回Top-k查询结果为主旨,没有考虑算法的通信能量开销.因此,为了降低通信能量开销、延长网络寿命,本文以最小化网内通信能量的期望为优化目标,提出了基于过滤器的Top-k 监测算法(filter based Top-k monitoring algorithm,FTM).本文的主要工作和贡献如下:
1)提出了过滤器的健壮性并给出其严格的形式化定义,并给出了通信能量开销模型;
2)根据期望的均值内涵和感知数据的时空相关性,给出过滤器失败概率的计算公式;
3)以最小化通信能量的期望为优化目标,证明健壮的过滤器的最优阈值,提出基于过滤器的Top-k监测算法;
4)通过理论分析和实验,验证了Top-k监测算法的高效性.
1 相关工作
基于阈值(threshold algorithm,TA)算法的思想,文献[7]提出了满足用户精度要求的θ-近似Top-k查询处理算法,其中θ为相对误差界.文献[13-14]介绍了带有概率保证的Top-k查询处理算法.由于传感器网络中的数据是分布式存储的,数据获取代价较高,因此这些集中式算法不适合应用于传感器网络中.
文献[3,5,15-16]开展了分布式 Top-k查询处理算法的研究.这些算法假设一个对象的打分值等于不同属性的打分值的加权和.其中,每个数据源提供若干对象在某个属性上的打分值,不同属性的打分值分别来自不同节点.由于在传感器网络中,一个传感器节点为监测对象提供完整的感知数据,于是上述算法的应用环境与本文讨论的传感器网络有很大的不同,该算法亦不适合应用于传感器网络中.在P2P环境下,文献[4]介绍了带有固定概率保证的近似Top-k查询处理算法.然而,当k值调整时这种方法不够灵活.
文献[17]研究了Top-k结果和Skyline之间的内在关系,根据Skyline查询结果确定存储Top-k结果的节点.然而,获取精确的Skyline查询结果将引起较高的通信开销.文献[18]根据已有查询结果的缓存来减少非Top-k结果的传输.文献[19]基于Tinydb实现了Top-k查询系统,用户提交Top-k查询的SQL语句即可从传感网数据库系统中检索到感知数据.文献[20]提出了支持Top-k查询处理的高效路由策略.文献[21]给出了多维Top-k查询处理的一般框架.然而,这些研究工作致力于返回精确的Top-k查询结果,没有考虑感知数据的时空相关性,降低了网络的能效性.文献[22]基于模糊方法研究了事件驱动的近似Top-k查询处理方法,然而该算法的应用环境不同于本文讨论的传感器网络.文献[23]提出的基于抽样方法的近似Top-k查询处理算法不适合连续的Top-k查询处理.
文献[12]介绍了分布式Top-k监测算法.算法的基本思想是分别为 Top-k 查询结果{d1,d2,…,dk}建立过滤器(filter)F1,F2,…,Fk,减少由不必要的数据更新引起的通信开销.当感知值超出过滤器阈值范围时,传感器节点向Sink节点发送感知数据,如图1所示.但是文献[12]给出的启发式阈值计算方法没有优化全网通信能量的开销.
Fig.1 Filters of Top-kquery result.图1 Top-k查询结果的过滤器
2 问题定义及通信开销模型
由于感知数据具有时空相关性,因此我们根据已返回的查询结果和历史信息为Top-k节点分配优化的过滤区间,达到节省能量、延长网络寿命的目的.由于Top-k节点不断变化并且节点位置不确定,于是与文献[24]提出的通信能量开销模型类似,本文假设传感器节点向Sink节点发送一个数据包的平均代价为cu,Sink节点向传感器节点发送一个数据包的平均代价为cd;Nu记为网内传感器节点向Sink节点发送的总数据包的数量,Nd记为Sink节点向传感器节点发送的总
数据包的数量.那么,通信能量开销为cuNu+cdNd.
2.1 问题定义
令di(t)表示节点i在时刻t的感知值,那么时刻t传感器网络的感知数据集合
为St,其中St={d1(t),…,dN(t)}.为了便于分析,本文假设同一时刻
t不同传感器节点的感知值互不相同[25],即di(t)≠dj(t),其中,i≠j,且i,j∈{1,2,…,N}.如果一些节点的感知值相同,那么针对其感知数据,算
法可以首先应用一致的tie-breaker[25]方法.因此,本文设计的算法亦适用
于不同传感器节点具有同一感知值的情况.
定义1.排名rt(x,St).不妨设时刻t传感器网络的感知数据集合为St={d1(t),…,dN(t)},对任意实数x∈R,x在感知数据集合St的排名记为rt (x,St),其中rt(x,St)=|{i|Si(t)≥x,i∈{1,2,…,N}}|.
定义2.Top-k监测结果.不妨设时刻t传感器网络的感知数据集合为St,时刻
t的Top-k监测结果记为Top(k,St),其中Top(k,St)同时满足以下条件:1)Top(k,St)⊂St;
2)|Top(k,St)|=k;
3)∀x∈Top(k,St),∀y∈St-Top(k,St),满足x>y.
不妨设{di1(t),di2(t),…,dik(t)}为时刻t的Top-k监测结果,并且 di1(t)>di2(t)>… >dik(t),其中dih(t)表示节点ih 在时刻t
的感知数据.当上下文语义清楚时dih(t)简记为dih.我们为Top-k感知数据分别建立k个过滤器,那么di1,di2,…,dik 对应的过滤器分别为F1,F2,…,Fk,其中,Fj=[lj,uj],且lj<dij<uj.当上下文语义清楚时,Fj.u和Fj.l
分别表示过滤器Fj 的上界uj 及其下界lj.若节点的感知值没有超出过滤器的阈值,那么节点不必将感知数据发送至Sink节点.我们通过过滤器来降低因不必要的数
据更新引起的通信开销,并为用户提供Top-k查询结果的视图.鉴于感知数据常
伴有环境噪声以及无线通信的不确定性,因此本文研究的内容是:为Top-k节点分配最优的过滤区间,使得通信代价cuNu+cdNd的期望最小化.
2.2 通信能量代价模型
命题1.若X 为过滤器的失效次数,Y 为探测查询的次数,那么通信能量开销为(cu+cd)X+(cu+2cd)Y.
证明.与文献[24]提出的能量代价模型类似.倘若因节点的感知值小于过滤器的下界或大于过滤器的上界而引起过滤器的失效,那么该节点需要将感知数据及必要的历史信息发送至Sink节点.Sink节点接收到传感器节点发送的信息后,根据感知值及历史信息计算新的过滤器阈值,并将该阈值发送至传感器节点,此过程的通信能量开销为cu+cd.现考察探测查询的通信能量消耗,Sink节点首先向传感器节点发送探测查询,传感器节点接收到探测查询要求后将其节点感知值及必要的历史信息发送至Sink节点,Sink节点接收到节点发送的信息后,将新的过滤器阈值发送至传感器节点,此过程的通信能量开销为cu+2cd.综上所述,因过滤器失效以及探测查询引起的通信能量开销为(cu+cd)X+(cu+2cd)Y.证毕.定义3.确定的大于等于关系≥.不妨设为感知数据dih,dij 建立的过滤器分别为[Fh.l,Fh.u],[Fj.l,Fj.u].dih 为确定的大于等于dij,当且仅当下面的4个条件至少成立1个:
1)dih≥dij;
2)Fh.l≥dij;
3)dih≥Fj.u;
4)Fh.l≥Fj.u.
定义4.可能的大于等于关系≥~.如果dih为可能的大于等于dij,那么下面的3个条件至少成立1个:
1)Fh.u≥dij;
2)dih≥Fj.l;
3)Fh.u≥Fj.l.
可能的大于等于关系可用时,当且仅当下面2个条件同时满足:
1)至少一个感知数据用过滤器表示;
2)确定的大于等于关系不成立.
根据过滤器以及“可能的大于等于关系”的定义,我们研究“健壮的”过滤器上、下界阈值满足的条件.
1)非覆盖性:不妨设为Top-k查询结果di1,di2,…,dik 建立的过滤器分别为F1,F2,…,Fk(Fj=[lj,uj]),那么 F1.u≥di1≥F1.l≥F2.u≥ …
≥dik≥Fk.l.
说明:若Fm∩Fm+1≠∅,那么当节点im或节点im+1的感知数据属于Fm∩Fm +1时,我们无法判断感知值dim与dim+1的大小关系,并且Top-k查询结果的视图可能发生变化,于是为用户提供的原始Top-k视图可能失效.为了向用户提供准确的Top-k视图,F1,F2,…,Fk 应满足
F1.u≥di1≥F1.l≥F2.u≥di2≥F2.l≥…≥Fk.u≥dik≥Fk.l.
2)紧性:我们称过滤器F1,F2,…,Fk是紧的,如果Fh.l≤Fh+1.u,其中1≤h≤k-1.
说明:Fh.l>Fh+1.u增大了过滤器Fh 和Fh+1的失效次数,因此Fh.l≤Fh +1.u可以同时降低相邻2个过滤器失效的次数[12],有助于节省通信能量、延长网络寿命.
3)健壮性:如果过滤器F1,F2,…,Fk 同时满足非覆盖性条件和紧性条件,那么称该组过滤器是健壮的.
满足健壮性条件的过滤器F1,F2,…,Fk如图2所示:Fig.2 Instance of robust filters F1,F2,…,Fk.
图2 健壮的过滤器F1,F2,…,Fk
3 数学基础
记Prf(Fh)为过滤器Fh 的失败概率,记Prr(Fh)为Sink节点向节点ih发送探测查询的概率.较大的阈值差将降低过滤器Fh的失败概率Prf(Fh),却增大了其他节点的感知值属于过滤器Fh的概率,即较大的阈值差将增大过滤器的探测查询概率Prr(Fh).较小的阈值差虽然增大失败概率Prf(Fh),却降低探测查询概率Prr(Fh).于是,本节我们研究如何设置最优的过滤器阈值,达到最小化网内通信开销期望的目的.
3.1 失败概率Prf(Fi)及探测查询概率Prr(Fi)的估计
文献[24]根据对象属于过滤器的最短时间[26]估计过滤器的失败概率.鉴于本文的优化目标为最小化网内通信开销的期望,为了突出体现期望的均值内涵,我们根据节点的感知值属于过滤器的平均时间估计过滤器的失败概率.
不妨假设当前时刻为t0,传感器节点i最近一段时间的感知数据为{di(t0),di (t-1),…,di(t-n)},那么对∀h∈{-1,-2,…,-n}有|t0-th|>|t0-th+1|成立,即时间戳th+1比时间戳th 更接近当前时刻t0.
定义5.感知数据的扰动幅值Δi(th).节点i时刻th 感知数据的扰动幅值Δi (th)=di(th)-di(th-1).
定义6.正向扰动率r+(i).节点i感知数据的正方向扰动率定义为在[t0,t-n+1]时间内Δi(th)≥0的频率:
定义7.负向扰动率r-(i).节点i感知数据的负方向扰动率定义为在[t0,t-n+1]时间内Δi(th)≤0的频率:
定义8.正向扰动速率v+(i).节点i感知数据的正方向扰动速率定义为在[t0,t-n+1]时间内感知数据的平均正向扰动幅值:
定义9.负向扰动速率v-(i).节点i感知数据的负方向扰动速率定义为在[t0,t-n+1]时间内感知数据的平均负向扰动幅值:
定义10.过滤器失败概率.不妨设节点i的过滤器为Fi=[li,ui],那么过滤器Fi 的失败概率Prf(Fi)为节点i感知数据超出阈值范围的频率.
为了方便阅读,表1列出了文中常用符号的说明:
Table 1 Symbols表1 符号表Parameters Description IN The id set of WSN,IN={1,2,…,N}.St The sensed data set at time t.di(t) The sensed data by node i at time t.rt(x,St) The ranking of xin sensed
data set St.Fi The filter of the sensed data of ranking i th.Fi.u The upper bound of Fi.Fi.l The lower bound of Fi.Prf(Fi) The probability of filter Fifailure.Δi(th) The variation of sensed data by node i at time th.r+(i) The positive variation percent of sensed data by node i.r-(i) The negative variation percent of sensed data by node i.v+(i)
The positive gradient of sensed data by node i.v-(i) The negative gradient of sensed data by node i.
由于感知值违反过滤器阈值ui,li所需平均时间分别为(Fi.u-di(t0))/v+(i)和(di(t0)-Fi.l)/v-(i),那么感知数据超出阈值ui,li的频率分别
为v+(i)/(Fi.u-di(t0))和v-(i)/(di(t0)-Fi.l).由于节点i
的正、负向扰动率分别为r+(i)和r-(i),那么节点感知数据超出阈值范围的频率,即过滤器失败概率的计算如下:
不妨设为Top-k查询结果di1,di2,…,dik 建立的过滤器分别为F1,F2,…,Fk,其中Fj=[lj,uj].由过滤器的健壮性知,非Top-k感知数据的统一过滤
器为(-∞,Fk.l].因此,非Top-k感知数据的过滤器的失败概率可按式(7)计算:
3.2 求解过滤器Fk的最优阈值Fk.l
由过滤器的健壮性知,过滤器失效往往引起Sink节点对传感器节点的探测查询,
如图3所示:
Fig.3 Filter failure of Fm-1and non-Top-kresult.图3 Fm-1和非Top
-k节点的过滤器失效
最小化网内通信能量期望的优化目标近似地等价于式(8):
鉴于cu,cd分别为上行传输和下行传输一个数据包的平均代价,cu和cd可视为常数.因此,优化目标等价于最小化全网过滤器失败概率之和:
由于非Top-k感知数据的过滤器失败概率仅与Fk.l成反比,最小化全网感知数据的过滤器失败概率之和将引起阈值Fk.l的正向倾斜.注意到当某个节点的感知值超出过滤器阈值范围时,过滤器将失效.鉴于上述分析,我们通过最大化排名为k+1~m的感知数据的过滤器失效概率的最小值设置优化的阈值Fk.l.不妨设{di1,di2,…,dim}为时刻t0 全网感知数据的Top-k查询结果,并且di1>di2>…>dim,那么求解最优阈值Fk.l等价于求解下述“max min”最优化问题:
命题2.当
时,Prf(Fk)+Prf(Fh)取得最小值,其中,ih∈{ik+1,…,im}.
证明.令f(Fk.l)=Prf(Fk)+Prf(Fh),那么容易看出:
求偏导数可知:
因此:如果:
容易验证
如果:
容易验证
通过简单计算,易知:
满足约束性条件dim<Fk.l<dik..综上所述,当
时,Prf(Fk)+Prf(Fh)取得最小值且满足约束条件.
证毕.
由上述定理可知最大化目标函数:min Prf(Fk)+Prf(Fh)等价于式(9):其中:
因此最优阈值Fk.l=max-1{τ(ih)}.
3.3 构造最优的健壮过滤器
不妨设为 Top-k查询结果di1,di2,…,dik(di1>di2>…>dik)建立的过滤器分别为F1,F2,…,Fk.由于过滤器Fj的失败概率与Fj.u成反比,那么当
F1.u=+∞时,F1 的失败概率退化为r-(i1)v-(i1)/(di1(t0)-
F1.l).然而,过滤器需为用户提供 Top-k查询结果的视图,那么当F1.u=
+∞时,过滤器不能为用户提供节点i1感知数据的取值范围.注意到F1.u仅影
响节点i1感知数据过滤器的右端点失效概率,所以我们令F1.u=(1+Δ)di1,其中Δ既可由用户定义也可根据历史数据给出Δ的估计值.
为di1,di2,…,dik 构造最优的健壮过滤器F1,F2,…,Fk可形式化为下述最
优化问题:
命题3.下述问题的优化目标为最优健壮过滤器问题的优化目标的下界.
证明.由过滤器的健壮性知,对∀h∈{1,2,…,k-1},Fh+1.u=Fh.l,
可以推出 Fh+1.u=Fh.l=,其中|Fj|=Fj.u-Fj.l表示过滤器Fj的长度,过滤器Fj的长度如图4所示.于是,该最优化问题的目标函数等价于最优健壮过
滤器问题的优化目标.由于|Fh|的约束条件缺少Fh.l<dih<Fh.u的约束限制,因此该优化问题为放松条件的最优健壮过滤器问题,于是上述问题的优化目标为最优健壮过滤器问题的优化目标的下界.
Fig.4 The length of filter.图4 过滤器Fj的长度
证毕.
命题4.如果|F1|,…,|Fk|满足式(10):
其中,
那么放松条件的最优健壮过滤器问题的目标函数取得最小值.
证明.我们采用拉格朗日乘子法求解极值问题.将目标函数标记为f(|F1|,|F2|,…,|Fk|),那么容易得知:
若|F1|,…,|Fk|,λ满足,其中m∈{1,2,…,k-1}.由上述分析容易看出:极值.因此可知那么目标函数f(|F1|,…,|Fk|)取得
易推出:
于是:
令:
那么.因此,当m∈{2,…,k-1}时,我们可以推出|Fm|=ω(m)-ω(m+1).
因为F1.u-|F1|=ω(2),所以|F1|=F1.uω(2);因为
容易验证对∀m∈{1,2,…,k},|Fm|>0,故|Fm|满足约束条件.由于目标函数f(|F1|,…,|Fk|)不存在最大值,因此当|F1|,…,|Fk|满足式(10)时,目标函数取得最小值.证毕.
命题5.如果|F1|,…,|Fk|满足式(11):
其中,
那么
证明.由于|F0|=0,因此注意到ω(2)<di1<F1.u是显然的,我们只需证明di1-ω(2)>0.因为
所以可知:F1.u-|F1|<di1<F1.u.由于F1.u-,因此我们只需证明ω(h+1)<dih<ω(h).
由于:
因为∀h∈{2,…,k-1},dih<dih-1成立,所以ω(h+1)<dih<ω(h).
类似地,易证Fk.l<dik<ω(k).综上可知,如果
|F1|,|F2|,…,|Fk|满足式(11):那么
命题6.若对∀h∈{2,3,…,k},Fh.u=Fh-1.l=ω(h),其中:
证毕.
那么最优健壮过滤器问题的目标函数取得最小值.
证明.由命题4知,如果|F1|,|F2|,…,|Fk|满足下式:
那么,f(|F1|,|F2|,…,|Fk|)取得最小值,即放松条件的最优健壮过
滤器问题的目标函数取得最小值.由命题5知Fh.u=Fh-1.l=ω(h)为最优健壮过滤器问题的可行解,又由命题3知,f(|F1|,|F2|,…,|Fk|)的最小值为最优健壮过滤器问题优化目标的下界.因此当Fh.u=Fh-1.l=ω(h)
时,最优健壮过滤器问题的优化目标取得最小值.证毕.
4 基于过滤器的Top-k监测算法
基于过滤器的Top-k监测算法的主要思想如下:首先,Sink节点根据当前时刻
的Top-k查询结果及历史信息计算最优的过滤器阈值,并将阈值信息发送至对应的传感器节点;其次,如果传感器节点的感知数据超出过滤器的阈值范围或节点接收到Sink节点发送的探测查询信息,节点将其感知数据及其必要的历史信息发送
至Sink节点;最后,Sink节点根据传感器节点反馈的“更新信息”计算新的过滤器阈值,并为用户返回新的Top-k视图.下面,我们将详细阐述算法的主要步骤.4.1 基于过滤器的Top-k监测算法
不妨设传感器节点的最优过滤器为F1,F2,…,Fk,探测查询节点集合为空集.如果Sink节点接收到多个节点发送的感知数据的更新信息,那么Sink节点
首先考察感知数据“大于等于”Fk.l的数量,不妨记为κ,其中以过滤器F=[l,u]表示的感知数据在比较过程中以过滤器的下界F.l作为输入.
情况1.当κ≥k时,由于κ≥k,那么必定存在j∈{1,2,…,k},使得感知数
据“大于等于”Fj.l的数量至少为k,并且感知数据“大于等于”Fj-1.l的数
量小于k.如果“大于等于”Fj.l的感知数据存在“可能的大于等于关系”,那
么Sink节点向其发送探测查询要求.Sink节点接收到节点返回的感知数据及必要的历史信息后,Sink节点计算新的最优过滤器阈值,输出Top-k视图并将阈值
信息发送至Top-k节点.
具体实例如图5所示.Sink节点接收到来自节点i1、节点im 及节点ik+h的更
新数据di1,dim 和dik+h.注意到感知数据“大于等于”Fk.l的数量恰好为k,Sink节点考察“大于等于”Fk.l的感知数据是否存在“可能的大于等于关系”.由于感知数据di1与dim-1,dik 与dik+h存在可能的“大于等于”关系,Sink节点向节点im-1和节点ik发送探测查询.Sink节点接收到传感器节点发
送的信息后,Sink节点计算新的最优过滤器阈值,输出Top-k视图并将更新的
阈值信息发送至传感器节点.
Fig.5 Instance of filter failure,whenκ≥k.图5 κ≥k时过滤器失效实例
情况2.当κ<k时:注意到Sink节点的感知数据集合由确定的感知值或者以过滤器F=[l,u]表示的感知数据组成,不妨设该集合为S^.首先,Sink节点降序排列集合S^中的元素,并将第k位的感知数据设为阈值τ,其中用过滤器F=[l,u]表示的感知数据在排序算法执行过程中以过滤器的下界F.l作为输入.Sink
节点向感知数据不属于集合S^的节点和存在“可能的大于等于关系”的感知数据的节点发送探测查询.Sink节点接收到传感器节点发送的信息后,Sink节点计算
新的最优过滤器阈值,输出Top-k视图,并将更新的阈值信息发送至Top-k节点.具体实例如图6所示:
Fig.6 Instance of filter failure,whenκ<k.图6 κ<k时过滤器失效实例
Sink节点接收到来自节点ij,im 及ik+h的更新数据dij,dim 和dik+h.Sink
节点降序排列集合S^中的元素,并令阈值τ=dim,其中,F1.l>F2.l>…>
Fj-1.l>Fj+1.l>…>dik+h>Fk.l>dik+h>dim >dij.由于感知数据dik 与dik+h存在可能的“大于等于”关系,Sink节点向节点ik发送探测查询信息,并考察节点id属于集合IN -{i1,i2,…,ik,ik+h}的感知值是否大于τ,若节点感知值大于τ,那么节点向Sink节点发送信息.Sink节点接收到传感器节点
发送的信息后,Sink节点计算新的最优过滤器阈值,输出Top-k视图并将更新
的阈值信息发送至传感器节点.
4.2 算法性能分析
1)算法正确性分析.注意到Top-k监测算法始终保证:如果非Top-k节点的
感知值大于Fk.l,那么节点将感知数据发送至Sink节点.当κ≥k时,我们可知Top-k节点感知值的下界为Fk.l,因此算法仅需向存在“可能的大于等于关系”
的感知数据的节点发送探测查询就能输出正确的Top-k视图.当κ<k时,我们可知某些原始Top-k节点的感知值小于Fk.l.由于τ为感知数据集合子集的Top-k下界,因此算法仅需收集感知值大于τ的数据,并向存在“可能的大于等于关系”的感知数据的节点发送探测查询就能输出正确的Top-k视图.
2)算法时间复杂度.由命题6可知,计算最优过滤器阈值的时间复杂度为O (1),Sink节点排序及判断感知数据的“可能大于等于关系”最坏情况下的时间复杂度为O(NlogN),其中N为网络节点数量.于是Top-k监测算法最坏情况下的时间复杂度为O(NlogN).通过实验我们发现,感知值大于Fk.l的非Top-k节点的数量级通常为O(k),因此Top-k监测算法一般情况下的时间开销为O(klogk).
3)算法通信复杂度.不妨设m个传感器节点的感知值超出过滤器阈值范围,那么传感器节点上传感知数据的通信开销为O(cum),Sink节点发送探测查询最坏情况下的通信开销为O(cdN),节点接收到探测查询信息并将感知数据发送至Sink节点最坏情况下的通信开销为O(cuN),Sink节点将新的过滤器阈值信息发送至传感器节点最坏情况下的通信开销为O(cdk).于是Top-k监测算法最坏情况下的通信复杂度为O(cuN+cdN).
通过实验我们发现,感知数据大于Fk.l的非Top-k节点的数量级通常为O (k),因此上行传输的通信开销为O(cuk).当κ≥k时,Top-k监测算法一般情况下的通信复杂度为O(cuk+cdk).当κ<k时,Sink节点发送探测查询的通信开销为O(cdN),Top-k监测算法一般情况下的通信复杂度为O(cuk +cdN).
由于Sink节点将探测查询信息及阈值信息Fk.l发送至非Top-k节点的通信开销为O(cdN),因此为了降低通信能量开销延长网络寿命,我们可以采取以下2个措施:1)降低阈值Fk.l,并周期性地更新Fk.l;2)通过维护 Top-αk视图。

相关文档
最新文档