基于压缩感知的路径重构

基于压缩感知的动态无线传感器网络路径重构

摘要

本文提出了CSPR,一种基于压缩感知的无线传感器网络路径重构方法。通过将整个网络视为一个路径表示空间,任意路由路径都可以由该空间中的一个路径向量表示。由于路径长度通常远小于网络规模,这些路径向量是稀疏的,即大多数元素为零。通过将稀疏路径表示编码到数据包中,可以利用压缩感知技术从少量数据包中恢复路径向量(从而恢复其所表示的路由路径)。CSPR对稀疏路径表示进行了形式化定义,实现了精确且高效的逐包路径重构。由于其独特的设计,CSPR对网络动态性和有损链路具有免疫力。进一步提出了一组优化技术以提升系统设计。我们在基于测试平台的实验和大规模基于轨迹的仿真中对CSPR进行了评估。评估结果表明,CSPR在路径恢复准确率方面表现优异(实验和仿真中分别为100%和96%),并在多种网络设置下优于最先进的方法。

索引术语

布隆过滤器,压缩感知,数据包路径重建,无线传感器网络。

一、引言

THE 每包路由路径作为元信息,用于在许多网络维护和诊断情况下理解无线传感器网络(WSNs)的详细行为,例如路由动态[38],检测路由空洞[13]或蠕虫洞[9],甚至每跳每包传输延迟[15],网络诊断[23],[28],[33],等。然而,重建每包路由路径信息一直被认为是一项复杂的任务。无线传感器网络具有自组织特性,并且通常部署在动态环境中。底层网络拓扑不断变化,无法为每个节点预期固定的路由路径。一种揭示数据包路径的直接方法是在数据包转发过程中记录完整路径,例如,在每个数据包中存储所有中继节点的ID序列。这种方案引入的开销随着路径长度线性增长,远不具备可扩展性。

在无线传感器网络中,针对逐包路径重构问题已有诸多研究。通过哈希值识别数据包路径的方法会引发灾难性的计算开销[25]。一些方法利用在足够稳定可靠的网络中数据包间的相关性来重构路径信息[16],[20]。然而,根据我们对实际部署的大规模无线传感器网络CitySee的实际数据包轨迹[29],的调查发现,网络始终存在不可忽视的拓扑变化(例如,高达28%的数据包经历了父节点变化)和高数据包丢失率(例如,某些节点的数据包丢失率高达55%)。拓扑不稳定性和数据包丢失在实际无线传感器网络中严重削弱了现有路径重构方法的性能。为应对上述问题,我们从一个新的角度切入路径重构问题,该方法无需依赖数据包间相关性,从而使得解决方案对网络动态性和有损链路不敏感。

我们的设计关键洞察如下。路由路径的长度通常远小于网络规模。具体来说,CitySee[29]报告的最大路径长度仅为20跳,而其网络规模为1200个节点。因此,我们可以构建一个路径表示空间,其维度数量等于网络中的节点总数。在此表示空间中,任意一条路由路径都可以用一个路径向量来表示,其中每个元素对应网络中的一个节点。该路径向量为路径上的节点设置跳数值,未参与路径的节点则设为零。由于路径长度远小于网络规模,这些路径向量因此是稀疏的,即大多数元素为零。路径重构问题就转化为揭示隐藏在表示空间中所有存在的路径向量的问题。如果能将路径向量的所有非零元素(用少量字节)编码到沿路径转发的数据包中,则可以利用压缩感知技术[5],[12],基于少量数据包恢复出该路径向量(从而恢复其所表示的路由路径)。

本文中,我们提出了一种基于压缩感知的路径重构方法CSPR,该方法形式化了稀疏路径表示,并利用压缩感知来恢复路由路径。CSPR让中间节点对传输的数据包进行简要标注,并将沿不同路径传输的数据包分类到不同的组中。对于特定路径,转发的数据包编码了独立观测,CSPR通过压缩感知来恢复该路径。

当收集到一定数量的数据包(及注释)时,CSPR进行路径重构无需依赖数据包之间的相关性,且仅利用少量接收的数据包。因此,CSPR对拓扑动态性和有损链路具有鲁棒性。在协议层面,CSPR仅引入较小且固定的开销用于每个数据包的注释,该开销可根据实际无线传感器网络进行相应优化(例如,在包含245个节点的网络中,每个数据包为8 B)。除了基础组件设计外,我们进一步提出了一组优化技术,逐步缩小表示空间并降低未恢复路径向量的稀疏性。这减少了剩余路径重构所需的数据包数量,从而加快了处理速度。为了评估CSPR的性能,我们首先在29个TelosB节点测试平台上对所提方法进行了评估。实验结果验证了CSPR在实际应用中的可行性和适用性。我们还进行了广泛的大规模基于轨迹的仿真,以考察CSPR的效率和可扩展性。与最先进的方法相比,CSPR在相当的开销下(每个数据包8个额外字节)实现了更高的路径恢复准确率(实验和仿真中分别为100%和96%)。

本文的其余部分组织如下。第二部分介绍了路径重建问题以及我们设计的动机。第三部分详细描述了CSPR的设计。第四部分通过测试床实验和基于轨迹的仿真对CSPR进行评估。第五部分回顾了相关工作。第六部分总结了本文。

II. 问题描述与动机

A. 路径重构问题

