一种VANETs中V2V多跳警告广播方法与流程

文档序号:12698586阅读:247来源:国知局
一种VANETs中V2V多跳警告广播方法与流程

本发明涉及VANETs中V2V多跳警告广播方法。



背景技术:

多跳广播技术为车载网络(VANETs)提供了多种信息共享服务包括紧急告警和交通信息服务。为了最大化紧急信息沿着公路传播和在相关区域传播,多跳广播变成了车载网络中提供这种服务的核心技术。不过,多跳广播经常受到竞争和干扰的影响,如果中继节点选择不合适多跳广播,那么重播跳数和次数会增加,所以会导致信息冗余和信息包碰撞。当访问MAC层的时候竞争就会出现,广播风暴就会出现。在现有中有几个减轻广播风暴问题的方案。不过,这样的方案不完全适合解决VANETs中广播风暴的问题。由于VANETs中汽车只能沿着公路高速行驶,它会导致VANETs拓扑结构变化快和拓扑结构受道路限制。因此MANET广播风暴的解决方案不完全适合应用于VANET。针对VANETs应用环境特点,它需要特殊的方法减轻广播风暴。

有几种抑制广播风暴的方法比如基于概率的广播、基于计数的广播、基于距离的广播、邻居知识广播和基于位置的广播。但这几种方法限制了转发信息的中继节点数量,所以信息的转发跳数会减少,信息冗余会减少,广播风暴被抑制。

在基于位置的机制中,距离广播节点最远的邻居节点被选择作为转发节点.每一跳的转发节点的选择是确定的和唯一的。基于位置机制不同于其他的广播机制,可能会导致多个中继节点同时广播,因此基于位置的机制有相对较低的广播冗余和延迟,目前基于位置的城市VANET广播假设车辆在直行的公路上行驶,但是,实际的城市场景不仅有交叉口而且包括交通灯和建筑物,交通密度是变化的。郊区没有建筑物的阻挡,汽车节点的网络拓扑结构呈现随机性,交通密度稀疏,因而设计一种能够同时适用于多种环境下的广播协议显得尤为重要。



技术实现要素:

本发明的目的是为了解决现有多跳广播不能同时适应城市与郊区的多种交通环境的问题,而提出一种VANETs中V2V多跳警告广播方法。

一种VANETs中V2V多跳警告广播方法具体过程为:

步骤一、SABP在邻居列表中,按照通信区域内邻居节点所在位置确定事故车辆广播的第N次转发节点;如果邻居节点在凸包点集中,执行步骤二;否则执行步骤四;

所述SABP为服务区广播协议;通讯区域为以源节点为中心,半径为250m;

步骤二、以步骤一确定的转发节点为源节点,在邻居列表中,按照步骤一确定的转发节点通信区域内邻居节点所在位置确定事故车辆广播的第N+1次转发节点;第N次转发节点进行广播hello包,进行执行步骤三;

步骤三、迭代步骤一和步骤二,按照步骤一确定的转发节点通信区域内邻居节点所在位置确定事故车辆广播的第N+i次转发节点,第N+i-1次转发节点进行广播hello包;N为正整数;i大于1的正整数,直至凸包点集为空集时,在凸包点集中的邻居节点停止广播;

步骤四、令不在凸包点集中的邻居节点等待10-20ms,不在凸包点集中的邻居节点进行广播,以所有没有收到广播的节点为源节点,以源节点为原点,以纬线为x轴,以经线为y轴,建立一个直角坐标系;在通讯区域内确定邻居节点所在坐标系的位置;根据邻居节点坐标使用Graham扫描法求解源节点的凸包点集;对凸包点集进行分散化处理,得到第N+j次转发节点,第N+j-1次转发节点进行广播hello包,j大于1,直至凸包点集为空集时,在凸包点集中的邻居节点停止广播;

VANETs为多跳广播技术为车载网络,V2V为道路上的汽车节点之间通信。

本发明的有益效果为:

针对之前提出的正三角形模型和正六边形模型存在的缺乏灵活应变能力的问题,提出了一种可以根据当前中继节点的邻居节点的分布情况,动态变化分组规则的平面区域分割方法,并在这种分组规则的基础上,完成安全信息广播协议的设计与实现。

本发明提出SABP广播协议实现了安全信息面向转发节点周围高效地分发,本协议中采用计算凸包节点集的方式确定下一跳的中继节点,每个邻居节点根据节点编号来判断自己是否是下一跳的中继节点。这种按照区域给汽车分组的方法,当无线信号能够同时覆盖几个街道时,使得中继节点可以沿着不同的方向、不同的道路选择,不用考虑汽车的行驶方向、汽车的速度、信息的传输方向、以及中继节点和广播节点之间的距离、道路交叉口等因素,这样选择中继节点抑制了中继节点的个数,降低了密集型场景下的信息冗余,能够使信息在事故节点周围同时沿着不同的方向和不同的道路尽快扩散,与目前只沿着一条道路转发信息的广播协议相比,即使在道路交叉口也以沿着不同的道路转发,有效地提高了信息转发的效率、降低了延迟时间,使该协议具有较好的覆盖率。

从实验结果看出,SABP协议的理论和信息分发的规则是正确的,在SABP协议的第一批次节点广播时,已经能够快速覆盖绝大部分的节点了,之后进行的第二批次广播正好弥补了第一批次广播的遗漏,使得整个广播过程中,节点的覆盖率提高,所以本发明提出的基于区域分组的广播协议是正确的并且可以应用于实践的。SABP广播协议使用周期性信标,维护邻居列表来计算所有邻居节点中的凸包点集。总之,SABP广播协议与AGBP相比具有较好的覆盖率、低延迟、低转发节点率和相同的覆盖率。

