18、无线传感器网络中的簇内竞争解决机制

无线传感器网络中的簇内竞争解决机制

在无线传感器网络(WSN)中,竞争解决是一个至关重要的问题。由于WSN具有独特的特性,如有限的电池寿命、收发器延迟、不完美的碰撞检测、控制包开销以及动态性等,传统的有线或无线网络竞争解决方案往往并不适用。本文将介绍一些适用于WSN的竞争解决机制,并对它们的性能进行评估。

1. WSN的限制

WSN面临着诸多限制,这些限制对竞争解决机制提出了挑战:
- 有限的电池寿命 :无线传感器节点最稀缺的资源是电池电量。由于能量限制,节点通常无法持续监测介质。为解决此问题,提出了占空比和退避技术,但这可能分别增加碰撞风险和浪费空闲时隙。
- 收发器延迟 :低功耗收发器存在一个问题,即若信号未达到最短持续时间,节点无法检测到正在进行的传输。例如,CC2420收发器在传输开始的最后128微秒内无法检测到信号。此外,节点在RX/TX切换阶段无法感知信道。
- 不完美的碰撞检测 :大多数WSN收发器无法同时发送和监听信道,因此无线发射器可能无法检测到碰撞。接收器端碰撞检测(RCD)虽可行,但在存在外部干扰时容易出现误报。而且,随着碰撞节点数量的增加,一些RCD技术的准确性会降低,通常也难以明确识别参与碰撞的发射器。
- 控制包开销 :WSN中的数据包大小通常较小(小于几百字节),即使最小的控制包也可能构成较大的开销。例如,RTS - CTS - DATA - ACK握手系列在传输数据包时可能会在平台上产生40%的开销。因此,竞争解决方案应尽量减少控制包的数量。
- 动态性 :WSN中的节点数量或介质竞争节点的数量可能未知或不固定。节点可能因多种原因加入或离开网络。在事件驱动的网络中,每次事件触发的竞争节点数量可能不同。除水下声学传感器网络外,获取竞争节点的数量通常需要明确查询WSN中的节点。

2. 竞争解决机制概述

竞争解决是基于竞争和混合MAC协议的重要组成部分。基于竞争的MAC协议可分为发送方发起和接收方发起两类。

2.1 发送方发起的机制
  • 最优CSMA(CSMA/p*) :CSMA/p 是非持久CSMA,使用最优非均匀分布p 来确定信道访问概率。若已知竞争节点的数量,它能最小化碰撞概率;否则,性能不佳。为缓解此约束,Sift使用截断几何分布,在固定大小的竞争窗口中近似p*。Sift专为事件驱动的网络设计,利用传感器网络的空间相关竞争特性,为同一事件触发的部分报告提供低延迟,同时抑制其他报告。然而,它假设始终存在最少数量的竞争节点,并且在节点数据到达高度随机或应用需要竞争节点及时交付数据包的情况下,性能可能不佳。
  • 退避前导序列(BPS) :BP - MAC使用随机长度的退避前导(BP)(取决于重试计数器),兼具介质预留和忙信号的功能。发送BP后,节点感知介质,若信道空闲则开始传输数据;否则,节点退避后再次感知信道。为缓解多个节点选择相同BP持续时间并同时开始数据传输的问题,BPS - MAC使用一系列短连续BP逐步减少竞争。节点使用截断几何分布确定BP长度,并在成功发送预定义数量的BP后才开始数据传输。但该方法需要手动调整多个参数以获得最佳性能,且由于多个节点选择相同BP长度,竞争解决不一定成功,不过可以使用ACK消息解决此问题。
  • 快速碰撞解决(FCR) :基于退避的碰撞避免方法的主要缺点是退避导致的碰撞和浪费的空闲时隙。当竞争节点数量增加时,许多节点使用小的竞争窗口退避,因此未来许多重传尝试很可能再次碰撞。FCR旨在通过重新分配所有竞争节点的退避计时器来加速碰撞解决。所有活动节点监测介质,当延迟节点检测到预定义数量的连续空闲时隙时,它以指数方式减少退避计时器;当检测到新的忙周期开始时,节点增加竞争窗口大小并选择新的随机退避时间。然而,FCR要求活动节点在有数据发送时持续进行载波感知,由于高能耗,在WSN中持续监测信道不切实际,因此提出了将FCR与协调睡眠相结合的方法,但这会牺牲性能。虽然该算法在低占空比下比IEEE 802.11表现更好,但在高竞争情况下的性能尚未得到探索。
