车辆自组织网络中基于内容完整性和地理路口的路由方法
技术领域
本发明属于通信技术领域,主要涉及一种车辆自组织网络中内容完整性和地理路口的路由方法。
背景技术
车辆自组织网络(Vehicular Ad Hoc Network,以下简称VANET)是把行驶车辆都转化为移动的无线节点或路由器,利用车辆间的短距离无线通信,形成一个大范围的无线自组织网络。在VANET中,车辆设备之间的通信是通过车辆设备之间的转发来实现的。VANET有其优势之处:功能强大的硬件设备和节点的位置可预测,但又有其劣势,分别为网络拓扑高动态变化、链路质量不稳定及节点分布不均匀。为了提高车辆出行的安全性和便利性,VANET要求能实现远距离车辆设备之间的相互通信。然而,由于无线传输距离的有限性,一跳的传输无法满足这样的要求,需要实现多跳传输,这就涉及多跳传输的路由问题;而且在无线通信方面,VANET呈现出不利的特性,如多个放射物体会降低接收信号的强度和质量以及衰减效应。如何设计高效的路由方法将数据成功快速地发送至目的地是VANET研究领域中的一个重要方向。
各种数字化信息在VANET中总是转化为不同类型的内容文件进行存储和传输,这些内容文件可分为文字内容和视频/音频内容。文字内容包括电子邮件,社交博客等;视频/音频内容包括电影,MP3音乐文件等。而VANET中的娱乐型服务通常归结为连续传输不同类型的内容文件,这些内容文件一般包括图像、文本和视频/音频剪辑。而对于接收端来说,这些内容文件的完整接收,才能保证文件的成功显示和播放。在VANET中内容文件传输很容易受到车辆的动态移动的影响,而VANET中车辆之间的连接时间有限,这会使内容文件的传输在短暂的连接时间内中断,从而导致内容文件的传输失败,并且还会浪费宝贵的带宽资源。
现有典型的路由传输协议有GPCR协议(Greedy Perimeter Coordinator Routing,简称GPCR)和QRPFVS协议(QoS Routing Protocol For Video Services in Ad Hoc Neworks,简称QRPFVS),GPCR协议考虑了街道的路口部分,将数据包选择传送方向的功能在街道路口的车辆,而非路口的车辆只会根据上个路口所选择的方向以贪婪模式进行转发,简单的说,就是把数据包传到路口,由路口的车辆决定按哪个方向传送数据包离目的节点最近,因此减少了因穿越建筑物而造成的路径断裂。GPCR协议在传输内容文件(如音频或视频等)时,当前节点选择下一跳节点时仅利用节点移动路径特征及邻节点的位置与数据包中目的节点的位置信息按照其路由策略选择下一跳,而没有考虑节点的高速移动会导致间歇性连接及两个节点之间的链路连接时间非常短暂,因此经常会导致内容文件传输给下一跳时不能成功传输。传输内容文件(如视频信息)的路由协议由于其发送内容的特殊性,使得GPCR协议并不适用于内容文件的传输。而QRPFVS协议虽然考虑路由生存时间和链路带宽,但在转发分组时并不一定能够保证内容文件成功传输,如果在选择下一跳的时候预测内容文件成功传输的可能性作为路由选择的一个因素,就会进一步降低分组丢失率、提高业务完成率等。
发明内容
本发明所要解决的技术问题是针对内容文件在车辆自组织网络中传输容易失败及浪费带宽的问题,提供一种能提高内容文件传输的成功率、能减少带宽资源的浪费的车辆自组织网络中基于内容完整性和地理路口的路由方法。
本发明解决上述技术问题所采用的技术方案为:车辆自组织网络中基于内容完整性和地理路口的路由方法,其特征在于:包括如下步骤:
步骤1、车辆自组织网络中的每一个节点各自构造自己的HELLO分组,并周期性地广播自己的HELLO分组:
1a)、车辆自组织网络中的每一个节点从自身配备的GPS接收机和电子地图中获取自身位置的三维坐标信息(x,y,z)、速度信息v、加速度信息a;
1b)、车辆自组织网络中的每一个节点各自构造自己的HELLO分组,HELLO分组包含的信息有:节点的ID号、节点位置的三维坐标信息(x,y,z)、节点的速度信息v和节点的加速度信息a;
步骤2、车辆自组织网络中的每一个节点接收到其它节点的HELLO分组后,建立或更新自己的邻居列表信息,邻居列表信息包括:邻节点的ID号、三维位置坐标信息、邻节点的速度信息、邻节点的加速度信息、以及经由计算得出的在时间ΔT内本节点与其邻节点之间能够传输的信息量A,在时间ΔT内本节点与其邻节点之间能够传输的信息量A的计算过程如下:
2a)、车辆自组织网络中的每一个节点根据所有接收到的其他节点的HELLO分组信息,预估本节点与邻节点之间通信链路维持的时间ΔT,本节点与邻节点之间通信链路维持的时间ΔT通过下式计算:
R2=((xj+vj_x×ΔT)-(xi+vi_x×ΔT))2+((yj+vj_y×ΔT)-(yi+vi_y×ΔT))2
其中,xj表示邻节点的x轴坐标,yj表示邻节点的y轴坐标,vj_x表示邻节点的x轴上的速度分量,vj_y表示邻节点的y轴上的速度分量,xi表示当前节点的x轴坐标,yi表示当前节点的y轴坐标,vi_x表示当前节点的x轴上的速度分量,vi_y表示当前节点的y轴上的速度分量。
求解上式可得ΔT,ΔT就是两节点之间距离保持在直径为R的通信范围之内的时间长度,即本节点与邻节点之间通信链路维持的时间,R为通信直径,是一个预设常量;2b)、预估当前节点i与邻节点j的距离函数H(t):
其中,Θ为服从正态分布的随机变量,vj表示邻节点j的速度信息,vi表示当前节点i的速度信息,aj表示邻节点j的加速度信息,ai表示当前节点i的加速度信息,xj表示邻节点j位置的三维坐标信息中x轴坐标,xi表示当前节点i位置的三维坐标信息中x轴坐标,yj表示邻节点j位置的三维坐标信息中y轴坐标,yi表示当前节点i位置的三维坐标信息中y轴坐标,zj表示邻节点j位置的三维坐标信息中z轴坐标,zi表示当前节点i位置的三维坐标信息中z轴坐标;
2c)、根据当前节点i与邻节点j的距离函数H(t),预估当前节点i与邻节点j的物理层的通信能力C,以下给出了当前节点i与邻节点j的物理层的通信能力C的概率分布函数:
其中,ck为车辆自组织网络中节点发射机的调制速率;m为信号衰减指数,这里m=1,表示服从瑞利衰落;伽玛函数 为热噪声功率,vk是预先设置的阈值,vk+1=∞;K为车辆自组织网络中节点发射机支持的调制速率的个数,k=1,2……K;Ω由下面公式计算:
其中,α1和α2是路径损耗指数,为常量,这里可以取α1=2.1,α2=3.8,d0=100,λ为5.9GHZ频率的波长,aj表示邻节点j的加速度信息,ai表示前节点i的加速度信息;Pt为发射功率,Gt为发射增益,Gr为接收增益;ht为发射天线的长度,hr为接收天线的长度;L为系统损耗因子;
2d)、根据当前节点i与邻节点j的物理层的通信能力C,预估当前节点i与邻节点j之间MAC(Medium Access Control)层的吞吐量R:
其中τ的表达式为W为当前节点i在MAC层退避机制中最小窗口值;
Psuc=(1-τ)N-1,N为节点的个数;
FLi为当前节点i数据包的长度,T为时隙的平均长度,其计算表达式如下:
SlotTime是MAC(Medium Access Control)层DCF(Distributed Coordination Function)机制的一个时隙的长度;RTS、CTS及ACK分别是RTS帧、CTS帧及ACK应答帧传输的时间;DIFS是DCF帧间间隔;SIFS是短帧间间隔;E(FL)是传输文件的数据包的平均长度;E(C)是车的平均物理层传输速率,可由C的概率分布函数求得;
2e)、根据当前节点i与邻节点j之间MAC层的吞吐量R,以及当前节点i与邻节点j之间的链路持续时间ΔT,计算在ΔT时间内当前节点i能向邻节点j传输的信息量A,
2f)、车辆自组织网络中的每一个节点根据所有接收到的其他节点的HELLO分组信息及预估的该节点能向邻节点传输的信息量A对邻居列表进行更新;
步骤3、需要传输文件数据包的节点根据自身所处位置情况,分以下两种情况分别处理:
若需要传输文件数据包的节点位于路段上,则在需要传输文件数据包的节点所处路段的两个路口中,选择距离目的节点最近的路口作为临时目的路口,并将该临时目的路口的标识号记录至文件数据包的动态地址域中,然后执行步骤4;若需要传输文件数据包的节点位于交叉路口处,则执行步骤6;
步骤4、需要传输文件数据包的节点以文件数据包的动态地址域中的标识号所标识的路口作为临时目的地进行文件数据包的传送,并先检查需要传输文件数据包的节点的邻居列表中是否存在目的节点且满足A大于或等于Fs,Fs为需要传输的文件数据包大小,如果存在,则将需要传输的文件数据包发送至目的节点;若不存在则继续检查需要传输文件数据包的节点的邻居列表中是否存在满足A大于或等于Fs的邻节点,Fs为需要传输的文件数据包大小,如果存在满足A大于或等于Fs的邻节点,则在存在的邻节点中,将需要传输的文件数据包发送至距离临时目的地最近的邻节点,并执行步骤5;
若不存在满足A大于或等于Fs的邻节点,则该需要传输文件数据包的节点采用存储转发的策略,即该需要传输文件数据包的节点在时间Δt后继续执行步骤4,其中在Δt时间内邻居列表至少更新一次;
步骤5、接收到文件数据包的节点检查文件数据包的目的地址域中的标识号:如果接收到的文件数据包的目的地址域中的标识号与自己的标识号一致,则将该接收的文件数据提交给传输层,路由结束;否则,检查文件数据包的动态地址域中的标识号,并判断接收到文件数据包的节点是否位于交叉路口处,如果接收到文件数据包的节点位于交叉路口,并且接收到的文件数据包的动态地址域中的标识号与自己所位于的交叉路口的标识号一致,则执行步骤6,否则返回步骤4继续执行;
步骤6、在与需要传输文件数据包的节点在其相邻的交叉路口中,选择距离目的节点最近的交叉路口作为临时目的路口,并将该临时目的路口的标识号记录至文件数据包的动态地址域中,然后执行步骤4继续执行。
与现有技术相比,本发明的优点在于:
(1)、本发明能够考虑车辆自组织网络中移动场景的特征的同时考虑节点的高动态移动性,特别是传输视频文件时在选择下一跳时就充分考虑内容文件传输成功的完整性,保证内容文件在多跳传输过程中能够完整性的传输。
(2)、本发明在当前节点选择下一跳节点的时候充分考虑了与临时目的地的距离及与目的节点的距离、节点间链路生存时间内能够传输的信息量,克服了现有技术中仅仅考虑节点间距离和路径规律选出最佳下一跳而没有考虑内容文件能否完整的传输问题,降低了传输过程中的丢包率以及带宽资源的浪费等。
附图说明
图1为本发明的实现流程图。
具体实施方式
以下结合附图实例对本发明作进一步详细描述。
步骤1、车辆自组织网络中的每一个节点各自构造自己的HELLO分组,并周期性地广播自己的HELLO分组:
1a)、车辆自组织网络中的每一个节点从自身配备的GPS接收机和电子地图中获取自身位置的三维坐标信息(x,y,z)、速度信息v、加速度信息a;
1b)、车辆自组织网络中的每一个节点各自构造自己的HELLO分组,HELLO分组包含的信息有:节点的ID号、节点位置的三维坐标信息(x,y,z)、节点的速度信息v和节点的加速度信息a;
表1 HELLO分组的结构
步骤2、车辆自组织网络中的每一个节点接收到其它节点的HELLO分组后,建立或更新自己的邻居列表信息,邻居列表信息包括:邻节点的ID号、三维位置坐标信息、邻节点的速度信息、邻节点的加速度信息、以及经由计算得出的在时间ΔT内本节点与该邻节点之间能够传输的信息量A,在时间ΔT内本节点与邻节点之间能够传输的信息量A的计算过程如下:
2a)、车辆自组织网络中的每一个节点根据所有接收到的其他节点的HELLO分组信息,预估本节点与邻节点之间通信链路维持的时间ΔT,本节点与邻节点之间通信链路维持的时间ΔT通过下式计算:
R2=((xj+vj_x×ΔT)-(xi+vi_x×ΔT))2+((yj+vj_y×ΔT)-(yi+vi_y×ΔT))2
其中,xj表示邻节点的x轴坐标,yj表示邻节点的y轴坐标,vj_x表示邻节点的x轴上的速度分量,vj_y表示邻节点的y轴上的速度分量,xi表示当前节点的x轴坐标,yi表示当前节点的y轴坐标,vi_x表示当前节点的x轴上的速度分量,vi_y表示当前节点的y轴上的速度分量。
求解上式可得ΔT,ΔT就是两节点之间距离保持在直径为R的通信范围之内的时间长度,即本节点与邻节点之间通信链路维持的时间,R为通信直径,是一个预设常量;
2b)、预估当前节点i与邻节点j的距离函数H(t):
其中Θ为服从正态分布的随机变量,vj表示邻节点j的速度信息,vi表示当前节点i的速度信息,aj表示邻节点j的加速度信息,ai表示当前节点i的加速度信息,xj表示邻节点j位置的三维坐标信息中x轴坐标,xi表示当前节点i位置的三维坐标信息中x轴坐标,yj表示邻节点j位置的三维坐标信息中y轴坐标,yi表示当前节点i位置的三维坐标信息中y轴坐标,zj表示邻节点j位置的三维坐标信息中z轴坐标,zi表示当前节点i位置的三维坐标信息中z轴坐标;
2c)、根据当前节点i与邻节点j的距离函数H(t),预估当前节点i与邻节点j的物理层的通信能力C,以下给出了当前节点i与邻节点j的物理层的通信能力C的概率分布函数:
其中,ck为车辆自组织网络中节点发射机的调制速率;m为信号衰减指数,这里m=1,表示服从瑞利衰落;伽玛函数 为热噪声功率,vk是预先设置的阈值,vk+1=∞;K为车辆自组织网络中节点发射机支持的调制速率的个数,k=1,2……K;Ω由下面公式计算:
其中,α1和α2是路径损耗指数,为常量,这里可以取α1=2.1,α2=3.8,d0=100,λ为5.9GHZ频率的波长,aj表示邻节点j的加速度信息,ai表示前节点i的加速度信息;Pt为发射功率,Gt为发射增益,Gr为接收增益;ht为发射天线的长度,hr为接收天线的长度;L为系统损耗因子;
2d)、根据当前节点i与邻节点j的物理层的通信能力C,预估当前节点i与邻节点j之间MAC(Medium Access Control)层的吞吐量R:
其中τ的表达式为W为当前节点i在MAC层退避机制中最小窗口值;
Psuc=(1-τ)N-1,N为节点的个数;
FLi为当前节点i数据包的长度,T为时隙的平均长度,其计算表达式如下:
SlotTime是MAC(Medium Access Control)层DCF(Distributed Coordination Function)机制的一个时隙的长度;RTS、CTS及ACK分别是RTS帧、CTS帧及ACK应答帧传输的时间;DIFS是DCF帧间间隔;SIFS是短帧间间隔;E(FL)是传输文件的数据包的平均长度;E(C)是车的平均物理层传输速率,可由C的概率分布函数求得;
2e)、根据当前节点i与邻节点j之间MAC层的吞吐量R,以及当前节点i与邻节点j之间的链路持续时间ΔT,计算在ΔT时间内当前节点i能向邻节点j传输的信息量A,
2f)、车辆自组织网络中的每一个节点根据所有接收到的其他节点的HELLO分组信息及预估的该节点能向邻节点传输的信息量A对邻居列表进行更新;
表2 邻居列表
ID1 |
x1 |
y1 |
z1 |
v1 |
a1 |
A1 |
ID2 |
x2 |
y2 |
z2 |
v2 |
a2 |
A2 |
ID3 |
x3 |
y3 |
z3 |
v3 |
a3 |
A3 |
… |
… |
… |
… |
… |
… |
… |
步骤3、需要传输文件数据包的节点根据自身所处位置情况,分以下两种情况分别处理:
若需要传输文件数据包的节点位于路段上,则在需要传输文件数据包的节点所处路段的两个路口中,选择距离目的节点最近的路口作为临时目的路口,并将该临时目的路口的标识号记录至文件数据包的动态地址域中,然后执行步骤4;若需要传输文件数据包的节点位于交叉路口处,则执行步骤6;
步骤4:需要传输文件数据包的节点以文件数据包的动态地址域中的标识号所标识的路口作为临时目的地进行文件数据包的传送,并先检查需要传输文件数据包的节点的邻居列表中是否存在目的节点且满足A大于或等于Fs,Fs为需要传输的文件数据包大小,如果存在,则将需要传输的文件数据包发送至目的节点;若不存在则继续检查需要传输文件数据包的节点的邻居列表中是否存在满足A大于或等于Fs的邻节点,Fs为需要传输的文件数据包大小,如果存在满足A大于或等于Fs的邻节点,则在存在的邻节点中,将需要传输的文件数据包发送至距离临时目的地最近的邻节点,并执行步骤5;
若不存在满足A大于或等于Fs的邻节点,则该需要传输文件数据包的节点采用存储转发的策略,即该需要传输文件数据包的节点在时间Δt后继续执行步骤4,其中在Δt时间内邻居列表至少更新一次;
步骤5、接收到文件数据包的节点检查文件数据包的目的地址域中的标识号:如果接收到的文件数据包的目的地址域中的标识号与自己的标识号一致,则将该接收的文件数据提交给物理层,路由结束;否则,检查文件数据包的动态地址域中的标识号,并判断接收到文件数据包的节点是否位于交叉路口处,如果接收到文件数据包的节点位于交叉路口,并且接收到的文件数据包的动态地址域中的标识号与自己所位于的交叉路口的标识号一致,则执行步骤6,否则返回步骤4继续执行;
步骤6、需要传输文件数据包的节点在其相邻的交叉路口中,选择距离目的节点最近的交叉路口作为临时目的路口,并将该临时目的路口的标识号记录至文件数据包的动态地址域中,然后执行步骤4继续执行。
本发明在车辆自组织网络中的路由策略充分考虑VANET网络中的实际移动的路径特征,并且当前节点选择下一跳节点的时候充分考虑了与目的节点的距离或与临时目的路口的距离、节点间链路持续时间内能够传输的信息量的大小,及节点间链路持续时间和在节点间链路持续时间内能够传输的信息量,克服了现有技术中仅仅考虑与目的节点的距离选出最佳下一跳时而没有考虑内容文件能否完整的传输问题,降低了传输过程中的丢包率以及带宽资源的浪费等问题。