SABP协议在障碍物较少的郊区环境中,仅靠一次广播就能够快速将信息扩散出去。而在障碍物较多的城市环境中,二次广播的策略又能够弥补第一次广播中遗漏掉的十字路口节点,使得SABP协议能够在城市环境中,同样沿着多方向进行广播,能够覆盖源节点周围的区域。

总之,SABP广播协议与现存的广播协议比较,提高了覆盖率、降低了转发节点率和延迟时间,采用维护邻居信息的方法大大地降低了信息收集的时间,因此大幅减小了延迟时间,提高了信息传输的可靠性和实时性。同时还能适用于郊区和城市两种环境,其自适应的能力也是现存的广播协议所不具备的。

图15给出了四个协议在不同交通流密度场景下的覆盖率。随着汽车数量由低到高的变化,四个协议的覆盖率总体呈上升趋势,这是合理的,因为随着汽车增多,交通流变密,网络的连接性越来越好,所以接收到数据包的汽车数量会增加。从图15中清楚地看出,SABP的覆盖率比AGBP-Etriangle协议,AGBP-Rhexagon协议低,但是比flooding高,SABP的覆盖率比flooding协议的覆盖率平均高3.5%,这主要是因为泛洪协议中,收到数据信息包的所有的汽车都转发,这样会导致数据包碰撞丢失,因此有的汽车收不到数据包,所以覆盖率降低。而SABP的覆盖率比AGBP-Etriangle平均低0.8%、比AGBP-Rhexagon的覆盖率平均低0.7%,三种协议的覆盖率相近。覆盖率高意味着SABP,AGBP-Etriangle和AGBP-Rhexagon对于不同的交通密度具有较高的容忍性。

图16给出了所有协议的延迟时间的比较。flooding协议的延迟时间最小,这是因为flooding协议中接收到数据信息包的所有汽车全部转发信息,信息很快转发到了模拟区域内最远的节点,SABP的延迟时间比flooding的延迟时间平均高105%,SABP比AGBP-Etriangle和AGBP-Rhexagon的延迟时间都低,比AGBP-Etriangle平均低43%,比AGBP-Rhexagon延迟时间平均低41%,这是因为SABP需要维护邻居列表,并且使用邻居列表的信息直接确定下一跳的中继节点,所以浪费时间少,与SABP不同的是AGBP-Etriangle和AGBP-Rhexagon不使用邻居列表,而是采用正三角模型结构和正六角模型结构法给汽车分组,然后由WT决定每一组内的中继节点的策略转发信息,所以每一跳都会有等待时间WT,从而浪费了一些时间,延迟时间较高。低的延迟时间说明SABP的数据传播效率比AGBP-Etriangle和AGBP-Rhexagon高。

图17给出了在汽车密度不同的情况下四个协议的转发节点率。从图17中看出SABP的转发节点率随着汽车密度增加而逐渐降低,比AGBP-Etriangle,AGBP-Rhexagon和flooding协议都低。SABP的转发节点率比AGBP-Etriangle的平均低4.4%,比AGBP-Rhexagon的平均低4.2%,比flooding协议的转发节点率平均低43%。简单的泛洪协议的转发节点率最高,这是因为简单的泛洪协议中收到数据信息的汽车全部参与转发,所以转发节点率高。SABP转发节点率比较低的原因就是,每一跳的中继节点都是直接选出的,没有被选为中继节点的节点一定不会参与转发信息,并且因为凸包的特性,每个方向上都会有节点被选出。

图18给出的是所有协议的数据包的网络开销,从图18中能够可看出,SABP比AGBP-Etriangle、AGBP-Rhexagon的网络开销低,这是因为SABP协议中被选出的中继节点确定,不会出现因为某些节点距离、位置等条件相近而都被选为中继节点的情况。而flooding协议中所有接收到的信息的汽车节点全部参与转发,信息碰撞的机会多,这样会导致部分数据包丢失,所以flooding协议中每辆汽车接收到的数据包少。从图18中可看出SABP的数据包的网络开销比AGBP-Etriangle的平均低22%,比AGBP-Rhexagon平均低21%,比flooding的平均高57%,这表明它的中继节点选择的策略不如SABP的好,导致数据包传输的次数增多。从图18中可看出SABP数据包的网络开销随着节点密度的增加而轻微的增加,这说明SABP广播协议具有很好的扩展性。

附图说明

图1为中继节点能够获得的局部信息示意图;图2为全局汽车分布示意图;图3为中继节点与邻居节点的通信范围重叠示意图;图4为两个中继节点相对邻居节点的方向相近示意图;图5为两个中继节点相对邻居节点的方向相差很大示意图;图6为求解凸包问题示意图;图7为建立直角坐标系示意图;图8为连接Bqi并延长交圆qi于D的示意图;图9为A为距离最远的邻居节点示意图;图10为信息转发流程图;图11为节点分布情况举例示意图;图12为改进后的本发明SABP协议执行信息分发的过程流程图;图13为实验场景示意图;图14为四个协议在不同交通流密度场景下的覆盖率示意图,AGBP-Etriangle为正三角形模型结构,AGBP-Rhexagon为正六角模型结构,SABP为本发明一种基于区域自适应分组的安全信息广播协议,flooding为泛洪协议;图15为所有协议的延迟时间的比较示意图;图16为在汽车密度不同的情况下四个协议的转发节点率示意图;图17为所有协议的数据包的网络开销示意图;图18为开启第二批次广播功能后的覆盖率对比示意图,SABP1为开启第一批次广播的安全信息广播协议,SABP2为开启第一批次广播的安全信息广播协议;图19为开启第二批次广播功能后的延迟时间对比示意图;图20为开启二次广播的SABP的转发节点率示意图;图21为开启二次广播的数据包的网络开销示意图;图22为城市场景示意图;图23为多种交通流密度下所有协议的覆盖率示意图,MBW为多种交通密度的基于位置的多跳警告广播协议;MBW1和MBW2为MBW 2种方法;图24为SABP和MBW网络延迟的比较示意图;图25为转发节点率示意图;图26为交通密度变化下的所有协议的平均网络开销示意图。

