一种时隙碰撞的处理方法及装置
技术领域
本发明涉及网络管理技术,特别涉及一种时隙碰撞的处理方法及装置。
背景技术
随着车载通信系统的发展和移动自组网技术的逐渐成熟,为了实现对车辆的实时、动态、智能化管理,国际上专门开发了针对车联网的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的占用状态,例如,一种可能的FI结构如图2所示)。
MS-ALOHA机制的基本思想是:任意一节点(如,车辆)加入网络时,需要通过监听帧中的空闲时隙资源占用一个时隙,如果节点不主动放弃该所占用的时隙资源,则可一直使用占用的时隙传输数据,在这期间其他节点不能使用该时隙。在占用的时隙上,节点需要周期性发送FI,FI中携带节点获得的与该节点相距两跳范围内的其他节点占用时隙的情况,指示节点感知到的每个时隙的占用状况信息(也称时隙状态信息、时隙信息),对每个时隙给出该时隙的:时隙占用状态信息,占用时隙的节点对应的STI(Source TemporaryIdentifier,临时资源标识)或可称为节点标识,占用时隙的节点的优先级状态(也可认为是占用时隙节点在该时隙发送的数据对应的优先级状态);其中,时隙占用状态信息可以表达时隙的四种占用状态:(00)表示时隙为空闲状态,(10)表示时隙已被与本节点相距一跳的其他节点占用(简称为一跳节点占用)或本节点占用,(11)表示时隙已被与本节点相距两跳的其他节点占用(简称为两跳节点占用),(01)表示时隙已被其他两个以上的节点占用,即为碰撞状态;在非自身占用的时隙,每个节点通过监听相邻一跳的节点发送的FI,能够判断相邻三跳范围内每个节点占用时隙的情况,当发现本节点占用的时隙资源与其他节点使用的资源发生碰撞时,重新预约新的空闲时隙。为方便后续描述,本发明中对FI及其内部信息内容统一采用如下描述方式:
节点发送帧信息(FI)称为:FI消息,也可简称为FI;
FI中指示的每个时隙对应的占用状况信息称为:FI消息中每个时隙对应的时隙信息域;
FI中每个时隙对应的占用状况信息中给出的三类信息(即:时隙占用状态、STI、优先级信息)分别称为:每个时隙的时隙信息域中包含的时隙占用状态子域、STI子域、优先级子域;
需要说明的是,上述描述方式只是为了后续描述方便而规定,当然也可以采用其他的描述方式。
在MS-ALOHA机制下,在对占用时隙的维护过程中,节点需要维护(N-1)*N时隙状态缓存表,用来存储对应时隙上接收到的相邻节点发送的FI消息中携带的各时隙的时隙信息域。例如,参阅图3所示,图3中展示的时隙状态缓存表的维数为N*N维,由于节点本身在所占时隙发送的FI消息不需要存储,因此节点实际维护的时隙状态缓存表为N-1行(假设每个节点只占用一个时隙),本发明后续内容中描述的(N-1)*N时隙状态缓存表均是指不保存节点本身占用时隙发送FI的时隙信息;其中,时隙对应的检测域是指占用该时隙发送的FI消息中该时隙对应的时隙信息域称为该时隙的“检测域”,“非检测域”是指非占用该时隙发送的FI中该时隙对应的时隙信息域称为该时隙的非“检测域”。其中default值为缺省值。
节点在一个时隙上接收到FI消息时,总是用新接收到的FI消息中携带的时隙信息内容覆盖时隙状态缓存表中对应时隙所在行的信息内容(即覆盖一个帧周期前记录的内容)。具体过程如下:
节点在自身占用的时隙生成并发送FI消息,需要按照一定规则填写各个field(域),包括时隙占用状态子域、STI子域以及优先级子域。发送完毕后,节点会清空所发送的FI信息。
节点在非自身占用的时隙上,需要接收周围节点发送的FI消息,并根据接收到的FI消息更新时隙状态缓存表,在到达本节点自身占用的时隙前判断自身占用的时隙是否维护成功及非自身占用时隙各时隙的占用状态,其中,当在非自身占用的时隙上没有接收到FI,节点会将时隙状态缓存表中该时隙对应的行的各域填default值。Default值当前按空闲状态(00)处理,当然也可以定义其他处理方式。
在MS-ALOHA机制下,任意一节点判断时隙资源发生碰撞有以下两种情况:
1)节点自身占用的时隙资源发生碰撞。
在(N-1)*N时隙状态缓存表中,节点自身占用的时隙对应的列(N-1个元素)上所指示的时隙信息中出现以下任意一种情况,则认为节点自身占用的时隙发生碰撞:
a、N-1元素对应的时隙信息中存在一个或多个指示本时隙被与节点STI不同的其他节点占用(对应的时隙占用状态指示为10),且节点自身的优先级不是占用该时隙的所有节点(包括本节点和N-1元素对应的时隙信息中指示与本节点占用相同时隙的所有其他节点)中最高的。
b、N-1元素对应的时隙信息中存在一个或多个指示本时隙被与节点STI不同的其他节点占用(对应的时隙占用状态指示为10),且节点的优先级为占用该时隙的所有节点(包括本节点和N-1元素对应的时隙信息中指示与本节点占用相同时隙的所有其他节点)中的最高优先级但不是唯一的最高优先级节点(由于只有4个优先等级,因此可能出现优先等级相同的多个节点)。则节点可以选择在自身当前占用的时隙+N上发送FI,在之后的流程中,如果再次出现这种情况,节点可以概率p再次在slot p+2*N发送,以概率(1-p)认为发生时隙资源碰撞。
2)非节点自身占用的时隙资源发生碰撞。
对于任一非节点自身占用的时隙对应的时隙状态缓存表中的N-1个元素中,出现了两个及以上的时隙信息指示该时隙被两个及以上节点(即:STI不同)占用(对应时隙占用状态指示为10),则确定该时隙资源发生碰撞。
现有技术下,当节点判断自身占用的时隙发生资源碰撞时,将重新发起接入过程重新获得时隙资源。当节点判断非自身占用的时隙资源发生碰撞时,将在自身发送的FI中将发生碰撞时隙的时隙状态信息填为(01),对应的STI填写发生碰撞的节点中优先级最高的节点对应的STI,优先级信息填写优先级最高的节点的优先级;当发生碰撞的节点优先级相同时,随机选一个STI填写,而优先级信息填写最高的优先级。
上述技术方案,均是以一个节点仅占用一个时隙资源的前提设立的,并且规定当节点判断自身占用的时隙发生资源碰撞时,将重新发起接入过程重新获得时隙资源。然而,随着技术的发展,一个节点可能会占用多个不同属性的时隙,如果针对不同属性的时隙,在发生资源碰撞时,均发起重新接入过程将会造成系统资源的严重浪费。
发明内容
本发明实施例提供一种时隙碰撞的处理方法及装置,用以有效避免系统资源的浪费。
本发明实施例提供的具体技术方案如下:
一种时隙碰撞的处理方法,包括:
第一节点针对每一个自身使用的时隙分别维护对应的时隙状态缓存表或时隙状态向量;
第一节点在每个帧周期中的自身使用的时隙上向其他节点发送FI,以及在每个帧周期中的非自身使用的时隙上接收其他节点发送的FI,并在根据接收到的FI确定自身使用的时隙发生碰撞时,将发生碰撞的时隙对应的时隙状态缓存表或时隙状态向量删除。
一种时隙碰撞的处理装置,包括:
维护单元,用于针对每一个自身使用的时隙分别维护对应的时隙状态缓存表或时隙状态向量;
控制单元,用于在每个帧周期中的自身使用的时隙上向其他节点发送帧信息FI,以及在每个帧周期中的非自身使用的时隙上接收其他节点发送的FI,并在根据接收到的FI确定自身使用的时隙发生碰撞时,通过所述维护单元将发生碰撞的时隙对应的时隙状态缓存表或时隙状态向量删除。
本发明实施例中,第一节点针对自身使用的每一个时隙分别维护相应的时隙状态缓存表或时隙状态表,第一节点会根据接收到的其他节点发送的FI对自身使用的各个时隙进行碰撞判断,如果判定存在发生碰撞的时隙,则需要将该时隙对应的时隙状态缓存表或时隙状态表进行删除。这样,可以避免当第一节点占用多个时隙时,任何时隙发生资源碰撞都采用重新发起接入过程的方式重新获得时隙资源,从而有效避免了系统资源的浪费,减轻了系统的运行负荷。
附图说明
图1为现有技术下超帧结构示意图;
图2为现有技术下一种FI结构见示意图;
图3为现有技术及本发明实施例中时隙状态缓存表示意图;
图4为本发明实施例中时隙状态向量(表)示意图;
图5为本发明实施例中时隙类型示意图;
图6A为本发明实施例中时隙资源碰撞处理总述流程图;
图6B为本发明实施例中多表方案下时隙资源碰撞处理流程图;
图7为本发明实施例中自占从时隙碰撞处理示意图;
图8为本发明实施例中新的申请时隙碰撞处理示意图;
图9为本发明实施例中自占主时隙碰撞处理示意图;
图10为本发明实施例中第一节点功能结构示意图。
具体实施方式
本发明实施例中,各节点对帧中各时隙的FI的维护方式可以分为以下两类:
第一种维护方式为:采用累积方式保存FI。即在一个帧周期内,节点在其他节点占用的时隙内接收其他节点发送的FI,通过对保存的FI进行分析获得各时隙的时隙状态信息,具体可以为:在本节点占用的时隙发送FI消息之前,对接收到的其他节点发送的FI统一进行处理,获得各时隙的时隙状态信息,并且可以通过获得的时隙状态信息生成本节点需要发送的FI。
采用累积方式维护各时隙的FI时,节点接收到所有其他节点发送的FI后,可以采用如图2所示的基于MS-ALOHA机制的时隙状态缓存表的方式进行保存,表中的每一行存储对应节点在某一时隙接收到的FI中的时隙状态信息。
当然,也可以采用其他实现方式,如,表中的每一列存储对应节点在某一时隙接收到FI中的时隙状态信息,或者,采用数据、链表等其他数据结构来存储节点在某一时隙接收到的FI中的时隙状态信息,后续实施例中均以采用时隙状态缓存表来保存节点收到的FI且表中的每一行存储对应节点在某一时隙接收到的FI中的时隙状态信息为例进行介绍。
另外,采用累积方式维护时隙状态信息时,节点对当前各时隙状态的判断也可以采用多种方式,如:可以每接收到一个FI时就根据更新后的时隙状态缓存表对各时隙的状态进行判断,还可以只在自身的占用时隙或申请时隙到来前才对各时隙的状态进行判断。本发明后续实施例均假设节点在每收到一个FI时就对各时隙的状态进行判断,当然本发明也适用于只在自身的占用时隙或申请时隙到来前对各时隙的状态进行判断的情况。
第二种维护方式为:采用迭代方式保存FI。即节点仅保存一个关于各时隙当前占用状态的向量,称为时隙状态向量(也可称作时隙状态表)后续称为时隙状态向量(表),一种可能的时隙状态向量(表)如图4所示,当节点接收到其他节点发送的FI时,根据新接收FI中各时隙对应的时隙信息域对本地保存的时隙状态向量(表)中每一个时隙对应的时隙信息单元进行更新,通过维护时隙状态向量(表)的方式来对时隙信息进行维护。当节点需发送自身判定的FI时,会根据保存的时隙状态向量(表)中的信息生成要发送的FI。
为方便后续描述,本发明中对时隙状态向量(表)及其内部信息内容统一采用如下描述方式:
节点保存的记录各时隙当前状态的方式称为:时隙状态向量,或时隙状态表;
时隙状态向量(表)中指示的每个时隙对应的状态称为:时隙状态向量(表)中每个时隙对应的时隙信息单元;
时隙状态向量(表)中每个时隙对应的三类信息(即:时隙占用状态、STI、优先级信息)分别称为:每个时隙的时隙信息单元中包含的时隙占用状态子单元、STI子单元和优先级子单元;其中,时隙占用状态子单元中的内容不需要和FI中时隙占用状态子域内容完全相同,但需要存在映射关系,例如,对于节点保存的时隙状态向量(表)中可以设“自占”和“一跳节点占用”两个状态来表明时隙的占用状态,而节点将保存的时隙状态向量(表)中的信息内容映射到要发送的FI消息中时,FI中两种状态的时隙对应的时隙信息域中的时隙占用状态子域可以都映射为“10”,其他节点接收到FI后通过时隙信息域所在位置(是检测域还是非检测域)来判断对应时隙信息域的时隙占用状态子域中的“10”指的是发送节点自占还是发送节点的一跳节点占用。
需要说明的是,上述描述方式只是为了后续描述方便而规定,当然也可以采用其他的描述方式。
另一方面,本发明实施例中,一个节点可以占用多个时隙资源,而当节点占用多个时隙资源时,为了对节点占用的多个时隙资源进行维护,将与节点相关的时隙分为以下几类(具体参阅图5所示):
1、自占时隙:本发明实施例中定义节点成功占用发送FI和/或数据包的时隙为节点的自占时隙,即:只有当节点在对应的时隙发送了FI和/或数据包,那么节点从占用该时隙发送FI和/或数据包开始,到节点释放该时隙为止,认为该时隙为自身的自占时隙。
而具体的,节点的自占时隙又可以进一步分为以下两种:
自占主时隙:节点自占时隙中某个特定的时隙。每个节点可以将自占时隙中的某个时隙确定为自身的主时隙。节点在主时隙时进行时隙管理操作,例如:确定尚未发生的下一帧周期中发送的数据包、确定在尚未发生的下一帧周期中是否需要申请新时隙、是否需要释放占用的时隙等等,在从时隙中不进行时隙数目管理操作。
自占从时隙:自占时隙中,除主时隙外的节点其它自占时隙。节点在自占从时隙上只进行FI和/或数据发送,不进行时隙管理、时隙状态向量(表)清空等操作。
当然,节点也可以不对自占时隙作上述区分。
2、申请时隙:MAC层比较缓存队列中的需要发送的高层数据包的数据量和节点的自占时隙或使用时隙(包含申请时隙)可提供的传输容量,如果数据包的数据量大于自占时隙或使用时隙(包含申请时隙)所可以提高的传输容量时申请的新的时隙。申请时隙只有在节点确定使用该申请时隙发送数据包或在使用该申请时隙发送数据包后才能转换为自占时隙;
当假设一个高层数据包需要占用一个时隙来进行传输时,MAC层只需比较缓存中的高层数据包数目和节点的自占时隙数(或节点的使用时隙数目),如果数据包的数目大于自占时隙数目(或使用时隙数目)则需要新的申请时隙。
节点使用时隙:为方便后续描述,将节点占用的时隙和节点正在申请的时隙统称为节点使用时隙。在一些特定场景中,节点使用时隙也可以只包括节点占用的时隙。
非节点使用时隙:帧中所有时隙中除节点使用时隙以外的所有其他时隙。
基于上述定义,本发明实施例中,第一节点接收到其他节点发送的FI后,根据接收到的FI,判定第一节点使用的时隙碰撞时,根据预设规则,按照时隙状态信息存储方式对所述发生碰撞时隙的相关信息进行处理。
下面结合附图对本发明优选的实施方式进行详细说明。
参阅图6A所示,本发明施例中,对时隙资源碰撞进行处理的总述流程如下:
步骤600:第一节点接收到其他节点发送的FI。
本发明实施例中,第一节点可以在非自占时隙接收其他节点发送的FI,同时,可以在自占时隙发送自身的FI。
现有技术下,第一节点接收到其他节点发送的FI后,可以根据FI中提供的时隙状态信息对各个时隙的状态进行维护,第一节点维护各时隙的状态可以采用时隙状态缓存表的方式,也可以采用时隙状态向量(表)的方式,而本发明实施例中,由于第一节点可以申请使用多个时隙,在每个时隙处第一节点感知的信道使用状态可能存在差别,当第一节点使用多个时隙时可以采用但不限于以下两种方式来维护各时隙感知的时隙状态信息:
第一种方式为:单表方案。
所谓单表方案即是指:当第一节点在每一个帧周期中可以占用多个时隙发送高层数据时,如果自占时隙和申请时隙的总数目大于1,则第一节点仍可以在本地仅维护一个时隙状态缓存表或者时隙状态向量(表)来记录多个自占时隙和/或申请时隙的时隙状态信息。
在使用单表方案时,第一节点在非自身使用的时隙接收到其它第一节点发送的FI时,将接收到的FI中各时隙对应的时隙信息域中的信息,保存到时隙状态缓存表中各时隙对应的行内(当采用时隙状态缓存表维护时隙状态信息时);或者,根据接收到的FI中各时隙对应的时隙信息域中的信息更新时隙状态向量(表)中每一个时隙对应的时隙信息单元,将时隙状态信息的变化体现到更新后的时隙状态向量(表)中〔当采用时隙状态向量(表)维护时隙状态信息时〕;第一节点在到达每一个自占时隙〔或申请时隙(当认为申请时隙只有真正发送数据后才能变为自占时隙时,才可能出现使用申请时隙发送FI,否则FI只能在自占时隙上发送)〕,根据当前的时隙状态缓存表或者时隙状态向量(表)内容组织生成FI并发送。
当采用时隙状态向量(表)方式维护时隙状态信息时,第一节点维护的时隙状态向量(表)在每帧设定时隙(如,自占主时隙)处,在发送FI后进行重置,其它时隙发送FI后不重置时隙状态向量(表)中的各时隙对应的信息单元。
第二种方式为:多表方案。
所谓多表方案即是指:当第一节点在每一个帧周期中可以占用多个时隙发送高层数据时,如果自占时隙和申请时隙总数目大于1,则第一节点可以在本地分别为每一个自占时隙和申请时隙维护对应的时隙状态缓存表或者时隙状态向量(表)。
在使用多表方案时,第一节点在非自身使用的时隙接收到其它节点发送的FI时,将接收到的FI中各时隙对应的时隙信息域中的信息,保存到每一个时隙对应的时隙状态缓存表中接收到FI的时隙对应的行内(当采用时隙状态缓存表维护时隙状态信息时);或者,根据接收到的FI中各时隙对应的时隙信息域中的信息更新每个对应的时隙状态向量(表)中各时隙对应的时隙信息单元,将时隙状态信息的变化体现到更新后的每个时隙对应的时隙状态向量(表)中〔当采用时隙状态向量(表)维护时隙信息时〕;第一节点在到达每一个自占时隙〔或申请时隙(当认为申请时隙只有正真发送数据后才能变为自占时隙时,才可能出现使用申请时隙发送FI,否则FI只能在自占时隙上发送)〕时,根据当前自占时隙(或申请时隙)对应的时隙状态缓存表或时隙状态向量(表)内容组织生成FI并发送;其中FI中的其它自占时隙的信息域内容可以从其它自占时隙对应的时隙状态缓存表或者时隙状态向量(表)中获得。
第一节点在某一自占时隙发送FI后,当采用时隙状态向量(表)维护时隙状态信息时,清除发送FI的自占时隙对应的时隙状态向量(表)中除了本自占时隙以外的其他时隙对应的时隙信息单元;当采用时隙状态缓存表方式维护时隙信息时不需要做特殊处理。
另一方面,第一节点接收到其他节点发送的FI后,在自占主时隙到达前,若通过本地维护的时隙状态缓存表或时隙状态向量(表),判定自占主时隙已被其他节点占用或已发生碰撞,则判定自占主时隙发生了(预)碰撞,其中,被其他节点占用是指:被一跳节点占用、被两跳节点占用、被三跳节点占用……;
而第一节点接收到其他节点发送的FI后,在自占从主时隙到达前,若通过本地维护的时隙状态缓存表或时隙状态向量(表),判定自占从时隙已被其他节点占用或已发生碰撞,则判定自占从时隙发生了(预)碰撞,其中,被其他节点占用是指:被一跳节点占用、被两跳节点占用、被三跳节点占用……;
而第一节点接收到其他节点发送的FI后,在新的申请时隙到达前,若通过本地维护的时隙状态缓存表或时隙状态向量(表),判定新的申请时隙已被其他节点占用或已发生碰撞,则判定新的申请时隙发生了(预)碰撞,需要放弃此次申请的时隙,即认为新时隙申请失败;其中,被其他节点占用是指:被一跳节点占用、被两跳节点占用、被三跳节点占用……;
步骤610:第一节点根据接收到的FI,判定第一节点使用的时隙碰撞时,根据预设规则,按照时隙状态信息存储方式对发生碰撞的时隙的时隙状态信息进行相应处理。
本发明实施例中,较佳的,当第一节点使用多个时隙时,第一节点对各时隙感知的时隙状态信息采用多表方案进行维护。下面对多表方案下,步骤610的执行方式进行介绍:
多表方案,即第一节点自身使用的各个时隙分别维护相应的时隙状态缓存表,各时隙状态缓存表中记录有第一节点根据其他各节点发送的FI生成的各时隙的时隙状态信息,或者,第一节点自身使用的各时隙分别维护相应的时隙状态向量(表),各时隙状态向量(表)中记录有第一节点根据最近一次从其他节点发接收的FI更新的各时隙的时隙状态信息。
在使用多表方案时,第一节点根据接收到的FI〔FI也可以有其他称呼,如SI(时隙信息)〕,对自身维护的各个时隙状态缓存表或时隙状态向量(表)进行更新,对自身使用(自占&申请)的各个时隙进行碰撞判断,将判定为碰撞的时隙〔包括自占时隙(如,自占主时隙、自占从时隙等)和申请时隙)〕所关联的时隙状态缓存表或时隙状态向量(表)删除。同时,第一节点还需要将发生碰撞的时隙〔包括自占时隙(如,自占主时隙、自占从时隙)和申请时隙〕从维护的对应的时隙集合中删除,如,将发生碰撞的自占时隙从对应的自占时隙集合中删除,将发生碰撞的申请时隙从对应的申请时隙集合中删除。各个时隙集合可以采用列表或向量等形式存储,在此不做限定。
若判定自占主时隙发生了碰撞,则需要重新选取新的自占主时隙,在重选自占主时隙时,包含两种情况:
一种情况是:第一节点使用的时隙中除发生碰撞的自占主时隙外还存在有其他自占从时隙,此时,第一节点需要对维护的时隙状态缓存表或时隙状态向量(表)进行处理,并将未发生碰撞的自占从时隙中的一个选择为新的自占主时隙。
方式1、第一节点立即指定其他自占从时隙中的一个时隙作为新的自占主时隙,较优地,将距离(向后)发现碰撞的时隙最近的自占从时隙确定为新的自占主时隙,或者,将距离(向后)发生碰撞的自占主时隙最近的自占从时隙确定为新的自占主时隙。
例如,假设在时隙3发现了自占主时隙时隙10发生了碰撞,而在时隙3和时隙10之间还存在自占从时隙时隙7,那么则把时隙7选为新的自占主时隙。
又例如:假设在时隙3发现了自占主时隙时隙10发生了碰撞,而在时隙3和时隙10之间存在自占从时隙时隙7,另外,时隙10之后距时隙10最近的自占从时隙为时隙13,那么把时隙13选为新的自占主时隙(而不是时隙7)。
方式2、第一节点在每个自占从时隙到达时都判断当前是否已存在自占主时隙(即判断自占主时隙是否发生了碰撞),若当前不存在自占主时隙则将当前到达的自占从时隙设定为新的自占主时隙。
较优地,可以在第一节点能够使用的时隙发生碰撞,或者,只有在第一节点的自占时隙(包括自占主时隙和自占从时隙)发生碰撞后,才启动上述判定过程。当到达某个自占时隙(这里不包括由申请时隙转为的自占时隙)时,如果发现当前不存在自占主时隙,则将该时隙设置为自占主时隙。
另一种情况是:第一节点使用的时隙中除发生碰撞的自占主时隙外不存在其他自占从时隙,此时,第一节点需要重新发起接入过程重新选择自占主时隙。
在确定了新的自占主时隙后,第一节点可以在新的自占主时隙到达时,执行主时隙的完整功能,如,包括确定尚未发生的下一帧周期中发送的数据包、确定在尚未发生的下一帧周期中是否需要申请新时隙、是否需要释放占用的时隙等。
基于上述实施例,参阅图6B所示,本发明实施例中,以多表方案为例,时隙资源碰撞的处理流程如下:
步骤6000:第一节点针对每一个自身使用的时隙分别维护对应的时隙状态缓存表或时隙状态向量。
步骤6100:第一节点在每个帧周期中的自身使用的时隙上向其他节点发送帧信息FI,以及在每个帧周期中的非自身使用的时隙上接收其他节点发送的FI,并在根据接收到的FI确定自身使用的时隙发生碰撞时,将发生碰撞的时隙对应的时隙状态缓存表或时隙状态向量删除。
需要说明的是,上述“第一节点在每个帧周期中的自身使用的时隙上向其他节点发送帧信息FI,以及在每个帧周期中的非自身使用的时隙上接收其他节点发送的FI”中“第一节点每个帧周期中自身使用的时隙”是否可以为申请时隙取决于实际实现时的定义,例如,假设第一节点的申请时隙为时隙5,当规定在时隙4时仍未接收到时隙5被占用的信息,那么时隙5就转换为自占时隙,在这种规定下“第一节点每个帧周期中自身使用的时隙”就不会为申请时隙;当规定“申请时隙在第一节点成功使用该时隙发送数据后,申请时隙变为占用时隙”,在这种规定下“第一节点每个帧周期中自身使用的时隙”就可能是申请时隙。
第一节点判断自身使用的时隙(自占时隙&申请时隙)发生碰撞的方式已在步骤600的相关描述中介绍,在此不再赘述。
较佳的,第一时隙判定自身使用的时隙发生碰撞后,若发生碰撞的时隙为自占主时隙,则第一节点重新选取自占主时隙,其中,若第一节点自身使用的时隙中除发生碰撞的自占主时隙之外存在其他自占从时隙,则从中选取一个自占从时隙作为新的自占主时隙;若第一节点自身使用的时隙中除发生碰撞的自占主时隙之外不存在其他自占从时隙,则重新发起接入过程以重新选取自占主时隙。具体方式已在步骤610中进行了描述,在此亦不再赘述。
同时,较佳的,第一节点判定自身使用的时隙发生碰撞后,将发生碰撞的时隙从相应的时隙集合中删除,其中,若发生碰撞的时隙为自占时隙,则将该自占时隙从相应的自占时隙集合中删除;若发生碰撞的时隙为申请时隙,则将该申请时隙从相应的申请时隙集合中删除。
下面结合具体的应用场景对上述实施例作出进一步详细说明。
第一种应用场景下,第一节点采用多表方案,且在接收到其他节点发送的FI后,判定自占从时隙发生碰撞。
参阅图7所示,本实施例中,假设一个超帧中包含8个时隙,节点a在Frame2内时隙1时维护的自占时隙有时隙1、时隙3和时隙4,其中,自占主时隙为时隙1,节点a内部维护的时隙状态标识定义如下:10表示被1跳节点占用;11表示被两跳节点占用;01表示碰撞时隙;00表示空闲时隙或被三跳节点占用时隙。当然,具体实施过程中节点a内部维护的时隙状态标识当然还可以采用其他方式,如,定义更多的状态标识来描述时隙的占用状态,时隙状态标识也可以采用其他方式,在此不再赘述。
本发明实施例中,节点a采用时隙状态向量(表)保存时隙状态信息时,处理过程如下:
H1:在到达Frame2中的节点a的自占主时隙时隙1时,节点a的自占时隙为:时隙1、时隙3和时隙4,节点a维护的时隙状态向量(表)如表1-表3所示:
表1
(时隙1对应的时隙状态向量(表))
Slot 0 |
Slot 1 |
Slot 2 |
Slot 3 |
Slot 4 |
Slot 5 |
Slot 6 |
Slot 7 |
00 |
a:10 |
00 |
00 |
00 |
00 |
00 |
00 |
表2
(时隙2对应的时隙状态向量(表))
Slot 0 |
Slot 1 |
Slot 2 |
Slot 3 |
Slot 4 |
Slot 5 |
Slot 6 |
Slot 7 |
00 |
00 |
00 |
a:10 |
00 |
00 |
00 |
00 |
表3
(时隙3对应的时隙状态向量(表))
Slot 0 |
Slot 1 |
Slot 2 |
Slot 3 |
Slot 4 |
Slot 5 |
Slot 6 |
Slot 7 |
00 |
00 |
00 |
00 |
a:10 |
00 |
00 |
00 |
H2:在到达Frame2中的时隙2时,节点a接收到节点b发送的FI中携带的时隙(占用)状态信息如表4所示为:
表4
Slot 0 |
Slot 1 |
Slot 2 |
Slot 3 |
Slot 4 |
Slot 5 |
Slot 6 |
Slot 7 |
00 |
a:10 |
b:10 |
C:10 |
a:10 |
00 |
00 |
00 |
H3:节点a接收到节点b发送的FI后,更新时隙3对应的时隙状态向量(表)时,确定自身的自占从时隙时隙3被其他节点(即节点C)占用,从而判定时隙3发生碰撞,则节点a将时隙3从自身的自占时隙集合中删除,并删除时隙3对应的时隙状态向量(表)。而时隙1和时隙4对应的时隙状态向量(表)则根据接收的节点b发送的FI进行更新,具体如表5和表6所示::
表5
(时隙1对应的时隙状态向量(表))
Slot 0 |
Slot 1 |
Slot 2 |
Slot 3 |
Slot 4 |
Slot 5 |
Slot 6 |
Slot 7 |
00 |
a:10 |
b:10 |
C:11 |
a:11 |
00 |
00 |
00 |
表6
(时隙4对应的时隙状态向量(表))
Slot 0 |
Slot 1 |
Slot 2 |
Slot 3 |
Slot 4 |
Slot 5 |
Slot 6 |
Slot 7 |
00 |
a:11 |
b:10 |
C:11 |
a:10 |
00 |
00 |
00 |
而本发明实施例中,节点a采用时隙状态缓存表保存时隙信息时,处理过程如下:
I1:节点a在到达fFrame2中的自占主时隙时隙1时,节点a的的自占时隙为:时隙1、时隙3、和时隙4,节点维护的各时隙对应的时隙状态缓存表如表7-表9所示:
表7
(时隙1对应的时隙状态缓存表)
Slot 0: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 1:a |
|
A:10 |
|
|
|
|
|
|
Slot 2:b |
00 |
A:10 |
B:10 |
A:10 |
A:10 |
00 |
00 |
00 |
Slot 3: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 4: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 5: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 6: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 7: |
default |
default |
default |
default |
default |
default |
default |
default |
表8
(时隙3对应的时隙状态缓存表)
Slot 0: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 1: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 2:b |
00 |
A:10 |
B:10 |
A:10 |
A:10 |
00 |
00 |
00 |
Slot 3:a |
|
|
|
A:10 |
|
|
|
|
Slot 4: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 5: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 6: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 7: |
default |
default |
default |
default |
default |
default |
default |
default |
表9(时隙4对应的时隙状态缓存表)
Slot 0: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 1: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 2:b |
00 |
A:10 |
B:10 |
A:10 |
A:10 |
00 |
00 |
00 |
Slot 3: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 4:a |
|
|
|
|
A:10 |
|
|
|
Slot 5: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 6: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 7: |
default |
default |
default |
default |
default |
default |
default |
default |
I2:在到达Frame2中的时隙6时,节点a 接收到节点b发送的FI中携带的时隙状态信息如表10所示:
表10
Slot 0 |
Slot 1 |
Slot 2 |
Slot 3 |
Slot 4 |
Slot 5 |
Slot 6 |
Slot 7 |
00 |
c:10 |
b:10 |
a:10 |
a:10 |
00 |
00 |
00 |
I3:节点a接收到节点b发送的FI后,更新时隙3对应的时隙状态缓存表,确定自身的自占从时隙时隙3被其他节点(如节点C)占用,从而判定时隙3发生碰撞,则删除时隙3对应的时隙状态缓存表,并将时隙3从自身的自占时隙集合中删除。而时隙1和时隙4对应的时隙状态缓存表根据接收的节点b的FI分别进行更新,具体如表11和表12所示:
表11
(时隙1对应的时隙状态缓存表)
Slot 0: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 1:a |
|
A:10 |
|
|
|
|
|
|
Slot 2:b |
00 |
A:10 |
B:10 |
C:10 |
A:10 |
00 |
00 |
00 |
Slot 3: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 4: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 5: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 6: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 7: |
default |
default |
default |
default |
default |
default |
default |
default |
表12
(时隙4对应的时隙状态缓存表)
Slot 0: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 1: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 2:b |
00 |
A:10 |
B:10 |
C:10 |
A:10 |
00 |
00 |
00 |
Slot 3: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 4:a |
|
|
|
|
A:10 |
|
|
|
Slot 5: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 6: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 7: |
default |
default |
default |
default |
default |
default |
default |
default |
需要说明的,本应用场景是按存在主时隙时进行描述的,当第一节点的自占时隙不区分主时隙(或其他具有特定功能的时隙,如:状态重置时隙等)和从时隙时,即所有自占时隙的功能是相同的,其中某个自占时隙发生碰撞时,处理过程与上述过程类似,只需将上述的自占主时隙看成是一个普通的自占时隙。
第二种应用场景下,第一节点采用多表方案,且在接收到其他节点发送的FI后,判定申请时隙发生碰撞。
参阅图8所示,本实施例中,假设一超帧中包含8个时隙,节点a在Frame1中的自占主时隙时隙1到达时决定申请新时隙:时隙3和时隙5。本实施例中,假设节点a的申请时隙采用独立变量进行记录,不在节点a维护的时隙状态缓存表或时隙状态向量(表)中进行标识,在实际实施时当然可以通过设计特殊标记在节点a维护的时隙状态缓存表或时隙状态向量(表)中标识申请时隙。节点a内部维护的时隙状态标识定义如下:10表示被1跳节点占用;11表示被两跳节点占用;01表示碰撞时隙;00表示空闲时隙或被三跳节点占用时隙。
本发明实施例中,节点a采用时隙状态向量(表)保存时隙状态信息时,处理过程如下:
J1:在到达Frame1中的自占主时隙时隙1时,节点a判断需要申请时隙,根据设定的申请时隙选择机制,将空闲时隙3和时隙5确定为新的申请时隙,节点a维护的各时隙对应的时隙状态向量(表)如表13-表15所示(这里假设为新申请时隙维护的初始时隙状态向量(表)由主时隙对应的时隙状态向量(表)复制得到,当然也可以采用其他方式产生,如,各时隙初始值全部置为空):
表13
(时隙1对应的时隙状态向量(表))
Slot 0 |
Slot 1 |
Slot 2 |
Slot 3 |
Slot 4 |
Slot 5 |
Slot 6 |
Slot 7 |
00 |
a:10 |
b:10 |
00 |
00 |
00 |
00 |
00 |
表14(时隙3对应的时隙状态向量(表))
Slot 0 |
Slot 1 |
Slot 2 |
Slot 3 |
Slot 4 |
Slot 5 |
Slot 6 |
Slot 7 |
00 |
a:10 |
b:10 |
00 |
00 |
00 |
00 |
00 |
表15
(时隙5对应的时隙状态向量(表))
Slot 0 |
Slot 1 |
Slot 2 |
Slot 3 |
Slot 4 |
Slot 5 |
Slot 6 |
Slot 7 |
00 |
a:10 |
b:10 |
00 |
00 |
00 |
00 |
00 |
J2:在到达Frame1中的时隙2时,节点a接收到节点b发送的FI中携带的时隙状态信息如表16所示:
表16
Slot 0 |
Slot 1 |
Slot 2 |
Slot 3 |
Slot 4 |
Slot 5 |
Slot 6 |
Slot 7 |
00 |
a:10 |
b:10 |
C:10 |
00 |
00 |
00 |
00 |
J3:节点a接收到节点b发送的FI后,确定自身的申请时隙时隙3已被节点C占用,即时隙3时隙发生(预)碰撞,则节点a将时隙3从自身的新申请时隙列表中删除,同时删除时隙3对应的时隙状态向量(表),并根据接收的FI对时隙1和时隙5对应的时隙状态向量(表)分别进行更新,具体如表17和表18所示:
表17
(时隙1对应的时隙状态向量(表))
Slot 0 |
Slot 1 |
Slot 2 |
Slot 3 |
Slot 4 |
Slot 5 |
Slot 6 |
Slot 7 |
00 |
a:10 |
b:10 |
C:10 |
00 |
00 |
00 |
00 |
表18
(时隙5对应的时隙状态向量(表))
Slot 0 |
Slot 1 |
Slot 2 |
Slot 3 |
Slot 4 |
Slot 5 |
Slot 6 |
Slot 7 |
00 |
a:10 |
b:10 |
C:10 |
00 |
00 |
00 |
00 |
J4:如果节点a在Frame1中的时隙5到达前,(在已接收到其他节点发送的FI信息后)判断时隙5仍为空闲状态,则在Frame1中时隙5到达时将时隙5由新的申请时隙设置为自占时隙,可以使用时隙5发送数据。
而本发明实施例中,节点a采用时隙状态缓存表保存时隙信息时,处理过程如下:
K1:在到达Frame1中的自占主时隙时隙1时,节点a判断需要申请时隙,节点a根据设定的申请时隙选择机制,将空闲时隙3和时隙5确定为新的申请时隙,节点a维护的各时隙对应的时隙状态缓存表如表19-表21所示(这里假设为新申请时隙维护的初始时隙状态缓存表由自占主时隙对应的时隙状态缓存表复制得到,当然也可以采用其他方式产生,如,各时隙初始值全部置为空):
表19
(时隙1对应的时隙状态缓存表)
Slot 0: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 1:a |
|
A:10 |
|
|
|
|
|
|
Slot 2:b |
00 |
A:10 |
B:10 |
00 |
00 |
00 |
00 |
00 |
Slot 3: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 4: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 5: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 6: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 7: |
default |
default |
default |
default |
default |
default |
default |
default |
表20
(时隙3对应的时隙状态缓存表)
Slot 0: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 1:a |
|
A:10 |
|
|
|
|
|
|
Slot 2:b |
00 |
A:10 |
B:10 |
00 |
00 |
00 |
00 |
00 |
Slot 3: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 4: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 5: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 6: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 7: |
default |
default |
default |
default |
default |
default |
default |
default |
表21
(时隙5对应的时隙状态缓存表)
Slot 0: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 1:a |
|
A:10 |
|
|
|
|
|
|
Slot 2:b |
00 |
A:10 |
B:10 |
00 |
00 |
00 |
00 |
00 |
Slot 3: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 4: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 5: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 6: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 7: |
default |
default |
default |
default |
default |
default |
default |
default |
K2:在到达Frame1中的时隙2时,节点a接收到节点b发送的FI中携带的时隙状态信息如表22所示:
表22
Slot 0 |
Slot 1 |
Slot 2 |
Slot 3 |
Slot 4 |
Slot 5 |
Slot 6 |
Slot 7 |
00 |
a:10 |
b:10 |
C:10 |
00 |
00 |
00 |
00 |
K3:节点a接收到节点b发送的FI后,判定自身的申请时隙时隙3已被节点C占用,即时隙申请发生(预)碰撞,则节点a将时隙3从自身的新申请时隙列表中删除,同时删除时隙3对应的时隙状态缓存表,并根据接收的FI对时隙1和时隙5对应的时隙状态缓存表进行更新,具体如表23和表24所示:
表23
(时隙1对应的时隙状态缓存表):
Slot 0: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 1:a |
|
A:10 |
|
|
|
|
|
|
Slot 2:b |
00 |
A:10 |
B:10 |
C:10 |
00 |
00 |
00 |
00 |
Slot 3: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 4: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 5: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 6: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 7: |
default |
default |
default |
default |
default |
default |
default |
default |
表24(时隙5对应的时隙状态缓存表)
Slot 0: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 1:a |
|
A:10 |
|
|
|
|
|
|
Slot 2:b |
00 |
A:10 |
B:10 |
C:10 |
00 |
00 |
00 |
00 |
Slot 3: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 4: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 5: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 6: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 7: |
default |
default |
default |
default |
default |
default |
default |
default |
K4:如果节点a在Frame1中的时隙5到达前(在已接收到其他节点发送的FI信息后)判断时隙5仍为空闲状态,则在到达Frame1中时隙5时,将时隙5由新的申请时隙设置为自占时隙,可以使用时隙5发送数据。
需要说明的,本应用场景是按存在主时隙时进行描述的,当第一节点的自占时隙不区分主时隙(或其他具有特定功能的时隙,如:状态重置时隙等)和从时隙时,即所有自占时隙的功能是相同的,其中某个申请时隙发生碰撞时,处理过程与上述过程类似,只需将上述的自占主时隙看成是一个普通的自占时隙。
第三种应用场景下,第一节点采用多表方案,且在接收到其他节点发送的FI后,判定自占主时隙发生碰撞。
参阅图9所示,本实施例中,假设一个超帧中包含8个时隙,在到达Frame1中的时隙1时,节点a维护的自占时隙有时隙1、时隙3和时隙4,其中,自占主时隙为时隙1,节点a内部维护的时隙状态标识定义如下:10表示被1跳节点占用;11表示被两跳节点占用;01表示碰撞时隙;00表示空闲时隙或被三跳节点占用时隙。
本发明实施中,节点a采用时隙状态向量(表)保存时隙状态信息,且新的自占主时隙的选择采用方式1时,处理过程如下:
L1:在到达Frame1中的时隙5时,节点a维护的各时隙对应的时隙状态向量(表)如表25-表27所示:
表25
(时隙1对应的时隙状态向量(表))
Slot 0 |
Slot 1 |
Slot 2 |
Slot 3 |
Slot 4 |
Slot 5 |
Slot 6 |
Slot 7 |
00 |
a:10 |
00 |
00 |
00 |
00 |
b:10 |
00 |
表26
(时隙3对应的时隙状态向量(表))
Slot 0 |
Slot 1 |
Slot 2 |
Slot 3 |
Slot 4 |
Slot 5 |
Slot 6 |
Slot 7 |
00 |
00 |
00 |
a:10 |
00 |
00 |
b:10 |
00 |
表27
(时隙4对应的时隙状态向量(表))
Slot 0 |
Slot 1 |
Slot 2 |
Slot 3 |
Slot 4 |
Slot 5 |
Slot 6 |
Slot 7 |
00 |
00 |
00 |
00 |
a:10 |
00 |
b:10 |
00 |
L2:在到达Frame1中的时隙6时,节点a接收到节点b发送的FI中携带的时隙状态信息如表28所示:
表28
Slot 0 |
Slot 1 |
Slot 2 |
Slot 3 |
Slot 4 |
Slot 5 |
Slot 6 |
Slot 7 |
00 |
c:10 |
00 |
a:10 |
a:10 |
00 |
b:10 |
00 |
L3:节点a接收到节点b发送的FI后,更新时隙1对应的时隙状态向量(表),并确定自身的自占主时隙时隙1被其他节点(如节点C)占用,从而判定自身的自占主时隙时隙1发生了碰撞,则节点a将时隙1从自身的自占时隙列表中删除,同时删除时隙1对应的时隙状态向量(表),以及将时隙3和4对应的时隙状态向量(表)根据接收的节点b发送的FI进行更新,具体如表29和表30所示:
表29
(时隙3对应的时隙状态向量(表))
Slot 0 |
Slot 1 |
Slot 2 |
Slot 3 |
Slot 4 |
Slot 5 |
Slot 6 |
Slot 7 |
00 |
c:11 |
00 |
a:10 |
a:11 |
00 |
b:10 |
00 |
表30
(时隙4对应的时隙状态向量(表))
Slot 0 |
Slot 1 |
Slot 2 |
Slot 3 |
Slot 4 |
Slot 5 |
Slot 6 |
Slot 7 |
00 |
c:11 |
00 |
a:11 |
a:10 |
00 |
b:10 |
00 |
L4:节点a将距发生碰撞的时隙(时隙1)向后最近的时隙3确定为自身新的自占主时隙。
而本发明实施例中,节点a采用时隙状态缓存表保存时隙状态信息,且新的自占主时隙的选择方式采用方式2时,处理过程如下:
M1-M3与L1-L3相同。
M4:在确定自占主时隙碰撞后,节点a不马上选择新的自占主时隙,而是在每个自占时隙到达时,判断当前是否存在自占主时隙,如果不存在自占主时隙则将当前的自占时隙设置为新的自占主时隙。
采用这种方式时,节点a不需要在每次发生时隙碰撞时进行碰撞时隙属性的判断,即不需要区分发生碰撞的时隙是自占主时隙、自占从时隙、还是申请时隙。本实施例中,假设当到达Frame2中的时隙3时,时隙3仍为节点a的自占时隙,则节点a将时隙3设为新的自占主时隙。
另一方面,节点a采用时隙状态缓存表保存时隙状态信息,且新的自占主时隙的选择方式采用方式1时,处理过程如下:
N1:在Frame1中的时隙5结束时,假设节点a维护的各时隙对应的时隙状态缓存表如表31-表33所示:
表31
(时隙1对应的时隙状态缓存表)
Slot 0: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 1:a |
|
A:10 |
|
|
|
|
|
|
Slot 2: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 3: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 4: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 5: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 6:b |
00 |
A:10 |
00 |
A:10 |
A:10 |
00 |
B:10 |
00 |
Slot 7: |
default |
default |
default |
default |
default |
default |
default |
default |
表32
(时隙3对应的时隙状态缓存表)
Slot 0: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 1: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 2: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 3:a |
|
|
|
A:10 |
|
|
|
|
Slot 4: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 5: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 6:b |
00 |
A:10 |
00 |
A:10 |
A:10 |
00 |
B:10 |
00 |
Slot 7: |
default |
default |
default |
default |
default |
default |
default |
default |
表33
(时隙4对应的时隙状态缓存表)
Slot 0: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 1: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 2: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 3: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 4:a |
|
|
|
|
A:10 |
|
|
|
Slot 5: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 6:b |
00 |
A:10 |
00 |
A:10 |
A:10 |
00 |
B:10 |
00 |
Slot 7: |
default |
default |
default |
default |
default |
default |
default |
default |
N2:在到达Frame1中的时隙6时,节点a接收到节点b发送的FI中携带的时隙状态信息如表34所示:
表34
Slot 0 |
Slot 1 |
Slot 2 |
Slot 3 |
Slot 4 |
Slot 5 |
Slot 6 |
Slot 7 |
00 |
c:10 |
00 |
a:10 |
a:10 |
00 |
b:10 |
00 |
N3:节点a接收到节点b发送的FI后,在根据时隙1对应的时隙状态缓存表判断各时隙状态时发现自身的自占主时隙时隙1发生碰撞,则节点a将时隙1从自身的自占时隙列表中删除,同时删除时隙1对应的时隙状态缓存表。并将时隙3和时隙4对应的时隙状态缓存表分别根据接收的节点b的FI进行更新,具体表表35和表36所示:
表35
(时隙3对应的时隙状态缓存表)
Slot 0: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 1: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 2: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 3:a |
|
|
|
A:10 |
|
|
|
|
Slot 4: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 5: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 6:b |
00 |
C:10 |
00 |
A:10 |
A:10 |
00 |
B:10 |
00 |
Slot 7: |
default |
default |
default |
default |
default |
default |
default |
default |
表36
(时隙4对应的时隙状态缓存表)
Slot 0: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 1: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 2: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 3: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 4:a |
|
|
|
|
A:10 |
|
|
|
Slot 5: |
default |
default |
default |
default |
default |
default |
default |
default |
Slot 6:b |
00 |
C:10 |
00 |
A:10 |
A:10 |
00 |
B:10 |
00 |
Slot 7: |
default |
default |
default |
default |
default |
default |
default |
default |
N4:节点a将时隙3确定为自身新的自占主时隙。
需要说明的,本应用场景是按照存在自占主时隙的前提进行描述的,当第一节点的自占时隙不是按自占主时隙和自占从时隙区分,而是按特定功能自占时隙(如,状态重置时隙)和非特定功能时隙区分时,当特定功能时隙发生碰撞时,可以采用上述类似处理过程,只需将上述的自占主时隙看成是特定功能自占时隙。
基于上述实施例中,参阅图10所示,本发明实施例中,第一节点包括:维护单元100,用于针对每一个自身使用的时隙分别维护对应的时隙状态缓存表或时隙状态向量(表),其中,第一节点自身使用的时隙包括自占时隙或/和申请时隙;
控制单元101,用于在每个帧周期中的自身使用的时隙上向其他节点发送帧信息FI,以及在每个帧周期中的非自身使用的时隙上接收其他节点发送的FI,并在根据接收到的FI确定自身使用的时隙发生碰撞时,通过维护单元100将发生碰撞的时隙对应的时隙状态缓存表或时隙状态向量(表)删除。
综上所述,本发明实施例中,提出一种时隙碰撞的处理方法,第一节点针对自身使用的每一个时隙分别维护相应的时隙状态缓存表或时隙状态表,第一节点会根据接收到的其他节点发送的FI对自己使用(自占&申请)的各个时隙进行碰撞判断,如果判定存在发生碰撞的时隙,则需要将该时隙对应的时隙状态缓存表或时隙状态表进行删除。这样,可以避免当第一节点占用多个时隙时,任何时隙发生资源碰撞都采用重新发起接入过程的方式重新获得时隙资源,从而有效避免了系统资源的浪费,减轻了系统的运行负荷。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。