一种基于细胞吸引子选择模型的车辆间视频传输路由算法转让专利

申请号 : CN201910294959.3

文献号 : CN110035466A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王云鹏田大新张创段续庭周建山郑坤贤赵元昊

申请人 : 北京航空航天大学

摘要 :

本申请提供一种基于细胞吸引子选择机制的车辆间视频传输路由算法。该方法包括生成数据包,基于理想解法TOPSIS构建候选节点集,基于细胞吸引子选择模型选择下一跳节点。该算法能够综合考虑车辆的运动性能和通信性能,并且高效实时的反馈机制能大大提高路由对高速变化的车联网状态的自适应性,从而提升车联网中视频传输的效率和性能。

权利要求 :

1.一种基于细胞吸引子选择模型的车辆间视频传输路由算法,其特征在于,该方法包括:步骤1,生成数据包,所生成的数据包包括视频需求数据包VDDP和视频数据包VDP两种;

步骤2,基于理想解法TOPSIS构建候选节点集;

步骤3,基于细胞吸引子选择模型选择下一跳节点。

2.根据权利要求1所述的车联网视频传输路由算法,其特征在于:所述视频需求数据包VDDP的生成流程包括如下步骤:步骤1001,设置数据包格式DPT、VDDP包头VDDP.H以及路由信息RI;

步骤1002,设置控制命令CC;

步骤1003,发送数据包,完成视频需求数据包VDDP的生成;

所述视频数据包VDP的生成流程包括如下步骤:步骤1101,设置数据包格式DPT、VDDP包头VDDP.H以及路由信息RI;

步骤1102,寻找网络适配层单元NALU的起始编码,并判断是否含有网络适配层单元NALU结束编码,若否,则将网络适配层单元NALU数据存储入缓冲区,并继续执行步骤1102,若是,则执行步骤1103;

步骤1103,计算缓冲区长度,判断当前帧的大小是否小于1400B,若是,则执行步骤

1104,若否,则执行步骤1105;

步骤1104,将缓冲区数据打包成单个数据包,设置RTP包头RTP.H、NALU包头NALU.H以及NALU数据NALU.D,其中NALU.H包括错误指示码F和类型Type,执行步骤1106;

步骤1105,将缓冲区数据打包成多个FU数据包,对每一个FU数据包分别设置RTP包头RTP.H、NALU包头NALU.H以及NALU数据NALU.D,其中NALU.H包括错误指示码F、类型Type、起始指示码S以及结束指示码E,执行步骤1106;

步骤1106,发送数据包;

步骤1107,判断通信是否中断,若否,返回继续执行步骤1102,若是,完成视频数据包VDP的生成。

3.根据权利要求1所述的车辆间视频传输路由算法,其特征在于,所述基于理想解法TOPSIS构建候选节点集具体包括如下步骤:步骤201,计算邻居车辆节点数量;

步骤202,判断邻居车辆节点数量是否大于10,若大于,则执行步骤203,若否,则执行步骤204;

步骤203,进行基于TOPSIS的多参数决策,完成后执行步骤205;

步骤204,选择所有邻居车辆节点;

步骤205,生成下一跳节点候选节点集;

其中,所述基于TOPSIS的多参数决策具体包括如下步骤:步骤2031,构造初始决策矩阵DMi;

步骤2032,构造归一化决策矩阵NDMi;

步骤2033,构造加权决策矩阵WDMi;

步骤2034,计算最优解Z+及最劣解Z-;

步骤2035,计算每一辆车辆节点的得分;

步骤2036,选择得分最高的十个车辆生成VCi;

其中,所述构造初始决策矩阵DMi具体包括如下步骤:Vi中的车辆数量是n,每个车辆具有四个属性DNc、vcd、Discd和NVc,使用公式(1)计算v'cd和NV′c,并使用计算出的v'cd和NV′c替换vcd和NVc;

由每个车辆的四个属性数据形成大小为n*4的初始决策矩阵DMi,其中,DNc为c携带数据包的数量,vcd为c相对于需求节点的相对速度,Discd为c相对于需求节点的相对距离,NVc为c通信范围内的邻居节点数量;

其中,所述构造归一化决策矩阵NDMi具体包括如下步骤:使用公式(2)进行数据归一化,并构造归一化决策矩阵NDMi;

其中,attr=1,2,3,4,表示四个参数。c=1,2,…,n,表示Vi中的车辆,xc,attr为DMi中坐标(c,attr)的元素数值。yc,attr为xc,attr对应的标准化后的数值。

4.根据权利要求3所述的车辆间视频传输路由算法,其特征在于,所述构造加权决策矩阵WDMi具体包括如下步骤:设置每个参数的权值ωattr,计算过程采用如下公式(3)上述公式中fc,attr为中间变量,Hattr为每个属性的熵,Noa为参数个数,即Noa=4;