具体实施方式

具体实施方式一:本实施方式的一种VANETs中V2V多跳警告广播方法具体过程为:

分组问题的理论研究与论证

本发明提出了一种基于区域自适应分组的安全信息广播协议(Self-Adaption Area-Grouping Based Broadcast Protocol of Safety Message,SABP)。VANETs中由于汽车节点周围的环境复杂多变,城市环境和郊区环境之间存在着非常大的差别,所以设计一种能够适用于多种环境的统一的广播协议是一个非常重要的问题,针对之前提出的正三角形模型和正六边形模型存在的缺乏灵活应变能力的问题,提出了一种可以根据当前中继节点的邻居节点的分布情况,动态变化分组规则的平面区域分割方法,并在这种分组规则的基础上,完成安全信息广播协议的设计与实现。

问题描述

正三角形模型和正六边形模型的分组方式类似,主要是将平面360°区域进行等分,若每个区域为120°,则为正三角形三等分;若每个区域为90°,则为正方形四等分;若每个区域为60°,则为正六边形六等分。

对于一般汽车节点分布情况而言,节点分布如图1所示,其中,黑色节点为中继节点,圆圈为中继节点的通信半径,白色节点是其邻居节点,中继节点通过周期性的Hello数据包与邻居节点进行通信获得所有邻居节点的位置、速度、方向等信息,中继节点需要根据已知的邻居信息,根据算法选择出下一个中继节点,将安全信息广播出去,最终覆盖整个区域。如图2所示,中继节点想要获得全局汽车节点的分布信息代价很大,中继节点需要进行多跳广播才能获得远处节点的位置、速度等信息,取得所有邻居节点的信息后,才能开始广播紧急警告信息,整个过程耗时很长,网络开销大,因此先获得全局汽车节点的分布信息来解出最优解的方案不可取。所以,如何根据已知的局部信息选择下一个中继节点成为关键。

区域分组问题的分析

显然,邻居节点与中继节点的距离一定是小于通信半径R的,如图3所示,任一邻居节点与中继节点通信范围的重叠部分的面积为S=2×扇形O1AA’-2×三角形O1AO2

解得

其中R为通信半径,为常量,d为中继节点到任一邻居节点的直线距离。

易得,S与d为反比关系,即d越大,重叠面积S越小。所以,选择距离中继节点距离越远的邻居节点作为下一个中继节点,重叠面积越小,覆盖的新面积越大。

如图4所示,在两个邻居节点相对中继节点的方向相近时,选择距离远的节点明显更优。

但是如图5所示,若出现邻居节点4,有d14<d12,但是相对于O1的方向差距大时,重叠面积变小了。

此时邻居节点4也应该被选作中继节点。应选择尽量分散并且距离当前中继节点远的邻居节点作为下一跳的中继节点。

中继节点的选择方法

凸包问题求解中继节点的论证

凸包(Convex Hull)是一个计算几何(图形学)中的概念。

在一个实数向量空间V中,对于给定集合X,所有包含X的凸集的交集S被称为X的凸包。X的凸包可以用X内所有点(X1,...Xn)的线性组合来构造。在二维欧几里得空间中,凸包可想象为一条刚好包著所有点的橡皮圈。用不严谨的话来讲,给定二维平面上的点集,凸包就是将最外层的点连接起来构成的凸多边型,它能包含点集中所有的点。

定义:

⒈对于一个集合D,D中任意有限个点的线性组合的全体称为D的凸包。

⒉对于一个集合D,所有包含D的凸集之交称为D的凸包。

可以证明,上述两种定义是等价的。

概念

1.点集Q的凸包(convex hull)是指一个最小凸多边形,满足Q中的点或者在多边形边上或者在其内。

2.一组平面上的点,求一个包含所有点的最小的凸多边形,这就是凸包问题了。

这可以形象地想成这样:在地上放置一些不可移动的木桩,用一根绳子把他们尽量紧地圈起来,并且为凸边形,这就是凸包了。

如果对图1的情况求解凸包,则得到图6的情况。

图6中,中间的黑色节点为当前的中继节点,周围的黑色节点为选出的下一跳中继节点。设对任意邻居节点的分布求解凸包问题得到的点集为Q。

下面证明,选择qi作为下一跳的中继节点时,一定会有不和其他节点重叠的覆盖区域。

1.当|Q|=1时,显然结论成立。

2.当|Q|=2时,任意半径相同,圆心不同的两个圆不可能完全重叠,可通过联立两圆的方程组证明,结论成立。

3.当|Q|≥3时,在Q中任取另外两个点qj,qk,若qj和qk在qi与中继节点连线的同侧,则与任意两个圆的情况相同,结论成立。若qj和qk在qi两侧以O为原点,建立直角坐标系,如图7。