2.2 接收方发起的机制
  • 同步共享竞争窗口(SSCW) :SSCW专为周期性数据收集应用设计,使用基于节点数量的固定大小竞争窗口。为防止单个节点在同一窗口内多次碰撞,SSCW使用非重叠竞争窗口。在给定窗口中碰撞的数据包将在当前窗口结束后立即开始的下一个窗口中的随机时间重新调度。数据收集周期从簇头(CH)的同步信标开始。每个节点成功传输数据包后,返回RF静默状态并等待下一个信标。若因缺少ACK消息推断传输失败,节点将在下一个窗口中尝试重传,此过程重复进行,直到所有节点都交付了其数据包。为提高效率,有人提出了连续减小竞争窗口的方法,即剩余节点根据当前(即最后碰撞的)竞争节点数量重新计算窗口大小。然而,SSCW的主要限制是必须提前知道竞争节点的数量,因此不能作为通用的竞争解决技术。此外,它假设节点始终有数据要传输,且所有节点都参与介质竞争,竞争节点必须跟踪来自CH的ACK数据包数量,这要求节点始终处于监听状态。
  • Flip - MAC :Flip - MAC专为密集网络设计,分两步解决竞争。首先,它采用基于一系列探测 - 确认周期的竞争减少技术。在每个周期中,竞争节点随机将其ID设置为两个可能地址之一,猜对的节点同时发送确认,其余节点退出竞争。只要CH检测到载波,就会继续发送探测,复杂度为对数级。当探测未得到确认时,第二步开始,此时CH广播确认消息,表明竞争水平已降至可管理水平。随后,少数剩余竞争节点使用常见的解决技术(如基于退避的CSMA)选择获胜者。Flip - MAC将探测实现为CC2420收发器上的硬件生成确认,以提高效率,但并非所有收发器都支持此功能,可能需要单独传输。此外,确定停止CSMA/退避方案以开始新一轮竞争减少的最佳时间可能并不容易,接收器可能需要等待至少与最大竞争窗口一样长的RF静默间隔,以确保没有节点在退避,这会浪费带宽。
  • Strawman :Strawman专为接收方发起的无线电占空比协议设计,基于抽签的类比处理竞争。过程从CH的探测消息开始,同时发送的节点随机抽取请求信号的长度,信道访问权授予发送最长“稻草”(请求信号)的发送方。CH通过包含最长请求信号长度的决策消息宣布获胜者。Strawman的一个缺点是若两个或更多竞争节点的请求信号长度相同,则会失败。其增强版本E - Strawman通过逐步解决碰撞问题,同时尽量保持“稻草”的平均长度最短。通过宣布接收到的最长信号的长度,接收器仅授权当前轮次的碰撞获胜者参与下一轮,直到成功传输。“稻草”的长度使用截断递减几何分布随机确定。为进一步减少竞争,Strawman还使用多信道。为获得最佳性能,该方法需要在第一轮使用竞争节点的数量来计算最大“稻草”长度。从第二轮开始,由于实际获胜者的数量未知,使用碰撞获胜者的估计平均值重新计算最大请求长度。此外,由于有效负载长度有限,最大“稻草”长度不能随竞争节点数量的增加而增加,且最大信号长度可能无法100%准确估计。
  • 树分裂 :树分裂技术是一种递归操作,将一组碰撞数据包随机分为两个子组,每个子组都遵循与原始组相同的过程。未参与碰撞的节点等待碰撞解决,因此在碰撞解决过程中,不会传输新到达的数据包。使用此方法时,不需要知道竞争节点或碰撞节点的数量。有人将树分裂和二进制指数退避(BEB)方案结合使用,以在竞争节点数量较少时加速解决过程,并在(低数据速率)异构网络中与基于随机的MAC协议保持兼容。在划分碰撞域后,若因缺少ACK推断发生碰撞,竞争节点将切换到基于退避的解决方案。一旦第一个数据包成功交付,CH将恢复当前域的分裂操作。虽然此方法缩短了低数据速率网络的解决时间,但在高竞争水平下可能导致解决时间延长。
  • 二叉搜索树碰撞解决(BSTCR) :BSTCR使用树分裂的变体,将碰撞域表示为节点ID的“范围”。与随机划分竞争节点不同,它将碰撞域精确地一分为二,从而实现确定性的竞争解决。此外,在解决过程中,新的竞争节点有可能访问介质。据了解,BSTCR是唯一非协商式的技术,即不包含任何随机成分,因此在解决竞争所需的步骤方面是唯一的确定性方法。
