HRP‐DCM:基于时间距离的高效路由

HRP-DCM:基于时间距离的高效路由

分层混合路由:HRP‐DCM解决方案

6.1. 引言

与TEEN或LEACH相比,基于动态聚类机制实现HHRP路由方法显著提高了无线传感器网络在降低能量消耗和优化资源方面的性能,从而也延长了网络生命周期。然而,在该机制的各个层级(即环境识别、聚类以及根据子父概念构建最优路径)中使用RSSI测量可能会由于通信链路不对称而导致网络性能下降。此外,由于RSSI信号的稳定性,这些信息只能在特定时间内使用。因此,分配给环境识别阶段的时间变得尤为重要,因为它会加速能量消耗,从而缩短网络的生命周期。

为部署无线传感器网络应用[MUN 09],已开发并实施了多种可提高定位质量的方法。这些方法使用AOA2测量来确定物体在其工作环境中的位置,或其他基于信息从源到目的地传播时间的测量方法,如TOA3和TDOA4, 。后两种方法在带宽足够的情况下能够非常精确地计算距离。

在本研究中,我们提出了一种基于HRP‐DCM协议的解决方案,该方案在环境识别阶段利用计算时间距离的概念,旨在缩短网络初始化阶段的延迟分配,从而降低能量消耗。

6.2. HRP‐DCM路由机制

HRP‐DCM机制是基于父子信息继承的路由的一种改进版本,可规避由通信链路不对称等问题引起的各种问题。其实现包含四个重要阶段,以确保在能量消耗、资源使用和信息传输时间框架方面基于优化进行信息交换。这四个阶段分别为环境识别、聚类、时隙分配以及最后的通信,在通信阶段根据子父概念构建最优路径[AOU 13a, AOU 13b, AOU 14a, AOU 14b, AOU 15a]。

6.2.1. 环境识别

一旦节点在工作环境中随机部署,传感器节点之间通过交换消息来发现邻居。每个节点 $i \in sNH$(其中 $sH$ 为初始集合)广播一个包含其标识符 ID 的消息,发送给所有邻近节点 $L_s$(到达集合),以便这些邻近节点能够识别其周围环境。该消息为:

$$
\text{Message} {SBInit} = (\text{ID}_i, \text{ID}_j, N {\text{rob}}, \text{hops} N, \Delta T {sN}^H)
\quad \text{[6.1]}
$$

其中 $\Delta T_{sN}^H(i)$ 表示在传输 SBInitMessage 期间的时间变化,即:

$$
\Delta T_{sN}^H(i) = T_H^{(i)} - T_0
\quad \text{[6.2]}
$$

其中 $T_0$ 和 $T_H^{(i)}$ 分别为节点 $N_i$ 发送 SBInitMessage 时的初始定时器值和对应时间。

因此,到达集合 $N_j$ 中的每个传感器都可以通过认证其最近的邻居,获取邻居各自的标识符 $\text{ID}_{N_i}$ 及其相对于基站 $\text{hops}_N$ 的深度(通过实现源节点与目标节点之间飞行时间计算机制,该深度增加一个单位)来建立路由表(图6.1)。类似地,属于到达集合 $L_s$ 并接收到相同消息的传感器节点 $N_j$ 应首先计算时间变化:

$$
\Delta T_{sN}^L(j) = T_L^{(j)} - T_0
\quad \text{[6.3]}
$$

其中 $\Delta T_{sN}^L(j)$ 和 $T_L^{(j)}$ 分别为接收到 SBInitMessage 的时间变化以及普通 $N_j$ 节点接收到该消息的相应时间。

示意图0

传感器节点 $N_j$ 随后向所有邻近节点广播 SBInitMessage 消息,即使这些节点已存在于其路由表中。

与利用无线电信号强度来估计传感器节点之间距离的继承方法不同,继承方法中存在非对称通信链路,因而可能对路由机制的性能产生负面影响,而HRP‐DCM方法能够规避这一问题。此外,RSSI数据只有在稳定的情况下才能使用,这会增加处理和计算阶段所需的时间。我们可以通过[6.2]和[6.3]来确定差异。

$$
\text{diff} {ij} = \Delta T {sN}^L(j) - \Delta T_{sN}^H(i) = T_L^{(j)} - T_H^{(i)}
\quad \text{[6.4]}
$$

了解无线电传输频率和传输消息的长度,并使用表示从 $N_i$ 节点到 $N_j$ 节点传输消息所需时间的 $\text{diff}_{ij}$ 参数,我们是能够完成环绕深度 $N$ 的距离计算机制。

6.2.2. 聚类

与协调到新状态的单个 h 中的选择协调相一致 M 指定 essag 一旦传感器 n 需要最小传感器 n 找到 $n$ 个节点,所有传感器读数,名称跳数 $N$ 在 relat 簇。

