具体实施方式
为方便后续描述,本发明实施例中对FI及其内部信息内容统一采用如下描述方式:
节点之间发送的FI(也可称为FI消息)中指示的每个时隙对应的占用状况信息称为:FI中每个时隙对应的时隙信息域;
FI中每个时隙对应的占用状况信息中给出的三类信息(即:时隙占用状态、STI、优先级信息)分别称为:每个时隙的时隙信息域中包含的时隙占用状态子域、STI子域、优先级子域;
需要说明的是,上述描述方式只是为了后续描述方便而规定,当然也可以采用其他的描述方式。
本发明实施例中,在对占用时隙的维护过程中,节点需要维护(N-1)*N时隙状态缓存表,用来存储对应时隙上接收到的相邻节点发送的FI中携带的各时隙的时隙信息域。例如,参阅图3所示,图3中展示的时隙状态缓存表的维数为N*N维,由于节点本身在所占时隙发送的FI不需要存储,因此节点实际维护的时隙状态缓存表为N-1行(假设每个节点只占用一个时隙),本发明实施例中后续内容中描述的(N-1)*N时隙状态缓存表均是指不保存在节点本身占用时隙发送的FI的时隙信息;其中,时隙对应的“检测域”是指在该时隙接收的FI中包含的发送该FI的时隙对应的时隙信息域,而时隙对应的“非检测域”是指在该时隙接收的FI中包含的非发送该FI的时隙对应的时隙信息域,其中,default值为缺省值。
节点在一个时隙上接收到FI时,总是用新接收到的FI中携带的时隙信息内容覆盖时隙状态缓存表中对应时隙所在行的信息内容(即覆盖一个帧周期前设置的内容)。具体过程如下:
节点在自身占用的时隙生成并发送FI,需要按照一定规则填写各个field(域),包括时隙占用状态子域、STI子域以及优先级子域。发送完毕后,节点会清空所发送的FI信息。
节点在非自身占用的时隙上,需要接收周围节点发送的FI,并根据接收到的FI更新时隙状态缓存表,在到达本节点自身占用的时隙前判断自身占用的时隙是否维护成功及非自身占用时隙中各时隙的状态,其中,当在非自身占用的时隙上没有接收到FI,节点会将时隙状态缓存表中该时隙对应的行的各域填default值。Default值当前按空闲状态(00)处理,当然也可以定义其他处理方式。
通过上述方式,节点实时的获得N*N矩阵形式维护的时隙状态信息。具体的FI生成过程如下:
A、对于自身占用时隙,填写占用状态((10)),且填写自身的STI和优先级信息;
B、对于其他时隙,考察(N-1)*N时隙状态缓存表中对应的列:
若时隙对应的列中其他N-1个元素都是空闲状态((00))、default状态或两跳占用状态11,则将该时隙状态填写为空闲状态((00))(不填写STI和优先级信息);
若时隙对应的检测域为占用状态((10)),而且其他N-1个元素都是空闲状态((00))、default状态、两跳占用状态11,或与检测域STI相同的占用状态((10)),则将该时隙状态填写为占用状态((10))(填写对应的STI和优先级信息);
若时隙对应的列中的其他N-1个元素中,出现了2个及其以上的占用状态((10)),且STI不同,则将该时隙状态填写为碰撞状态((01))(填写优先级最高的STI,当优先级相同时,随机选一个填写,填写最高的优先级):
若时隙对应的检测域为default状态,而且其他N-1个元素中,一个或多个为占用状态((10)),且它们的STI都相同,则将该时隙状态填写为两跳占用状态11(填写STI和优先级)。
发送完毕后,清空N*N时隙状态缓存表中上述时隙对应的行。
基于上述实施方案,为了提高时隙状态信息的维护准确性,提升车辆行驶安全性,本发明实施例中,除采用上述FI生成过程,进一步地,若节点在非自身占用的时隙n上接收的信号的信号强度大于等于预设的信号门限值且无法正确解析FI,则节点将时隙n对应的FI中包含的时隙n的时隙状态设置为碰撞状态,并根据设置结果更新本地对应时隙n维护的时隙状态信息。
下面结合附图对本发明优选的实施方式进行详细说明。
参阅图4所示,本发明实施例中,节点维护时隙状态信息的详细流程如下:
步骤400:节点在非自身占用的时隙n接收其他节点发送的FI,n为时隙序号,取值为整数。
本发明实施例中,所谓时隙n即是指任意一个非节点占用的时隙。而所谓的节点即是指接入本***的各类车辆。
步骤410:节点确定接收信号的信号强度大于等于预设的信号门限值且无法正确解析FI时,将时隙n对应的FI中包含的时隙n的时隙状态设置为碰撞状态。
例如:节点在时隙n上检测到信号强度很高的接收信号,此时,节点在物理层判定接收信号的信号强度大于等于预设的信号门限值,则认为时隙n已被某个节点占用,但由于FI解码不成功,即解析不出空口接收到的其他节点发送的FI,则节点在物理层将时隙n对应的FI中包含的时隙n的时隙状态设置为碰撞状态(01),接着,节点将针对时隙n设置完毕的FI由物理层发往MAC(Medium Access Control,媒体接入控制)层。
较佳的,节点在物理层将时隙n对应的FI中包含的时隙n的时隙状态设置为碰撞状态(01)之后,还可以进一步地将时隙n对应的FI中包含的占用时隙n的节点的优先级设置为***中的最高优先级,将时隙n对应的FI中包含的占用时隙n的节点的STI设置为缺省值;然后,再将针对时隙n设置完毕的FI由物理层发往MAC层。
较佳的,节点在物理层将时隙n对应的FI中包含的时隙n的时隙状态设置为碰撞状态(01)之后,还可以将时隙n对应的FI中包含的其他时隙的时隙状态均设置为空闲状态(00),以及进一步的,节点还可以将时隙n对应的FI中包含的其他时隙的占用节点的优先级和其他时隙的占用节点的STI均设置为缺省值。接着,节点会将针对时隙n设置完毕的FI发往MAC层。
步骤420:节点根据设置结果更新本地对应时隙n维护的时隙状态信息。
具体为:节点在MAC层根据之前在物理层对应时隙n设置的FI更新本地维护的时隙状态缓存表中时隙n对应的时隙状态信息,从而当节点在自身占用的时隙m(m为时隙序号)向其他节点发送FI时,可以向其他节点通知时隙n的时隙状态为碰撞状态,这样,将时隙n作为自占时隙的其他节点可以根据节点的通知重新选择自占时隙,而不会继续使用时隙n,从而避免了时隙n上再次发生资源碰撞。
基于上述实施例,进一步地,在执行步骤410时,节点若确定接收信号的信号强度小于预设的信号门限值,则节点可以认为时隙n未被占用,可以将时隙n对应FI中包含的时隙n的时隙状态设置为空闲状态(00)。
例如:节点在时隙n上检测到信号强度很低的接收信号,此时,节点在物理层判定接收信号的信号强度小于预设的信号门限值,则认为时隙n没有被其他节点占用,则节点在物理层将时隙n对应的FI中包含的时隙n的时隙状态设置为空闲状态(00),接着,节点将针对时隙n设置完毕的FI发往MAC层。
其中,较佳的,节点在将时隙n对应的FI中包含的时隙n的时隙状态设置为空闲状态(00)后,还可以进一步地将时隙n对应的FI中包含的占用时隙n的节点的优先级和STI均设置为缺省值,并将设置结果一同由物理层发往MAC层,这样,便可以在MAC根据对应时隙n设置的FI更新本地维护的时隙n的时隙状态信息。
在上述实施例中,节点在物理层进行判定时使用的信号门限值可以由***根据实际部署环境优化得到,在此不再赘述。
下面采用两个具体的应用场景对上述实施例作出进一步详细说明。
第一种应用场景:假设在高速公路对向车道上,车辆双向行驶,某节点的一跳邻节点与该节点是对向车辆且占用相同时隙。
参阅图5所示,节点A和节点B在一个簇内,互为一跳邻节点,分别占用时隙1和时隙3,这时对面车道节点C迎面行驶过来,节点C也占用时隙1。
一个具体的实施过程如下:
A1、当节点C与B节点还没有进入互相通信范围内时,节点A和节点B在一簇内,节点A是节点B的一跳邻节点,节点A与节点B占用的时隙分别为时隙1和时隙3,节点B在时隙3上发送的FI中,将时隙1的时隙状态设置为10,STI和优先级填写为节点A的STI和优先级,具体如表1所示。
表1
A2、当占用时隙1的节点C进入节点B的通信范围时,由于节点A和节点C同时在时隙1发送信号,节点B将在物理层检测到时隙1存在强信号,但解析不出正确的FI。此时,节点B在物理层判断该强信号的信号强度是否超过设置的信号门限值,若高于设置的信号门限值,则将时隙1对应的FI中包含的时隙1的时隙状态设置为碰撞状态(01),将占用时隙1的节点的优先级填写为***最高业务优先级值,将占用时隙1的节点的STI填写为缺省值,同时,将时隙1对应的FI中包含其他时隙的时隙状态均填写为空闲状态(00),将其他时隙的占用节点的优先级和STI均设置为缺省值。
A3、节点B在MAC层收到物理层递交的对应时隙1设置的FI后,更新本地维护的时隙状态缓存表中对应的时隙状态信息。
A4、节点B在时隙3根据自身维护的时隙状态缓存表,向其他节点发送FI,在此FI中:时隙1的时隙状态为碰撞状态(01),占用时隙1的节点的优先级为***最高业务优先级值,占用时隙1的节点的STI为缺省值;而时隙2的时隙状态为空闲状态(00),占用时隙2的节点的优先级和STI均设置为缺省值;而时隙3的时隙状态为自占状态(10),占用时隙3的节点的STI和优先级都填写为节点B自身的STI和业务优先级。具体如表2所示:
表2
A5、节点A在接收到节点B发送的FI后,判断出时隙1发生了时隙碰撞,进入时隙碰撞状态处理机制,释放时隙1,重新进行信道接入过程。当然,若节点A的业务优先级与FI中指示的占用时隙1的节点的优先级相同,则节点A也有可能仍占用时隙1。
A6、由于节点C在对向车道行驶,如果节点C由于信道恶化的原因不能正确解调出节点B发送的FI,则继续占用时隙1;如果节点C能够解调出节点B发送的FI,则进入时隙碰撞状态处理机制,释放时隙1,重新进行信道接入过程。当然,若节点C的业务优先级与FI中指示的占用时隙1的节点的优先级相同,则节点C也有可能仍占用时隙1。
第二种应用场景:假设在高速公路对向车道上,车辆双向行驶,某节点的一跳邻和两跳邻节点为对向车辆且占用相同时隙。
参阅图6所示,节点A和节点B在一个簇内,互为一跳邻节点,分别占用时隙1和时隙3,节点C和节点B在一个簇内,互为一跳邻节点,节点C占用时隙2,这时对面车道节点D迎面行驶过来,节点D也占用时隙1。
一个具体的实施过程如下:
B1、当节点C与节点D还没有进入互相通信范围内时,节点A和节点B在一簇内,节点A是节点B的一跳邻节点,节点A与节点B占用的时隙分别为时隙1和时隙3,节点B和节点C在一个簇内互为一跳邻节点,则节点A是节点C的两跳邻节点。节点C在时隙2上发送的FI具体如表3所示:
表3
B2、当占用时隙1的节点D进入节点C的通信范围时,由于信道恶化等原因,导致节点C在物理层检测到时隙1存在一个强信号,但解析不出正确的FI。此时,节点C在物理层判断该强信号的信号强度能量是否超过设置的门限值,如果高于设置的信号门限值,则将时隙1对应的FI中包含的时隙1的时隙状态设置为碰撞状态(01),将占用时隙1的节点的优先级填写为***最高业务优先级值,将占用时隙1的节点的STI填写为缺省值;同时,将时隙1对应的FI中包含其他时隙的时隙状态均标为空闲状态(00),将其他时隙的占用节点的优先级和STI均填写为缺省值。
B3、节点C在MAC层收到物理层递交的对应时隙1设置的FI后,更新本地维护的时隙状态缓存表中对应的时隙状态信息。
B4、节点C在时隙2根据自身维护的时隙状态缓存表,向其他节点发送FI,在此FI中:时隙1的时隙状态标为碰撞状态(01),占用时隙1的节点的优先级填写为***最高业务优先级值,占用时隙1的节点的STI填写为缺省值;而时隙2的时隙状态标为自占状态(10),占用时隙2的节点的STI和优先级均填写为节点C自身的STI和业务优先级;而时隙3的占用时隙状态标为一跳邻节点(即节点B)占用,占用时隙3的节点的STI和优先级均填写为节点B的STI和业务优先级,具体如表4所示:
表4
B5、节点B在接收到节点C发送的FI后,更新自身维护的时隙状态缓存表,在时隙3上发送FI,在该FI中:将时隙1的占用时隙状态标为碰撞状态(01),将占用时隙1的节点的优先级填写为***最高业务优先级值,将占用时隙1的节点的STI填写为缺省值;将时隙2的时隙状态标为一跳邻节点(即节点C)占用,将占用时隙2的节点的STI和优先级填写为节点C的STI和业务优先级;以及将时隙3的时隙状态标为自占状态(10),将占用时隙3的节点的STI和优先级都填写为节点B自身的STI和业务优先级,具体如表4所示。
B6、节点A在接收到节点B发送的FI后,判断出时隙1发生了时隙碰撞,进入时隙碰撞状态处理机制,释放时隙1,重新进行信道接入过程。当然,若节点A的业务优先级与FI中指示的占用时隙1的节点的优先级相同,则节点A也有可能仍占用时隙1。
B7、由于节点D在对向车道行驶,如果节点D由于信道恶化的原因不能正确解调出节点C发送的FI,则继续占用时隙1;如果节点D能够正确解调出节点C发送的FI,则进入时隙碰撞状态处理机制,释放时隙1,重新进行信道接入过程。当然,若节点D的业务优先级与FI中指示的占用时隙1的节点的优先级相同,则节点D也有可能仍占用时隙1。
基于上述各实施例,参阅图7所示,本发明实施例中,节点包括通信单元70、设置单元71和更新单元72,其中,
通信单元70,用于在非本装置占用的时隙n接收其他节点发送的帧信息FI,n为时隙序号;
设置单元71,用于在确定接收信号的信号强度大于等于预设的信号门限值且无法正确解析FI时,将时隙n对应的FI中包含的时隙n的时隙状态设置为碰撞状态;
更新单元72,用于根据设置结果更新本地对应时隙n维护的时隙状态信息。
设置单元71将时隙n对应的FI中包含的时隙n的时隙状态设置为碰撞状态之后,在更新单元72根据设置结果更新本地对应时隙n维护的时隙状态信息之前,也可以将时隙n对应的FI中包含的占用时隙n的节点的优先级设置为最高优先级,以及将时隙n对应的FI中包含的占用时隙n的节点的临时资源标识STI设置为缺省值。
设置单元71将时隙n对应的FI中包含的时隙n的时隙状态设置为碰撞状态之后,在更新单元72根据设置结果更新本地对应时隙n维护的时隙状态信息之前,也可以将时隙n对应的FI中包含的其他时隙的时隙状态均设置为空闲状态;进一步地,还可以将时隙n对应的FI中包含的其他时隙的占用节点的优先级和STI均设置设置为缺省值。
另一方面,设置单元71若确定接收信号的信号强度小于上述信号门限值,则将时隙n对应FI中包含的时隙n的时隙状态设置为空闲状态;进一步的,还可以将时隙n对应FI中包含的占用时隙n的节点的优先级和STI均设置为缺省值。
更新单元72根据设置结果更新本地对应时隙n维护的时隙状态信息时,根据设置结果更新本地维护扩时隙状态缓存表中时隙n对应的时隙状态信息。
通信单元70在节点自身占用的时隙m到达时,根据本地维护的时隙状态信息生成FI并发往其他节点,m为时隙序号。
综上所述,现有技术下,节点在接收时隙接收到FI后将相应的时隙占用状态填入时隙状态缓存表中,当节点在时隙n上没有收到任何内容时,则将N列“default状态”slot n对应的行中,其中,节点在确定除检测域外的N-1个元素中,出现了2个及其以上的占用状态((10)),且STI不同时,判定时隙n的状态为碰撞状态((01))。根据上面的方法,在三跳范围内,若两个节点在时隙n上发生碰撞,则接收节点同时收到这两个节点发送的FI时,将无法正确解调时隙n的信号,或者,由于车辆高速移动,信道环境变化较大等因素,使得接收节点不能正确解调出FI;此时,接收节点将N列“default状态”填入slot n对应的行中,当接收节点在自身的发送时隙生成FI时,考察时隙状态缓存表中时隙n对应的第n列时,如果N-1个元素中,没有出现2个及其以上的占用状态((10))且STI不同时,接收节点不会判定时隙n的状态为碰撞状态((01)),从而导致发生碰撞的两个节点无法得知时隙n已经发生碰撞,仍然各自占用时隙n,从而使得互相发送的FI不能被解析,从而影响了时隙状态信息的维护,增加了道路行驶的不安全性。
针对上述问题,本发明实施例中,若节点在非自身占用的时隙n上接收的信号的信号强度大于等于预设的信号门限值且无法正确解析FI,则节点将时隙n对应的FI中包含的时隙n的时隙状态设置为碰撞状态,并根据设置结果更新本地对应时隙n维护的时隙状态信息。这样,其他节点根据节点发送的FI即可获知时隙n有可能发生碰撞,从而避免选择时隙n作为自身时隙,这样,便有效提高了各节点接收数据包的成功率,保证了FI能够最大程度地被正确解析,从而提高了时隙状态信息的维护准确性,进而提升了车辆行驶的安全性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。