zc,attr=yc,attr·ωattr    (4)采用公式(4)计算加权决策矩阵WDMi对应的数值zc,attr;

其中,所述计算最优解Z+及最劣解Z-具体包括如下步骤:对于每一个参数,最优解Z+及最劣解Z-由如下公式(5)计算,最优解向量为最劣解向量为其中,所述计算每一辆车辆节点的得分具体包括如下步骤:使用如下公式(6)计算WDMi中对应的每行车辆节点距离最优解的欧氏距离 和与最劣解的欧式距离使用如下公式(7)计算每个车辆c的最终得分Sc:该得分为与最优解的接近程度;

其中,所述选择得分最高的十个车辆生成VCi具体包括如下步骤:选取Vi中得分最高的十辆车生成VCi,若Vi中的车辆数量小于十,则直接令VCi=Vi。

5.根据权利要求1所述的车辆间视频传输路由算法,其特征在于,所述基于细胞吸引子选择模型选择下一跳节点具体包括如下步骤:步骤301:提取由TOPSIS构建的候选节点集VCi;

步骤302:计算VCi中各车辆节点被选择的概率mj;

步骤303,选取被选择概率最高的节点为下一跳节点;

步骤304,将数据包从i传向下一跳节点;

步骤305,计算传输性能指标,更新细胞活性α及各车辆节点被选择概率mj。

6.根据权利要求5所述的车辆间视频传输路由算法,其特征在于,所述计算VCi中各车辆节点被选择的概率mj具体包括如下步骤:步骤3021,判断当前节点是否为需求节点,若是,则表明需求节点在VCi中,执行步骤

3022,若否,则表明需求节点不在VCi中,执行步骤3023;

步骤3022,设需求节点被选择的概率为1,其他节点被选择的概率由如下公式(8)计算得到:步骤3023,判断当前节点i是否曾出现在之前路由路径中,若是,则表明需求节点不在VCi中,且当前节点i是之前路由路径的节点,执行步骤3024,若否,则表明当前节点i不是之前路由路径的节点,i和VCi组成的细胞并没有被激活过,同时也没有细胞活性α及被选择概率mj的更新信息,执行步骤3025;

步骤3024,对VCi中的节点j,之前从未出现在i的候选节点集中的点的集合设为VC′i,其余在i的候选节点集中出现过的点的集合设为VC″i;

对于VC′i,被选中的概率采用如下公式(10)计算:对于VC″i,被选中的概率采用如下公式(11)计算:步骤3025,VCi中所有的节点j被选中的概率均相同,采用如下公式(9)来计算:其中,所述选取被选择概率最高的节点为下一跳节点具体包括如下步骤:选出mj最大的节点作为下一跳车辆节点 采用如下公式(12)计算,设 对应的被选择概率为如果有多个j的mj最大且相同,则从中随机选取一个车辆节点作为

7.根据权利要求5所述的车辆间视频传输路由算法,其特征在于,所述计算传输性能指标,更新细胞活性α及各车辆节点被选择概率mj具体包括如下步骤:步骤3051,计算传输性能指标

步骤3052,更新细胞活性α;

步骤3053,基于细胞吸引子模型,更新各车辆节点被选择概率mj。

8.根据权利要求5所述的车辆间视频传输路由算法,其特征在于,所述计算传输性能指标 具体包括如下步骤:使用如下公式(13)计算传输性能指标

式中xt为从i接收到数据包到 接收到数据包的时间间隔,xn为 所携带的数据包数量,ωt和ωn是对应的权重;

其中,所述更新细胞活性α具体包括如下步骤:使用如下公式(14)更新细胞活性α;

式中A,B及κ均为实数,A和B用于限制α所处的区间范围,κ用于控制α的变化速率;

其中,所述基于细胞吸引子模型,更新各车辆节点被选择概率mj具体包括如下步骤:使用如下公式(15)更新各车辆节点被选择概率mj。

其中,mj为更新后j被选择的概率,m′j为更新前j被选择的概率, 为更新前 被选择的概率,ηj为高斯白噪声,Δt为车联网间V2V(Vehicle to Vehicle)通信延迟,s(α)是细胞中mRNA的生成速率,d(α)为细胞中mRNA的代谢速率,两者均与α有关,使用如下公式(16)计算式中λ1,λ2及r均为常数。

说明书 :

一种基于细胞吸引子选择模型的车辆间视频传输路由算法

技术领域

[0001] 本发明涉及车联网通信技术领域,尤其涉及一种基于细胞吸引子选择模型的车辆间视频传输路由算法。

背景技术