在继承中,如果概率 $P_r$ 通过跳数到达基站,则选择将遵循在( CH IDge Adv 节点上的决策,表明它是一种 e Message 节点确定与节点之间的最短传输距离(图 H 相邻的 sor 节点 ha ely 的距离到基站的传输阶段基于祖先的 $a$ 和随机数 $P {rob}$ 由 $t$ a _ MessageS 直接决定,重点在于增益广播) CHi D header 包含公告 _ CHageAdvmines its affili transmission e which separa e 6.2)

节点。一旦拥有完美的性能表现 S. 方法,一个数量为 $anb$ 的基站。一旦(_CHi CHIDAdv 可达或具有其状态信息的节点包含其 int 消息。消息哈里亚顿到一个 c 能量。该装置测量了差异节点归属。

识别不同之间的知识传感器节点生成 e,基站具有), SB ID 头部,在多个 h 中通过发送标识符 ID 来实现最小化使用已被不同的协调机构通过隶属关系接收簇到一个簇。

定义阶段 $h$ ge 的 $im t$ 节点 $ijd$ can only bec is less than been inform message, dire 跳数, in this i l () i 跳数 $N$ deg a warning i 簇头 and a he 接收到的每个节点基于其决策作为候选节点。

6.2.2. 聚类(续)

每个传感器节点在接收到后,通过发送类似 $(\text{ID}, \text{ID}_{\text{CH}_i}, N, \text{header})$ 的关联数据包来选择其所属的协调器节点
Join消息
根据CSMA MAC接入层。

一旦来自不同协调器的 $(\text{ID}_{\text{CH}_i}, \text{header}, \text{消息广播})$ 消息在传感器节点接收到信息后,该传感器节点将检查其路由表,并选择一个时间距离最短的簇加入。例如,如果存在冗余值,则选择将侧重于跳数 $\text{hops}(N)$。所需跳数最少的簇头到达基站的跳数将被选择。与基于继承的方法相同,如果跳数相同,则簇归属的选择将随机进行。

6.2.3. 时隙分配

为了确保有序的簇内通信并避免节点之间的干扰和冲突,每个协调器节点为其不同的 $NM$ 数量分配明确定义的时隙。此阶段与上一章中描述的阶段类似。

6.2.4. 通信阶段

从源节点向基站传输信息时,首先经过协调器节点,在进行数据处理和聚合后,相应的簇头 CHILD 必须通过优化源节点与目标节点之间的距离、端到端延迟、信号强度、能量消耗和/或跳数等约束条件来选择最佳路径。

与选择最优路径相关的伪代码(图6.3)使用了小节4.2.2中提出的相同能耗模型,内容如下:

