背景技术
随着车载通信***的发展和移动自组网技术的逐渐成熟,为了实现对车辆的实时、动态、智能化管理,国际上专门开发了针对车联网的DSRC(Dedicated Short RangeCommunications,专用短程通信)协议。DSRC通过信息的双向传输,将车辆与车辆、车辆和路侧的信息采集设备有机的连接起来,支持点对点、点对多点通信。
移动分时隙ALOHA(Mobile Slotted Aloha,MS-ALOHA)机制是一种基于分时方式的DSRC MAC(Medium Access Control;媒体接入控制)层接入和资源分配机制,资源分配基于帧结构以slot(时隙)为单位。参阅图1所示,每N个slot构成一个帧(记为Frame),每个帧中的slot的编号为0~N-1,在帧之间循环往复。每个slot中只允许一个车辆进行发送,即车辆之间为TDMA(Time Division Multiple Access,时分复用接入)模式。车辆在所占用的时隙上中不仅发送应用层的数据,而且还需要发送FI(Frame Information,帧信息),在FI中会指示一个帧中各个slot的占用状态。
MS-ALOHA机制的基本思想是:任意一节点(如,车辆)加入网络时,需要通过监听帧中的空闲时隙资源占用一个时隙,如果节点不主动放弃该所占用的时隙资源,则可一直使用占用的时隙传输数据,在这期间其他节点不能使用该时隙。在占用的时隙上,节点需要周期性发送FI,FI中携带节点获得的与该节点相距两跳范围内的其他节点占用时隙的情况,指示节点感知到的每个时隙的占用状况信息(也称时隙状态信息、时隙信息),对每个时隙给出该时隙的:时隙占用状态信息,占用时隙的节点对应的STI(Source TemporaryIdentifier,临时资源标识)或可称为节点标识,占用时隙的节点的优先级状态(也可认为是占用时隙节点在该时隙发送的数据对应的优先级状态);其中,时隙占用状态信息可以表达时隙的四种占用状态:(00)表示时隙为空闲状态,(10)表示时隙已被与本节点相距一跳的其他节点占用(简称为一跳节点占用)或本节点占用,(11)表示时隙已被与本节点相距两跳的其他节点占用(简称为两跳节点占用),(01)表示时隙已被其他两个以上的节点占用,即为碰撞状态;在非自身占用的时隙,每个节点通过监听相邻一跳的节点发送的FI,能够判断相邻三跳范围内每个节点占用时隙的情况,当发现本节点占用的时隙资源与其他节点使用的资源发生碰撞时,重新预约新的空闲时隙。为方便后续描述,本发明中对FI及其内部信息内容统一采用如下描述方式:
节点发送帧信息(FI)称为:FI消息,也可简称为FI;
FI中指示的每个时隙对应的占用状况信息称为:FI消息中每个时隙对应的时隙信息域;
FI中每个时隙对应的占用状况信息中给出的三类信息(即:时隙占用状态、STI、优先级信息)分别称为:每个时隙的时隙信息域中包含的时隙占用状态子域、STI子域、优先级子域;
需要说明的是,上述描述方式只是为了后续描述方便而规定,当然也可以采用其他的描述方式。
节点在自身占用的时隙生成并发送FI消息,需要按照一定规则填写各个field(域),包括时隙占用状态子域、STI子域以及优先级子域。发送完毕后,节点会清空所发送的FI信息。
上述技术方案,均是以一个节点仅占用一个时隙资源的前提设立的。随着技术的发展,为了支持丰富的车载通信***应用,例如,单跳广播的周期性心跳消息、事件触发的消息和用于支持信息娱乐的消息等等,MAC(Medium Access Control;媒体接入控制)层协议允许一个节点在一帧内占用多个时隙资源。
在占用多个时隙的情况下,需要实现高层数据和时隙资源的映射,进行有效的资源调度,同时需要有效组织处理多时隙间的信息,协调多时隙间的资源。
现有ALOHA机制未对以上问题提出有效解决方案,而是简单的认为某个节点的多时隙资源之间独立操作,每个时隙的操作都按照单时隙处理,然而此种方式并不能灵活、有效地处理、协调多时隙资源,往往会出现一些应用差错。
有鉴于此,需要提出一种新的多时隙资源的处理方法克服上述缺陷。
附图说明
图1A为本发明实施例中时隙状态向量(表)示意图;
图1B为本发明实施例中多时隙资源处理流程图;
图2为本发明实施例中第一节点接收FI处理示意图;
图3为本发明实施例中第一节点发送FI处理示意图;
图4为本发明实施例中第一节点发送FI后重置时隙状态向量(表)处理示意图;
图5为本发明实施例中第一节点采用单表方案进行多时隙资源申请处理示意图;
图6为本发明实施例中第一节点采用单表方案接收FI后对时隙状态向量(表)进行时隙状态转换处理示意图;
图7为本发明实施例中处理周期n内的时隙0到达时的时隙状态向量(表);
图8为本发明实施例中在处理周期n内的时隙0发送FI之前的时隙状态向量(表);
图9为本发明实施例中第一节点在处理周期n内的时隙0发送FI处理示意图;
图10为本发明实施例中第一节点采用单表方案进行多时隙资源维护处理示意图;
图11为本发明实施例中处理周期n+1内的时隙6到达时的时隙状态向量(表);
图12为本发明实施例中处理周期n+1内的时隙6发送FI前的时隙状态向量(表);
图13为本发明实施例中第一节点在处理周期n+1内的时隙6发送FI处理示意图;
图14为本发明实施例中在处理周期n+1内的时隙0发送FI前的时隙状态表时隙状态向量(表);
图15为本发明实施例中第一节点在处理周期n+1内的时隙0发送FI的过程中信息域优先级变化处理示意图;
图16为本发明实施例中第一节点采用单表方案进行多时隙资源释放处理示意图;
图17为本发明实施例中在处理周期n+2内的时隙4发送FI前的时隙状态向量(表);
图18为本发明实施例中在自占主时隙发送的FI中不包含撤销时隙信息示意图;
图19为本发明实施例中时隙状态向量(表)重置操作示意图;
图20为本发明实施例中在处理周期n+2内的时隙6发送FI前的时隙状态向量(表);
图21为本发明实施例中第一节点在处理周期n+2内的时隙6发送FI优先级改变处理示意图。
图22为本发明实施例中第一节点功能结构示意图。
具体实施方式
在车载通信***中的MS-ALOHA机制下,当一个节点(以下称为第一节点)同时占用多个时隙时,为了便于资源管理,本发明实施例中,无论第一节点同时占用几个时隙,第一节点内部只维护一个时隙状态向量(表)来进行接收消息、发送消息的处理,此种方案又称为单表方案。为了便于描述,假设***中一帧内有N个时隙,则一种可能的时隙状态向量(表)如图1A所示。
在时隙状态向量(表)中,每个时隙对应时隙状态信息存储为时隙信息单元,记为Unit,存储接收发送处理流程中所需要的各类信息。
另一方面,本发明实施例中,第一节点可以占用多个时隙资源,而当第一节点占用多个时隙资源时,为了对占用的多个时隙资源进行维护,将与第一节点相关的时隙分为以下几类:
1、自占时隙:本发明实施例中定义节点成功占用发送FI和/或数据包的时隙为节点的自占时隙。
而具体的,第一节点的自占时隙又分为以下两种:
自占主时隙:第一节点自占时隙中某个特定的时隙。第一节点只能在自占主时隙时进行时隙管理操作,例如:确定下一帧周期中发送的数据包、确定在下一帧中是否需要申请新时隙、是否需要释放占用的时隙等等,在从时隙中不进行时隙数目管理操作。
本发明实施例中,又可以将自占主时隙称为重置时隙,这是因为第一节点对时隙状态向量(表)的维护管理是周期性的,周期长度为帧周期,称为处理周期;第一节点可以在每个处理周期内的自占主时隙对维护的时隙状态向量(表)进行重置操作,所谓重置操作即是指在自占主时隙发送FI后,第一节点对时隙状态向量(表)中除了自占时隙外的其他时隙对应的时隙信息单元进行初始化处理,而时隙状态向量(表)中自占时隙对应的时隙信息单元不进行初始化处理。
自占从时隙:自占时隙中,除主时隙外的节点其它自占时隙。第一节点在自占从时隙上只进行FI和/或数据发送,不进行时隙管理、时隙状态向量(表)清空等操作。
2、申请时隙:MAC层比较缓存队列中的需要发送的高层数据包的数据量和节点的自占时隙提供的传输容量,如果数据包的数据量大于自占时隙所可以提高的传输容量时所申请的新的时隙。
3、撤销时隙:在自占主时隙取消上一帧周期中自占时隙的占用,取消的自占时隙称为撤销时隙。
通常情况下,第一节点只在时隙状态向量(表)中维护自占时隙对应的时隙信息单元,以及其它节点占用时隙对应的时隙信息单元,而申请时隙和撤销时隙不体现在时隙状态向量(表)中。第一节点在内部需要另外设计信息列表,分别记录申请时隙和撤销时隙的相关信息。
下面结合附图对本发明优选的实施方式进行详细说明。
参阅图1B所示,本发明实施例中,第一节点针对多时隙资源采用单表机制处理的详细介绍如下:
步骤100:第一节点针对帧周期中包含的各个时隙,统一维护保存有各个时隙的时隙状态信息的时隙状态向量(表)。例如,具体如图1所示。
步骤110:第一节点在每个帧周期中自身使用的时隙上向其他节点发送FI,以及在每个帧周期中非自身使用的时隙上接收其他节点发送的FI,并根据接收到的FI对本地维护的上述时隙状态向量(表)中各个时隙对应的时隙状态信息进行更新。
其中,所谓第一节点自身使用的时隙,即是指第一节点使用的自占时隙和申请时隙,在到达申请时隙时,第一节点会先判断申请时隙是否已被其他节点占用,若确定未被其他节点占用,则第一节点会将申请时隙设置为自占时隙,再使用新转换的自占时隙发送FI,因此,实际上第一节点发送FI的时隙均可称为自占时隙,一部分是预先配置的自占时隙,而另一部分为由申请时隙转换的自占时隙。
本发明实施例中,第一节点在每一个帧周期中的非自身使用的时隙上接收到其他节点发送的FI时,需要根据接收到的FI对时隙状态向量(表)中各个时隙对应的时隙信息单元中的时隙状态信息进行更新,其示意操作如图2所示。即第一节点在每一个非自身使用的时隙仅参考接收的其它节点发送的真实FI,对本地保存的时隙状态向量(表)中各时隙对应的时隙状态信息进行更新。例如,其它节点通过空口传输FI,第一节点通过物理层进行解调、解码等处理,在本时隙上报接收到的FI给本地MAC层,将其他节点发送的FI作为输入,对本地保存的时隙状态向量(表)中保存的各时隙对应的时隙状态信息进行时隙状态转换的处理。
进一步地,第一节点除了参考在非自身使用的时隙接收的其他节点发送的真实FI消息之外,还需要结合在自身使用的时隙接收到的本节点发送的虚拟FI,对本地保存的时隙状态向量(表)中各时隙对应的时隙状态信息进行更新。例如,第一节点占用多个时隙资源时,当在某个自身使用的时隙上发送FI时,第一节点在使用的其它时隙无法从空口收到其他节点发送的真实FI,但是由于第一节点可知当前空口发送的FI是本节点发送的FI,因而在其他不发送FI的自身使用的时隙上,将正在发送的本节点的FI作为输入,进行时隙状态转换的处理,从而对本地保存的时隙状态向量(表)中保存的各时隙对应的时隙状态信息进行更新。
本发明实施例中,第一节点在到达每一个需要发送FI的时隙(包括自占主时隙、自占从时隙以及申请时隙)时,根据当前时隙对应的时隙状态向量(表)中记录的各个时隙的时隙状态信息组织生成FI并发送,处理流程示意图如图3所示。
另一方面,第一节点仅在自占主时隙对本地维护的时隙状态向量(表)进行重置操作。包括:在到达自占主时隙并发送FI后,第一节点将时隙状态向量(表)中非自占时隙对应的时隙信息单元进行重置,将时隙状态向量(表)中自占时隙对应的时隙信息单元进行保留。例如,假设节点占用了时隙1和时隙N-1,则发送FI消息后,第一节点进行重置操作处理的时隙状态向量(表)如图4所示。
本发明实施例中,由于各节点可以使用多个时隙资源,因此,第一节点根据接收到的FI,可能判定自身使用的时隙资源发生碰撞,即第一节点根据接收到的FI,确定自身使用的时隙被至少一个其他节点指示占用。此时,第一节点需要在本地维护的时隙状态向量(表)中,保留未发生碰撞的自占时隙和申请时隙对应的时隙信息单元,清除时隙状态向量(表)中的其它时隙对应的时隙信息单元,同时选择距离发生碰撞的自占主时隙最近的未发生碰撞的自占时隙,将其调整为为新的自占主时隙;此时,新的自占主时隙由于还没有获得完整一帧监听的FI,因而不能申请新的时隙。
下面采用几个具体应用场景对上述实施例进行详细说明。
第一种应用场景:第一节点采用单表方案进行多时隙资源的申请处理,参阅图5所示,第一节点在初始时,只拥有一个自占时隙,即时隙4。
A1、在到达处理周期n中的时隙请时隙0之前的各时隙,第一节点接收到FI后,对时隙状态向量(表)进行时隙状态转换处理,具体如图6所示。
处理周期和帧周期的长度一致,但时间起点不一样。处理周期是第一节点内部从接入开始计时的,而帧周期是绝对时间概念。
如果各时隙进行时隙状态转换处理后,时隙状态向量(表)中申请时隙时隙0对应的时隙信息单元中的时隙状态仍为空闲,则持续监听后续时隙,否则,进行申请时隙碰撞后处理。
B1、当到达处理周期n中的申请时隙时隙0时,第一节点根据自身维护的如图7所示的时隙时隙状态向量(表)判断时隙0仍为空闲,没有发生碰撞或被其它节点占用(包括一跳节点占用、两跳节点占用、三跳节点占用等等)时,第一节点将维护的时隙状态向量(表)中时隙0的时隙状态置为本节点占用状态10,STI填写本节点的STI,优先级填写在上一处理周期n-1中接收并缓存的数据包a对应的低优先级,具体如图8所示。
C1、第一节点根据如图8所示时隙状态向量(表),生成FI并发送,FI生成过程如图9所示。同时,第一节点在时隙0需要发送低优先级数据包a。
此时,第一节点拥有2个自占时隙,即时隙4和时隙0,无申请时隙。
第二种应用场景为:第一节点采用单表方案进行多时隙资源的申请处理,在多时隙资源申请过程结束后,开始进入多时隙资源维护过程。
A2、第一节点在新的自占主时隙(即处理周期n+1中的时隙4)到达前的各时隙(如,处理周期n中的时隙2)接收到FI,第一节点根据接收到的FI对本地维护的时隙状态向量(表)进行更新,处理过程如图6所示。
B2、第一节点在新的自占主时隙(即处理周期n+1中的时隙4)到达前,在处理周期n中的时隙6、时隙7以及处理周期n+1中的时隙2分别接收到高层递交的3个数据包c(低优先级)、d(高优先级),e(高优先级),并将c、d和e这3个数据包都保存在第一节点的发送缓存中,在处理周期n中不进行发送。
C2、当到达新的自占主时隙(即处理周期n+1中的时隙4)时,第一节点统计前一处理周期n中接收到3个数据包,而第一节点在处理周期n+1中已有2个自占时隙资源(时隙4和时隙0),显然,数据包的数目3大于第一节点的自占时隙数目2,那么第一节点还需要在处理周期n+1中申请第3个时隙资源,则第一节点根据本地维护的时隙状态向量(表)选择空闲时隙时隙6为申请时隙,此时,第一节点拥有2个自占时隙,即时隙4和时隙0,以及拥有1个申请时隙,即时隙6。
D2、第一节点在新的自占主时隙(即处理周期n+1中的时隙4)上发送FI之前,本地维护的时隙状态向量(表)如图8所示,时隙状态向量(表)中只有自占时隙(时隙4、时隙0)对应的时隙信息单元,申请时隙时隙6不体现在时隙状态向量(表)中,只记录在申请时隙列表中。
E2、第一节点根据如图8所示的时隙状态向量(表)生成自占主时隙(即处理周期n+1中的时隙4)上要发送的FI并发送,FI中不体现申请时隙的信息,即FI中时隙6的时隙信息域的时隙状态仍指示为空闲。
F2、除发送FI外,第一节点还需要发送高层数据包,由于时隙4为自占主时隙,因此时隙4发送的数据包为缓存队列队首的高优先级数据包d。
G2、在到达处理周期n+1中的申请时隙时隙6之前的各时隙,第一节点接收到FI后,对时隙状态向量(表)进行时隙状态转换处理,具体如图6所示。
H2、当到达处理周期n+1中的申请时隙时隙6时,第一节点根据本地维护的时隙状态向量(表),具体如图11所示,判断时隙6仍为空闲,没有发生碰撞或被其它节点占用(包括一跳节点占用、两跳节点占用、三跳节点占用等等)时,第一节点将维护的时隙状态向量(表)中时隙6的时隙状态置为本节点占用状态10,STI填写自身的STI,由于缓存队列数据包向申请时隙映射时,需要考虑后面还有自占时隙发送高优先级数据,所以从队列首跳过自占时隙需要发送的数据包,查找到申请时隙需要发送低优先级数据包c,时隙信息单元中的优先级填写数据包c对应的低优先级,具体如图12所示。
I2、第一节点根据时隙状态向量(表)生成FI并发送,FI生成过程如图13所示,同时,第一节点发送低优先级数据包c;此时,第一节点拥有3个自占时隙,即时隙4、时隙6和时隙0,无申请时隙。
J2、在到达处理周期n+1中的自占时隙时隙0之前的各时隙,第一节点接收到FI后,对时隙状态向量(表)进行时隙状态转换处理,具体如图6所示。
K2、当到达处理周期n+1中的自占时隙时隙0时,第一节点将维护的时隙状态向量(表)中时隙0对应的STI填写自身的STI,由于缓存队列数据包向自占时隙映射时,只需要从队首取到自占时隙需要发送的高优先级数据包e,因而时隙0对应的时隙信息单元中的优先级从低优先级修改为数据包e对应的高优先级,具体如图14所示。
L2、第一节点根据如图14所示时隙状态向量(表)生成FI并发送,FI生成过程如图15所示,同时,第一节点发送高优先级数据包e;此时,第一节点拥有3个自占时隙,即时隙4、时隙6和时隙0,无申请时隙。
M2、第一节点持续监听后续时隙,等待下一个自占主时隙到来。
第三个应用场景:第一节点采用单表方案进行多时隙资源释放处理,在资源维护过程中,释放时隙资源如图16所示。
A3、第一节点在新的自占主时隙(即处理周期n+2中的时隙4)到达前的时隙(如,时隙2)接收到FI,则第一节点根据接收到的FI对本地维护的时隙状态向量(表)进行更新,处理过程如图6所示。
B3、第一节点在新的自占主时隙(即处理周期n+2中的时隙4)到达前,在处理周期n+1中的时隙7以及处理周期n+1中的时隙3分别接收到高层递交的2个数据包f(高优先级)、g(高优先级),将f、g这2个数据包都保存在第一节点的发送缓存中,在处理周期n+1中不进行发送。
C3、当到达新的自占主时隙(即处理周期n+2中的时隙4)时,统计前一处理周期n+1中接收到的数据包数目为2个数据包,由于数据包的数目小于第一节点的自占时隙数目3,则第一节点决定在本处理周期n+2中撤销已有自占时隙中最远的时隙,即时隙0。
在新的自占主时隙(即处理周期n+2中的时隙4)发送FI前的时隙状态向量(表)如图14所示。经过时隙管理操作,确定释放时隙0,则时隙状态向量(表)中清除撤销时隙对应的时隙信息单元,则隙状态向量(表)中只有自占时隙对应的时隙信息单元,具体如图17所示。同时,第一节点将撤销时隙从本地维护的自占时隙列表中删除,此时,第一节点拥有2个自占时隙,即时隙4、时隙6,无申请时隙。
D3、第一节点根据如图17所示时隙状态向量(表),生成新的自占主时隙(即处理周期n+2中的时隙4)上要发送的FI并发送,FI中不体现撤销时隙的信息,即FI中时隙0的时隙信息域的时隙状态仍指示为空闲,具体如图18所示。除发送FI外,第一节点还需要发送高层数据包,由于时隙4为自占主时隙,因此,时隙4发送的数据包为缓存队列队首的高优先级数据包f。
E3、第一节点在新的自占主时隙(即处理周期n+2中的时隙4)发送FI后,进行时隙状态向量(表)重置操作,具体如图19所示。
F3、在到达处理周期n+2内的时隙6之前的各时隙,第一节点接收到其他节点发送的FI后,对时隙状态向量(表)进行时隙状态转换处理,具体如图6所示。
G3、当到达处理周期n+2内的时隙6时,第一节点将维护的时隙状态向量(表)中时隙6对应的STI填写自身的STI,由于缓存队列数据包向自占时隙映射时,只需要从队首取到自占时隙需要的发送高优先级数据包g,因而时隙6对应的时隙信息单元中的优先级为数据包g对应的优先级,优先级从低优先级改为数据包g对应的高优先级,时隙状态向量(表)如图20所示。
H3、第一根据时隙状态向量(表)生成FI并发送,FI生成流程如图21所示,同时,发送高优先级数据包g;此时,第一节点拥有2个自占时隙,即时隙4、时隙6,无申请时隙。
I3、在到达处理周期n+2中的时隙0之前的各时隙,第一节点接收到其他节点发送的FI后,对时隙状态向量(表)进行时隙状态转换处理,具体如图6所示。
J3、当到达处理周期n+2中的时隙0时,由于时隙0既不是自占从时隙,也不是申请时隙,第一节点只会在时隙0进行接收处理,不会进行发送处理。
K3、节点持续监听后续时隙,等待下一个自占主时隙到来。
基于上述实施例,参阅图22所示,本发明实施例中,第一节点包括:维护单元220和控制单元221,其中,
维护单元220,用于针对帧周期中包含的各个时隙,统一维护保存有各个时隙的时隙状态信息的时隙状态向量;
控制单元221,用于在每个帧周期中自身使用的时隙上向其他节点发送FI,以及在每个帧周期中非自身使用的时隙上接收其他节点发送的FI,并根据接收到的FI对本地维护的所述时隙状态向量中各个时隙对应的时隙状态信息进行更新。
综上所述,本发明实施例中,提出了采用单表方案进行多时隙资源处理的构思;满足了车联网多种业务类型的多时隙资源操作的需求,能够有效地处理、协调多时隙资源,并且采用一个时隙状态向量(表)进行节点多时隙资源处理,存储容量小,处理负荷均匀,不会给***造成过多的运行负荷。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。