1.一种车辆自组织网络中基于内容完整性和地理路口的路由方法,其特征在于:包括如下步骤:
步骤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):
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<mi>H</mi>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>H</mi>
<mrow>
<mo>(</mo>
<mn>0</mn>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mrow>
<mo>(</mo>
<msub>
<mi>v</mi>
<mi>j</mi>
</msub>
<mo>-</mo>
<msub>
<mi>v</mi>
<mi>i</mi>
</msub>
<mo>)</mo>
</mrow>
<mi>t</mi>
<mo>+</mo>
<mi>&Theta;</mi>
<msqrt>
<mrow>
<mo>(</mo>
<msub>
<mi>a</mi>
<mi>j</mi>
</msub>
<mo>+</mo>
<msub>
<mi>a</mi>
<mi>i</mi>
</msub>
<mo>)</mo>
<mi>t</mi>
</mrow>
</msqrt>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>H</mi>
<mrow>
<mo>(</mo>
<mn>0</mn>
<mo>)</mo>
</mrow>
<mo>=</mo>
<msqrt>
<mrow>
<msup>
<mrow>
<mo>(</mo>
<msub>
<mi>x</mi>
<mi>i</mi>
</msub>
<mo>-</mo>
<msub>
<mi>x</mi>
<mi>j</mi>
</msub>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
<mo>+</mo>
<msup>
<mrow>
<mo>(</mo>
<msub>
<mi>y</mi>
<mi>i</mi>
</msub>
<mo>-</mo>
<msub>
<mi>y</mi>
<mi>j</mi>
</msub>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
<mo>+</mo>
<msup>
<mrow>
<mo>(</mo>
<msub>
<mi>z</mi>
<mi>i</mi>
</msub>
<mo>-</mo>
<msub>
<mi>z</mi>
<mi>j</mi>
</msub>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
</mrow>
</msqrt>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
其中Θ为服从正态分布的随机变量,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的概率分布函数:
<mrow>
<mi>Pr</mi>
<mo>{</mo>
<mi>C</mi>
<mo>=</mo>
<mn>0</mn>
<mo>}</mo>
<mo>=</mo>
<mn>1</mn>
<mo>-</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>K</mi>
</munderover>
<mi>Pr</mi>
<mo>{</mo>
<mi>C</mi>
<mo>=</mo>
<msub>
<mi>c</mi>
<mi>k</mi>
</msub>
<mo>}</mo>
</mrow>
其中,ck为车辆自组织网络中节点发射机的调制速率;m为信号衰减指数,这里m=1,表示服从瑞利衰落;伽玛函数 为热噪声功率,vk是预先设置的阈值,vk+1=∞;K为车辆自组织网络中节点发射机支持的调制速率的个数,k=1,2……K;Ω由下面公式计算:
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<mi>&Omega;</mi>
<mo>=</mo>
<mi>E</mi>
<mo>&lsqb;</mo>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mi>d</mi>
<mo>)</mo>
</mrow>
<mo>&rsqb;</mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>d</mi>
<mo>=</mo>
<mo>|</mo>
<mi>H</mi>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>|</mo>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mrow>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mi>d</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<mi>P</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>d</mi>
<mn>0</mn>
</msub>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mn>10</mn>
<msub>
<mi>&alpha;</mi>
<mn>1</mn>
</msub>
<msub>
<mi>log</mi>
<mn>10</mn>
</msub>
<mrow>
<mo>(</mo>
<mfrac>
<mi>d</mi>
<msub>
<mi>d</mi>
<mn>0</mn>
</msub>
</mfrac>
<mo>)</mo>
</mrow>
<mo>,</mo>
<msub>
<mi>d</mi>
<mn>0</mn>
</msub>
<mo><</mo>
<mi>d</mi>
<mo><</mo>
<msub>
<mi>d</mi>
<mi>c</mi>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>P</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>d</mi>
<mn>0</mn>
</msub>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mn>10</mn>
<msub>
<mi>&alpha;</mi>
<mn>1</mn>
</msub>
<msub>
<mi>log</mi>
<mn>10</mn>
</msub>
<mrow>
<mo>(</mo>
<mfrac>
<mi>d</mi>
<msub>
<mi>d</mi>
<mn>0</mn>
</msub>
</mfrac>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mn>10</mn>
<msub>
<mi>&alpha;</mi>
<mn>2</mn>
</msub>
<msub>
<mi>log</mi>
<mn>10</mn>
</msub>
<mrow>
<mo>(</mo>
<mfrac>
<mi>d</mi>
<msub>
<mi>d</mi>
<mn>0</mn>
</msub>
</mfrac>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
</mrow>
<mrow>
<mi>P</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>d</mi>
<mn>0</mn>
</msub>
<mo>)</mo>
</mrow>
<mo>=</mo>
<msub>
<mi>P</mi>
<mi>t</mi>
</msub>
<msub>
<mi>G</mi>
<mi>t</mi>
</msub>
<msub>
<mi>G</mi>
<mi>r</mi>
</msub>
<mfrac>
<mrow>
<msubsup>
<mi>h</mi>
<mi>t</mi>
<mn>2</mn>
</msubsup>
<msubsup>
<mi>h</mi>
<mi>r</mi>
<mn>2</mn>
</msubsup>
</mrow>
<mrow>
<msubsup>
<mi>d</mi>
<mn>0</mn>
<mn>4</mn>
</msubsup>
<mi>L</mi>
</mrow>
</mfrac>
</mrow>
其中,α1和α2是路径损耗指数,为常量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:
<mrow>
<mi>R</mi>
<mo>=</mo>
<mi>f</mi>
<mrow>
<mo>(</mo>
<mi>C</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<msub>
<mi>&tau;P</mi>
<mrow>
<mi>s</mi>
<mi>u</mi>
<mi>c</mi>
</mrow>
</msub>
<mfrac>
<mrow>
<msub>
<mi>FL</mi>
<mi>i</mi>
</msub>
</mrow>
<mi>T</mi>
</mfrac>
</mrow>
其中τ的表达式为W为当前节点i在MAC层退避机制中最小窗口值;
Psuc=(1-τ)N-1,N为节点的个数;
FLi为当前节点i数据包的长度,T为时隙的平均长度,其计算表达式如下:
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<mi>T</mi>
<mo>=</mo>
<msup>
<mrow>
<mo>(</mo>
<mrow>
<mn>1</mn>
<mo>-</mo>
<mi>&tau;</mi>
</mrow>
<mo>)</mo>
</mrow>
<mi>N</mi>
</msup>
<mi>S</mi>
<mi>l</mi>
<mi>o</mi>
<mi>t</mi>
<mi>T</mi>
<mi>i</mi>
<mi>m</mi>
<mi>e</mi>
<mo>+</mo>
<mrow>
<mo>(</mo>
<mrow>
<mn>1</mn>
<mo>-</mo>
<msup>
<mrow>
<mo>(</mo>
<mrow>
<mn>1</mn>
<mo>-</mo>
<mi>&tau;</mi>
</mrow>
<mo>)</mo>
</mrow>
<mi>N</mi>
</msup>
<mo>-</mo>
<mi>N</mi>
<mi>&tau;</mi>
<msup>
<mrow>
<mo>(</mo>
<mrow>
<mn>1</mn>
<mo>-</mo>
<mi>&tau;</mi>
</mrow>
<mo>)</mo>
</mrow>
<mrow>
<mi>N</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msup>
<msub>
<mi>T</mi>
<mi>c</mi>
</msub>
</mrow>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mi>N</mi>
<mi>&tau;</mi>
<msup>
<mrow>
<mo>(</mo>
<mrow>
<mn>1</mn>
<mo>-</mo>
<mi>&tau;</mi>
</mrow>
<mo>)</mo>
</mrow>
<mrow>
<mi>N</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msup>
<msub>
<mi>T</mi>
<mi>s</mi>
</msub>
<mo>,</mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>T</mi>
<mi>c</mi>
</msub>
<mo>=</mo>
<mi>R</mi>
<mi>T</mi>
<mi>S</mi>
<mo>+</mo>
<mi>D</mi>
<mi>I</mi>
<mi>F</mi>
<mi>S</mi>
<mo>+</mo>
<mi>S</mi>
<mi>l</mi>
<mi>o</mi>
<mi>t</mi>
<mi>T</mi>
<mi>i</mi>
<mi>m</mi>
<mi>e</mi>
<mo>,</mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>T</mi>
<mi>s</mi>
</msub>
<mo>=</mo>
<mi>R</mi>
<mi>T</mi>
<mi>S</mi>
<mo>+</mo>
<mn>3</mn>
<mo>&times;</mo>
<mi>S</mi>
<mi>I</mi>
<mi>F</mi>
<mi>S</mi>
<mo>+</mo>
<mn>4</mn>
<mo>&times;</mo>
<mi>S</mi>
<mi>l</mi>
<mi>o</mi>
<mi>t</mi>
<mi>T</mi>
<mi>i</mi>
<mi>m</mi>
<mi>e</mi>
<mo>+</mo>
<mi>C</mi>
<mi>T</mi>
<mi>S</mi>
<mo>+</mo>
<mfrac>
<mrow>
<mi>E</mi>
<mrow>
<mo>(</mo>
<mrow>
<mi>F</mi>
<mi>L</mi>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mi>E</mi>
<mrow>
<mo>(</mo>
<mi>C</mi>
<mo>)</mo>
</mrow>
</mrow>
</mfrac>
<mo>+</mo>
<mi>A</mi>
<mi>C</mi>
<mi>K</mi>
<mo>+</mo>
<mi>D</mi>
<mi>I</mi>
<mi>F</mi>
<mi>S</mi>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
SlotTime是MAC(Medium Access Control)层DCF(Distributed CoordinationFunction)机制的一个时隙的长度;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继续执行。