基于分簇和Q学习的车联网自适应路由方法

文档序号:35536484发布日期:2023-09-22 00:14阅读:48来源:国知局
基于分簇和Q学习的车联网自适应路由方法

本发明属于车联网,更具体地说,涉及一种基于分簇和q学习的车联网自适应路由方法。


背景技术:

1、在未来的智能交通中车辆自组网被视为主要的信息与通信技术。为了更好的为驾驶员和乘客提供信息娱乐等应用程序的支持,我们需要高效且可靠的内容交付,同时还要保障应用的服务质量和用户的体验质量。然而,基于传统tcp/ip架构的通信方式在处理智能交通中的数据内容交付问题上存在着很大的弊端;由于频繁的节点移动性,车辆环境的动态性给实现高效的数据传播带来了许多挑战。

2、命名数据网络采用基于内容的网络内缓存和路由,以实现对车辆节点无处不在的内容访问和移动性的支持;降低用户的请求时延和网络流量,缓存的存在一定程度上也缓解了车辆自组网中网络割裂现象所造成的连通性差的问题。


技术实现思路

1、针对车联网数据传输延迟高等问题,本发明目的在于提供一种基于分簇和q学习的车联网自适应路由方法,提高车联网架构的移动性和可扩展性,降低数据传输时延。

2、为了解决上述技术问题至少之一,根据本发明的一方面,提供了一种基于分簇和q学习的车联网自适应路由方法,包括如下步骤:

3、s1、车辆节点向邻居车辆节点、路边rsu广播交换hello包,创建邻居表;

4、s2、路边rsu根据hello包中的信息计算每个车辆节点的紧密度指数inti_index,将紧密度指数最大的车辆节点选择为簇头车辆节点,并为每个簇头车辆节点分配一个编号ch;在分簇完成后,簇头车辆节点编号ch映射对应簇编号num;

5、s3、路边rsu根据得到的hello包中车辆节点的相对位置、相对速度等信息,对车辆节点进行分簇并对簇进行维护;

6、s4、路边rsu根据簇头车辆节点的选择结果创建簇头车辆节点邻居表,并广播给簇头车辆节点;

7、s5、根据簇头车辆节点邻居表,簇头车辆节点进行q学习训练,将簇头车辆节点所在得簇作为q学习训练过程中的状态,训练得到的q值后,将q值通过广播hello包发送给簇头车辆节点,簇头车辆节点创建更新q值表;

8、s6、簇成员车辆节点进行路由请求;簇头车辆节点向最近的路边rsu发送hello包,包中携带簇成员车辆节点的兴趣请求,路边单元rsu在收到hello包后将与hello包匹配的内容数据包c发送给簇头车辆节点,同时簇头车辆节点会将收到的内容数据包c缓存到存储表cs中;

9、s7、根据路由请求簇成员车辆节点发送的hello包的频率和类型,路边rsu和车辆簇头节点利用分布式缓存策略对存储表cs进行更新;

10、s8、簇成员车辆节点根据兴趣请求直接从簇头车辆节点获取所需最新内容数据包c。

11、进一步的,所述s2中紧密度指数inti_index定义如下:

12、

13、其中,,为权重系数,+=1;是车辆节点i的趋于中心度值;为车辆节点i和车辆节点j之间的节点连通度值;

14、趋于中心度值定义如下:其中,为车辆节点i到其他车辆节点j的相对距离,;,分别为车辆节点i和车辆节点j的位置;,为系数,+=1;

15、节点连通度值定义如下:其中,车辆节点i和车辆节点j之间链路连通的时间,,是车辆节点i的速度,是车辆节点j的速度;为车辆节点i和车辆节点j的相对行驶角度的差值,,分别是车辆节点i和车辆节点j的相对行驶角度。

16、进一步的,步骤s3具体为:

17、s31、在初始化网络时,每个车辆节点都处于孤立的状态,车辆节点根据北斗定位系统获取自身位置和速度,并将其加入到hello包中用于邻居车辆节点进行信息交换;

18、s32、车辆节点根据自身位置和速度与接收到hello中的位置和速度计算与邻居车辆节点之间的相对速度和相对距离;并将相对速速和相对距离加入到hello包中;

19、s33、在通信范围内,初始化的簇头车辆节点广播hello包,将簇头车辆节点兴趣请求类型和簇头车辆节点编号ch添加到hello包中;

20、s34、接收到hello包的车辆节点,根据hlleo包中相对速度、相对距离和兴趣请求类型并与车辆节点的相对速度、相对距离和兴趣请求类型进行比较;若相近,则发送确认加入数据包给簇头车辆节点成为簇内车辆节点,并将簇头车辆节点编号ch缓存到自身存储区;s35、当簇头车辆节点与其他半数以上的簇内车辆节点的平均运动角度偏离π/3,即认为簇头车辆节点要脱离当前簇;簇头车辆结点发送添加了离开信息的hello包给路边rsu和簇内车辆节点;