2.3 竞争解决机制总结

竞争解决技术可分为接收方发起和发送方发起两类。接收方发起的方案由CH的探测消息触发,通常依赖CH的碰撞检测;发送方发起的方法通常基于退避。两种类型都可能结合随机长度的前导与退避或RCD方法。竞争解决中最常见的组件是载波感知,除SSCW外,所有被调查的方法都使用了载波感知。在接收器端碰撞解决中,CH通过载波感知来完成RCD操作。在某些情况下,ACK消息是必需的,通常有助于解决竞争。以下是不同竞争解决方法的比较表格:
| 方法 | 参考编号 | 接收方发起 | 知晓竞争节点数量 | 竞争节点载波感知 | 基于退避 | 基于接收器端碰撞检测 | 基于前导 | 需要ACK消息 |
| — | — | — | — | — | — | — | — | — |
| CSMA/p* | [7] | | | ✔ | ✔ | | | |
| Sift | [8] | | | ✔ | ✔ | | | |
| BP - MAC | [9] | | | ✔ | ✔ | | ✔ | |
| BPS - MAC | [10] | | | ✔ | ✔ | | ✔ | |
| FCR | [12] | | | ✔ | ✔ | | | |
| SSCW | [13] | ✔ | ✔ | | | | | ✔ |
| Adaptive SSCW | [14] | ✔ | ✔ | | | | | ✔ |
| Flip - MAC | [15] | ✔ | | | | ✔ | | ✔ |
| Strawman | [16] | ✔ | | | | ✔ | | ✔ |
| E - Strawman | [3] | ✔ | | | | ✔ | | ✔ |
| Tree - Split + BEB | [19] | | | | ✔ | | | |
| BSTCR | [2] | ✔ | | | | ✔ | | |

3. 性能评估

由于进行实际实验成本高且耗时,尤其是在节点数量较多的情况下,因此主要使用模拟来评估性能。开发了一个Java模拟器,该模拟器以符号周期级的粒度运行,能在比现有模拟器更可控的环境中进行评估。

3.1 独立评估

选择Flip - MAC、(增强版)Strawman和BSTCR进行进一步分析,因为它们是通用且相当健壮的方法,可作为大多数MAC协议和无线传感应用中基于竞争的组件。假设CH能成功检测所有碰撞,并且对于Strawman,假设CH能完美估计“稻草”长度。

在独立评估中,每个竞争节点成功向CH发送“ADD”消息后退出竞争。对于Flip - MAC和Strawman,当前轮次完成后立即开始新的轮次,直到所有竞争节点成功发送消息。模拟了一个由5到105个传感器节点和一个CH组成的簇,实验重复100次并取平均值。

结果表明,总解决时间(即最后一个竞争节点交付“ADD”数据包所需的时间)随竞争节点数量的增加而线性增长。但BSTCR的性能优于其他两种方法,因为它能将竞争减半,并且不像Flip - MAC那样需要对所有剩余竞争节点重新开始分裂,而是回溯到已减少的竞争状态进行后续分裂。此外,Flip - MAC需要等待RF静默间隔才能开始下一轮。