无线传感器网络由多个传感器节点和一个汇聚节点组成。所有传感器节点生成并转发数据包至汇聚节点。为了收集数据包,汇聚节点构建一个覆盖网络中所有传感器节点的路由结构,例如数据收集树[17],[22],信息势[19],[21],等。源节点生成一个数据包后,将其转发给其父节点,该数据包会继续被转发直至到达汇聚节点。由于网络动态性,每个节点会周期性地寻找最佳父节点,因此从每个节点到汇聚节点的路由路径可能发生变化。在汇聚节点处,需要一种路径重构方法来恢复每个数据包所经过的路径。一个数据包路径是从该数据包的源节点到汇聚节点的ID序列,包括转发该数据包的所有中间节点的ID及其跳数。

在解决路径重构问题方面已有很多研究工作(如第五节所述)。最近提出了两种最先进的方法,即MNT[20]和Pathfinder[16],。MNT[20]通过利用数据包间相关性来重建每个数据包的路径,即:在一个节点处,被中继的数据包与其本地生成的相邻数据包通常会被转发到相同的下一跳。这些本地数据包作为该节点处中继数据包的锚点。由于第一跳接收者被记录在数据包中,因此可以通过拼接所有锚点的第一跳接收者来获得数据包的路径。Pathfinder[16]在MNT的基础上,通过在数据包中显式记录不一致性,能够容忍一定程度的数据包间相关性的不一致。当这种不一致性超过容忍能力时,将发生重构失败。为了精确定位锚点,Pathfinder还进一步要求每个节点的数据包生成速率保持相同且固定。MNT和Pathfinder需要稳定的网络拓扑,以便捕获数据包间的相关性。然而,实际的无线传感器网络具有动态性,且无线链路远非稳定[11],[18](我们将在第二节-B中进行说明)。网络动态性和数据包丢失都会对锚点识别产生显著影响,从而降低MNT和Pathfinder的性能。

B. 数据包路由在实际无线传感器网络中的行为

我们研究了一个实际部署的大规模无线传感器网络CitySee[29],的数据包轨迹,并探讨了实际路由行为如何影响最先进的路径重构方法的性能。部署在中国无锡市的CitySee包含超过1200个传感器节点,用于监测城市环境因素,包括二氧化碳、温度、湿度、光照等。传感器节点每10分钟生成一次数据,将数据封装成单个数据包,并通过收集树协议(CTP)[17]以多跳方式将数据包传输至汇聚节点。每个数据包具有默认的CTP数据包头部,包含以下常见字段:源地址,即生成该数据包的节点的地址;序列号,表示源节点生成数据包的顺序;first-hop receiver,即数据包源节点的父节点ID;以及跳数,表示数据包所经过的路径长度。此外,每个数据包还记录了前10跳的节点ID,以便后续分析。本研究使用了一个由245个节点组成的子网络在一周采集周期内的数据包轨迹。该局部网络覆盖约16平方公里区域,其平均和最大路由路径长度分别为7跳和12跳。

利用CitySee数据包轨迹,我们研究了拓扑变化和数据包丢失,这两者与无线传感器网络的稳定性最为相关[6]。对于每个节点,一次拓扑变化由两个连续生成的本地数据包之间第一跳接收者(即父节点)的不同来表示。网络的拓扑变化率定义为在特定时间持续时间内每个节点比率的平均值%,其中分子表示每个节点在该时间窗口内的总父节点变化次数。类似地,对于每个节点,一次数据包丢失由序列号缺失来表示。网络的丢包率进一步定义为在特定时间持续时间内每个节点比率%的平均值。

拓扑变化率表示网络的拓扑稳定性,反映了现有路径重构方法中所做数据包间相关性假设的有效性[16],[20]。图1(a)描绘了CitySee在2小时时间窗口下的拓扑变化率。从图中可以看出,所有时间窗口内的平均和最大拓扑变化率分别约为12%和48%。在图2中,我们总结了一周内所有节点的拓扑变化率的累积分布函数。对于大多数节点,该比率高达10%,最大比率可达28%。由于拓扑不稳定,每个节点会通过不同路径将数据包传输至汇聚节点。在图3(a)中,我们绘制了随着时间推移在数据包轨迹中形成的路由路径数量。从一个节点出发的平均路径数量持续增加,最终每个节点平均拥有76条路径。所有这些证据表明,网络拓扑存在严重的不稳定性,数据包间相关性在实践中可能无法很好地成立。在第四节中,我们已

示意图0

示意图1

示意图2 每个节点的平均路径数量。(b) 所有组的数据包量分布)

同时实现了MNT和Pathfinder。通过分析它们的详细执行过程,我们发现拓扑动态性单独可导致约10%和1%的锚点误识别,这直接引发了路径重构失败。Pathfinder在性能上优于MNT,但代价是在每个数据包中显式记录某些拓扑变化。

丢包率反映了数据包接收的可靠性。数据包丢失会掩盖数据包间相关性(例如锚点可用性),并降低依赖此类相关性的方法的性能。图1(b)展示了以2小时为时间窗口的数据包轨迹中的丢包率。从图中可以看出,丢包率变化迅速,平均值在17%到69%之间。在图2中,我们总结了一周内所有节点的丢包率的累积分布函数。该分布主要集中在15%到35%之间,最高可达55%。通过分析MNT和Pathfinder的详细执行过程,我们发现,在如此高的丢包率下,约有49%和35%的数据包无法识别锚点,这直接导致这些数据包的路径重构失败。

由于拓扑动态性和数据包丢失的共同影响,我们发现在大规模动态无线传感器网络CitySee中,最先进的方法MNT和Pathfinder分别有59%和36%的数据包路径可能无法成功重建。这促使我们探索一种对网络动态性和有损链路均不敏感的解决方案。

C. 从稀疏路径表示中进行路径重构