交点分别为ABC,根据凸包的定义,qi一定在qj与qk的连线上或者连线外侧,否则Bqj=Bqk=R,Aqi=Cqi=R,证Bqi<R:以B点为圆心,R为半径画圆,则qi一定在园内,若qi在圆外,与qi一定在qj与qk的连线上或者连线外侧矛盾。所以,Bqi<R。连接Bqi并延长交圆qi于D,如图8。

则Dqi=R,所以BD>0。联立解三个圆方程组,可得最多三个解,所以BD不是圆的相交线,所以S图形ABCD>0。所以,选择凸包点集Q中的点作为下一跳中继节点时,一定会有不和其他节点重叠的覆盖区域,进而提高覆盖率。

下面证明,距离当前中继节点O距离最远的点q一定在点集Q中。

如图9所示,不妨设点A为距离O距离最远的邻居节点。

以O为圆心,|OA|为半径画圆记为O’,因为A为距离O最远的点,所以其他所有邻居节点均在圆O’内,任意其他两个节点的连线且与OA有交点的线中,O到该线段的距离一定小于|OA|,所以点A必然在该线段外侧,满足凸包点的条件,所以点A必在Q中。

当确定有点A在Q中后,就可以使用Graham扫描法求解其他凸包点。

广播信息的转发策略

上一章已经确定了中继节点选择的规则:凸包解集内的点作为下一跳的中继节点。这一章将确定这些中继节点的转发策略。

信息转发策略

按照SABP分发信息,信息可以同时沿着不同的方向和不同的道路转发,提高信息分发率。并且针对每一跳的邻居汽车的各种分布情况,可以调整自身的转发方向和节点选择数量,提高覆盖率。

本发明提出的SABP规定所有节点都要定期维护邻居列表,在事故发生时,事故节点作为源节点从邻居列表中求解凸包节点集并标记在数据包中广播给邻居节点,节点集里面包含被选为下一跳中继节点的节点编号,当每一个邻居节点收到了数据包后,判断自己的节点编号是否在选定的节点集中。如果不在节点集中,收到消息后不再转发;如果在节点集中,则将自己标记为中继节点,重复上述过程,从邻居列表中求解凸包节点集并标记在数据包中广播给邻居节点。事故信息就可以这样通过每一跳选出的中继节点向事故节点周围扩散到很远,直到没有汽车做中继节点为止。首先,中心的源广播节点根据自己的邻居节点信息,计算自己邻居节点的凸包点集,然后把点集加入到数据包中广播出去,收到广播的邻居节点判断自己是否在凸包点集内,如果在点集内,则把自己标记为中继节点,立即重播该信息;如果不在该点集内,则接收后不再重播。

SABP规定已经转发过信息的中继节点再接收到同一条信息副本则不再转发,这样规定限制了信息重传冗余,从而降低了信息碰撞的机会,提高数据信息传输的可靠性和实时性,信息转发遵循流程图10。

在SABP协议中,我们提出采用提出了一种可以根据当前中继节点的邻居节点的分布情况,动态变化分组规则的平面区域分割方法,并在这种分组规则的基础上,完成安全信息的广播。SABP协议采用分布式的方式减少了中继节点的计算量。

SABP执行信息分发的过程如图10所示,

广播策略的改进

从图10中不难发现,在汽车节点密集的场景下,尤其是邻居节点的分布近似于圆形时,SABP协议选择的中继节点数量会有大幅增长,而且当两个中继节点之间的距离过小并且同时进行广播时,将会引起信息碰撞导致广播信息丢失。

下面将针对该问题进一步改进SABP广播协议。

减少中继节点的数量

中继节点的数量越多则网络开销越大,可能导致的信息丢失情况越多,但是如果中继节点数量太少,反而会导致广播信息的覆盖率下降。所以要在保证信息覆盖率不大幅下降的情况下尽量减少中继节点的数量。

在广播的过程中最优先考虑的问题应该是广播过程中一跳的新增覆盖面积,因为新增的覆盖面积越大意味着被广播覆盖的汽车节点数越多,可得,当两个节点位置越接近时重叠的面积就越大,即新增的覆盖面积越小,而且更可能产生信息碰撞,所以首先要避免出现将两个位置接近的邻居节点同时选为中继节点的情况。

如图11所示,其中中心的黑色节点为源广播节点,周围的黑色节点为其凸包点集,均被选为下一跳的中继节点,黑色圆圈内的节点为距离过于接近的节点,根据环境的不同,也可能出现多个节点相互之间距离都很接近,现在要从中选择一个节点作为中继节点,取消其余节点的中继节点资格。

分批次广播策略

在所有的广播协议中,如果不发生信息碰撞的话,显然泛洪协议具有最高的节点覆盖率,因为所有节点都参与了重播信息,不会有节点被遗漏。

但是如果大量节点在同一时间段内广播的话,会发生严重的碰撞,导致大量的广播信息丢失。所以广播的过程中应该避免这种情况发生,SABP协议将节点分为两个批次,分批进行广播,从而避免了大量的信息碰撞。

第一批次的节点即为分散化处理后的凸包点集内的节点,由这些节点作为第一批次的中继节点能够快速并且覆盖大部分的道路区域;而第二批次的节点为第一次广播过程中没有参与重播的所有节点,这些节点能够填补第一批次节点遗漏的小部分区域。两批次广播过后,所有节点均参与了重播,并且在时间上有所差距,避免了在同一时间段内同时广播的情况。

改进后的SABP协议执行信息分发的过程如图12所示,