[0002] 随着通信技术和计算机技术的发展,车联网(InternetofVehicles,IoVs)近年来发展迅速。车辆自组织网络(Vehicle Ad Hoc Networks,VANETs)作为车联网的重要组成部分,已成为通信和交通领域的研究热点之一。VANETs中文本消息的传输实现了多种功能,如协同避撞、车道变换辅助、交通事故信息广播等。然而如今越来越多的司机不满足于仅仅基于文本消息的应用,他们更倾向于基于视频的生动的应用,例如获得实时的交通警示视频、远程访问道路视频以及车辆之间的视频共享。因此,车联网中的车辆间视频传输方法成为当今交通领域和通信领域的研究热点。
[0003] 在车联网中,源节点通常远离目的节点,且在数据传输过程中存在许多中间节点。因此,多跳路由协议的性能直接影响到数据传输的效率和质量。VANETs作为一种特殊的移动自组织网络(Mobile Ad Hoc Networks,MANETs),由于车辆的快速移动,VANETs较普通的MANETs具有更高的动态变化性。此外,当交通密度较低时,VANETs并不是每时每刻都处于完全连接状态。由于VANETs的高动态性、连接频繁断开性以及承载数据量海量性,MANETs中一些依赖于维护端到端传输路径的路由协议在无法适用于VANETs。此外,车联网中每个车辆的状态不同,其位置、速度和携带数据包数量都会对传输性能产生影响。因此,VANETs中的一些仅依靠车辆位置信息选择下一跳节点的路由协议并不适用于车联网中的视频传输。
[0004] 因此,如何找到一种适用于车联网中的视频传输的路由协议已成了急需解决的技术问题。

发明内容