控制消息交换率定义为交换的控制包总数除以竞争节点总数,该参数表示每个竞争节点在获得介质访问权之前平均需要的消息数量。BSTCR在这方面远远优于其他方法,因为它所需的交换消息数量与竞争节点数量呈对数比例关系,而Flip - MAC和Strawman的消息开销呈线性增长。因此,BSTCR对MAC协议施加的开销要小得多。

从可扩展性来看,BSTCR更适合处理大规模网络,特别是在控制包开销方面具有更好的可扩展性。此外,Flip - MAC和Strawman的完成时间在不同运行中会有波动,因为它们包含随机成分;而BSTCR是确定性的,始终表现出相同的性能,这使其更适合有实时约束的应用。

以下是总解决时间和控制消息交换率随竞争节点数量变化的示意图:

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    A(竞争节点数量):::process --> B(总解决时间):::process
    A --> C(控制消息交换率):::process
    B --> D(Flip - MAC):::process
    B --> E(Strawman):::process
    B --> F(BSTCR):::process
    C --> G(Flip - MAC):::process
    C --> H(Strawman):::process
    C --> I(BSTCR):::process
3.2 整体评估

基于独立评估的结果,继续对BSTCR和Strawman进行评估。选择Bin - MAC作为MAC协议,它是接收方发起的协议,属于调度 - 竞争类别,以循环方式工作并支持占空比,与Strawman很匹配,BSTCR是Bin - MAC的默认竞争解决方案。

在模拟中,模型为一个由20个传感器节点和一个CH组成的簇,模拟时间为2x10^7个符号周期。将事件周期从112毫秒变化到8毫秒,以评估在从非常低到非常高的竞争水平下的性能。每个事件假设需要10次成功传输(1100字节)才能完全报告,每个传感器节点的数据缓冲区假设为2KB。

在WSN中,占空比与通信相关的能量消耗直接相关。竞争解决会影响占空比,因为竞争节点在参与解决过程时无法保持其通常的睡眠/唤醒时间表。占空比定义为无线电开启的时间百分比,包括发送、接收或监听的时间,这三种操作模式消耗的能量大致相同。

评估指标包括平均占空比、吞吐量、平均延迟和数据交付率。结果显示,BSTCR和Strawman在不同事件周期下表现出不同的性能。在某些情况下,BSTCR具有更低的平均占空比、更高的吞吐量、更低的平均延迟和更高的数据交付率,尤其是在高竞争水平下,BSTCR的确定性优势更加明显。

以下是评估指标随事件周期变化的示意图:

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    J(事件周期):::process --> K(平均占空比):::process
    J --> L(吞吐量):::process
    J --> M(平均延迟):::process
    J --> N(数据交付率):::process
    K --> O(Strawman):::process
    K --> P(BSTCR):::process
    L --> Q(Strawman):::process
    L --> R(BSTCR):::process
    M --> S(Strawman):::process
    M --> T(BSTCR):::process
    N --> U(Strawman):::process
    N --> V(BSTCR):::process

综上所述,不同的竞争解决机制在WSN中具有不同的优缺点。BSTCR在总解决时间、控制消息交换率、可扩展性和确定性方面表现出色,更适合处理大规模网络和有实时约束的应用;而其他机制如Flip - MAC和Strawman在某些特定场景下也有其适用之处。在实际应用中,需要根据WSN的具体需求和特点选择合适的竞争解决机制。

无线传感器网络中的簇内竞争解决机制

5. 不同机制在实际场景中的适用性分析

在实际的无线传感器网络(WSN)应用中,选择合适的竞争解决机制至关重要,这需要综合考虑网络的特点、应用需求以及各种机制的优缺点。

5.1 对实时性要求高的场景

对于实时性要求极高的应用,如工业自动化监测、紧急事件预警等,确定性的性能是关键。BSTCR在这方面具有显著优势,因为它是唯一非协商式的技术,不包含任何随机成分,在解决竞争所需的步骤方面具有确定性。在独立评估中,其总解决时间和控制消息交换率的表现稳定,不受随机因素影响。在整体评估中,尤其是在高竞争水平下,BSTCR能保持较低的平均延迟和较高的数据交付率,确保实时数据的及时准确传输。