二次广播的策略同时还解决了城市环境下的广播问题,在城市环境中,凸包节点集可能直接越过了十字路口,没有选择十字路口上的节点,导致广播信息无法向道路的其他方向上传输。二次广播的策略解决了这个问题,位置处于十字路口的节点即使没有被选为第一批次进行广播的节点,也会在等待约10ms后进行重播,所以即使有建筑等障碍物的阻挡,广播信息仍然可以顺利地向其他方向传播。所以SABP协议可以同时在郊区场景和城市场景下工作,适用于不同汽车分布等场景。

步骤一、SABP在邻居列表中,按照通信区域内邻居节点所在位置确定事故车辆广播的第N次转发节点;(第一次广播是发生事故的节点发出的广播)如果邻居节点在凸包点集中,执行步骤二;否则执行步骤四;

步骤二、以步骤一确定的转发节点为源节点,在邻居列表中,按照步骤一确定的转发节点通信区域内邻居节点所在位置确定事故车辆广播的第N+1次转发节点;第N次转发节点进行广播hello包,进行执行步骤三;

步骤三、迭代步骤一和二,按照步骤一确定的转发节点通信区域内邻居节点所在位置确定事故车辆广播的第N+i次转发节点,第N+i-1次转发节点进行广播hello包;N为正整数;i大于1的正整数,直至凸包点集为空集时,在凸包点集中的邻居节点停止广播;

步骤四、令不在凸包点集中的邻居节点等待10-20ms,不在凸包点集中的邻居节点进行广播,以所有没有收到广播的节点为源节点,以源节点为原点,以纬线为x轴,以经线为y轴,建立一个直角坐标系;在通讯区域内确定邻居节点所在坐标系的位置;根据邻居节点坐标使用Graham扫描法求解源节点的凸包点集;对凸包点集进行分散化处理,得到第N+j次转发节点,第N+j-1次转发节点进行广播hello包,j大于1,直至凸包点集为空集时,在凸包点集中的邻居节点停止广播;

VANETs为多跳广播技术为车载网络,V2V为道路上的汽车节点之间通信(vehicle-to-vehicle)。

具体实施方式二:本实施方式与具体实施方式一不同的是:所述步骤一中SABP在邻居列表中,按照通信区域内邻居节点所在位置确定事故车辆广播的第N次转发节点;(第一次广播是发生事故的节点发出的广播)如果邻居节点在凸包点集中,执行步骤二;否则执行步骤四;具体过程为:

邻居列表包括邻居车辆的ID号、经纬度坐标、汽车行驶速度和行驶方向;

SABP为基于区域自适应分组的安全信息广播协议(Self-Adaption Area-Grouping Based Broadcast Protocol of Safety Message,SABP)

SABP采用hello包维护邻居列表,hello包里面包含Hello域、Position域、Direction域、Hop域、SID域、MID域和VID域;其中,Hello域代表hello包,Position域标志汽车的位置,Hop意味着hello包的跳数,SID域代表源节点ID号,MID值是源节点信息ID号,VID域记录汽车ID号;当一个节点收到hello包并且Hop域为0时则成对保存MID和SID;hello包为0.1~2Hz;

以发生事故节点为源节点,以源节点为原点,以纬线为x轴,以经线为y轴,建立一个直角坐标系;在通讯区域内确定邻居节点所在坐标系的位置;根据邻居节点坐标使用Graham扫描法求解源节点的凸包点集;对凸包点集进行分散化处理,得到转发节点;如果邻居节点在凸包点集中,执行步骤二;否则执行步骤四;

通讯区域为以源节点为中心,半径为250m左右。

其它步骤及参数与具体实施方式一相同。

具体实施方式三:本实施方式与具体实施方式一或二不同的是:所述对凸包点集进行分散化处理,得到转发节点;具体过程为:

1).按极角从小到大顺序扫描凸包点集中的节点,对凸包点集中的每一个节点A,若下一个(相邻)节点B与A之间的距离大于等于10m,则将扫描指针指向B节点;若节点B与A之间的距离小于10m,则将A和B放入一个组G内,并把G组的坐标设置为能够包含A,B节点的最小圆的圆心坐标,扫描的指针位置指向G组;

2).判断G组的下一个(相邻)节点C,若节点C与G组的距离大于等于10m,则扫描指针指向C;若节点C与G组的距离小于10m,则将C加入G组,并将G组的坐标设置为能包含G组内节点和节点C的最小圆的圆心。

3).迭代1)和2)直到所有节点均被扫描过,得到的凸包点集中有m个小组和n个单独的节点,n个单独节点均为距离其它小组距离较远的节点,所以均选为转发节点;

4).如果选择完成后凸包点集内还有小组存在(m可能等于0),按下面方法从每个小组中选出一个节点作为转发节点。

具体实施方式四:本实施方式与具体实施方式一至三之一不同的是:所述4)中如果选择完成后凸包点集内还有小组存在(m可能等于0),按下面方法从每个小组中选出一个节点作为转发节点具体过程为:

从每个小组中选择转发节点的方法如下:

a.如果m+n小于3,执行(1)或(2):

(1)如果m=2,n=0,则从每个小组中选择一个节点,选择使两节点之间的距离最远的两个节点,这两个节点为转发节点。

(2)如果m=1,n=1,则从小组中选择一个与单独节点距离最远的节点(1个节点)作为转发节点。