FOR EACH 簇 j ∈ [1..k']:
    属于簇头 CHILD 源节点的周围
    计算最大剩余能量 E_r−PARENT(h),使得 h ∈ [1..k']
    确定能量阈值 E_r−seuil
    测试能量与阈值的关系
    IF E_r−PARENT(h) ≥ E_r−threshold
        选择 h 节点作为簇头 PARENT 目标节点
    ELSE
        确定每个簇头 PARENT 的跳数 hops(n_j)
        测试 hops(n_j) 与 hops_optimal 之间的差异
        IF 仅存在一个 p 满足 hops(n_p) = hops_optimal
            选择 p 节点作为簇头 PARENT 目标节点
        ELSE
            有几种冗余解决方案
            比较簇头 PARENT 目标节点的时间距离
            diff_CHILD−PARENT^j = T_H^{(j)} − T_L^{(j)}
            计算最小值:
            mindiff = min(diff_CHILD−PARENT^1, diff_CHILD−PARENT^2, ..., diff_CHILD−PARENT^l)
            IF 存在 l 使得 diff_PARENT^l = mindiff
                选择 l 节点作为簇头 PARENT 目标节点
            ELSE
                有几种冗余的解决方案
                随机选择 CHPARENT 目标节点
END
END
END
END

然而,如果有多个冗余值 $\text{hops}(n_p)$,则簇头 CHILD 源节点根据最小时间距离 $\text{diff}_{\text{CHILD−PARENT}}^j$ 作为其选择标准,即:

$$
\text{diff} {\text{CHILD−PARENT}}^j = \min(\text{diff} {\text{CHILD−PARENT}}^1, \text{diff} {\text{CHILD−PARENT}}^2, …, \text{diff} {\text{CHILD−PARENT}}^l)
\quad \text{[6.5]}
$$

其中:

$$
\text{diff}_{\text{CHILD−PARENT}}^j = T_H^{(s)} - T_L^{(s)}
\quad \text{[6.6]}
$$

每个簇头 PARENT 目标节点提供的时间距离越小,其距离源簇头 CHILD 就越近。因此,传输所消耗的能量将更低,因为传输平均比传感器节点多消耗70%的能量。在这种路由方法中,选择目标簇头 PARENT 所需的计算较少,且决策可以快速做出,因为每个簇头 CHILD 在初始侦察阶段已建立其周围环境的完整数据库。

每个属于簇 $j$ 的传感器节点 $i$ 必须具有足够的能量,以在网络中传输或处理信息。在每一轮次 $r$ 中,其剩余能量必须不低于一个最小剩余能量 $E_r^j(r)$,该值接近能量阈值 $E_T$,即满足:

$$
E_{\text{node}_i}^{(r)} < E_T
\quad \text{[6.7]}
$$

因此,与 HHRP 中一样:

$$
\begin{cases}
\text{node}_i \text{ excluded from the network } & \text{if } E_r - E_T < 0 \
\text{node}_i \text{ renewed in the network } & \text{if not}
\end{cases}
\quad \text{[6.8]}
$$

HRP‐DCM 方法通过以下方式确定具有最少 $NM$ 数量的簇:

$$
NM_j = \min(N_j)
\quad \text{[6.9]}
$$

其中 $NM_j(N_j)$ 表示属于簇 $j$ 的成员节点数量。

这可以估算出在重组阶段之前确保网络运行所需的最少轮次。最后一个负责协调的簇头会向基站发出警报,表明该簇无法选出新的协调器节点。因此,基站通过生成新的概率 $P_{rob}$ 来开始重新组织网络架构,并通过再次对架构进行簇化使机制重新启动。

6.3. 结论

我们刚刚提出了HRP‐DCM协议解决方案,该方案是对基于继承方法的一种替代,可在能量、资源使用和处理时间方面实现改进。其实施能够避免在整个机制各层级(即环境识别、聚类以及基于子父概念构建最优路径)中使用RSSI测量。实际上,由于通信链路不对称,RSSI数据可能成为网络性能下降的根源,且RSSI信号需要较长时间才能稳定,因此必须谨慎使用这些数据。

HRP‐DCM解决方案基于在网络部署和环境识别期间计算时间距离。这一思路能够缩短初始化阶段所需的时间,从而降低能量消耗。

下一章将对专用于具有分层架构的无线传感器网络的路由协议进行比较研究,例如HRP‐DCM、基于继承的路由协议HHRP、TEEN和LEACH。

在 Maven 构建过程中,若遇到 `hrp-common:pom:${revision}` 无法从远程仓库传输或下载的问题,可能由多种原因引起。以下为常见的原因及对应的解决方法: 1. **版本号未正确解析** 如果 `hrp-common` 的版本使用了 `${revision}` 这样的占位符,需确保其在 `pom.xml` 或父 POM 中被正确解析。例如: ```xml <properties> <revision>1.0.0</revision> </properties> ``` 若未定义该属性,Maven 将无法识别版本号,从而导致依赖解析失败 [^1]。 2. **远程仓库配置错误** 检查 `pom.xml` 或 `settings.xml` 中的 `<repositories>` 配置是否包含 `hrp-common` 所在的仓库地址。若仓库地址错误或不可用,Maven 将无法下载依赖。示例配置如下: ```xml <repositories> <repository> <id>custom-repo</id> <url>https://nexus.example.com/repository/maven-releases/</url> </repository> </repositories> ``` 3. **网络问题或代理配置不当** 确保构建环境具备访问远程仓库的网络权限。若处于内网环境,需在 `settings.xml` 中配置代理(proxy)信息,例如: ```xml <proxies> <proxy> <id>example-proxy</id> <active>true</active> <protocol>http</protocol> <host>proxy.example.com</host> <port>8080</port> <username>user</username> <password>pass</password> </proxy> </proxies> ``` 4. **依赖未发布到远程仓库** 如果 `hrp-common` 是内部开发的模块,需确认其是否已通过 `mvn deploy` 正确发布到远程仓库。若仅存在于本地仓库,其他机器在构建时将无法找到该依赖。 5. **Maven 本地缓存问题** 有时 Maven 本地仓库(默认位于 `~/.m2/repository/`)中的文件可能损坏或不完整。尝试删除本地缓存并重新构建: ```bash rm -rf ~/.m2/repository/hrp-common mvn clean install ``` 6. **使用 `-U` 参数强制更新快照依赖** 如果使用的是快照版本(如 `1.0.0-SNAPSHOT`),Maven 默认不会频繁检查更新。可通过以下命令强制更新: ```bash mvn clean install -U ``` 7. **检查仓库的认证信息** 若远程仓库需要认证,需在 `settings.xml` 中配置 `<servers>` 信息,例如: ```xml <servers> <server> <id>custom-repo</id> <username>repo-user</username> <password>repo-pass</password> </server> </servers> ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值