路由方法、路由模块、车载终端和车载自组网路由系统的制作方法

文档序号:9649418阅读:506来源:国知局
路由方法、路由模块、车载终端和车载自组网路由系统的制作方法
【技术领域】
[0001]本发明涉及通信技术领域,特别涉及一种路由方法、路由模块、
[0002]车载终端和车载自组网路由系统。
【背景技术】
[0003]车载自组网(Vehicular Ad hoc Network,简称VANET)将无线Ad hoc网络和无线传感器网络进行了结合,创造性的将自组网在车辆间应用,在通信范围内,通过建立起来的移动网络,车辆间可以实时的交换信息。由于每个节点的单跳通信距离很短,因此参与通信的车辆节点不仅是一个收发器还是一个路由器,网络中的车辆采用多跳的方式把数据转发给更远的车辆。VANET在交通拥塞控制、交通安全、出行规划以及旅途娱乐方面具有广阔的前景,VANET路由协议为这些应用提供了数据通信支持。
[0004]由于车载网络拓扑变化频繁,车辆节点移动速度快,路由技术成为了车载自组网中的重大挑战之一。目前,在车载自组网中使用的路由协议大致可以分为3类:基于拓扑的路由协议,基于位置的路由协议,基于地图的路由协议。其中,基于位置的路由协议由于不需要路由表或存储路径,每个节点仅需要获知邻居节点和目的节点的位置信息,就可以决定下一跳的节点,大大降低了维护网络拓扑信息的开销,能够更好的适应车载网络的拓扑结构的变化,因此,在车载网络中基于位置的路由协议使用的也最广泛。
[0005]无状态贪婪周边路由(GreedyPerimeter stateless Routing,简称GPSR)协议是经典的基于位置的路由协议。按照GPSR协议,当源节点需要向目的节点发送数据时,先采用贪婪转发模式,在所有自己的邻居节点中寻找一个距离目的节点最近的节点作为数据的下一跳,然后将数据传送给该邻居节点。下一跳节点如果不是目的节点,下一跳节点也遵循同样的方法来继续寻找下一跳,该过程一直重复迸行,直到数据到达目的节点为止。当出现没有比该节点更接近目的节点的节点,但该节点的无线范围不能直接将数据发送到目的节点的情况时,数据无法传输,GPSR协议会改为周边转发模式,根据右手法则沿其他可达节点继续传输数据来解决这种情况。但是这样增加了节点的跳数,增加了路由开销,加大了数据包传输的延迟时间,而且在节点密度比较稀疏的情况下,GPSR不能保证存在可通信的节点实施周边转发。
[0006]目前,有一些改进的路由协议,通过结合一些可以从汽车获取的信息,例如位置信息、电子地图信息、计划行驶路径等,使用这些信息能够改善路由机制的性能,但是,这种方式对汽车本身能够提供的信息具有很强的依赖性,并且这些信息无法在不同区域的汽车之间传递。也有一些路由协议,使用移动蜂窝网络为VANET提供备用链接,当通过VANET无法将信息传送给目的节点时,借助蜂窝网络进行传输,这种方式占用了蜂窝网络的网络资源。
[0007]因此,提供一种链路中断率较低、传输效率较高、占用蜂窝网络资源较小的车载自组网路由方法是本领域亟需解决的技术问题。

【发明内容】