[0005] 有鉴于此,本申请提供一种基于细胞吸引子选择模型(Cellular Attractor Selection Model,CASM)的车辆间视频传输路由算法。该算法能够综合考虑车辆的运动性能和通信性能,并且高效实时的反馈机制能大大提高路由对高速变化的车联网状态的自适应性,从而提升车联网中车辆间视频传输的效率和性能。VANETs与细胞所处的环境有一定程度的相似性,例如两者都处于高速变化的状态、VANETs中的路由算法及环境中的细胞都需要根据外界的变化改变自身的状态从而适应该变化等。本发明将当前节点及通信范围内的邻居节点集视为一个细胞,邻居节点集中不同车辆被选中为下一跳节点的状态被视为细胞中不同信使RNA(mRNA)的表达情况。通过上述过程,本发明将车联网中视频传输路由协议的下一跳节点选择规则映射到细胞吸引子选择模型中,借助细胞对环境变化的高度自适应性来提高车联网中视频传输算法的性能。
[0006] 本申请是通过如下技术方案实现的:
[0007] 一种基于细胞吸引子选择模型的车辆间视频传输路由算法,其特征在于,该方法包括:
[0008] 步骤1,生成数据包,所生成的数据包包括视频需求数据包VDDP和视频数据包VDP两种;
[0009] 步骤2,基于理想解法TOPSIS构建候选节点集;
[0010] 步骤3,基于细胞吸引子选择模型选择下一跳节点。
[0011] 进一步的,所述视频需求数据包VDDP的生成流程包括如下步骤:
[0012] 步骤1001,设置数据包格式DPT、VDDP包头VDDP.H以及路由信息RI;
[0013] 步骤1002,设置控制命令CC;
[0014] 步骤1003,发送数据包,完成视频需求数据包VDDP的生成;
[0015] 所述视频数据包VDP的生成流程包括如下步骤:
[0016] 步骤1101,设置数据包格式DPT、VDDP包头VDDP.H以及路由信息RI;
[0017] 步骤1102,寻找网络适配层单元NALU的起始编码,并判断是否含有网络适配层单元NALU结束编码,若否,则将网络适配层单元NALU数据存储入缓冲区,并继续执行步骤1102,若是,则执行步骤1103;
[0018] 步骤1103,计算缓冲区长度,判断当前帧的大小是否小于1400B,若是,则执行步骤1104,若否,则执行步骤1105;
[0019] 步骤1104,将缓冲区数据打包成单个数据包,设置RTP包头RTP.H、NALU包头NALU.H以及NALU数据NALU.D,其中NALU.H包括错误指示码F和类型Type,执行步骤1106;
[0020] 步骤1105,将缓冲区数据打包成多个FU数据包,对每一个FU数据包分别设置RTP包头RTP.H、NALU包头NALU.H以及NALU数据NALU.D,其中NALU.H包括错误指示码F、类型Type、起始指示码S以及结束指示码E,执行步骤1106;
[0021] 步骤1106,发送数据包;
[0022] 步骤1107,判断通信是否中断,若否,返回继续执行步骤1102,若是,完成视频数据包VDP的生成。
[0023] 进一步的,所述基于理想解法TOPSIS构建候选节点集具体包括如下步骤:
[0024] 步骤201,计算邻居车辆节点数量;
[0025] 步骤202,判断邻居车辆节点数量是否大于10,若大于,则执行步骤203,若否,则执行步骤204;
[0026] 步骤203,进行基于TOPSIS的多参数决策,完成后执行步骤205;
[0027] 步骤204,选择所有邻居车辆节点;
[0028] 步骤205,生成下一跳节点候选节点集;
[0029] 其中,所述基于TOPSIS的多参数决策具体包括如下步骤:
[0030] 步骤2031,构造初始决策矩阵DMi;
[0031] 步骤2032,构造归一化决策矩阵NDMi;
[0032] 步骤2033,构造加权决策矩阵WDMi;
[0033] 步骤2034,计算最优解Z+及最劣解Z-;
[0034] 步骤2035,计算每一辆车辆节点的得分;
[0035] 步骤2036,选择得分最高的十个车辆生成VCi;
[0036] 其中,所述构造初始决策矩阵DMi具体包括如下步骤:
[0037] Vi中的车辆数量是n,每个车辆具有四个属性DNc、vcd、Discd和NVc,使用公式(1)计算v'cd和NV′c,并使用计算出的v'cd和NV′c替换vcd和NVc;
[0038]
[0039] 由每个车辆的四个属性数据形成大小为n*4的初始决策矩阵DMi,
[0040] 其中,DNc为c携带数据包的数量,vcd为c相对于需求节点的相对速度,Discd为c相对于需求节点的相对距离,NVc为c通信范围内的邻居节点数量;
[0041] 其中,所述构造归一化决策矩阵NDMi具体包括如下步骤:
[0042] 使用公式(2)进行数据归一化,并构造归一化决策矩阵NDMi;
[0043]
[0044] 其中,attr=1,2,3,4,表示四个参数。c=1,2,…,n,表示Vi中的车辆,xc,attr为DMi中坐标(c,attr)的元素数值。yc,attr为xc,attr对应的标准化后的数值。
[0045] 进一步的,所述构造加权决策矩阵WDMi具体包括如下步骤:
[0046] 设置每个参数的权值ωattr,计算过程采用如下公式(3)
[0047]
[0048] 上述公式中fc,attr为中间变量,Hattr为每个属性的熵,Noa为参数个数,即Noa=4;
[0049] zc,attr=yc,attr·ωattr  (4)
[0050] 采用公式(4)计算加权决策矩阵WDMi对应的数值zc,attr;
[0051] 其中,所述计算最优解Z+及最劣解Z-具体包括如下步骤:
[0052] 对于每一个参数,最优解Z+及最劣解Z-由如下公式(5)计算,最优解向量为最劣解向量为
[0053]
[0054]
[0055] 其中,所述计算每一辆车辆节点的得分具体包括如下步骤:
[0056] 使用如下公式(6)计算WDMi中对应的每行车辆节点距离最优解的欧氏距离 和与最劣解的欧式距离
[0057]
[0058] 使用如下公式(7)计算每个车辆c的最终得分Sc:
[0059]
[0060] 该得分为与最优解的接近程度,
[0061] 其中,所述选择得分最高的十个车辆生成VCi具体包括如下步骤:
[0062] 选取Vi中得分最高的十辆车生成VCi,若Vi中的车辆数量小于十,则直接令VCi=Vi。
[0063] 进一步的,所述基于细胞吸引子选择模型选择下一跳节点具体包括如下步骤:
[0064] 步骤301:提取由TOPSIS构建的候选节点集VCi;
[0065] 步骤302:计算VCi中各车辆节点被选择的概率mj;
[0066] 步骤303,选取被选择概率最高的节点为下一跳节点;
[0067] 步骤304,将数据包从i传向下一跳节点;
[0068] 步骤305,计算传输性能指标,更新细胞活性α及各车辆节点被选择概率mj。
[0069] 进一步的,所述计算VCi中各车辆节点被选择的概率mj具体包括如下步骤:
[0070] 步骤3021,判断当前节点是否为需求节点,若是,则表明需求节点在VCi中,执行步骤3022,若否,则表明需求节点不在VCi中,执行步骤3023;
[0071] 步骤3022,设需求节点被选择的概率为1,其他节点被选择的概率由如下公式(8)计算得到:
[0072]
[0073] 步骤3023,判断当前节点i是否曾出现在之前路由路径中,若是,则表明需求节点不在VCi中,且当前节点i是之前路由路径的节点,执行步骤3024,若否,则表明当前节点i不是之前路由路径的节点,i和VCi组成的细胞并没有被激活过,同时也没有细胞活性α及被选择概率mj的更新信息,执行步骤3025;
[0074] 步骤3024,对VCi中的节点j,之前从未出现在i的候选节点集中的点的集合设为VC′i,其余在i的候选节点集中出现过的点的集合设为VC″i;
[0075] 对于VC′i,被选中的概率采用如下公式(10)计算:
[0076]
[0077] 对于VC″i,被选中的概率采用如下公式(11)计算:
[0078]
[0079] 步骤3025,VCi中所有的节点j被选中的概率均相同,采用如下公式(9)来计算:
[0080]
[0081] 其中,所述选取被选择概率最高的节点为下一跳节点具体包括如下步骤:
[0082] 选出mj最大的节点作为下一跳车辆节点 采用如下公式(12)计算,设 对应的被选择概率为
[0083]
[0084] 如果有多个j的mj最大且相同,则从中随机选取一个车辆节点作为
[0085] 进一步的,所述计算传输性能指标,更新细胞活性α及各车辆节点被选择概率mj具体包括如下步骤:
[0086] 步骤3051,计算传输性能指标
[0087] 步骤3052,更新细胞活性α;
[0088] 步骤3053,基于细胞吸引子模型,更新各车辆节点被选择概率mj;
[0089] 进一步的,所述计算传输性能指标 具体包括如下步骤:
[0090] 使用如下公式(13)计算传输性能指标
[0091]
[0092] 式中xt为从i接收到数据包到 接收到数据包的时间间隔,xn为 所携带的数据包数量,ωt和ωn是对应的权重;
[0093] 其中,所述更新细胞活性α具体包括如下步骤:
[0094] 使用如下公式(14)更新细胞活性α;
[0095]
[0096] 式中A,B及κ均为实数,A和B用于限制α所处的区间范围,κ用于控制α的变化速率;
[0097] 其中,所述基于细胞吸引子模型,更新各车辆节点被选择概率mj具体包括如下步骤:
[0098] 使用如下公式(15)更新各车辆节点被选择概率mj。
[0099]
[0100] 其中,mj为更新后j被选择的概率,m′j为更新前j被选择的概率, 为更新前 被选择的概率,ηj为高斯白噪声,Δt为车联网间V2V(Vehicle to Vehicle)通信延迟,s(α)是细胞中mRNA的生成速率,d(α)为细胞中mRNA的代谢速率,两者均与α有关,使用如下公式(16)计算
[0101]
[0102] 式中λ1,λ2及r均为常数。
[0103] 与现有技术相比,本发明的优点在于:
[0104] 1)本发明在车联网的环境下,基于理想解法TOPSIS(Technique for Order Preference by Similarity to an Ideal Solution)综合考虑了车辆的运动性能和通信性能,提高了路由算法在车联网中的适用性,同时也提高了路由算法在车联网视频传输中的效率和性能。
[0105] 2)本发明基于车联网中视频传输的特点,在H.264视频压缩协议的基础上有针对性的设计了一套适用于本路由算法的数据包生成方法,从而在一定程度上降低数据包延迟、丢包对视频质量的影响。
[0106] 3)本发明将细胞吸引子选择模型应用于车联网视频传输中,借助于细胞对于环境变化的高度自适应性提高路由算法在车联网视频传输中的效率和性能。针对视频传输数据包海量性、车联网状态高速动态性,本发明基于CASM中细胞活性的变化设计了一种基于下一跳节点选择性能的实时反馈过程,从而提高路由算法对鲁棒性及感知环境变化高效性。