路由路径的稀疏表示 :由于无线传感器网络中的感知数据通常通过有向无环图(DAG)路由结构(例如,数据收集树)进行收集,因此路径长度的数量级为,其中为网络中的节点总数。根据CitySee数据包轨迹中所有形成路径的统计结果,路径长度在2到12跳之间,远小于网络规模245。我们可以构建一个路径表示空间。该表示空间的维度等于网络中的节点总数,每个维度对应一个节点。在此表示空间中,任何路由路径都可以用一个路径向量表示。根据节点是否参与该路由路径,路径向量在其对应的元素上设置跳数或零。由于路径长度远小于网络规模,因此路径向量是稀疏的,即向量中的大多数元素都是零。

示意图3 无线传感器网络模型。源节点7通过3条不同的路由路径向汇聚节点传输20个数据包,例如,路径上发送5个数据包。 (b) 整个网络空间中三条路由路径的稀疏表示)

图4展示了包含10个节点的网络中的稀疏路径表示。我们构建了包含所有节点的路径表示空间。任意网内路径都可以由中的一个路径向量表示。例如,路径被表示为。节点7是源节点,可以从数据包头部获知。因此,元素不在中考虑,因而被赋值为0。由于节点6、3和1分别作为路径中的第一、第二和第三跳转中继,故有和。所有其他与无关的元素在中均为零。该路径向量的稀疏性为3(共10个元素)。其他路径向量,例如和,可以类似地构造。

基于压缩感知的路径重建 :基于稀疏路径表示,路径重构因此成为揭示路径表示空间中所有存在的路径向量的问题。来自同一源节点的数据包可能通过不同路径传输到汇聚节点,而这些路径会将数据包隐式地划分为不同的路径组,即同一组中的所有数据包经过完全相同的路径。在所有路径组的路径被重建后,每个数据包的路径也随之确定。

对于一条路由路径的路径向量,如果其非零元素可以被编码到沿该路径转发的每个数据包中,则可以通过少量数据包利用压缩感知[5],[12]来恢复该向量(从而恢复其所表示的路径)。具体而言,对于稀疏性为的空间中的任意路径向量,其中,压缩感知理论指出,求解中的未知数仅需个而非个独立方程,其中。这些独立方程可通过将投影到一个测量矩阵上获得,其中是一个维向量,是一个矩阵。如果满足限制等距性质,则可通过求解以下最小化问题精确恢复:

s.t.

当 时,其中 是一个很小的正常数[4]。

上述基于压缩感知的方法使得每个路径组的路径重构相互独立,并且在累积了足够数量的数据包后,能够恢复该组数据包的路径。因此,该方法不需要数据包之间的相关性,从而使其本身对网络动态性和有损链路具有天然的鲁棒性。另一方面,一旦某条路径被恢复,同一组中所有后续数据包的路径将立即可用,从而避免了对每个接收到的数据包重复触发路径重构,大幅降低了计算开销。

设计挑战 :然而,将基于压缩感知的逐包路径重构理念转化为实际系统时,会遇到以下一系列挑战。

1) 准确的数据包分类 :将数据包准确分类到每个路径组至关重要。图3(a)绘制了随着汇聚节点接收到越来越多的数据包,数据包轨迹中形成的平均路径数量(每条路径为一个路径组)。根据统计结果,我们观察到每个节点的路径数量存在显著差异,例如,某些节点的最大路径数量甚至可达199。因此,必须能够区分每一条独立路径,并将数据包正确分类到相应的组中。数据包误分类将导致某一组的路径重构错误。因此,数据包分类必须具有高准确率。

2) 轻量级逐包标注 :为了实现基于压缩感知的路径重建,数据包需要携带用于表示其传输路径的路径向量中所有非零元素的编码信息。具体而言,当一个数据包被中间节点转发时,该节点需要将其在路径中的跳数标注到数据包头部。因此,数据包头部会逐跳更新。标注开销必须很小,特别是数据包头部中的标注字段应具有较小的尺寸,并保持恒定(不随路径长度增加而增大)。此外,更新操作应以分布式方式进行,且不引入任何集中式控制。

3) 短每包路径恢复延迟 :从图3(b)中,我们观察到一周内所有路径组的数据包量高度异构。约50%的路径组包含少于5个数据包,而某些路径组(约5.5%)包含超过50个数据包。为了对一个路径组执行基于压缩感知的路径重构,该组中累积的数据包数量(每个数据包的一个注释作为一次测量)应至少达到一定数量以确保良好的恢复质量。然而,一些路径组即使经过很长时间也无法累积足够的数据包。根据实际要求,每包路径恢复延迟不应过长。

III. CSPR的设计

CSPR由两部分组成:用于路径信息编码的网络内部分和用于逐个数据包路径重建的服务器部分。CSPR的系统架构如图5所示。我们将首先介绍系统概述,然后详细说明每个组件。

A. CSPR 概述

数据包头部中的多个字段被CSPR用于携带数据包信息,如图5所示。是数据包序列号,是数据包的源地址,记录路径长度,是一个布隆过滤器,用于高效地记录所有中继节点的ID及其对应的跳数信息,存储沿路径编码后的测量值。这五个字段均在源节点初始化。其中和初始化后保持不变,而、和在每个中间跳数处更新。注意,和可在默认数据包头部(例如CTP数据包头部)中找到,CSPR仅额外引入了两个字段和。因此,每个数据包的额外开销很小,例如在包含245个节点的网络中,为6字节,为2字节。我们将在第三节-B中详细说明数据包头部的网络内更新过程。

示意图4