b.如果m+n大于等于3:因为Graham扫描法求解出的凸包点集是按极角的逆时针顺序排列的,所以任一节点或小组的位置必然在前后两个相邻的小组或节点之间,将前后两个相邻的小组或节点(两个相邻的小组或两个相邻的节点或相邻的一个节点一个小组)设置为A和B,将A和B的坐标连线的垂直平分线L与圆C的交点设置为P,圆C为以A节点为圆心半径为R的圆,则从A和B之间的小组中选择离P点最近的点(1个节点)作为转发节点。

经过上述筛选过程,可以保证不会出现距离过于接近的中继节点,并且覆盖面积没有大幅减少。

其它步骤及参数与具体实施方式一至三之一相同。

具体实施方式五:本实施方式与具体实施方式一至四之一不同的是:所述步骤二中以步骤一确定的转发节点为源节点,在邻居列表中,按照步骤一确定的转发节点通信区域内邻居节点所在位置确定事故车辆广播的第N+1次转发节点;第N次转发节点进行广播hello包,进行执行步骤三;具体过程为:

在邻居列表中,以步骤一确定的转发节点为源节点,以源节点为源节点,以纬线为x轴,以经线为y轴,建立一个直角坐标系;在通讯区域内确定邻居节点所在坐标系的位置;根据邻居节点坐标使用Graham扫描法求解源节点的凸包点集;对凸包点集进行分散化处理,得到第N+1次转发节点;第N次转发节点进行广播hello包。

其它步骤及参数与具体实施方式一至四之一相同。

采用以下实施例验证本发明的有益效果:

实施例一:

本实施例一种VANETs中V2V多跳警告广播方法具体是按照以下步骤制备的:

郊区场景下广播协议的性能分析

模拟场景和参数的设置

为了分析SABP协议的性能,本发明采用NS2模拟器进行模拟实验。模拟区域设置为1600*1600m2的网格区域,其中每个小街区200*200m2。采用VanetMobiSim产生汽车的真实轨迹,VanetMobiSim在宏观和微观两个层面特征都是实际的汽车移动模型,并且支持交通灯,换道和速度变化规则。在模拟器中路宽设置为10米,4车道,双向车流,车速为5~20m/s,加速因子为2m/s2,加速因子为4m/s2,汽车数目从200辆~600辆变化,每50辆增加直至600辆,汽车密度由低到高的变化,采用多种交通密度来测试本发明提出的广播协议,从而证明AGBP广播协议适用于各种城市交通密度场景的变化。VANETMobiSim运行200s获得汽车轨迹文件。在NS2中的模拟时间为200s,源节点在第100s时刻广播了一次事故信息。我们设置信息包的大小为1k,其中包含<源节点的ID号,汽车位置Pos,凸包节点集>。

实验场景示意图13实验场景

本发明采用10次实验的数据对覆盖率、延迟时间、网络开销和转发节点率四个特性分析,进而观察SABP的性能。

各个性能指标的计算方法如下:

1.覆盖率,是在模拟区域内收到数据包汽车数量的百分数。

2.网络延迟是指一个数据包从源节点到目的节点所用的时间,这个特性测量数据传输的高效性。

单次延迟时间(s)=一个数据包被收到的时刻-该数据包的发送时刻

3.网络开销,在模拟期间每个汽车节点平均接收到的数据包的数量为网络开销。这个特性用来测量网络的可扩展性。

4.转发节点率是指网络中重播节点的比例。

仅使用第一批次的节点

首先,实验限定SABP协议只使用第一批次的节点进行广播,然后和AGBP-Etriangle协议,AGBP-Rhexagon协议和泛洪(flooding)协议进行分析比较。

图14给出了四个协议在不同交通流密度场景下的覆盖率。随着汽车数量由低到高的变化,四个协议的覆盖率总体呈上升趋势,这是合理的,因为随着汽车增多,交通流变密,网络的连接性越来越好,所以接收到数据包的汽车数量会增加。从图14中清楚地看出,SABP的覆盖率比AGBP-Etriangle协议,AGBP-Rhexagon协议低,但是比flooding高,SABP的覆盖率比flooding协议的覆盖率平均高3.5%,这主要是因为泛洪协议中,收到数据信息包的所有的汽车都转发,这样会导致数据包碰撞丢失,因此有的汽车收不到数据包,所以覆盖率降低。而SABP的覆盖率比AGBP-Etriangle平均低0.8%、比AGBP-Rhexagon的覆盖率平均低0.7%,三种协议的覆盖率相近。覆盖率高意味着SABP,AGBP-Etriangle和AGBP-Rhexagon对于不同的交通密度具有较高的容忍性。

图15给出了所有协议的延迟时间的比较。flooding协议的延迟时间最小,这是因为flooding协议中接收到数据信息包的所有汽车全部转发信息,信息很快转发到了模拟区域内最远的节点,SABP的延迟时间比flooding的延迟时间平均高105%,SABP比AGBP-Etriangle和AGBP-Rhexagon的延迟时间都低,比AGBP-Etriangle平均低43%,比AGBP-Rhexagon延迟时间平均低41%,这是因为SABP需要维护邻居列表,并且使用邻居列表的信息直接确定下一跳的中继节点,所以浪费时间少,与SABP不同的是AGBP-Etriangle和AGBP-Rhexagon不使用邻居列表,而是采用正三角模型结构和正六角模型结构法给汽车分组,然后由WT决定每一组内的中继节点的策略转发信息,所以每一跳都会有等待时间WT,从而浪费了一些时间,延迟时间较高。低的延迟时间说明SABP的数据传播效率比AGBP-Etriangle和AGBP-Rhexagon高。

