Page 407 - 《软件学报》2025年第12期
P. 407
5788 软件学报 2025 年第 36 卷第 12 期
F A = κ n A +(1−κ) m A (19)
N mean N mean
其中, n A 为 v A 的邻居数量; m A 为单位时间后 v A 的邻居车辆中比 v A 更接近目的地的车辆数量; N mean 为 VANET 中
车辆的平均邻居数量; n A /N mean 表示车辆 v A 周围的车辆密度, m A /N mean 表示 v A 陷入路由空洞的可能性, 其值越大,
则可能性越小. κ 为权重因子且 0 < κ < 1.
3.2.2 中继车辆选择策略
基于以上因素考虑, 本文在现有贪婪转发策略的基础上进行优化, 引入车辆的位置代价、车辆之间链路生存
性和路由空洞等参考因素, 设计了如公式 (20) 所示的转发代价 Cost A .
1 1
Cost A = ω 1 × Place +ω 2 × +ω 3 × (20)
A
Link A F A
其中, Place A 表示邻居车辆 v A 基于位置的代价; Link A 表示 v A 与 v B 之间通信链路的生存性; F A 表示 v A 后继可转发
的概率; ω 1 、 ω 2 、 ω 3 是权重因子且 ω 1 +ω 2 +ω 3 = 1.
基于 Markov 预测的在线 V2V 传输机制的具体过程如算法 2 所示. 首先, 如果目的地在当前车辆 v B 的传输半
径内, 则直接将数据包传递给目的地; 否则, 在步骤 4–20 中, 通过基于 Markov 预测的在线 V2V 传输机制生成下一
中继车辆进行数据包传递. 步骤 5–7 中, 如果当前车辆 v B 的邻居车辆在下一路径上, 对于这些邻居根据公式 (20)
选择下一车辆; 步骤 9–16 处理邻居车辆不在下一路径上的情况, 其中, 步骤 11, 12 考虑存在邻居下一时刻可能出
现在下一路径上的情况, 对于这些邻居根据公式 (20) 选择下一中继车辆; 而步骤 14, 15 处理邻居车辆都不可能出
现在下一路径上的情况, 同样对于这些邻居根据公式 (20) 选择下一中继车辆. 如果 v B 没有邻居车辆, 则在步骤 19
中采取携带转发策略.
算法 2. V2V 转发策略.
输入: 当前车辆 v B 、下一路径 G ;
best
输出: 下一中继车辆.
1. if dist BD < R then
2. 将数据包直接转发给目的地 D;
3. else
4. if ∃v A ∈ VR then
t
B
5. if v A ∈ VG t
best
6. 根据公式 (20) 选择具有最小 Cost 的中继车辆 ;
v A
A
7. 转发数据包给车辆 v A ;
8. else
9. 查找下一时刻邻居 v A 出现在下一路径 G 上的概率 p A ;
best
10. if ∃p A > 0
11. 根据公式 (20) 选择具有最小 Cost 的中继车辆 ;
v A
A
12. 转发数据包给车辆 v A ;
13. else
14. 根据公式 (20) 选择具有最小 Cost 的中继车辆 ;
v A
A
15. 转发数据包给车辆 v A ;
16. end if
17. end if
18. else
v B 采用携带转发方式进行传输;
19. 当前车辆