CSPR采用三元组密钥来标识数据包的路径。对于所有接收的数据包,CSPR首先根据区分它们的路径,然后基于进一步区分来自同一源节点的数据包。最后,利用来区分具有相同和的路径。如果两个数据包具有相同的三元组密钥,则认为它们经过相同的路径,并将被归类到同一个路径组中。在汇聚节点处,CSPR维护一个数据库,其中每个条目通过三元组密钥进行索引,并对应一个唯一的路径组。当接收到一个数据包时,CSPR从数据包头部提取三元组密钥,并在数据库中查找匹配条目。如果匹配条目已恢复路径,则该数据包的路径立即可用。如果找到了匹配条目但路径尚未准备好,CSPR将在积累足够多的数据包后启动路径重构。如果没有找到匹配条目,CSPR将为该新路径组创建一个条目,并以该数据包的三元组密钥作为索引。我们详细说明了

第三节-C中的基于压缩感知的路径重建组件 在基础组件设计的基础上,提出了一组优化技术,以逐步缩小路径表示空间并降低未恢复路径向量的稀疏性。相应地,压缩感知所需的数据包数量减少,从而加速了剩余的路径重构。此外,如果某些路径组在经历较长延迟后仍未能恢复其路径,CSPR可启动补救方案。我们将在第三节-D中详细说明这些基础组件。

B. 网内路径信息编码

在本节中,我们介绍网络内对最后三个字段的更新,以及相应的过程。

Updating of :每个数据包的字段由源节点初始化为0,并在路径上的每个中间跳数处增加1。在每个中间跳数处,会先于和进行更新,因为后两个字段的更新依赖于的新值。当数据包到达汇聚节点时,我们可以通过字段得知数据包的路径长度,但在服务器端无法依靠该字段推断出路径上各中间节点的跳数信息。

Updating of :布隆过滤器是一个与独立哈希函数相关联的位数组,其中和是两个待确定的参数(详见第三节-C)。每个数据包的字段容纳一个位数组,传感器节点使用相同的一组独立哈希函数来更新。不同的数组表示不同的路径信息。初始时,数据包头部字段中的所有位均设置为0。在每一中间跳数处,节点将其存在压缩到字段中,具体如下:首先通过将节点ID与跳数的乘积输入哈希函数得到哈希值,;然后,该中继节点将字段中的这些位设置为1。

Updating of :每个数据包中的字段也由源节点初始化为0,并在路径上传播时进行更新。在每个中间跳数处,节点将其路径上的跳数编码到该字段中。具体而言,节点将更新后的值与一个随机系数相乘,并将该乘积与当前值相加。我们设计此类字段的目的是通过压缩感知技术恢复稀疏路径向量。

CSPR采用和来编码路径信息的原因是:如果CSPR仅使用,则无法对来自同一路由路径的数据包进行组;而如果CSPR仅仅使用(即使尺寸更大)来编码路径信息,则需要拓扑信息来枚举所有可能的中间节点,这将导致巨大的计算开销和大量误报结果。通过结合和,CSPR能够准确地对数据包进行分类并重建其对应的路径。

当CSPR后续在一条路径组中恢复一组接收数据包的路径时,它求解方程以使用压缩感知技术获得。路径向量是一个具有元素的列向量。每个元素表示路径表示空间中的一个节点。如果某个节点包含在由所表示的路径中,则对应的元素表示其跳数;否则,该元素为零。在该方程中,中的每个元素是某一的最终值

示意图5

数据包以及对应的行可以表示为,其中表示如果节点转发该数据包,则将是与值相乘的系数。和的乘积本质上重演了沿路径的更新过程。

在进行重构之前,我们并不知道哪些节点最终会参与更新。因此,我们必须为压缩感知恢复提供完整的字段信息。为了避免从网络中的每个节点显式获取此类信息,我们引入了一种基于字典的策略,该策略以完全分布式方式运行。每个节点都配置有一个系数字典,并将其存储在RAM中。为了更新数据包的字段,节点将更新后的值与字典中的第个系数相乘,其中表示节点ID,是字典的大小。每个字典由高斯随机数组成,CSPR服务器知晓网络中所有节点的字典。所有字典中的系数均独立生成。因此,不同节点具有不同的字典元素。在当前设计中,每个系数占用2字节,每个字典包含100个独立的系数。200字节的存储开销仅占商用传感器节点(例如具有10 kB RAM的TelosB)存储容量的2%[1]。我们可以通过全局种子[26],在节点和服务器之间同步随机数的生成,但代价是降低系数的随机性。

图6展示了图4中路径上数据包的路径信息编码。为了便于说明,我们简单地为布隆过滤器设置参数和。源节点7生成的数据包,其等于3,并将、和分别初始化为7、0、0x00和0。在每一跳中,和都会被更新。例如,在节点5处,从2增加到3。两个哈希值分别为和。因此通过将第一位和第四位设置为1来更新。通过将更新后的(即3)与中的第三个系数的乘积加到当前值上来更新。

C. 基于压缩感知的路径重构

在本节中,我们首先介绍CSPR中的数据包分类机制,然后详细描述基于压缩感知的路径重构与路径验证方案,以确保重构正确性。

数据包分类 :对于每个接收到的数据包,CSPR从数据包头部提取三元组密钥,并将其归类到一个路径组中。路径组用于包含沿相同路径传输的数据包。在汇聚节点处,CSPR使用数据库管理所有路径组。每个数据库条目通过三元组密钥进行索引,并对应一个唯一的路径组。每个条目还分配有一块缓冲区,用于存储属于该组的数据包。每个条目还设有一个标志位,用于指示该路径是否已恢复。当汇聚节点接收到一个数据包时,CSPR