例如,在工业生产线上的传感器网络中,需要实时监测设备的运行状态,任何延迟都可能导致生产事故。BSTCR的确定性性能可以保证传感器节点及时将数据传输到汇聚节点,以便及时采取措施。

5.2 节点动态变化频繁的场景

在节点动态变化频繁的网络中,如移动传感器网络、临时部署的监测网络等,需要竞争解决机制能够快速适应节点数量的变化。树分裂技术在这种场景下具有一定的优势,因为它不需要知道竞争节点或碰撞节点的数量,能够灵活地处理节点的加入和离开。

当有新节点加入网络时,树分裂技术可以将新节点纳入现有的解决流程中,而不需要重新配置整个竞争解决机制。例如,在野外环境监测中,可能会根据监测需求随时增加或减少传感器节点,树分裂技术可以较好地适应这种动态变化。

5.3 能量受限的场景

在能量受限的WSN中,如使用电池供电的传感器节点网络,减少能量消耗是首要目标。竞争解决机制对占空比有直接影响,因为竞争节点在参与解决过程时无法保持其通常的睡眠/唤醒时间表。

BSTCR在这方面也有一定的优势,其控制消息交换率较低,意味着在竞争解决过程中消耗的能量相对较少。此外,一些基于占空比和退避技术的机制,如BP - MAC和BPS - MAC,通过合理安排节点的睡眠和唤醒时间,也可以在一定程度上减少能量消耗。

例如,在农业灌溉监测网络中,传感器节点通常使用电池供电,需要长时间运行。选择能量消耗较低的竞争解决机制可以延长节点的使用寿命,减少更换电池的频率。

6. 未来发展趋势

随着无线传感器网络技术的不断发展,竞争解决机制也将不断演进,以适应新的应用需求和网络环境。

6.1 多技术融合

未来的竞争解决机制可能会融合多种技术的优点,以提高性能和适应性。例如,将树分裂技术与BSTCR相结合,既可以利用树分裂技术的灵活性处理节点动态变化,又可以发挥BSTCR的确定性优势提高实时性。

还可以将基于占空比和退避技术与多信道技术相结合,进一步减少碰撞和提高信道利用率。例如,Strawman已经开始使用多信道来减少竞争,未来可能会有更多的机制采用这种方式。

6.2 智能化与自适应

随着人工智能和机器学习技术的发展,竞争解决机制可能会变得更加智能化和自适应。通过学习网络的运行状态和节点的行为模式,机制可以自动调整参数,以优化性能。

例如,根据节点的能量状态、数据传输需求和网络负载情况,动态调整竞争窗口大小、前导长度等参数。这样可以提高机制在不同场景下的适应性和效率。

6.3 与其他网络层的协同优化

竞争解决机制不仅仅是MAC层的问题,还需要与其他网络层进行协同优化。例如,与网络层的路由协议相结合,根据路由信息合理分配信道资源,减少不必要的竞争。

与应用层的需求相结合,根据不同的应用需求选择合适的竞争解决机制。例如,对于实时性要求高的应用,优先选择确定性的机制;对于数据量较大的应用,选择吞吐量高的机制。

7. 总结与建议

综上所述,不同的竞争解决机制在无线传感器网络中各有优劣,在实际应用中需要根据具体的网络特点和应用需求进行选择。以下是一些具体的建议:

场景特点 推荐机制 原因
实时性要求高 BSTCR 具有确定性性能,能保证低延迟和高数据交付率
节点动态变化频繁 树分裂技术 不需要知道竞争节点数量,能灵活处理节点加入和离开
能量受限 BSTCR、BP - MAC、BPS - MAC 控制消息交换率低或能合理安排占空比,减少能量消耗
大规模网络 BSTCR 可扩展性好,控制包开销低

同时,随着技术的发展,多技术融合、智能化与自适应以及与其他网络层的协同优化将是未来竞争解决机制的发展方向。在实际应用中,可以关注这些趋势,不断探索和尝试新的机制,以提高无线传感器网络的性能和可靠性。

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    A(网络场景特点):::process --> B(实时性要求高):::process
    A --> C(节点动态变化频繁):::process
    A --> D(能量受限):::process
    A --> E(大规模网络):::process
    B --> F(BSTCR):::process
    C --> G(树分裂技术):::process
    D --> H(BSTCR):::process
    D --> I(BP - MAC):::process
    D --> J(BPS - MAC):::process
    E --> F