[0008]本发明提供一种路由方法、路由模块、车载终端和车载自组网路由系统,可有效降低数据传递过程中的链路中断率和对蜂窝网络资源的占用率,同时还能提高数据传输效率。
[0009]为实现上述目的,本发明提供了一种路由方法,用于在车载自组网中提供路由策略,包括:
[0010]判断当前节点的邻居节点中是否存在目的节点,所述邻居节点为与所述当前节点的处于相同街道且与所述当前节点之间的距离小于所述当前节点的最大通信距离的节占.
[0011]若判断出所述当前节点的所述邻居节点中存在所述目的节点时,则将所述当前节点的数据包发送给所述目的节点;
[0012]若判断出所述当前节点的邻居节点中不存在所述目的节点时,则判断是否存在所述邻居节点与所述目的节点之间的距离小于所述当前节点与所述目的节点之间的距离;
[0013]若判断出存在所述邻居节点与目的节点之间的距离小于所述当前节点与所述目的节点之间的距离时,则选取与所述目的节点之间的距离最小的一个邻居节点作为下一跳节点,并以所述下一跳节点作为当前节点,重新执行所述判断当前节点的邻居节点中是否存在目的节点的步骤;
[0014]若判断出不存在所述邻居节点与目的节点之间的距离小于所述当前节点与所述目的节点之间的距离时,则判断是否存在所述当前节点的相邻街道节点与目的节点之间的距离小于所述当前节点与所述目的节点之间的距离,所述相邻街道节点为与所述当前节点所处的街道相交叉的街道上的节点;
[0015]若判断出存在所述相邻街道节点与目的节点之间的距离小于所述当前节点与所述目的节点之间的距离时,则采用Di jkstra算法选取下一跳街道;
[0016]基于贪婪算法从下一跳街道中选取下一跳节点,并以所述下一跳节点作为当前节点,重新执行所述判断当前节点的邻居节点中是否存在目的节点的步骤。
[0017]可选地,若判断出不存在所述相邻街道节点与目的节点之间的距离小于所述当前节点与所述目的节点之间的距离时,则将所述当前节点的数据包缓存。
[0018]可选地,在所述当前节点将数据包缓存的步骤之后,还包括:
[0019]判断所述当前节点缓存所述数据包的总时间是否超过第一预设时间;
[0020]若判断出所述当前节点缓存所述数据包的时间超过第一预设时间时,则将所述当前节点缓存的所述数据包丢弃;
[0021]若判断出所述当前节点缓存所述数据包的时间没有第一超过预设时间时,则判断所述当前节点是否存在邻居节点;
[0022]若判断出所述当前节点存在邻居节点时,则重新执行所述判断当前节点的邻居节点中是否存在目的节点的步骤;
[0023]若判断出所述当前节点不存在邻居节点时,则经过第二预设时间后重新执行所述判断所述当前节点缓存所述数据包的总时间是否超过所述第一预设时间的步骤。
[0024]为实现上述目的,本发明还提供了一种路由模块,用于在车载自组网中提供路由策略,包括:
[0025]第一判断单元,用于在当前节点接收到数据包后,判断当前节点的邻居节点中是否存在目的节点,所述邻居节点为与所述当前节点的处于相同街道且与所述当前节点之间的距离小于所述当前节点的最大通信距离的节点;
[0026]发送单元,用于在所述第一判断单元判断出所述当前节点的所述邻居节点中存在所述目的节点时,则将所述当前节点的数据包发送给所述目的节点;
[0027]第二判断单元,用于在所述第一判断单元判断出所述当前节点的邻居节点中不存在所述目的节点时,则判断是否存在所述邻居节点与所述目的节点之间的距离小于所述当前节点与所述目的节点之间的距离;
[0028]第一选取单元,用于在所述第二判断单元判断出存在所述邻居节点与目的节点之间的距离小于所述当前节点与所述目的节点之间的距离时,则选取与所述目的节点之间的距离最小的一个邻居节点作为下一跳节点;
[0029]第三判断单元,用于在所述第二判断单元判断出不存在所述邻居节点与目的节点之间的距离小于所述当前节点与所述目的节点之间的距离时,则判断是否存在所述当前节点的相邻街道节点与目的节点之间的距离小于所述当前节点与所述目的节点之间的距离,所述相邻街道节点为与所述当前节点所处的街道相交叉的街道上的节点;
[0030]第二选取单元,用于在所述第三判断单元判断出存在所述相邻街道节点与目的节点之间的距离小于所述当前节点与所述目的节点之间的距离时,则采用Di jkstra算法选取出下一跳街道;
[0031]第三选取单元,用于基于贪婪算法从下一跳街道中选取出下一跳节点;
[0032]所述发送单元还用于在所述第一选取单元或所述第三选取单元选取出所述下一跳节点时,将所述当前节点的数据包发送给所述下一跳节点。
[0033]可选地,还包括:
[0034]缓存单元,用于在所述第三判断单元判断出不存在所述相邻街道节点与目的节点之间的距离小于所述当前节点与所述目的节点之间的距离时,则将所述当前节点的数据包缓存。
[0035]可选地,还包括:
[0036]第四判断单元,用于判断所述缓存单元缓存所述数据包的总时间是否超过第一预设时间;
[0037]第五判断单元,用于在所述第四判断单元判断出所述当前节点缓存所述数据包的时间没有第一超过预设时间时,则判断所述当前节点是否存在邻居节点;
[0038]所述第一判断单元还用于在所述第五判断单元在判断出所述当前节点存在邻居节点时,则执行判断所述当前节点的邻居节点中是否存在目的节点的步骤。
[0039]所述缓存单元还用于在所述第四判断单元判断出所述当前节点缓存所述数据包的时间超过第一预设时间时,则将缓存的所述数据包丢弃。
[0040]为实现上述目的,本发明还提供了一种车载终端,包括:路由模块,所述路由模块采用上述的路由模块。
[0041]可选地,还包括:
[0042]信息读取模块,用于周期性的读取车辆自身的节点信息,所述节点信息包括:车辆身份标识、车辆位置信息和车辆所处街道标识;
[0043]无线通信模块,用于将车辆自身的所述节点信息上传至网络侧设备,并接收所述网络侧设备广播的其他车辆的节点信息;
[0044]所述路由模块根据所述车辆自身的节点信息、所述其他车辆的节点信息和目的节点的节点信息制定路由策略。
[0045]可选地,还包括:
[0046]信息存储模块,用于存储所述信息读取模块获取的所述车辆自身的节点信息和所述无线通信模块接
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1