示意图6

从数据包头部提取密钥并查找匹配条目。如果存在匹配条目,则将该数据包插入分配的缓冲区。此外,当标志位Flag为true时,CSPR会通过路径验证组件(如下所述)检查此组的恢复路径对该数据包是否有效。然而,当Flag为false时,若该组中累积的数据包数量足够(具体数值将在后文给出),CSPR将恢复路径。另一方面,如果没有找到匹配条目,CSPR将为此新路径组创建一个条目,将Flag初始化为false,并将数据包插入缓冲区。

使用三元组密钥进行数据包分类可能会导致误分类,因为两个布隆过滤器之间的比较结果可能出现误报,即不同路径具有相同的位数组。然而,通过合理设置布隆过滤器的参数,可以将误分类率控制在较低水平。参数的设置需要在数据包开销和分类准确率之间进行权衡。更大的位数组长度会导致更低的误报概率,但也会增加每个数据包的开销。根据布隆过滤器理论[3],[36],,在给定可容忍的误报率和路由路径长度的情况下,最优布隆过滤器大小约为,对应的哈希函数数量为。因此,布隆过滤器配置的关键在于参数的设定。合理的参数设置可以在开销和误报率之间实现最佳折衷。原则上,我们倾向于将设置为最大路由路径长度,以实现较低的误报率。对于CitySee数据包轨迹,轨迹中观察到的最大路径长度(不包括源和目的节点)为10。图7展示了当从16变化到56时的误报率,其中我们设置以确定CitySee数据包轨迹的值。从图中可以看出,误报率总体上并不高,即。特别是当大于40时,误报率小于0.001。尽管上述设置可以通过较少的哈希函数实现较低的误报率,但在实际系统中,部署前通常无法获知最大路径长度信息。为解决此问题,在CSPR中,我们建议将设置为,其中为网络中的节点总数。网络规模通常可在部署前确定。我们进一步测试了这种实用方法的性能。由于CitySee数据包轨迹总共包含245个节点,我们将设为,因此最优为。结果表明,误报率总体上仍然很小。只要我们正确配置布隆过滤器,数据包误分类的情况可以忽略不计。

仔细配置布隆过滤器。在分类准确率和数据包开销之间取得平衡后,我们在CSPR中使用和%来配置布隆过滤器,例如针对CitySee轨迹。

只要接收到足够多真正属于同一路径组的数据包,即使在重构过程中混入了某些误分类的数据包,我们的路径重构方法仍能恢复路径。此外,在路由路径被恢复后,路径验证组件会进一步验证重构的正确性,同时也能将所有误分类的数据包从该组中剔除。因此,CSPR不易受到数据包误分类的影响,但仍然优先追求高准确率,因为高准确率能够确保以更短的延迟恢复更多的路径。

路径重构 :基于接收数据包中的编码测量值,CSPR利用压缩感知技术恢复路径组的路径。具体而言,对于一个路径组,CSPR通过求解来获得用于路径恢复的路径向量。中每个元素记为,是接收数据包的值。对应的行表示为,其中是节点系数字典中第个系数,是数据包的序列号。如果中的元素已知,则与的乘积可重放数据包路径上字段的更新过程。因此,。在路径重构问题中,和已知,而中的元素未知。原则上,需要个独立方程来求解,每个方程对应一个接收的数据包。

由于路径向量是稀疏的,因此可以利用压缩感知技术通过而非方程来恢复。因此,只要一个路径组累积了数据包,该向量就可以被恢复。我们使用数据包中的值形成一个‐维列向量,即。对于个数据包中的每个数据包,我们进一步使用其序列号从路径表示空间中所有节点的系数字典中选择系数来构造。所有这些共同构成一个矩阵























































































































































































































































































































































































































































































































......





















































































































































































































































































































































































































































































































......




















































































































































































































































































































































































































































































































......

IV. 性能评估

在本节中,我们基于29个TelosB节点测试平台和CitySee数据包轨迹,将CSPR的性能与两种最先进的方法进行比较评估。

A. 评估设置

对比方法 :我们将CSPR与两种最先进的方法Pathfinder[16]和MNT[20]进行比较。为了公平起见,我们在Pathfinder[16]中实现了路径推测为Pathfinder和MNT提供了一种补救方法,以在锚点丢失时提升其性能。我们为MNT的数据包头部添加1位XOR字段作为校验和,类似于Pathfinder,用于验证重构路径。对于这三种方法,我们定义了相同的路径恢复延迟界限以满足实际需求。总体而言,这三种方法将根据其核心原则(称为核心方法)重建数据包路径,并在路径恢复延迟界限临近时,采用补救方法(CSPR的启发式路径扫描以及Pathfinder和MNT的路径推测,称为补救方法)来重建那些失败的数据包。所有方法均在配备双核3.16 GHz CPU和4 GB内存的台式电脑上运行。补救方法的执行设有1秒的时间限制,以避免过高的计算开销。

性能指标 :每个节点的恢复准确率计算为%。同样,每个节点的恢复误报计算为%。数据包的路径恢复延迟定义为序列号偏移(无乱序数据包)。在由同一源节点生成的数据包被接收后,该数据包的路径即成功恢复。我们设置时限,意味着当同一源节点的另外50个数据包被接收时,将采用一种补救方法来搜索可能路径。较小的时限会降低整体恢复延迟,但会引发更大的计算开销。直观而言,在无线传感器网络中进行逐包路径重构时,期望的方法应具有更高的恢复准确率、更低的误报率以及更小的路径恢复延迟。

B. 测试床实验