在选择竞争解决机制时,还可以进行一些实验和测试,根据实际的网络环境和应用需求评估不同机制的性能,从而做出更合适的选择。希望本文的内容能为无线传感器网络的设计和应用提供有益的参考。

标题基于Spring Boot的音乐播放网站设计与实现研究AI更换标题第1章引言介绍音乐播放网站的研究背景、意义、国内外现状及论文方法与创新点。1.1研究背景与意义阐述音乐播放网站在当今数字化时代的重要性与市场需求。1.2国内外研究现状分析国内外音乐播放网站的发展现状及技术特点。1.3研究方法以及创新点概述论文采用的研究方法及在设计与实现上的创新点。第2章相关理论与技术基础总结音乐播放网站设计与实现所需的相关理论和技术。2.1Spring Boot框架介绍介绍Spring Boot框架的基本原理、特点及其在Web开发中的应用。2.2音乐播放技术概述概述音乐播放的基本原理、流媒体技术及音频处理技术。2.3数据库技术选型分析适合音乐播放网站的数据库技术,如MySQL、MongoDB等。第3章系统设计详细介绍音乐播放网站的整体设计方案。3.1系统架构设计阐述系统的层次结构、模块划分及各模块的功能。3.2数据库设计介绍数据库表结构、关系及数据存储方式。3.3界面设计用户界面的设计原则、布局及交互方式。第4章系统实现详细介绍音乐播放网站的具体实现过程。4.1开发环境与工具介绍开发所需的软件、硬件环境及开发工具。4.2核心功能实现阐述音乐播放、搜索、推荐等核心功能的实现细节。4.3系统测试与优化介绍系统测试的方法、过程及性能优化策略。第5章研究结果与分析呈现音乐播放网站设计与实现的研究结果。5.1系统功能测试结果展示系统各项功能的测试结果,包括功能完整性、稳定性等。5.2用户反馈与评价收集并分析用户对音乐播放网站的使用反馈与评价。5.3对比方法分析将本设计与实现与其他类似系统进行对比分析,突出优势与不足。第6章结论与展望总结音乐播放网站设计与实现的研究成果,并展望未来发展方向。6.1研究结论概括音乐播放网站设计与实现的主要成果及创新点。6.2展望指出当前研究的不足,提出未来改进方向及可
Android Studio点餐系统开发源码(高分期末大作业项目),个人经导师指导并认可通过的高分设计项目,评审分99分,代码完整确保可以运行,小白也可以亲自搞定,主要针对计算机相关专业的正在做大作业的学生和需要项目实战练习的学习者,可作为毕业设计、课程设计、期末大作业,代码资料完整,下载可用。 Android Studio点餐系统开发源码(高分期末大作业项目)Android Studio点餐系统开发源码(高分期末大作业项目)Android Studio点餐系统开发源码(高分期末大作业项目)Android Studio点餐系统开发源码(高分期末大作业项目)Android Studio点餐系统开发源码(高分期末大作业项目)Android Studio点餐系统开发源码(高分期末大作业项目)Android Studio点餐系统开发源码(高分期末大作业项目)Android Studio点餐系统开发源码(高分期末大作业项目)Android Studio点餐系统开发源码(高分期末大作业项目)Android Studio点餐系统开发源码(高分期末大作业项目)Android Studio点餐系统开发源码(高分期末大作业项目)Android Studio点餐系统开发源码(高分期末大作业项目)Android Studio点餐系统开发源码(高分期末大作业项目)Android Studio点餐系统开发源码(高分期末大作业项目)Android Studio点餐系统开发源码(高分期末大作业项目)Android Studio点餐系统开发源码(高分期末大作业项目)Android Studio点餐系统开发源码(高分期末大作业项目)Android Studio点餐系统开发源码(高分期末大作业项目)Android Studio点餐系统开发源码(高分期末大作业项目)Android Studio点餐系统开发源码(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值