21、s36、路边rsu收到添加了离开信息的hello包后,根据s2更新簇头;并广播给簇内车辆节点;簇内车辆节点更新自身存储区中簇头车辆节点的信息;

22、s37、簇内车辆节点离开,广播添加离簇信息的heelo,接收到该hello包的其他簇内车辆节点和簇头车辆节点将离簇的簇内车辆节点的信息从邻居表中删除。

23、进一步的,步骤s32中相对速度的计算公式如下:

24、其中,分别是车辆节点i和车辆节点j的速度

25、进一步地,s32中相对距离的计算公式如下:其中,,分别为车辆节点i和车辆节点j的位置。

26、进一步的,步骤s5中q-学习训练过程如下:

27、s51、将整个车辆网络作为q学习的环境,车辆节点转发的hello包作为q学习的agent,每个簇作为q学习的状态空间,hello包转发时所有邻居簇作为动作集,hello包从当前簇转发至邻居簇作为状态转移;

28、s52、根据hello包从当前簇 经过邻居簇多跳转发到达目的簇的过程,训练更新q值;

29、s53、经过学习训练,得到q值保存在簇头车辆节点的q值表中,簇头车辆节点之间通过hello包的转发更新q值表。

30、进一步的,步骤s52中q值的更新公式如下:其中,mem(x)表示簇转发hello包时的动作集,

31、所述为q学习训练的学习率,定义为;

32、所述

33、为q学习训练的折扣率,定义为

34、,number为车辆的数量;r为车辆节点的通信半径;为通信半径的平方;

35、所述为hello包转发成功后获得的奖励,定义为其中,为发送给的hello包的数量,为接收到的hello包的总数。

36、进一步的,步骤s6中路由请求过程如下:

37、s61、簇内成员车辆节点根据自身需求向簇头车辆节点发送hello包;

38、s62、接收到hello包,簇头车辆节点查看存储表cs,若存储表cs中的内容数据包c与hello包匹配,则将内容数据包c返回给s61中的簇内成员车辆节点;若没有匹配的,则执行s63和s64;

39、s63、若簇头车辆节点的存储表cs中没有与hello包匹配的内容,则向路边rsu进行请求,若在路边rsu的存储表cs查找到匹配的内容数据包c,则进行返回;

40、s64、若簇头车辆节点和路边rsu的存储表cs中没有与hello包匹配的内容,则根据簇头车辆节点的q值表中的最大q值将hello包转发给邻居簇头车辆节点,并设置跳数限制hop;

41、s65、邻居簇头车辆节点接收到hello包,查找存储表cs;存储表cs中的内容数据包c与hello包匹配,则将内容数据包c返回;否则将跳数限制hop减1,并转到s63,重复此过程;

42、s66、当跳数限制hop为0时,返回给s61中的簇成员车辆节点一个nack数据包。

43、进一步的,s7中分布式缓存策略更新存储表cs,其具体步骤如下:s71、路边rsu和车辆簇头节点将hello包对应的内容数据包c根据流行度分为高流行度内容数据包和低流行度内容数据包;

44、s71中流行度具体定义如下:其中,是时间间隔中对于内容数据包c的请求次数,为权重参数;

45、s72、得到不同流行度的内容数据包c后,车辆簇头节点将高流行度内容数据包完全缓存在存储表cs中,低流行度内容数据包不完全缓存再存储表cs中;

46、s73、路边rsu将低流行度内容数据包完全缓存在存储表cs中,高流行度内容数据包不完全缓存再存储表cs中;

47、s74、当簇内车辆节点请求低流行度内容数据包c时,簇头车辆节点向路边rsu请求得到低流行内容数据包c,返回给簇内车辆节点。

48、根据本发明的另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明的基于分簇和q学习的车联网自适应路由方法中的步骤。

49、根据本发明的又一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明的基于分簇和q学习的车联网自适应路由方法中的步骤。

50、相比于现有技术,本发明至少具有如下有益效果:

51、本发明的基于分簇和q学习的车联网自适应路由方法,通过对具有相似移动模式、相近兴趣请求的的车辆节点进行分簇并建立与簇头车辆节点、路边rsu的通信,提高车辆节点间的连通性,提高车联网的移动性和可扩展性;利用q学历训练的结果进行路由选择,克服由于车辆节点移动带来路由转发的时延挑战,降低数据包转发的丢包率以及成功率;通过路边rsu与车辆簇头节点的分布式缓存策略,考虑车辆节点兴趣请求的时空相关性和缓存冗余度的问题,提高缓存命中率和网络路由转发效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1