我们在TelosB节点上实现了CSPR,并使用29节点测试平台验证其可行性和适用性。29个TelosB节点均匀分布在在一个方形区域内,其中一个节点作为汇聚节点放置在左上角。由于实验空间的限制,我们将每个TelosB节点的发射功率设置为最低级别,因此每个传感器节点的通信范围约为15厘米。为了在数据包中包含和两个字段,我们保留默认数据包头部格式,并将它们附加到有效载荷的末尾。这种方法提供了最大的灵活性,避免了不需要路径重构的数据包产生额外的通信开销,例如通常在邻居之间交换的控制流量。在实验中,每个节点随机生成数据包,平均数据包间隔为1秒。在网络中,沿路径的每个中间节点根据每种方法的要求更新数据包头部。汇聚节点从网络接收数据包,并分别执行三种方法来重构数据包路径。实际路径作为真实路径记录在数据包中。实验持续约50分钟,共收集60000个数据包。

汇聚节点每隔30秒记录每种方法的路径重构进度。具体而言,对于每种方法,分别计算仅使用核心方法和完整方法准确恢复的数据包比例。每种方法的路径重构进度演化情况如图9所示。从图中可以看出,Pathfinder和MNT分别仅能基于其核心方法重构47%和36%的数据包路径。大多数重构失败是由数据包

示意图7

示意图8 CSPR。(b) Pathfinder。(c) MNT)

损失(实验期间丢包率约为38%)。由于没有固定的数据包生成间隔,Pathfinder在定位锚点时失去准确率,进一步影响了性能。借助补救方法(即路径推测),它们可以达到与CSPR的核心方法相似的准确率,即%。通过启发式路径扫描,CSPR实现了100%的准确率。图10进一步展示了每个节点的详细路径重构性能。24个节点仅通过CSPR的核心方法即可恢复其数据包路径。然而,对于另外两种方法,大多数节点需要依赖补救方法才能实现良好的恢复准确率。

CSPR并非为每个单独的数据包重建路径,而是区分每条路径,并为一组数据包重建一条路由路径。因此,一旦某个路径组恢复了其路径,属于该组的后续数据包便可通过路径验证轻松获取其路径。已恢复的路径可使所有后续数据包受益,从而降低整体路径恢复延迟。在图11中,我们展示了每种方法的数据包路径恢复延迟分布。根据统计数据,对于这样一个小型网络,CSPR基于极小部分的数据包%重建了所有路径,随后%的后续数据包无需恢复延迟即可获得其路径。当Pathfinder和MNT的核心方法无法重建路径时,将在时限到期前使用补救方法。我们看到,Pathfinder和MNT分别有31.5%和40.8%的数据包具有较大的路径恢复延迟。尽管在核心方法失败后可立即使用补救方法,但它会引发巨大的计算开销。

示意图9

示意图10 数据包的路径恢复延迟分布。(b) 数据包的路由路径长度分布)

我们进一步分析了CSPR对这些延迟数据包的详细恢复延迟性能。从图12(a)可以看出,只有少数数据包的实际路径恢复延迟较大(例如,)。对于大多数延迟的数据包,CSPR仍能在较短的等待时间内重建其实际路由路径,该时间小于10个数据包间隔(在我们的测试床实验中对应约10秒)。针对这些延迟的数据包,我们还研究了其路由路径长度的分布情况,并将结果绘制在图12(b)中。传输较长路由路径的数据包往往恢复得更晚,这符合直觉。这是因为CSPR成功重构路径所需的数据包数量约为,与路由路径长度成正比。需要注意的是,在包含29个节点的小型测试平台网络中,只有少量数据包经过较长的路径,例如跳数。因此,当路径长度大于7时,图12(b)中延迟数据包的数量变得较少。

C. 基于轨迹的仿真

为了评估CSPR在实际大规模且更动态的网络中的可扩展性和效率,我们利用实际部署的大规模无线传感器网络CitySee[29],(如第二节-B所述)的实际数据包轨迹进行了广泛的基于轨迹的仿真。该数据包轨迹包含来自245个节点网络的总计174829个数据包。

CSPR包含三个组件,以确保每个数据包的路径重建成功,即基于压缩感知的路径

示意图11 路径恢复准确率的累积分布函数。(b) 路径恢复延迟的分布)

重构组件(称为基础组件),基于路径表示空间收缩和路径向量稀疏性降低的路径重构优化组件(称为增强组件),以及启发式路径扫描组件(称为扫描组件)。为了评估它们的效率,我们分别基于基础组件、基础组件和增强组件,以及全部三个组件进行路径重构,并测量这三种执行情况下的恢复准确率和恢复延迟。我们在图13(a)中展示了三种执行情况下恢复准确率的累积分布函数。对于大多数节点,基础组件为最大比例的数据包重建了路径,约为63.0%,证明了其高效性。得益于学习到的网络拓扑和已恢复的路径,增强组件额外为17.4%的数据包恢复了路径。扫描组件也贡献了相当一部分,进一步提升了15.2%的准确率。另一方面,增强组件和扫描组件均降低了整体路径恢复延迟。在图13(b)中,我们根据数据包路径是否以零延迟恢复、在恢复延迟时限内恢复、超出时限恢复或完全未恢复,绘制了所有数据包路径恢复延迟的统计结果。得益于增强组件和扫描组件,更多的数据包路径得以显著减少延迟地被恢复。总体而言,约32%的数据包受益于这些优化,能够在时限内恢复其路径。

