Page 401 - 《软件学报》2025年第12期
P. 401

5782                                                      软件学报  2025  年第  36  卷第  12  期


                 型, 实现了车辆节点间的稳定通信. 陈侃松等人在文献                [26] 中选择路由时利用跨层思想并结合网络节点移动速度
                 提出链路权值计算方法, 然后依据链路权值选择路由路径. 尽管以上文献考虑了车辆之间通信的可靠性, 但并未考
                 虑到由于车辆节点分布不均匀可能引起的路由空洞问题.
                    近年来, 在   VANET  路由领域引入了强化学习方法           (reinforcement learning, RL), 旨在更好地适应动态环境的
                 变化  [27] . Casas-Velasco  等人  [28] 提出了基于软件定义网络中的  RL  路由解决方案, 该方案考虑了路径状态度量, 以
                 产生适应动态流量变化的主动、高效和智能路由. 刘静茹等人                     [29] 提出一种基于   RL  的地理位置路由协议, 在选
                 定的下一跳网格中, 选择距离目的地最近的车辆, 当最优下一跳网格中没有邻居车辆时, 选择次优下一跳网格中
                 的车辆, 从而提高分组投递率, 降低传输时延并减少通信跳数. 文献                   [30] 提出了一种基于     RL  的分层协议   (QGrid),
                 该协议以尽可能少的延迟和跳数来提高消息传递率. 文献                    [31] 提出了一种基于协作学习的多接入车辆边缘计
                 算环境路由方案, 该方案采用基于端到边缘云协作的强化学习算法, 以低通信开销的方式主动寻找路由. 文献                                 [32]
                 在  VANET  中提出了一种基于交叉口的路由协议, 通过强化学习和实时监控网络状态的一种改进的贪心策略来
                 选择路径上的最优中继, 从而提高报文的传输率并降低端到端时延. 尽管这些研究从动态变化的环境中学习路由
                 策略, 但不仅没有考虑到车辆间通信链路的动态性, 还没有考虑到可能存在路由空洞的问题. 文献                              [33] 在  VANET
                 中提出了一种多跳通信的激励方案. 该方案基于模糊逻辑方法对复杂的动态环境进行估计, 然后基于全分布式
                 的强化学习方法, 从长远的角度进一步刺激中间节点, 使期望效用最大化. 文献                        [34] 提出了一种环境感知自适应
                 增强路由协议, 将     RL  应用于  VANET  的路径选择, 该协议通过感知车速、可用带宽、信号接收强度等因素, 自
                 适应调整    Q  表, 从而完成中继车辆的选择, 这一方法有助于解决链路突然中断的问题, 提高通信的可靠性. 虽然
                 二者考虑了车辆间通信链路的动态性, 但仍没有考虑路由空洞的问题. 然而, 文献                         [35] 提出了一种基于强化学习
                 的机会路由协议, 以降低能耗并提高传输可靠性, 同时也解决了水声传感器网络中路由空洞的问题. 文献                                 [36] 提
                 出了一种基于强化学习的机会路由协议, 将               RL  与机会路由相结合以确保数据传输的实时性和能源效率, 为了
                 在遇到空洞时实现可靠传输设计了空洞恢复机制, 使得报文能够绕过空洞节点继续转发. 尽管这些研究考虑到
                 路由空洞, 两节点之间通信的可靠性, 并且能够从环境中学习找到最优路由路径, 但并不适用于车载自组织网络.
                    综上所述, 尽管当前有许多研究专注于解决               VANET  路由问题, 但适用于这一应用场景的路由算法仍然需要
                 进一步的探索. 在复杂、动态和不确定的交通环境下, 如何实现源到目的地的数据传输, 以达到较低的时延和较高
                 的包投递率, 依然是一个亟需解决的问题. 因此, 本文提出了                 HTD-IR  算法, 该算法从道路和车辆两个方面进行综
                 合考虑. 在道路层面, 涉及路由路径的选择; 而在车辆层面, 通过选择合适的中继车辆在选定的路径上进行数据包
                 传输. 这种综合性的方法提高了         VANET  路由的包投递率, 同时减少了时延.

                  2   系统模型

                    面向基础设施稀疏、采集到的数据无法通过                V2X  单跳到达可用     RSU  的场景  [37] , VANET  中采集到数据的车
                 辆可以通过    V2V  多跳路由机制将数据传递至可用           RSU, 再由  RSU  将数据传至服务器. 如后文图       1  所示, 生成数据
                 的车辆   S ( , 即源节点) 首先搜索离它最近的可用         RSU ( D, 即目的节点), 若   D 位于  S  的通信范围内,  S  可直接将数
                                                                        D D 一旦接收到该数据, 便可通过有线传
                        D; 否则, 需借助邻居车辆通过多跳路由的方式将数据传输至  .
                 据传输给
                                                D 之间找寻一条延迟小且数据包投递率高的              V2V  多跳传输路径成为提高
                 输将数据传至服务器. 因此, 如何在         S  和
                 数据采集效率的关键.
                  2.1   网络模型
                    这里, 本文把    VANET  环境建模为图     E(V,G), 其中,  V = {v i |i = 1,2,...,n} 表示  VANET  中车辆节点集合,  v i  为第

                 i 个车辆,  G 表示环境地图. 考虑到将车辆刻画为强化学习的状态时, 状态空间会过于庞大, 本文将地图划分为大小
                 相等的网格, 并将其作为强化学习的状态            [29] . 这样可以减小状态空间, 降低     Q-table 的规模, 从而节省大量的系统资
                 源和时间. 如图    2  所示, 将整个地图用    G = {G g |g = 1,2,...,N} 表示, 其中  G g =< id, x,y,VG > id  为网格  G g  的标识符,
                                                                                      ,
                                                                   ,
                                                                      t
                                                        t
                                                                          t
                    y
                 x 和   分别为网格   G g  的横坐标和纵坐标,   VG = {VG |t = 1,2,...,T} VG  为   时刻网格  G g  内车辆的集合.
                                                        g             g
   396   397   398   399   400   401   402   403   404   405   406