本申请涉及一种车联网数据调度方法,特别是涉及一种多信道车联网v2r/v2v数据传输调度方法。
背景技术:
车联网(vanets,vehicularadhocnetworks)由具备无线通信和计算能力的智能网联车辆以及路边单元(rsu,roadsideunit)组成的异构网络。具备碰撞避免、事故预警、交通信息发布、辅助驾驶等基本功能,还可依托车载gps提供精确的定位服务。国际电气电子工程师学会(ieee)根据美国联邦通信委员会(fcc)为车联网分配的75mhz的带宽,制订了由ieee802.11p和ieee1609协议构成的车联网专用短距通信(dsrc,dedicatedshortrangecommunication)组网标准,为车联网提供了6个服务信道和1个控制信道,实现车辆与车辆之间(v2v,vehicletovehicle)及车辆与路边单元之间(v2r,vehicletoroadsideunit)的数据传输。
假设车辆仅配备1个无线接口,不能同时处于发送或接收状态,而且不能同时处于v2v和v2r模式,组网环境参照ieee802.11p,使用1个控制信道和6个服务信道。控制信道用于发送管理消息和服务广播,服务信道用于数据通信。车辆在同一时刻只能使用1个信道。调度过程中,所有车辆首先处于v2v模式,通过控制信道获取邻居列表;然后进入v2r模式,利用控制信道向rsu上传自身位置、邻居列表及服务请求,rsu将服务请求加入任务队列,进行信道分配和调度决策;最后,每台车辆根据调度决策进入v2r或v2v模式,使用特定信道进行数据传输。
数据传输过程中处于v2r模式的车辆可以与rsu通信,获取数据后在后续调度周期可转入v2v模式,作为发送方将数据包转发给自己的邻居车辆。图1为上述传输过程示意图。处于v2r模式的车辆在rsu覆盖范围内可以从rsu接收数据,n1、n2和n3三台车辆处于v2r模式。图中的小方块表示数据包,粗体方块表示车辆已提交传输请求,但还未传输完成的数据包。rsu广播数据包a,由于n1、n2、n3处于v2r模式,可以收到数据a。n4、n5、n6、n7处于v2v模式,只能接收其他车辆发送的数据。图中n4已经从rsu获取数据e,可以作为发送方将数据发送给车辆n6。同理,n5已获取数据b和c,可以作为发送方将数据c发送给n7。数据发送过程中,由于无线信道的开放特性,如果发送方使用同一信道,并且同时发送数据,则会在接收方造成冲突,无法正常接收。图中n4、n5、n6、n7距离较近,如果(n4,n6)和(n5,n7)使用同一信道发送数据,将造成n6无法正常接收,此外rsu的广播信道也会对v2v通信造成干扰,因而有必要采用多信道传输调度机制。如图1所示。
由于车辆行驶速度快,网络拓扑的动态变化给v2r/v2v数据传输带来巨大挑战。尤其是交通事故预警等时延敏感的应用,需要让消息尽快扩散至兴趣车辆,对v2r和v2v数据传输的可靠性提出了更高的要求。
技术实现要素:
针对上述问题,本发明提出多信道环境下车联网v2r/v2v协作数据传输调度方法,所述方法可有效利用多信道特性拓展v2r/v2v协作数据传输的服务容量。
一种多信道环境下车联网v2r/v2v协作数据传输调度方法,包括以下步骤:
1)、产生初始调度操作阶段;初始调度是指能够通过v2r或v2v模式处理某项数据传输请求的调度操作;收集服务请求,构建可能存在的传输任务;
2)、判断调度冲突阶段;所述判断依据四个条件,条件1:发送方同一周期内不能发送多个不同的数据包;条件2:车辆不能同时处于发送和接收状态;条件3:数据接收车辆同时位于两个数据发送车辆覆盖区域内,两个发送方不能使用相同信道;条件4:接收方同一周期内只能接收一个发送方的数据;
3)、构建初始冲突图阶段;在上述四个条件的基础上通过多信道分配和传输调度,构建调度冲突图,对于信道因素造成的冲突,通过信道分配的方式解决该冲突,其中用到的方法为半定规划法,完善调度冲突图;
4)、调度阶段;根据车辆在服务区域的滞留时间和请求传输的数据量赋予其不同的服务权重,依据调度冲突图,结合v2r/v2v协作传输的方式分时完成调度,其中用到的方法是最大加权独立集。
更进一步地,所述步骤1)中的所述初始调度操作分为两个集合,分别为isv2r(t)和isv2v(t)。isv2r(t)表示通过v2r模式进行的调度操作,isv2v(t)表示通过v2v模式进行的调度操作。isv2r(t)调度操作用rδnrr表示,isv2v(t)调度操作用nsδnvr表示,其中r代表rsu,ns代表发送方车辆,δ表示请求传输的数据包。在v2r模式下δ∈qinrr(t),在v2v模式下δ∈qinvr(t)。nrr和nvr分别为rsu和v2v模式下的接收方车辆。在v2v模式下,传输的数据包δ应是发送方已从rsu获取的数据,同时还是接收方正在请求的数据,即δ∈qcns(t)∧δ∈qinvr(t)。
更进一步地,所述步骤2)中的所述条件1中,对于初始调度操作xδnxr,xδ′nyr∈isv2r(t)∪isv2v(t),其中x、y表示v2v或v2r模式下的发送方,nxr,nyr表示接收方。如果x=y∧δ≠δ′∧nxr≠nyr,即发送方同一周期内发送两个不同的数据包,将产生冲突。
更进一步地,所述步骤2)中的所述条件2中,如果存在v2v或v2r模式下的初始调度操作xδnxr,xδ′nyr∈isv2r(t)∪isv2v(t),当nxr=y∨nyr=x时,即当车辆同时处于发送和接收状态,两个初始调度之间存在冲突。
更进一步地,所述步骤2)中的所述条件3中,对于两个初始调度操作xδnxr,xδ′nyr∈isv2r(t)∪isv2v(t),如果满足ch(x)=ch(y)∧{p(nxr)∈cov(x)∩cov(y)∨p(nyr)∈cov(x)∩cov(y)}则存在冲突,其中p(·)表示车辆所处位置,cov(·)表示车辆或rsu通信覆盖范围。即接收车辆如果同时位于两个发送车辆的覆盖区域内,当使用相同信道时将出现冲突。
更进一步地,所述步骤2)中的所述条件4中,对于两个初始调度操作xδnxr,xδ′nyr∈isv2r(t)∪isv2v(t),如果nxr=nyr∧x≠y,则两个调度之间存在冲突。
更进一步地,所述步骤3)中,在调度冲突图gs的基础上,选择最大加权独立集对应的操作,并根据选择的操作进行调度决策,包括确定dr(t),rrn(dr(t)),vsn(t),d(vsn(t)),vrn(d(vsn(t))),其中,若rsu广播数据dr(t),接收dr(t)的车辆集合为rrn(dr(t));在v2v模式下,数据发送车辆的集合用vsn(t)={vsn1,vsn2,…,vsn|vsn(t)|}表示,其中|vsn(t)|为数据发送车辆的数目;用d(vsn(t))={d(vsn1),d(vsn2),…,d(vsn|vsn(t)|)}表示vsn(t)发送的数据包集合;接收车辆集合vrn(d(vsn(t)));然后根据车辆的加入和离开,更新服务队列,具体过程如下:
step1:通过逐项检索调度冲突图gs顶点vi的权值和连接关系确定最大加权独立集vind(t);
step2:逐项解析并判断最大加权独立集的每一项操作vi的类型;
step2.1:如果传输操作属于v2r模式,即
step2.2:如果传输操作属于v2v模式,即
step3:维护服务队列,将新进入服务区域的车辆添加到服务车辆集合n(t),并将离开服务区域的车辆所对应的数据项从服务车辆集合n(t)中删除。
附图说明
图1为本发明v2r/v2v混合数据传输示意图
图2不同交通场景下三种方法的加权服务容量
图3不同交通场景下rsu传输服务容量
图4不同交通场景下三种方法的服务比率
图5不同交通场景下三种方法的请求完成度
图6不同交通场景下三种方法的服务时延
具体实施方式
车辆请求传输的数据集d={d1,d2,…,d|d|},包含|d|个数据项。车辆集合n(t)={n1,n2,…,nm(t)}表示在调度周期t内,有m(t)台车辆。n(t)可以分为nr(t)和nv(t)两个子集,nr(t)表示处于v2r模式的车辆集合,nv(t)表示处于v2v模式的车辆集合。车辆在一个调度周期内只能处于一种通信模式,即nr(t)∩nv(t)=φ,nr(t)∪nv(t)=n(t)。ch(·)表示通信节点所处的信道。每台车辆ni(1≤i≤|m(t)|)都维护一个数据请求队列
用rrn(·)表示v2r模式下rsu的数据接收车辆集合,其定义如下:
定义1:若rsu广播数据dr(t),接收dr(t)的车辆集合为rrn(dr(t)),那么对于
在v2v模式下,数据发送车辆的集合用vsn(t)={vsn1,vsn2,…,vsn|vsn(t)|}表示,其中|vsn(t)|为数据发送车辆的数目。由于vsni(1≤i≤|vsn(t)|)处于v2v模式,显然vsn(t)∈nv(t)。用d(vsn(t))={d(vsn1),d(vsn2),…,d(vsn|vsn(t)|)}表示vsn(t)发送的数据包集合,其中d(vsni)(1≤i≤|vsn(t)|)为车辆vsni发送的数据包。由于d(vsni)是由rsu发送给车辆vsni,所以d(vsni)∈qcvsni(t)。考虑到无线信道的冲突问题,给出数据传输冲突车辆集的定义:
定义2:col(t)为v2v模式下数据接收冲突车辆集。对于
定义3:v2v模式下,数据的接收车辆集合。若车辆vsni发送数据d(vsni),用vrn(d(vsni))表示数据d(vsni)的接收车辆集合。对于
根据定义3,vsn(t)中的车辆准备发送的数据集合为d(vsn(t)),处于v2v模式的接收车辆集合可表示为:
vrn(d(vsn(t)))=∪d(vsni)∈d(vsn(t))vrn(d(vsni))(1)
在上述集合的基础上,建立调度算法的服务容量定义:
定义4:加权服务容量scw(t)。wni(t)表示调度周期t中车辆ni的服务权值。加权调度容量scw(t)定义为调度周期内,被服务的车辆权值之和。
在上述定义的基础上,数据传输调度是在给定车辆可用信道集合ch={ch0,ch1,…,ch6},数据集d={d1,d2,…,dn},车辆集合为n(t)={n1,n2,…,nm(t)},车辆请求的数据集合q(t)={qn1,qn2,…,qnm(t)},每台车辆的服务权值集合w(t)={wn1,wn2,…,wnm(t)}的基础上,最大化加权服务容量。
调度过程首先将车辆分为nr(t)和nv(t)两个集合,然后将要传输的数据项dr(t)通过v2r模式在ch0信道广播。同时在v2v模式的车辆中,选定数据发送车辆集vsn(t)和对应的数据集d(vsn(t))。如果用s(ch,nr,nv,q,d,w)表示数据传输调度集合,那么调度优化模型如式(2)所示:
初始冲突图的信道分配以是否存在同道干扰为冲突的判定依据,因而可以等效为二维装箱问题。调度冲突图中所有不相邻的顶点正好构成冲突图的加权独立集,本方法调度过程的目标则是最大化整体加权调度容量,因而可以等效为求解调度冲突图的最大加权独立集问题。综上分析,数据传输调度为np-hard问题。
首先查找isv2r(t)和isv2v(t)中所有存在冲突的调度操作,计算每个调度操作的优先级作为调度权值,以此构建初始冲突图;其次,根据初始冲突图进行信道分配,构建调度冲突图;然后,将调度方案的构造过程建模为最大加权独立集问题;最后,给出rsu传输的数据包dr(t),及其接收车辆集合rn(dr(t)),v2v模式下发送车辆集合vsn(t),发送数据包集合d(vsn(t)),接收车辆集合vrn(d(vsn(t)))以及各条链路所使用的的信道ch。下面分项阐述各部分内容。
更进一步地,关于调度优先级。优先级的分配考虑两方面因素,一是在服务区逗留的时长,二是需要请求传输的数据量。定义车辆在服务区域逗留的时长
更进一步地,构建初始冲突图的前提是判断初始调度操作的冲突关系。首先确定v2r模式的车辆集合nrsu(t),构建初始调度操作集合isv2r(t)和isv2v(t),并判断初始调度操作的冲突关系,然后计算每一个操作的权值。
为确定nrsu(t),算法检查服务队列元素<ni,qni,cni,p(ni)>。只要车辆进入rsu的服务区域,便向rsu发送周期性更新信息。为构建isv2r(t),对
信道分配与数据传输调度。在初始冲突图的基础上分配信道,得到调度冲突图。假设有冲突图gi,信道分配过程考虑由同道干扰造成的冲突,仅针对冲突边集合ei(t)。为简单起见,用vi代表冲突图的每个顶点,可用信道个数为b,则信道分配过程可表示为映射:
f(vi)=chj,1≤j≤b(3)
信道分配映射必须满足如下条件:第一,各条链路所占用的信道不超过可用信道总数;第二,存在冲突的两条链路之间不能分配相同的信道。
根据冲突图gi构造|v(t)|×|v(t)|阶冲突矩阵σ=(σij)|v(t)|×|v(t)|,
其中,αij∈{-2,λ},λ∈z+。确定参数αij的值便可确定信道的分配关系。根据矩阵σ的定义,如果可用信道数为b,可建立定理1如下:
对于信道映射f(vi)=chj,1≤j≤b和矩阵σ。如果f(vi)=f(vj),则αij=λ,否则αij=-2。那么当λ≥2(b-1)时,矩阵σ具有半正定性。
为确定矩阵σ的元素,根据定理1可建立求解矩阵σ的半定规划模型:
在求解上述模型过程中,难以严格保证σ的元素σij=-2或σij=λ,通常是σij≈λ或σij≈-2。这里采用逐项迭代近似处理的方案解决这一问题,算法1详细步骤如下:
算法1基于半定规划的信道分配算法
算法1使用了内点法求解半定规划模型公式(5),依次确定矩阵各元素的值从而解出冲突矩阵σ(算法1,8-20行)。冲突矩阵σ,反映了各操作间的同道冲突关系,据此通过贪心着色过程可完成信道分配。完成信道分配的顶点之间的冲突边从集合ei(t)中去除,形成调度冲突图(算法1,21-34行)。如果可用信道不够,则冲突边仍保留(算法1,35-39行)。算法最终得到调度冲突图gs。gs中没能分配信道的操作则需要通过操作调度算法完成数据传输。
由于本方法主要研究rsu服务范围内的数据传输调度,采用sumo+ns2耦合仿真平台对提出的调度方法进行仿真验证,所以仿真场景采用设置单一rsu的直线路段。道路采用双向6车道。逐步增加车流密度,车速相应降低,对称车道参数相同,模拟6种不同的交通环境,如表1所示。在sumo中,车辆的行驶速度设为平均值后,引入5%的标准差。
表1交通仿真参数
rsu的覆盖范围为500m,车辆通信半径150m。车辆在驶过rsu服务区时,发起数据传输请求的位置服从均匀分布,数据请求的次数不超过10次。调度周期为1s。rsu数据队列长度为100,数据项di被访问的概率服从均匀分布。本发明所述的多信道环境下车联网v2r/v2v协作数据传输调度方法与现有技术中的cdd方法和if广播方法在车联网中的应用形式进行了对比。cdd方法支持数据传输调度,if方法则是可用于多跳无线网络的广播机制,在if方法中采用最多请求的数据广播策略。
仿真过程验证了三种方法的平均加权服务容量(weightedservicecapacity)、服务比率(serviceproportion)、请求完成度(completionprobability)和服务时延(servicedelay)。服务容量是调度周期内服务的车辆数目;广播效率是通过rsu广播的数据量与数据请求量之比;服务比率是将已完成的数据请求分为直接由rsu服务的请求和通过邻居车辆完成服务的请求两部分,两部分完成的请求数之比;服务完成度是已完成的服务请求与总体数据请求数之比;服务时延是从数据请求提交到数据服务完成所需时长,单位为秒。
图2反映了三种方法在不同交通场景条件下的加权服务容量。三种方法都能利用直接广播和多跳传输两种通信机制,服务容量不仅包含直接从rsu获取数据的车辆还包含通过v2v信道从其他车辆获取数据的车辆。实验显示,随着车辆密度的增加,车辆在rsu服务区域内的时间延长,三种方法的加权服务容量逐步增加。if和cdd方法没有考虑多信道环境,在单信道条件下的广播和多跳传输存在信道冲突,对服务容量造成一定影响。由于cdd方法采用了数据传输权重机制,优先调度服务权重更高的任务,在一定程度上缓解了信道冲突带来的时间开销,相比于if的概率广播机制,有效提升了服务容量。本发明所述方法在多信道分配的基础上按任务的权重完成传输调度,进一步提升了服务容量。
图3反映了本发明所述方法在各种交通场景下,通过rsu传输完成的服务容量。if方法主要依赖广播通信,而且优先调度有最多请求的数据进行广播,当交通密度增加时,rsu服务容量具有显著提升。而cdd和mcv-dts不仅要考虑rsu直接服务的车辆,还要考虑通过v2v通信的车辆,因为部分车辆的数据请求会通过v2v模式完成。所以调度机制的使用,并未提升rsu的广播服务容量。实验结果显示,if方法由于主要通过广播机制传输热度最高的数据,具有最好的广播服务容量,而本文所述方法和cdd不能直接提升v2r广播容量,且两者的rsu服务容量并无显著区别。
图4反映了本发明所述方法的服务比率。从图中可以看出,if方法在不同交通场景下具有稳定的服务比率,cdd和mcv-dts在交通负载增加时,服务比率呈下降趋势。在交通负载较低时,三种方法服务比例均较高,说明多数车辆通过v2r广播直接获取数据。这是由于车辆密度较低时,v2v模式的数据传输较少,大量数据通过v2r广播完成传输。随着车辆密度的增加,网络连通度增大,cdd和mcv-dts方法可以将部分数据请求通过调度由v2v通信完成,从而限制了v2r通信的服务容量,降低了服务比例。在v2v通信模式下,本发明所述方法通过多信道传输调度,可以满足更多的车辆数据请求,所以当网络密度增加时表现出更低的服务比例。由于rsu只能逐个数据包进行广播,所以if方法通过v2r通信只能满足小部分的数据请求,总体服务比例较高且保持稳定。
图5显示了三种方法的服务完成度。随着交通负载的增加,服务完成度逐步上升。这是因为车辆密度较低时,车辆快速通过服务区,提交的服务请求较少。当车辆密度增加,车辆提交的请求也开始增加,导致服务率的下降。当交通负载进一步增加,车辆速度继续下降,在服务区域内滞留的时间较长,调度周期增加,所以数据请求完成度逐步增加。由此可知,本发明所述方法在各种交通场景下,尤其是在车辆密度较大的情况下取得了较好的服务完成度。
图6表示了三种方法在不同交通场景下的服务延迟。首先,三种方法在交通负载较低时具有相近的性能表现,随着负载的增大,三种方法服务时延逐步上升。这是因为当交通负载较低时,服务比例较高,v2r通信占主导地位,数据主要通过rsu广播完成传输,时延较低。当交通负载增大,v2v通信承担了部分的数据请求服务,此时if方法中的车辆只能排队等待v2r通信模式的广播,而cdd方法和本发明所述方法则可通过v2v通信扩展服务范围,实现v2r/v2v并发传输,因而具有相近的性能表现。其中,本发明所述方法通过多信道传输进一步提升了并发服务能力,所以可有效降低服务等待时间,提升服务完成度。
本发明所述方法根据车辆的数据传输请求生成初始调度操作集,并建立调度操作之间的冲突条件,以此根据初始调度操作之间的冲突关系构建初始调度冲突图和冲突矩阵。证明了冲突矩阵的正半定性,从而采用半定规划方法进行信道分配,并建立调度冲突图。然后根据车辆在服务区域的滞留时间赋予其不同的服务权重。为了让权重较大的车辆优先获得传输调度服务,本发明所述方法通过选取最大加权独立集的调度方案,通过v2r/v2v协作传输完成调度过程。交通仿真实验表明,本发明所述方法可以有效利用车联网的多信道特性提升网络服务容量。