我们将三种方法(即CSPR、Pathfinder和MNT)应用于CitySee数据包轨迹中以重建数据包路径。在图14中,我们绘制了每种方法在其核心方法和完整方法下的路径重构进度。Pathfinder和MNT在仅执行其核心方法时表现较差,在所有时间段内的恢复准确率分别不超过70%和50%。由于拓扑动态性和数据包丢失的影响,Pathfinder和MNT的核心方法经常无法为数据包识别锚点,因此使用补救方法来恢复这些数据包路径。通过补救方法,它们的最终恢复准确率分别提高到74%和62%。图14中Pathfinder和MNT的曲线突变隐式反映了数据包丢失的持续影响。一个丢失的数据包可能是多个数据包的锚点。相比之下,CSPR即使仅使用其核心方法也能达到80.4%的准确率。结合补救方法后,CSPR表现更优,稳定准确率约为95%,最终准确率达到96%。

我们进一步总结了每种方法的路径恢复准确率和误报的累积分布函数,在图15中。从

示意图12

示意图13 路径恢复准确率的累积分布函数。(b) 每种方法的误报累积分布函数)

在图15(a)中,我们发现CSPR显著优于Pathfinder和MNT。Pathfinder和MNT在实际数据包轨迹中的表现较差,如第二节-B所述,该场景存在严重的拓扑动态性和数据包丢失,大多数节点的恢复准确率落在50%到80%之间。对于MNT和Pathfinder,分别仅有23%和45%的节点能够达到准确率%,而CSPR使95%的节点达到了这一水平。此外,约85%的节点实现了较高的准确率%。总体而言,MNT、Pathfinder和CSPR的平均恢复准确率分别为62%、74%和96%。在图15(b)中,可以看出Pathfinder和MNT均存在不可忽略的误报,两者主要基于数据包中的异或字段对恢复的路径进行验证。Pathfinder通过记录在数据包中的更多信息进行结果检查,因此误报少于MNT。这种路径验证方式导致MNT和Pathfinder的平均误报率分别为11%和15%。得益于由字段启用的路径验证组件,CSPR几乎没有误报。

我们在图16(a)中展示了路径恢复延迟的分布情况,同时根据每个数据包的路径恢复延迟将数据包分为四类。需要注意的是,具有误报恢复路径的数据包被视为unrecovered。总体而言,MNT、Pathfinder和CSPR的及时恢复的数据包比例(即前两类中的数据包)分别为60%、73%和91%。值得注意的是,CSPR以零延迟恢复了最多的数据包路径。这是由于数据包分类机制的作用

示意图14 路径恢复延迟的分布。(b) 从已恢复路径中受益的数据包比例)

示意图15 及时重建和有延迟的路径百分比。(b) 不同路径长度(即)下的路径恢复延迟的累积分布函数)

在CSPR中,大量数据包只需对路径组中的恢复路径执行路径验证,即可以极小的代价恢复其路径。在图16(b)中,我们进一步绘制了受益于该机制的数据包比例。在经过恢复路径的积累阶段后,CSPR能够为约65%的数据包找到正确路径。因此,CSPR避免了重复重建这些频繁经过的路径。

为了理解大规模传感器网络中路由路径长度与路径恢复延迟之间的关系,我们在图17中绘制了按时恢复和有延迟恢复的路径百分比随路由路径长度的变化情况。具体而言,我们将所有数据包按照其路由路径长度进行分类,并针对每个特定的路由路径长度,分别计算出被及时重建的数据包以及有延迟恢复的数据包所占的比例。根据图17(a),数据包经过的路由路径越长,其路径越有可能出现延迟重建,这与图12(b)的结论一致。这是因为CSPR需要累积更多的数据包,才能实现对较长路由路径的基于压缩感知的路径重建。为了进一步了解路径恢复延迟的分布情况,我们绘制了图17(b),以显示每种特定路径长度的恢复延迟的累积分布函数(CDF)。从图17(b)可以看出,总体上数据包经过的路径越长,其遭受的恢复延迟越大。例如,在长度为7跳的路径上传输的数据包中,约有58%可在40个数据包间隔内被重建;而在长度为3跳的路径上传输的数据包中,约有80%可被恢复。

示意图16

CSPR是一种轻量级的路径重构方法,压缩感知恢复(例如CoSaMP)在服务器上的开销可以忽略不计。在图18中,我们以程序执行时间作为性能指标,以进一步了解设计的计算开销。针对不同的路由路径长度,我们绘制了重建延迟,这些延迟主要由压缩感知恢复引起。图18显示,由于压缩感知恢复带来的开销可以忽略不计,在实验中观察到的所有路由路径长度下均小于100 ms。

在第二节-B中,我们已经观察到大约20%的自然丢包。为了检验严重丢包对每种方法路径重构性能的影响,我们通过从原始轨迹中随机删除数据包来制造额外丢包。我们在图19中展示了各种额外丢包率下每种方法的恢复准确率和误报情况。标记为“0”的额外丢包率对应于原始轨迹。随着更多数据包丢失,MNT的性能迅速下降。当额外丢包率超过15%时,MNT变得不再适用,准确率%急剧降低。Pathfinder的性能也受到影响,其准确率从74%下降至66%。这些结果表明,数据包丢失确实对依赖数据包间相关性的方法的性能产生了强烈影响。当锚点丢失时,Pathfinder和MNT采用补救方法为数据包搜索可能的路径,由于其宽松的路径验证方式,从而引入了误报。从图19(a)中可以看出,Pathfinder和MNT出现了不可忽略的误报,平均值范围为4%至15%。相比之下,CSPR对数据包丢失不敏感,实现了稳定的准确率%,且无任何误报。