图16给出了在汽车密度不同的情况下四个协议的转发节点率。从图16中看出SABP的转发节点率随着汽车密度增加而逐渐降低,比AGBP-Etriangle,AGBP-Rhexagon和flooding协议都低。SABP的转发节点率比AGBP-Etriangle的平均低4.4%,比AGBP-Rhexagon的平均低4.2%,比flooding协议的转发节点率平均低43%。简单的泛洪协议的转发节点率最高,这是因为简单的泛洪协议中收到数据信息的汽车全部参与转发,所以转发节点率高。SABP转发节点率比较低的原因就是,每一跳的中继节点都是直接选出的,没有被选为中继节点的节点一定不会参与转发信息,并且因为凸包的特性,每个方向上都会有节点被选出。

图17给出的是所有协议的数据包的网络开销,从图17中能够可看出,SABP比AGBP-Etriangle、AGBP-Rhexagon的网络开销低,这是因为SABP协议中被选出的中继节点确定,不会出现因为某些节点距离、位置等条件相近而都被选为中继节点的情况。而flooding协议中所有接收到的信息的汽车节点全部参与转发,信息碰撞的机会多,这样会导致部分数据包丢失,所以flooding协议中每辆汽车接收到的数据包少。从图18中可看出SABP的数据包的网络开销比AGBP-Etriangle的平均低22%,比AGBP-Rhexagon平均低21%,比flooding的平均高57%,这表明它的中继节点选择的策略不如SABP的好,导致数据包传输的次数增多。从图17中可看出SABP数据包的网络开销随着节点密度的增加而轻微的增加,这说明SABP广播协议具有很好的扩展性。

加入第二批次节点广播

这次实验开启SABP协议的第二批次节点广播功能,网络延迟会有所提高,但是覆盖率也会提高。

图18为开启第二批次广播功能后的覆盖率对比,从图19中可以看出,SABP协议第一批次广播就已经能够覆盖绝大部分的节点,第二次广播后,第一批次被遗漏的节点也能够被覆盖到。因此覆盖率进一步提升。

图19说明开启第二批次广播后,SABP协议的网络延迟有所增加,这是因为第二批次的广播节点在第一批次节点广播完成后会等待约10ms后再进行广播,并且第二批次要覆盖的节点是位置比较特殊的节点,所以网络延迟必然增加。

图20中开启二次广播的SABP的转发率变为100%,这符合协议设计的思想,因为所有的节点都参与了转发信息,只不过在转发的时机上有所不同。

图21表明SABP2数据包的网络开销也会增大,因为在SABP1的基础上又有一部分节点参与了广播信息的重播,网络开销必然增大。

本发明提出SABP广播协议实现了安全信息面向转发节点周围高效地分发,本协议中采用计算凸包节点集的方式确定下一跳的中继节点,每个邻居节点根据节点编号来判断自己是否是下一跳的中继节点。这种按照区域给汽车分组的方法,当无线信号能够同时覆盖几个街道时,使得中继节点可以沿着不同的方向、不同的道路选择,不用考虑汽车的行驶方向、汽车的速度、信息的传输方向、以及中继节点和广播节点之间的距离、道路交叉口等因素,这样选择中继节点抑制了中继节点的个数,降低了密集型场景下的信息冗余,能够使信息在事故节点周围同时沿着不同的方向和不同的道路尽快扩散,与目前只沿着一条道路转发信息的广播协议相比,即使在道路交叉口也以沿着不同的道路转发,有效地提高了信息转发的效率、降低了延迟时间,使该协议具有较好的覆盖率。

从实验结果看出,SABP协议的理论和信息分发的规则是正确的,在SABP协议的第一批次节点广播时,已经能够快速覆盖绝大部分的节点了,之后进行的第二批次广播正好弥补了第一批次广播的遗漏,使得整个广播过程中,节点的覆盖率提高,所以本发明提出的基于区域分组的广播协议是正确的并且可以应用于实践的。SABP广播协议使用周期性信标,维护邻居列表来计算所有邻居节点中的凸包点集。总之,SABP广播协议与AGBP相比具有较好的覆盖率、低延迟、低转发节点率和相同的覆盖率。

城市场景下的仿真实验

城市场景下的环境设定

为了分析SABP广播协议在城市场景下的性能,仍然采用NS2模拟器进行一系列的模拟。由于三角形和六角形模型不能够很好的在充满障碍物的场景下应用,本发明把SABP广播协议和MBW广播协议比较,在不开启二批次广播时,SABP由于可能会错过十字路口,覆盖率比较低,所以这里直接开启二次广播。所有的协议都是在低、中、高交通密度条件下评价的,汽车的密度范围从800辆/小时到4000辆/小时,速度从0到60公里/小时变化。采用1500m*1500m的网格道路拓扑结构实现SABP广播协议的模拟,每条道路有3车道双向交通流。汽车行驶遵循交叉口的交通灯信号。交通信号包括红灯、绿灯和黄灯,在模拟过程中,直行绿灯和红灯分别为30s和70s,黄灯3s;左转绿灯为20s,左转红灯80s,左转黄灯为3s;整个交通信号周期为103s。我们设置了交叉口障碍物。为了模拟真实的汽车移动,使用了VISSIM模拟器定义的移动性模型。在某一条道路的中间位置的汽车负责产生警告信息,这个信息会在这个区域周围扩散。

