具体实施方式
下面结合附图说明及具体实施方式对本发明进一步说明。
基本的VANET信息传输场景如附图1所示。在城市中均匀分布多个AP热点,在其覆盖范围内,车接收AP热点广播的数据,同时车与车之间也进行通信,如图1中车节点a1。即VANET通信主要分为路边接入热点AP和车之间的通信(v2I)以及车和车之间的通信(v2v)这两大类。由于VANET网络中不定速运动的节点导致不断变化的网络拓扑结构,当建立了一条从源节点到目的节点的数据转发路径后,由于节点移动速度的变化,使得原来连接的两个节点由于速度不同,其间的距离就会超过车辆间的通信距离,导致建立路径失效,此时车节点会在通信范围内选择下一个中继节点建立新的连接,如图1中车辆节点a2。尤其在传输较大的媒体文件时,高动态的网络拓扑导致频繁的链路中断,令文件很难传输成功。
VANET通信的过程如附图2所示,由源节点S发送信息,经过中继节点R转发,至目的节点D。一般在城市中,由AP作为源节点,给其通信范围内的车辆进行广播信息,由于所广播的文件较大,且车速较快,包发送的过程中,发生包断裂,丢失的情况。而当车辆接到信息包后,会丢弃不完整的信息包,这样收到的信息包数目急剧下滑,许多只收到一部分的信息包就被丢弃了,浪费了这部分的内容。车辆继续作为中继节点把自身携带的信息转给附近的车辆,而车与车之间通信环境更加恶劣,下一个车辆节点收到的信息会丢失的更加严重。可见传统的VANET通信,虽然受到了其高动态的网络拓扑结构导致的频繁链路中断的影响,可是也没有有效的利用每一次的传输机会,还有很大的提升空间。
对于信息传输来说,传输时延是衡量传输技术的一个重要指标,而车辆网固有的节点特性,其导致的后果就是频繁的链路中断,从而引起高丢包率,导致时延的增加。因此如何提高信息的传输效率,并能够在节点的通信半径内有效选择下一个中继节点令其和中继节点的通信中维持较高的通信时间对车联网是具有实际意义的。如今,在通信领域对于提高网络吞吐量已经有了一定的方法,那就是网络编码。网络编码自提出以来,其主要功能即是提高网络吞吐量,让信息传输更有效率。可见其在车辆网的应用是可行且行之有效的。而车联网(VANET)与传统的MANET最大的区别就是VANET以车辆作为节点,而车行驶的道路是固定的,那么车辆节点的移动轨迹受制于道路,所以其节点的分布和运动受交通流的影响。
基于上述分析,本发明提出了一种TrafficCode路由编码技术,TrafficCode是一个基于道路交通流并结合网络编码的VANET文件协作下载协议,多个所占存储空间较大的多媒体文件F正在一个区域中被众多用户请求下载,这个区域由多个APs组成,多媒体文件F经由各个APs来传输给位于其区域的各个车辆,其中每个AP都是F的源节点,每个车辆对于其他车辆来说都是中继节点,同时也是目的节点。AP把多媒体文件F切割成n个等大小的信息包(包大小和数目可以结合此区域当前时段的交通流特征和源文件大小进行设置,保证在此路段在每一时段的传输效率最大化),并执行网络编码。同时,根据当前道路的交通流特征,车辆节点有针对性的选择下一个中继节点,达到最大化吞吐量,提高传输效率,降低时延的目的。
一、TrafficeCode中的小单位网络编码技术
源文件经源节点(一定区域的多个路边接入热点APs),经过切割成等大小的package后且编码广播至AP通信范围内的车辆节点。车辆节点经过AP后,各自由于车速不同,导致停留在AP通信范围的时间不同,从而接收到的编码包个数也不同。它们接收到编码包后结合自身的已有编码包再次进行编码传给附近的车辆节点。
其主要原理如下,我们定义被分割后的基本单位为package。那么如果源节点有M个初始信息,它们都可以被表示成来自高斯域的元素组成的向量。每个初始信息被切割成n个package(package大小和数目可以结合此AP所在路段当前时段的交通流特征和源文件大小进行设置),则pji代表第i个初始信息的第j个package。对m个初始信息中所有的第j个包进行编码得到的编码包pj’:
其中vi是来自高斯域随机选择的参数,则是源节点的整个编码包的编码向量,同时也是每一个pji的编码向量。对接收节点v来说,每一个接收节点对每一个位置(1,…,n)都有一个解码矩阵。如果对于第j个位置,收到有效的(信息包在生存时间内)编码包pj’,则对第j个位置的解码矩阵的秩加一。
经过中继节点选择机制,中继节点在接收编码包的同时也对编码包进行再次的编码传输,对一个源节点,每个初始信息包中的package有着同一个编码向量。而对于中继节点v’,编码后的第j个位置的package被表达为:
其中S是结合交通流特征的有效中继选择机制选择的中继节点R的缓存中收到的第j个位置编码包的数目,pji是位置j(列)的第i个package(行)。vi={v1i,…,vMi}是其编码向量。Pjl是第l个源信息包的第j个位置。从上述式子中可以得出,pj``仍然是一个对源package的线性组合。因此不论经过几次中继节点转发,编码后的package包总是一个关于源package的线性组合,不影响解码。
上面介绍了TrafficeCode这种编码技术的基本原理,可见对于以package为基本单位的网络编码方式,相比传统的网络编码方式有一个显著的优点:即车辆节点对每个package的位置,每一个正确接收的编码package几乎对解码都有用,或者说不在乎收到哪个位置的package。而传统的网络编码方式,由于其接收到的基本单位是整个的信息包,相比之下,我们采用以切割后的package为基本单位,针对每一个package位置的编码方式可以更快、更有效的传输信息,且错误率要大大降低。
为了对抗VANET网络拓扑变化快,包碰撞频繁、丢包率高等困难,我们针对于多媒体文件F采用了对其分割成n个编号为1至n的package,来增加传输的投递概率。具体工作原理如附图3所示,有源节点S(AP热点),V1和V2是协作下载的车辆,V1对V2来说是中继节点。
第一步,源节点对源信息分块并编码。对于源S,读取此时段交通流特征决定package大小和数目n,对原始数据包X、Y进行切割分块处理得到(x1,…,xn,y1,…,yn)。并分别对同编号的xi、yi进行编码(具体原理见公式1),这样利于在解码的时候找到对应在源文件的位置。
第二步,中继节点收到编码包后再次编码发给目的节点。经过中继节点选择机制,选择中继节点V1,中继节点V1把收到的编码包A’、B’、C’对于各个package位置的有效package再次进行编码(具体原理见公式2),附图3中黑色的数据块代表传输过程中丢失的package。编码得到新的编码包D、E并传给目的节点V2。
第三步,目的节点解码,得到源信息。目的节点V2收到了由源节点S直接传过来的A、B、C和V1传过来的D、E。其中A、B、C包文件在各个package位置可能会有较大的丢包率,而经V1传过来的D、E信息包则相对会较完整,有较多的有效package。
由图3中可见,V2收到了A、B、C、D、E一共5个编码包,而V2对每个package位置只需要收到2个有效的编码package(来自源S或者节点V1)就可以成功的还原源节点S的初始信息X、Y。这样大大提高了传输效率,充分利用每次传输机会的传输机制,大大提高了吞吐量,较好的解决了高丢包率的问题,从而减小了下载时延。解码原理如下:
其中,package大小为n,p`为编码包,v是编码向量,解码得到的原始数据包为p。
上述中V1作为源S到V2之间的中继节点在V2V通信模式中起到了重要作用,V2接收到的数据包中,由V1直接传输过来的D`、E`是含有有效package最多的数据包。可见如何保证V1这个中继节点发送的数据包有尽可能低的丢包率,对于V2来说是至关重要的,即V1的选择很大程度上影响了V2的数据接收。
二、TrafficCode中结合交通流的有效中继选择机制
在V2V模式中,下一个中继节点的选择十分重要,尤其是在节点密度偏小的情况下对整个协议的投递概率、时延都有较大的影响。而VANET网络的节点离不开道路的交通流特征,VANET以道路上行驶的车辆为节点,所以其节点的分布和运动受交通流的影响,因此要和交通流理论相结合。用于描述交通流流体特性的物理量称为交通流参数。目前主要将交通流参数分为宏观参数和微观参数两类。将交通流作为一个整体所表现出来的特性称为宏观参数,主要包括:流量(交通量):指单位时间内,通过道路某个地点或某个断面的车辆数;速度:车速是指车辆在单位时间内通过的距离;密度:密度是指特定长度道路上瞬间存在的车辆数。通常用每公里车辆数或每车道每公里车辆数来表示。交通量、速度和密度也称为交通流三要素。
根据稳态交通流模型,每辆车的速度都相同且在一段范围内保持不变。这是在车联网有关研究中用得比较多的一种模型。用ρ和v表示稳态情况下车辆的密度和速度,则有
λ=ρ·v (4)
其中,λ是车辆的平均到达速率。Grieenshields等人最先提出了车速和车辆密度的关系:
v=vf(1-ρ/ρjam) (5)
为了使VANET中车间通信能够更有针对性地服务于不同的交通流环境,根据车辆交通流密度将其分成饱和交通流,非饱和交通流和稀疏交通流3种交通流密度。
上述划分形态的主要依据是以交通流密度来划分的,因而我们也是根据交通流密度来建立下一跳中继节点选择机制,其主要根据饱和、非饱和、稀疏这3种交通流密度形态来进行选择:
在中继节点选择机制中,根据收到的邻居节点发来的Beacon中的位置信息,将节点的每个邻居节点根据距离自身节点的距离分别划归至三组中,分组示意图如附图4所示。
由附图4可知,以车节点S为中心,三个同心圆。当对一个邻居节点进行分组时,计算该邻居节点到本节点的距离D并将D与两个值DN和DM相比较。分组的原理为:N组(near)由到本节点的距离小于DN的邻居节点组成,附图4中即由车辆节点a1、a3组成;M(middle)组由到本节点的距离大于DN且小于DM的邻居节点组成,附图4中即由车辆节点a2、a4组成;F(far)组由到本节点的距离大于DM的邻居节点组成,附图4中即由车辆节点a5、a6、a7组成。
由于车速和车密度的关系,根据公式5,我们可以根据车速来判断其所处的道路属于哪一种交通流。并根据不同的交通流情况从N、M、F三组通信节点进行选择。
a)饱和交通流的中继节点选择
在当前的城市中,交通阻塞是一种非常普遍的现象,在交通阻塞中,车辆行进速度很慢,车流密度大。而由于车辆节点的密度较大,节点移动速度变化较小,网络拓扑相对稳定。这种交通状况下,关于下一跳节点的选择,我们一般选择距离本节点较远的下一个节点,以减少数据包转发的跳数。而如果在同一车道上的每个车辆节点都遵循这样的节点选择机制,也可以避免多个节点同时选择一个节点作为中继节点这种情况,从而提高数据包传输效率。
如附图5中所示,在十字路口,等交通灯的时候一般节点密度能够达到交通流密度基本饱和的情况。此时,车辆节点通过距离判断,优先选择F区的车辆节点进行通信,其次是M区,最后是N区。因为车速缓慢能够、网络拓扑相对稳定,通信链路维持时间长,保持了足够的通信时间。故而以较远目标为中继,能够保证不浪费传输次数,保证信息交互范围的流动性。
b)非饱和交通流的中继节点选择
非饱和交通流根据车辆节点的分布和移动特征自由交通流和集团跟驶交通流,他们因为交通原因各自形成了不同的形态。之前讨论了在交通阻塞发生时,交通流密度呈饱和状态下的VANET通信策略。而在道路交通中,有时交通流呈现出自由流特征,即车辆能够自由行驶,在自由交通流中节点密度不再饱和,会在一定范围内发生变化,有时也会形成车辆伴随跟驶,而与其它节点或行驶集团间距离较远。此时一般车速在18km/h-60km/h。其通信场景如附图6所示。
而由于车辆节点的移动性,因此我们对于非饱和的自由交通流形态的中继选择机制判定如下:对于非饱和交通流,车行相对较快,但又能保证整个网络的连通性,我们对于下一跳节点的选择方案是优先选择M区的车辆节点来通信、其次是N区、最后是F区。在图6中,在进行中继节点选择时,优先选择a2车辆节点,其实是a3车辆节点,最后是a4车辆节点。
c)稀疏交通流的中继节点选择
比起自由交通流来说,稀疏交通流常常发生在偏僻的道路上或者城市快速路、高速公路等场景中,此时车速一般很快,基本在60km/h-120km/h。但是移动轨迹收到道路的影响,相比城市的道路的复杂多变,高速路往往是一条或多条直行路,节点移动轨迹单一,车间距一般较为稳定。通信场景如图7所示,此时在选择中继节点时,为了减少通信链路断裂,节点优先选择距离自己最近,即N范围内的节点如附图7中车辆节点a1。其次选择M范围内,如附图7中车辆节点a2。最后选择F范围内,如附图7中车辆节点a3。
本发明一定程度上有效解决了当前VANET通信的低效率,高丢包率、高时延这些问题。并且可以根据所在区域的交通流特征(如城市中多为饱和交通流和非饱和交通流,高速公路多为稀疏交通流),有针对性的改变package大小和数目,来提高吞吐量、减少时延。
通过建立时延性能评估模型和源数据包投递成功概率评估模型来分析此技术对提高投递概率和减小时延的作用。运用本发明的方法可得:(1)源文件在不同交通流形态有着不同的投递概率,总体上投递概率随着时间呈上升趋势;(2)在一个源文件切割成package的数目不变的情况下,改变package大小对投递概率有着较大影响,package大小越大,投递概率越低,但是对源文件大小来说其传输时延会下降;(3)在给定源文件大小的情况下,不同交通流特征下,package的数目对投递概率有不同的影响,且并不是呈线性关系;(4)不同交通流特征下,车辆节点缓存空间BufferSize对投递概率的影响不同。
本发明可以指导VANET协议的性能改进工作,根据本发明进行合理地对不同交通流采取不同的VANET协议架构,有针对性的对传输package的数据块大小和数目调节并对BufferSize进行合理的设置,有利于减少传输数据的时延、提高信息投递概率,提高VANET协议的整体性能。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。