开销比较 :最后,我们研究了我们的方法、MNT、Pathfinder以及一种直接记录中继节点ID序列的简单方法(称为DirRec)之间的设计开销。在表I中,我们从以下六个方面对这四种方法进行了比较:数据包开销、传感器内存储、传感器内计算开销、每次路径重构操作的时间复杂度、每次路径重构操作所需的数据包数量,以及路径重构频率。

总之,CSPR在数据包开销、传感器内存储和计算开销方面与其他三种方法相当,但在每次路径重构运行时,服务器端的计算开销较高。然而,在CSPR中,之后

示意图17 三种方法在不同额外丢包率下的误报和(b) 恢复准确率。每个值均为10次运行的平均值)

表I 不同路径重建方法的比较

方法 数据包开销 传感器内存储 传感器内计算开销 每次路径重构操作的时间复杂度 每次路径重构操作所需的数据包数量 路径重构频率
DirRec 高(与路径长度成正比) - - -
MNT
Pathfinder
CSPR 低(固定) 中等

一条路由路径被重建后,所有沿相同路由路径传输的后续数据包都不需要显式地进行路径恢复。因此,分摊到每个单独数据包上的计算开销可以忽略不计。正如本节所研究的,在我们的测试平台和CitySee数据包轨迹中,分别约有99%和65%的数据包不需要显式地重建路由路径。

V. 相关工作

路由路径重构 :CAPTRA[35]通过在全网范围内的节点协作来识别数据包路径。Alam等[2]采用概率性数据包标记技术来追踪数据包的来源。这两项工作均无法实现如CSPR般的逐包路径重构。PathZip[25]将数据包的路径信息压缩为一个哈希值,并通过将所有可能路径与该哈希值进行匹配来获取数据包路径。由于计算复杂度随网络规模呈指数级增长,PathZip可能难以扩展到大规模网络中。Pathfinder[16]和MNT[20],是两种最先进的方法,它们依赖于数据包间相关性来重构数据包路径。然而,正如第二节-B所示,它们的性能严重受到拓扑动态性和数据包丢失的影响。与之不同的是,由于CSPR独特的设计,其对网络动态性和有损链路不敏感。在[24],中,我们报告了CSPR的初步设计。在本期刊版本中,我们补充了路径向量稀疏性降低技术,对原始设计和新技术进行了更扎实的测试平台和基于轨迹的评估,并提供了CSPR与最先进的方法之间的详细比较。

网络断层扫描 :有线网络中的网络断层扫描已被广泛研究,提出了大量方法来探究网络的内部行为[8],[14]。通过从网络节点主动发送探测数据包,网络断层扫描主要旨在恢复网络拓扑或推断某些链路级特性[27],,例如延迟或数据包丢失[34]。由于资源有限,在无线传感器网络中不允许进行大量的探测。近年来,许多研究利用统计方法[32],、群组测试[7],、压缩感知[37],和优化方法[15]来实现无线传感器网络中的网络断层扫描。与这些工作相比,CSPR无需触发额外的探测数据包即可重建每个单独数据包的路由路径。

网络诊断 :网络诊断旨在推断异常网络症状的根本原因,并维护已部署无线传感器网络的健康状态。Sympathy[33]依赖于从网络中收集的系统指标,通过决策树pinpoint网络故障的根本原因。PAD[23]捕获异常事件,并以概率方式推断观测到的异常的根本原因。PAD中的主动数据包标记方案只能为每个源节点恢复一条路由路径,且要求底层网络拓扑相对稳定。PD2[6]是一种以数据为中心的方法,基于数据流定位性能问题。D2[10]通过挖掘网络症状来检测和诊断异常。AD[30]利用不同系统指标之间的相关性来发现静默故障。该类别中的现有工作与CSPR正交,但可从CSPR的输出中受益,从而获得更准确、更细粒度的诊断结果。

VI. 结论

本文提出了CSPR,一种基于压缩感知的路径重构方法。与最先进的方法不同,CSPR本质上对网络动态性和有损链路不敏感。通过基于测试床的实验和基于轨迹的仿真进行的大量评估表明,CSPR在各种网络设置下均优于最先进的方法。

【电能质量扰动】基于ML和DWT的电能质量扰动分类方法研究(Matlab实现)内容概要:本文研究了一种基于机器学习(ML)和离散小波变换(DWT)的电能质量扰动分类方法,并提供了Matlab实现方案。首先利用DWT对电能质量信号进行多尺度分解,提取信号的时频域特征,有效捕捉电压暂降、暂升、中断、谐波、闪变等常见扰动的关键信息;随后结合机器学习分类器(如SVM、BP神经网络等)对提取的特征进行训练与分类,实现对不同类型扰动的自动识别与准确区分。该方法充分发挥DWT在信号去噪与特征提取方面的优势,结合ML强大的模式识别能力,提升了分类精度与鲁棒性,具有较强的实用价值。; 适合人群:电气工程、自动化、电力系统及其自动化等相关专业的研究生、科研人员及从事电能质量监测与分析的工程技术人员;具备一定的信号处理基础和Matlab编程能力者更佳。; 使用场景及目标:①应用于智能电网中的电能质量在线监测系统,实现扰动类型的自动识别;②作为高校或科研机构在信号处理、模式识别、电力系统分析等课程的教学案例或科研实验平台;③目标是提高电能质量扰动分类的准确性与效率,为后续的电能治理与设备保护提供决策依据。; 阅读建议:建议读者结合Matlab代码深入理解DWT的实现过程与特征提取步骤,重点关注小波基选择、分解层数设定及特征向量构造对分类性能的影响,并尝试对比不同机器学习模型的分类效果,以全面掌握该方法的核心技术要点。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值