附图说明

[0107] 图1是本发明提供的路由算法原理示意图;
[0108] 图2是本发明的路由算法的流程示意图;
[0109] 图3是本发明的路由算法中生成数据包的流程示意图
[0110] 图4是本发明的路由算法中基于TOPSIS构建候选节点集的流程示意图;
[0111] 图5是本发明的路由算法中基于细胞吸引子选择模型选择下一跳节点的流程示意图。

具体实施方式

[0112] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0113] 在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0114] 下面将结合附图和实例对本发明作进一步的详细说明。
[0115] 图1为本发明提供的基于细胞吸引子选择模型的车联网视频传输路由算法的原理示意图。图1分为以下三个部分:
[0116] 1)左侧部分:
[0117] 图1的左部是一个复杂的道路网络。黑色线代表道路,黑色点代表交叉口。该部分展示了一个基于本发明所提出算法的路由路径,绿色点代表视频资源节点,蓝点代表视频需求节点,红点代表路由中间节点。
[0118] 2)中间部分:
[0119] 图1的中间部分是本发明所提出路由算法与细胞吸引子选择模型CASM的关系图。对于下一跳节点的选择过程,本发明将当前节点和当前节点通信范围内的其他节点组成的车辆组视为一个细胞,然后将当前节点对不同邻居节点的选择行为视为细胞中不同mRNA的表达情况。
[0120] 3)右侧部分:
[0121] 图1中右侧部分是下一跳节点选择的具体过程,包括基于理想解法TOPSIS构造下一跳节点候选集,以及基于细胞吸引子确定下一跳节点。
[0122] 图2至5为本发明提供的基于细胞吸引子选择模型的车联网视频传输路由算法的流程图。本发明提供的基于细胞吸引子选择模型的车联网视频传输路由算法主要包括以下三个部分,如图2所示:
[0123] 1)生成数据包,如图3所示;
[0124] 2)基于理想解法TOPSIS构建候选节点集,如图4所示;
[0125] 3)基于细胞吸引子选择模型选择下一跳节点,如图5所示。
[0126] 该路由算法首先基于车联网中视频流传输的特性生成视频需求数据包及视频数据包。其次利用理想解法TOPSIS(Technique for Order Preference by Similarity to an Ideal Solution)选出一定数量具有良好运动性能和通信性能的车辆组成当前节点的下一跳候选节点集,将数据包从当前节点传给下一跳节点。然后将当前节点及对应的候选节点集视为一个细胞,候选节点集中每一车辆被选中的状态被视为细胞中某一种mRNA的表达情况,通过CASM选择出最合适的下一跳车辆节点,并对传输性能进行实时评估反馈,提高路由算法的鲁棒性及自适应性。
[0127] 下面分别介绍这三个部分的实现流程:
[0128] 1)第一部分:生成数据包
[0129] 所生成的数据包包括视频需求数据包VDDP和视频数据包VDP两种,数据包的生成流程如图3所示。
[0130] (1)视频需求数据包(Video Demand Data Packet,VDDP)
[0131] 表1 VDDP结构表
[0132]DPT VDDP.H RI CC
[0133] 视频需求数据包VDDP是从视频需求节点向视频资源节点发送的数据包,VDDP的结构如表1所示。车联网中存在多种数据包,如信号消息数据包、车辆安全数据包等。因此,VDDP的第一部分设置为数据包格式(Data Packets Type,DPT),这使得车辆能够针对不同类型的数据包做出不同的反馈。第二部分是VDDP包头(VDDP.H),包括VDDP ID、数据包长度、需求节点ID和资源节点ID。第三部分是路由信息(Routing Information,RI),包含数据包经过的每一路由节点的ID、在每一中间节点停留的时间。最后一部分是控制命令(Control Command,CC),用于需求节点控制视频流启动、暂停和停止。
[0134] 视频需求数据包VDDP的生成流程包括如下步骤:
[0135] 步骤1001,设置数据包格式DPT、VDDP包头VDDP.H以及路由信息RI;
[0136] 步骤1002,设置控制命令CC;
[0137] 步骤1003,发送数据包,完成视频需求数据包VDDP的生成。
[0138] (2)视频数据包(Video Data Packet,VDP)
[0139] 表2 VDP结构表
[0140]DPT VDP.H RI RTP.H NALU.H NALU.D
[0141] 视频数据包VDP是从视频资源节点向视频需求节点发送的数据包,VDP的结构如表2所示。VDP的第一、第二和第三部分与VDDP相似。第四部分是RTP.H(RTP包头),包括视频流格式、序列号和时间戳。第五部分是网络适配层单元NALU.H(Network Abstract Layer Unit,NALU包头),最后一部分是NALU.D(NALU数据)。不同的编码方法导致视频流中的帧的大小是不同的,本发明使用两种方案来生成VDP,这两种方案对应于不同的NALU.H。
[0142] 视频数据包VDP的生成流程包括如下步骤:
[0143] 步骤1101,设置数据包格式DPT、VDDP包头VDDP.H以及路由信息RI;
[0144] 步骤1102,寻找网络适配层单元NALU的起始编码,并判断是否含有网络适配层单元NALU结束编码,若否,则将网络适配层单元NALU数据存储入缓冲区,并继续执行步骤1102,若是,则执行步骤1103;
[0145] 步骤1103,计算缓冲区长度,判断当前帧的大小是否小于1400B,若是,则执行步骤1104,若否,则执行步骤1105;
[0146] 步骤1104,将缓冲区数据打包成单个数据包,设置RTP包头RTP.H、NALU包头NALU.H以及NALU数据NALU.D,其中NALU.H包括错误指示码F和类型Type,执行步骤1106;
[0147] 如果当前帧的大小小于1400B,则对应于该帧的NALU被存储在单个VDP中。若当前NALU存在错误,F将用于需求节点抛弃该VDP,类型Type中包含当前NALU的类型信息。
[0148] 步骤1105,将缓冲区数据打包成多个FU数据包,对每一个FU数据包分别设置RTP包头RTP.H、NALU包头NALU.H以及NALU数据NALU.D,其中NALU.H包括错误指示码F、类型Type、起始指示码S以及结束指示码E,执行步骤1106;
[0149] 如果当前帧的大小不小于1400B,则对应于该帧的NALU将被划分为多个片段。每个片段都存储在一个VDP中,这几个VDP被称为当前NALU的分段单元。起始指示码S用于区分数据包是否为当前NALU的起始VDP,结束指示码E用于区分数据包是否为当前NALU的结束VDP。
[0150] 步骤1106,发送数据包;
[0151] 步骤1107,判断通信是否中断,若否,返回继续执行步骤1102,若是,完成视频数据包VDP的生成。
[0152] 2)第二部分:基于理想解法TOPSIS构建候选节点集
[0153] 在车联网中,在当前车辆节点i的通信范围内有多个车辆,这些车辆构成i的邻居车辆集Vi。如果使用CASM直接在Vi中选择下一跳节点,则忽略了车辆运动参数的影响,大大增加了选择的随机性,不利于视频流传输的效率和稳定性。因此,本发明提出了一种基于TOPSIS的多参数决策方法。这种方法计算Vi中每辆车c的TOPSIS分数,并选择得分前十的车辆来构造下一跳候选集VCi。
[0154] 基于理想解法TOPSIS构建候选节点集的流程如图4所示,该方法包括如下步骤:
[0155] 步骤201,计算邻居车辆节点数量;
[0156] 步骤202,判断邻居车辆节点数量是否大于10,若大于,则执行步骤203,若否,则执行步骤204;
[0157] 步骤203,进行基于TOPSIS的多参数决策,完成后执行步骤205;
[0158] 步骤204,选择所有邻居车辆节点;
[0159] 步骤205,生成下一跳节点候选节点集。
[0160] 其中,所述步骤203中该基于TOPSIS的多参数决策考虑了四个参数,包括:
[0161] (1)c携带数据包的数量DNc。DNc对视频传输的影响很大,较大的DNc表示c车有很多vcd数据包等待转发,如果i将c选为下一跳节点,会造成该数据包要等较长时间才能被转发出去;
[0162] (2)c相对于需求节点的相对速度vcd。有较大vcd的车辆能使数据包更快的到达目的节点;
[0163] (3)c相对于需求节点的相对距离Discd。有较小Discd的车辆使数据包经过更少的跳数到达需求节点;
[0164] (4)c通信范围内的邻居节点数量NVc。如果c通信范围内的车辆很少,则c很难找到具有良好性能的下一跳节点。
[0165] 所述基于TOPSIS的多参数决策具体包括如下步骤:
[0166] 步骤2031,构造初始决策矩阵
[0167] Vi中的车辆数量是n,每个车辆具有四个属性DNc、vcd、Discd和NVc,使用公式(1)计算v'cd和NV′c,并使用计算出的v'cd和NV′c替换vcd和NVc;
[0168]
[0169] 由每个车辆的四个属性数据形成大小为n*4的初始决策矩阵DMi;
[0170] 其中,DNc为c携带数据包的数量,vcd为c相对于需求节点的相对速度,Discd为c相对于需求节点的相对距离,NVc为c通信范围内的邻居节点数量;
[0171] 较大的DNc和Discd不利于视频传输的性能,而较大的vcd和NVc对视频传输有积极意义。为了统一参数单调性对传输性能的影响,因此使用方程(1)的v'cd和NV′c替换vcd和NVc。
[0172] 步骤2032,构造归一化决策矩阵
[0173] 使用公式(2)进行数据归一化,并构造归一化决策矩阵NDMi;
[0174]
[0175] 其中,attr=1,2,3,4,表示四个参数。c=1,2,…,n,表示Vi中的车辆,xc,attr为DMi中坐标(c,attr)的元素数值。yc,attr为xc,attr对应的标准化后的数值;
[0176] 由于上述四个参数之间有单位量纲的差别,因此在构造标准化决策矩阵NDMi之前进行数据归一化处理。
[0177] 步骤2033,构造加权决策矩阵WDMi
[0178] 设置每个参数的权值ωattr,计算过程采用如下公式(3)
[0179]
[0180] 上述公式中fc,attr为中间变量,Hattr为每个属性的熵,Noa为参数个数,即Noa=4;
[0181] 采用如下公式(4)计算加权决策矩阵WDMi对应的数值zc,attr;
[0182] zc,attr=yc,attr·ωattr  (4)
[0183] 由于车联网是高速自组织网络,每一个下一跳路由选择过程都是不同的。为了避免主观权值对TOPSIS排序的影响,本发明采用熵值法生成四个属性的动态权值,从而应对Vi中车辆的上述四个参数实时变化的场景。
[0184] 步骤2034,计算最优解及最劣解
[0185] 对于每一个参数,最优解Z+及最劣解Z-由如下公式(5)计算,最优解向量为最劣解向量为
[0186]
[0187]
[0188] 步骤2035,计算每一辆车辆节点的得分
[0189] 使用如下公式(6)计算WDMi中对应的每行车辆节点距离最优解的欧氏距离 和与最劣解的欧式距离
[0190]
[0191] 使用如下公式(7)计算每个车辆c的最终得分Sc,该得分为与最优解的接近程度;
[0192]
[0193] 步骤2036,选择得分最高的十个车辆,生成VCi
[0194] 选取Vi中得分最高的十辆车生成VCi,若Vi中的车辆数量小于十,则直接令VCi=Vi。
[0195] 3)第三部分:基于细胞吸引子选择模型选择下一跳节点
[0196] 在构造候选集VCi之后,本发明基于细胞吸引子选择模型在VCi中选择下一跳节点。本发明将当前车辆i及其VCi组成的集合设为一个细胞,该细胞的活性为α。设VCi中的车辆j被选为下一跳节点的概率为mj,设j被选为下一跳节点的状态是一种细胞吸引子,这种状态代表细胞中一种mRNA的浓度。本发明用当前数据包在车辆i停留的时间以及下一跳节点的拥塞程度来评估i到 的传输性能。随着VANETs的变化,每一次数据包传输的性能都会发生变化,本发明将这种性能变化视为细胞的环境变化,该环境变化会影响后续路由中的α和mj。基于细胞吸引子选择模型选择下一跳节点的流程如图5所示。
[0197] 本发明使用上述过程将车联网中视频传输的下一跳节点选择映射到细胞吸引子选择模型中。对于当前节点i中的当前数据包,下一跳节点选择和邻居节点被选概率的更新过程如下:
[0198] 步骤301:提取候选节点集
[0199] 提取由TOPSIS构建的候选节点集VCi。
[0200] 步骤302:计算VCi中各车辆节点被选择的概率mj
[0201] 具体包括如下步骤:
[0202] 步骤3021,判断当前节点是否为需求节点,若是,则表明需求节点在VCi中,执行步骤3022,若否,则表明需求节点不在VCi中,执行步骤3023;
[0203] 步骤3022,设需求节点被选择的概率为1,其他节点被选择的概率由如下公式(8)计算得到:
[0204]
[0205] 步骤3023,判断当前节点i是否曾出现在之前路由路径中,若是,则表明需求节点不在VCi中,且当前节点i是之前路由路径的节点,执行步骤3024,若否,则表明当前节点i不是之前路由路径的节点,i和VCi组成的细胞并没有被激活过,同时也没有细胞活性α及被选择概率mj的更新信息,执行步骤3025;
[0206] 步骤3024,对VCi中的节点j,之前从未出现在i的候选节点集中的点的集合设为VC′i,其余在i的候选节点集中出现过的点的集合设为VC″i;
[0207] 对于VC′i,被选中的概率采用如下公式(10)计算:
[0208]
[0209] 对于VC″i,被选中的概率采用如下公式(11)计算:
[0210]
[0211] 由于车联网是高速变化的,因此在之前路由中节点i的周围节点很可能和当前的周围节点不一样。对于VC″i,由于在之前i的候选节点集中出现过,因此这些点本身存在自身的mj,但由于|VC″i|不一定等于|VCi|,因此要对mj重新计算。
[0212] 步骤3025,VCi中所有的节点j被选中的概率均相同,采用如下公式(9)来计算:
[0213]
[0214] 步骤303,选取被选择概率最高的节点为下一跳节点
[0215] 选出mj最大的节点作为下一跳车辆节点 采用如下公式(12)计算,设 对应的被选择概率为
[0216]
[0217] 如果有多个j的mj最大且相同,则从中随机选取一个车辆节点作为
[0218] 步骤304,将数据包从i传向下一跳节点;
[0219] 步骤305,计算传输性能指标,更新细胞活性α及各车辆节点被选择概率mj;
[0220] 具体实现方式包括如下步骤:
[0221] 步骤3051,计算传输性能指标
[0222] 使用如下公式(13)计算传输性能指标
[0223]
[0224] 式中xt为从i接收到数据包到 接收到数据包的时间间隔,xn为 所携带的数据包数量,ωt和ωn是对应的权重。
[0225] 在选择完下一跳节点并完成数据包传输过程后,本发明所述路由算法会计算从i到 这个数据包传输过程的性能指标
[0226] 步骤3052,更新细胞活性α
[0227] 使用如下公式(14)更新细胞活性α;
[0228]
[0229] 式中A,B及κ均为实数,A和B用于限制α所处的区间范围,κ用于控制α的变化速率。
[0230] 步骤3053,基于细胞吸引子模型,更新各车辆节点被选择概率mj
[0231] 使用如下公式(15)更新各车辆节点被选择概率mj。
[0232]
[0233] 其中,mj为更新后j被选择的概率,m′j为更新前j被选择的概率, 为更新前 被选择的概率,ηj为高斯白噪声,Δt为车联网间V2V(Vehicle to Vehicle)通信延迟,s(α)是细胞中mRNA的生成速率,d(α)为细胞中mRNA的代谢速率,两者均与α有关,使用如下公式(16)计算
[0234]
[0235] 式中λ1,λ2及r均为常数。
[0236] 本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
[0237] 需要说明的是,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。