IEEE802.11p标准里Veins 2.0网络模型已经定义了链路层和物理层,我们为广播协议设置了3Mbps的位速率,我们设置信息包的大小为512字节,hello信标包的大小25字节并且每1秒被发送,应答包为9个字节,模拟时间为500s。下面四个特性被使用来评价SABP的可靠性、高效性和可扩展性。覆盖率,是在模拟区域内收到数据包汽车数量的百分数。如果覆盖率为100%,意味着模拟场景里所有的汽车都收到了数据包。高覆盖率意味着SABP广播协议选择中继节点可靠并且协议对于不同的交通密度具有高容忍性。网络延迟,它意味着一个数据包从源节点到目的节点所用的时间。这个特性测量数据传输的高效性。网络开销,它等于模拟期间每个汽车接收到的数据包的数量。这个特性被使用测量网络的可扩展性。转发节点率,它是网络中重播来自源节点信息的汽车的比例。

城市实验场景如图22所示。其中黑色直线为障碍物,广播信号无法穿过。

实验结果

图23给出了多种交通流密度下所有协议的覆盖率,我们清楚地看出MBW和SABP的覆盖率随着交通密度的增加而增加。这是合理的,因为随着交通密度的增加网络连接性较好,因此,数据包的接收率将会增加。图24表明SABP在不同的交通密度条件下比MBW覆盖率更高。这是因为SABP广播协议提出了二次广播的策略,所有连通的节点都会进行重播,即使第一次广播有十字路口的节点被遗漏,第二次广播会弥补第一次广播的遗漏节点,所以所有路口节点也都会参与重播,不会有道路被忽略,另外在路上的信息双向传输机制能够降低网络延迟。

MBW(Multi-hop Broadcast for Warning,MBW)为多种交通密度的基于位置的多跳警告广播协议;MBW1和MBW2为MBW 2种方法;

图24给出了SABP和MBW网络延迟的比较。如图24所示,泛洪协议的网络延迟时间是最短的,因为泛洪协议中的所有节点收到后立即重播消息,没有任何等待和计算时间,所以网络延迟最短,但是这会引起信息碰撞,导致信息丢失,影响覆盖率等性能指标。在另三个协议当中,当节点密度增加的时候,MBW2网络延迟在他们当中是最短的,这是因为在模拟期间它总维护邻居列表,另外所以它使用了最短的时间发现交叉口的中继节点并且迅速把信息传播到了其它节点,而SABP同样维护邻居列表,但是在有些情况下,如果十字路口节点被选为二次广播节点,则节点会等待一段时间再进行信息重播。SABP在两次广播之间会有约10ms的延迟,这会增大整体的网络延迟。MBW1在事故发生时临时维护邻居列表,因此它选择中继节点时浪费一些时间。

图25给出了转发节点率。如图25所示,如果转发节点数量少,则信息冗余和竞争减少。因此广播风暴的风险相应地降低。因为MBW1会临时维护邻居列表,当节点转发消息时,所用的邻居列表是最新的,所以选择的中继节点比较准确,具有最低的平均转发节点率。随着场景中交通流密度的上升,MBW2的转发节点率轻微地增加,因为和源节点距离都很远且距离值相近的节点增多了,MBW2有可能会将它们同时选为中继节点,造成了转发率增加的结果。SABP和泛洪协议的转发节点率都很高,这是因为两种协议都规定了所有的节点都要进行转发,而泛洪协议中由于信息碰撞很严重,导致部分节点无法发出广播或者广播出去后其它节点无法接受,信息丢失很严重。SABP协议由于两部分节点的转发时间存在时间差,避免了大规模的信息碰撞发生,所以转发率略高。

图26给出了交通密度变化下的所有协议的平均网络开销,泛洪协议由于不维护邻居列表,只发送数据包,所以网络开销较低,其它协议在发送数据包的同时还要发送周期性的Hello包来维护邻居列表,所以整体的网络开销偏高。MBW的两个协议需要维护邻居列表,但是在广播信息转发时会选择几个节点作为中继节点,大部分节点并没有参与转发广播信息,所以网络开销较低。SABP协议由于在维护邻居列表的同时,所有节点都参与到了广播信息的转发,所以网络开销最高。

本发明提出了基于区域自适应分组的安全信息广播协议(SABP),SABP规定所有节点都要定期维护邻居列表,并通过源节点从邻居列表中求解凸包节点集,分散化处理后标记在数据包中广播给邻居节点,每一个汽车节点按照自己的编号判断自己是否是凸包点集中的点,如果不在节点集中,收到消息后等待一段时间后再进行转发;如果在节点集中,则将自己标记为中继节点立即进行转发。这样给无线信号一次覆盖范围的划分不再是固定形状,而会随着当前中继节点的改变而改变,可以自动适应各种汽车分布的情况。邻居节点收到广播数据包后立刻判断自己是否属于凸包节点集,如果在则立即转发,尽可能减小延迟时间,同时使用了分批次广播的策略进一步提高了广播信息的覆盖率。信息可以同时沿着不同方向和不同道路转发,和信息只沿着一条道路转发的广播协议相比,即使在道路交叉口可以向多个方向同时转发,提高了转发效率,减少碰撞。

SABP协议在障碍物较少的郊区环境中,仅靠一次广播就能够快速将信息扩散出去。而在障碍物较多的城市环境中,二次广播的策略又能够弥补第一次广播中遗漏掉的十字路口节点,使得SABP协议能够在城市环境中,同样沿着多方向进行广播,能够覆盖源节点周围的区域。

总之,SABP广播协议与现存的广播协议比较,提高了覆盖率、降低了转发节点率和延迟时间,采用维护邻居信息的方法大大地降低了信息收集的时间,因此大幅减小了延迟时间,提高了信息传输的可靠性和实时性。同时还能适用于郊区和城市两种环境,其自适应的能力也是现存的广播协议所不具备的。

本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1