本发明涉及计算机网络的应用,具体涉及一种基于强化学习的车载自组网路由方法,确保了数据包的可靠传输
背景技术:
1、本节中的陈述仅提供与本公开相关的背景信息,并且可能不构成现有技术。
2、(1)用于车载自组网(vanet)的基于位置的路由协议
3、随着车联网(iov)的快速发展,研究人员对传统的移动自组网(manets)路由协议进行了改进,以适应高度动态的车联网,并将各种新兴技术应用于vanet路由协议的设计。基于拓扑的路由协议使用路由表来存储有关路由路径的信息。在通信之前,必须建立到所有目的地的路由,每个节点定期广播控制数据包,与网络中的其他节点共享信息,并更新路由表。节点将数据包转发到路由表中所选路由上的下一跳。由于存储了大量的路由条目,从源节点到目标节点的完整路由是可用的。因此,基于拓扑的路由协议可以有效地降低数据包丢失率,但是同时也可以增加带宽开销。通过全球定位系统(gps)技术的应用,车辆节点可以在实时地图上获取其位置坐标,然后根据节点之间共享的位置信息转发数据包。基于位置的路由可以减少节点的高移动性的影响,避免了维护整个网络的路由表的需要。由于具有高交付比、短传输延迟和低通信开销,基于位置的路由协议成为vanets最适合、最可扩展和最有前途的策略。
4、为了适应vanets的动态性质和变化的环境,在基于位置的地理路由协议中引入了分段度量和交通意识。因为车辆网络的拓扑结构受城市场景中道路和建筑的限制,所以通过评估每个交叉口相邻路段来选择最佳路径。人们选择源节点与目标节点之间的一组相交序列作为分组传输轨迹。在车联网(iov)领域中广泛使用的一种获取分段和交通信息的方法是通过在十字路口传输收集器数据包(collector packets,cps)来进行的实时链路评估。cps从当前交叉口转发到下一个路口,收集路口之间各段的网络和交通状态,然后根据链接质量给该段分配权重。在传输数据包时,根据数据包高速率或低延迟传输要求,选择权重最大的路径来满足需求。尽管这些协议适用于各种动态vanet场景,但在数据包通信过程中,路由度量的持续可用性需要节点之间的频繁交互和不断更新计算结果。连续的测量过程需要额外的通信带宽和时间,从而增加了开销和延迟。
5、(2)基于机器学习(ml)和强化学习(rl)的路由协议
6、由于日常生活中的车辆从宏观角度看通常有一些明显的模式和特征,如定期访问特定地点,不同地区的车辆密度相对稳定,因此最新的路由技术引入了机器学习方法来训练自适应网络模型,以提高网络性能。在这些协议中,网络特征可以通过基于历史流量数据的机器学习(ml)或强化学习(rl)方法来学习,而不需要发送收集器数据包(collectorpackets,cps),从而节省带宽资源,缩短通信延迟。现有的通过ml和rl实现的路由协议可以预测车辆的运动和运动轨迹,以确保更可靠和有效的分组传输。然而,车辆的行为大量的状态具有较高的不确定性,因此很难训练一个网络模型来做出准确的预测。随着越来越多的车辆加入车载自组网(vanets),该算法将变得越来越复杂和难以收敛。
技术实现思路
1、本发明的目的在于:针对上述研究的局限性,提供了一种基于强化学习的车载自组网路由方法,其基于交叉路口的v2x(车用无线通信技术,vehicle-to-everyting,v2x)路由协议,并通过路测单元(roadside units,rsus)对分段的路段进行实时监控,以防止可能出现的网络拥塞;通过提取道路的历史交通流量特征,训练q学习算法得到q表,然后选择q值最大的路段,可以找到最优路径;本方法在数据包传输之前,不通过广播流量感知数据包来获取实时链路信息,因此,本方法路由具有较低的开销和延迟;本方法还将所有的交叉路口作为q学习的状态(状态空间),所有的路段作为q学习的动作(动作空间),即数据从某个交叉路口发送,通过路由选择到达某个路段。这大大减少了状态的数量,使算法易于实现。在之前的以地理环境为状态的rl路由协议中,地理区域被划分为网格,首先选择最优网格,然后将数据包转发到网格中的下一跳。然而,网格中的交叉口和建筑物影响信号传输,特别是在城市场景中。在本发明中,引入rsu(路测单元,roadside units,rsu)作为交叉口的中继,以缓解由车辆方向的突然变化和信号衰减引起的问题;同时,之前的方法中的q表是进行离线计算,在路由过程中保持静态,因此无法通过观察网络负载来调整路由决策。车辆的负荷取决于缓冲区队列的长度;在本发明中,在交叉口的rsu(路测单元)上安装监控模块,以获得数据包的总数,并估计路段上局部网络的平均负荷;如果一个路径上的网络过载,该数据包将被转发到另一个路段。
2、本发明的技术方案如下:
3、一种基于强化学习的车载自组网路由方法,包括:
4、设计分层路由框架,将基于q学习算法的路由路径规划和基于位置算法的中继器选择相结合,将数据包转发到通信条件最好的道路上,然后在道路上选择最合适的中继器;
5、通过q学习算法计算一个多维q表来实现任意两个交叉点之间的路由路径选择,代理根据多维q表进行路由决策;
6、引入了拥塞控制机制,通过实时监控连接状态,一旦网络拥堵,将选择一个替代路段。
7、进一步地,所述分层路由框架,包括:
8、在场景中,双向路段与十字路口相邻;连接到服务器的路测单元rsu部署在路口,与车辆通信,以便在路口区域进行可靠的分组转发;
9、车辆配备了gps系统和数字地图,能够获取自身和路测单元rsu的实时地理位置。
10、进一步地,所述将数据包转发到通信条件最好的道路上,包括:
11、服务器根据路段的历史交通流信息对q学习算法进行训练,并将多维q表发送到十字路口的路测单元rsu;
12、当数据包到达交叉路口时,路测单元rsu通过选择多维q表中q值最大的路径来确定数据包发往交叉路口的哪个方向;
13、对于将数据包从某一个路口的路测单元rsu发往另一个相邻路口的路测单元rsu的过程中,采用基于位置的贪心转发策略,在两个相邻的交叉口之间的路径上选择中继器,即选择车辆。
14、进一步地,所述拥塞控制机制,包括:
15、服务器根据从两端交叉口进入和离开路段的数据包的总量的统计信息来估计资源利用状态,即该路段的传输网络是否拥堵;当资源利用率超过阈值时,选择q值第二大的段作为备用路由路径,以避免进入拥挤的网络段。
16、进一步地,所述q学习算法,包括:
17、状态空间s是区域内所有交叉路口的集合,即交叉点的集合;st∈s描述为它表示数据包在时间t时到达交叉点li,i是交叉点的标识符;
18、动作空间a是毗邻一个交叉路口的多个路段,包括东、西、南、北方向的道路;at∈a是代理在t时刻所采取的行动,确定了信息要送往的路段;
19、选择把数据包转发到一个路段的动作使数据包所在位置从过渡到
20、在执行向其中一个路段转发数据包的动作后,立即给予代理奖励r;rt是代理在执行操作后从当前状态st转换到下一个状态st+1时获得的奖励;如果数据包被转发到目的地所在的交叉口dk,则奖励为φ,φ>0;否则,奖励为0;
21、通过训练城市场景中具有历史路段交通流的q学习算法来得到多维q表,q表中的q值用于路径选择和数据包转发。
22、进一步地,所述多维q表为三维矩阵,包括当前交叉路口、目标交叉路口和动作,分别用i、d和a表示;所述q值表示为q(dk、),表示在当前交叉口处采取行动的到达目的地交叉口dk的q值;其中,表示将数据包转发到一个路段的动作,r∈{east,west,south,north}。
23、进一步地,代理将q表分配给交叉路口的路测单元rsu;
24、车辆通过gps获取自己的位置和目的地车辆的位置,并通过数字地图获取道路拓扑结构;
25、然后,确定源点所在的交叉路口和目标位置所在的交叉路口;
26、在路由开始时,数据包被转发到源点所在的交叉路口;首先,路测单元rsu通过检查当前的交叉口和目标的交叉口来确定当前所处的状态(state,s);然后,路测单元rsu查找q表,选择当前状态下“状态-动作值”最大的动作(action,a);路测单元rsu采取动作,将数据包转发到选定的路径,并且数据包通过路径上的v2v转发策略和v2i转发策略到达道路临近的交叉路口,即路测单元rsu将数据包依次发给道路上的一个或多个中继(汽车),然后中继发给交叉路口的路测单元rsu。
27、进一步地,所述多维q表通过如下公式进行更新迭代:
28、
29、其中:α表示学习率;γ表示折扣因子作为与车辆密度和到目的地的距离相关的动态参数;
30、γ的定义如下:
31、γt=β×spt+(1-β)×dpt
32、其中:β为权重因子;spt为车辆密度的影响因子,dpt为从出发点到终点的距离缩短的程度;
33、spt和dpt分别根据下式定义:
34、
35、
36、其中:smax为最大车辆密度;smin是路段上的最小车辆密度;sbest是最优的路段车辆密度;sij为交叉口与交叉口之间路段的车辆密度;distt为当前交点与目标交点dk的距离;distt+1为下一个交点与目标交点dk的距离。
37、进一步地,在源点车辆和目的地车辆所在的道路的两端,各有候选的两个交叉路口;
38、对于源点的两个候选的交叉路口而言,它是源点所在路段两侧的交叉路口,分别比较它们到目的地车辆的距离,然后选择距离较短的交叉路口作为源点所在的交叉路口;
39、对于目的地交叉路口而言,根据到目标车辆的距离和车辆运动角度的余弦值来选择目标交叉口,公式如下:
40、
41、其中:
42、ω是一个介于0到1之间的权重因子;disti是候选目的地交叉口di与目的地车辆vd之间的距离;c是对距离进行归一化的常数;是目的地车辆在信标间隔δt处的位移向量;是从目的地车辆开始到候选目的地交叉路口之间的位置向量;
43、选择权重ωi较大的候选交叉口作为目标交叉口。
44、进一步地,所述引入了拥塞控制机制,通过实时监控连接状态,一旦网络拥堵,将选择一个替代路段,包括:
45、当路测单元rsu即将沿着其中一条道路转发数据包时,服务器从道路两端的路测单元rsu中提取数据,并根据如下公式计算出链路的平均负荷:
46、
47、其中:r_ini是从十字路口ii进入道路r的数据包数量,routi是从十字路口ii离开道路r的数据包数量;numr是道路r上的车辆总数;
48、如果平均负荷超过预设阈值θ,节点的缓冲队列接近满,此道路上的网络拥挤,进而选择q值第二大的路段作为替代路径。
49、与现有的技术相比本发明的有益效果是:
50、1、本发明,设计分层路由框架来实现城市场景中的数据包路由,将基于q学习算法的路由路径规划和基于位置算法的中继器选择相结合,将数据包转发到通信条件最好的道路上,然后在道路上选择最合适的中继器,从而提高了传输的可靠性。
51、2、本发明,通过q学习算法计算一个多维q表来实现任意两个交叉点之间的路由路径选择,代理根据多维q表进行路由决策;同时,在q学习算法中,还可以采用车辆密度等交通流量特征作为参数,使得交通感知的开销和延迟大大减少。
52、3、本发明,引入了拥塞控制机制,通过实时监控连接状态,一旦网络拥堵,将选择一个替代路段,从而提高了分组传输的成功率。
1.一种基于强化学习的车载自组网路由方法,其特征在于,包括:
2.根据权利要求1所述的一种基于强化学习的车载自组网路由方法,其特征在于,所述分层路由框架,包括:
3.根据权利要求2所述的一种基于强化学习的车载自组网路由方法,其特征在于,所述将数据包转发到通信条件最好的道路上,包括:
4.根据权利要求1所述的一种基于强化学习的车载自组网路由方法,其特征在于,所述拥塞控制机制,包括:
5.根据权利要求1所述的一种基于强化学习的车载自组网路由方法,其特征在于,所述q学习算法,包括:
6.根据权利要求5所述的一种基于强化学习的车载自组网路由方法,其特征在于,所述多维q表为三维矩阵,包括当前交叉路口、目标交叉路口和动作,分别用i、d和a表示;所述q值表示为表示在当前交叉口处采取行动的到达目的地交叉口dk的q值;其中,表示将数据包转发到一个路段的动作,r∈{east,west,south,north}。
7.根据权利要求3所述的一种基于强化学习的车载自组网路由方法,其特征在于,代理将q表分配给交叉路口的路测单元rsu;
8.根据权利要求6所述的一种基于强化学习的车载自组网路由方法,其特征在于,所述多维q表通过如下公式进行更新迭代:
9.根据权利要求1所述的一种基于强化学习的车载自组网路由方法,其特征在于,在源点车辆和目的地车辆所在的道路的两端,各有候选的两个交叉路口;
10.根据权利要求4所述的一种基于强化学习的车载自组网路由方法,其特征在于,所述引入了拥塞控制机制,通过实时监控连接状态,一旦网络拥堵,将选择一个替代路段,包括: