本发明实施例涉及通信技术领域,尤其涉及基于多信道的退避方法及设备。
背景技术:
无线保真(Wireless Fidelity,WiFi)是一种基于电气和电子工程师协会(Institute of Electrical and Electronics Engineers,IEEE)制定的IEEE802.11标准的无线局域网技术,实现将个人电脑(Personal Computer,PC)、用户设备(User Equipment,UE)等终端以无线方式组成计算机网络。WiFi设备可包括接入点(Access Point,AP)和用户站点(Station,简称STA)。
IEEE802.11标准支持多个用户共享同一传输介质,由发送者在发送数据前先进行传输介质的可用性检测。IEEE802.11标准采用载波侦听多路访问/碰撞避免(Carrier Sense Multiple Access with Collision Avoidance,简称CSMA/CA)方案来实现信道的竞争,其中为了避免碰撞CSMA/CA采用了退避机制,图1为现有技术提供的单信道上的退避机制示意图,如图1所示,设备在发送消息之前,设备随机生成一个退避(Backoff)值,若设备侦听到信道空闲时间达到分布式帧间间隙(Distributed Interframe Space,简称DIFS)或者仲裁帧间隔(Arbitration Interframe Space,简称AIFS)后,然后设备开始递减退避计数器,在退避过程中,如果侦听到该信道处于忙碌状态时,则退避计数器暂停,在之后的时间中,如果信道由忙碌状态转为空闲状态后,并且信道的空闲状态持续时间达到DIFS或者AIFS之后,退避计数器继续递减,直到退避计数器为0时,退避结束,设备则可以开始传输。
随着通信技术的发展,现在允许AP与STA之间的通信可以同时占用多个信道,图2为现有技术提供的多信道上的退避机制示意图,如图2所示,主要包括:第一,主信道(Primary Channel),主信道的带宽为20MHz,AP与所有的STA都需要侦听主信道,第二,次信道(Secondary Channel),次 信道的带宽也是20MHz,第三,次40MHz信道(Secondary 40MHz Channel),第四,次80MHz信道(Secondary 80MHz Channel),以下将第二、第三和第四种信道统称为非主信道。现有技术中的竞争信道的方法包括:设备首先在主信道上进行退避,然后,设备检测各个信道在主信道退避结束前的预设时间段内的状态,该状态可以是忙碌状态或者空闲状态,如果次信道空闲,那么可以进行40MHz带宽的通信,如果次信道与次40MHz信道同时空闲,那么可以进行80MHz带宽的通信,如果次信道、次40MHz信道与次80MHz信道均空闲,那么可以进行160MHz带宽的通信,如果次信道忙,那么仅在主信道上进行20MHz带宽的通信。
然而,现有技术都是在主信道上进行退避,直到在主信道上的退避结束才确定连续的空闲信道进行通信,这种方法造成通信效率低的问题。
技术实现要素:
本发明实施例提供一种基于多信道的退避方法及设备,从而提高通信效率。
第一方面,本发明实施例提供一种基于多信道的退避方法,所述多信道包括至少两个子信道,设备在所述至少两个子信道上并行发起退避流程,每个所述子信道上的所述退避流程包括:所述设备生成所述子信道对应的退避计数器的初始值,并将所述退避计数器的计数值设为所述初始值,当所述子信道的状态为空闲状态时,所述设备递减所述计数值;当满足预设条件,则所述设备终止所有所述子信道的退避流程,并开始传输,所述预设条件包括:所述计数值等于零。
结合第一方面,在第一方面的第一种可能实施方式中,所述预设条件还包括:所述传输开始之前的第一预设时间段内主信道为空闲状态,所述第一预设时间段的结束时刻与所述传输的开始时刻相同,所述主信道为所述多信道中一个子信道。
结合第一方面的第一种可能实施方式,在第一方面的第二种可能实施方式中,还包括:所述设备查看所述第一预设时间段内每个子信道的状态;所述设备将所述主信道和所述主信道之外的空闲状态的子信道作为可用信道。
结合第一方面,在第一方面的第三种可能实施方式中,还包括:所述设 备查看所述传输开始之前的第一预设时间段内每个子信道的状态,所述第一预设时间段的结束时刻与所述传输的开始时刻相同;所述设备将空闲状态的子信道作为可用信道。
结合第一方面或第一方面的第一种可能实施方式或第二种可能实施方式或第三种可能实施方式,在第一方面的第四种可能实施方式中,在设备递减所述计数值之前,还包括:所述设备确定所述子信道的空闲状态的持续时间达到第二预设时间段。
结合第一方面或第一方面的第一种可能实施方式或第二种可能实施方式或第三种可能实施方式或第四种可能实施方式,在第一方面的第五种可能实施方式中,包括:每个所述子信道上的所述退避计数器具有相同的初始值。
结合第一方面或第一方面的第一种可能实施方式或第二种可能实施方式或第三种可能实施方式或第四种可能实施方式或第五种可能实施方式,在第一方面的第六种可能实施方式中,所述设备终止所有所述子信道的退避流程之后,还包括:所述设备重置每个所述子信道上的所述退避计数器。
结合第一方面或第一方面的第一种可能实施方式或第二种可能实施方式或第三种可能实施方式或第四种可能实施方式或第五种可能实施方式或第六种可能实施方式,在第一方面的第七种可能实施方式中,所述设备为接入点或者用户站点。
结合第一方面或第一方面的第一种可能实施方式或第二种可能实施方式或第三种可能实施方式或第四种可能实施方式或第五种可能实施方式或第六种可能实施方式或第七种可能实施方式,在第一方面的第八种可能实施方式中,所述子信道的带宽为20MHz的整数倍。
第二方面,本发明实施例提供一种基于多信道的退避设备,包括:发起模块、终止和传输模块;所述发起模块,用于在所述至少两个子信道上并行发起退避流程,所述发起模块在每个所述子信道上具体用于:生成所述子信道对应的退避计数器的初始值,并将所述退避计数器的计数值设为所述初始值;当所述子信道的状态为空闲状态时,递减所述计数值;当满足预设条件,则所述终止模块用于终止所有所述子信道的退避流程,并且所述传输模块开始传输,所述预设条件包括:所述计数值等于零。
结合第二方面,在第二方面的第一种可能实施方式中,所述预设条件还 包括:所述传输开始之前的第一预设时间段内主信道为空闲状态,所述第一预设时间段的结束时刻与所述传输的开始时刻相同,所述主信道为所述多信道中一个子信道。
结合第二方面的第一种可能实施方式,在第二方面的第二种可能实施方式中,还包括:第一查看模块,用于查看所述第一预设时间段内每个子信道的状态;第一确定模块,用于将所述主信道和所述主信道之外的空闲状态的子信道作为可用信道。
结合第二方面,在第二方面的第三种可能实施方式中,还包括:第二查看模块,用于查看所述传输开始之前的第一预设时间段内每个子信道的状态,所述第一预设时间段的结束时刻与所述传输的开始时刻相同;第二确定模块,用于将空闲状态的子信道作为可用信道。
结合第二方面或第二方面的第一种可能实施方式或第二种可能实施方式或第三种可能实施方式,在第二方面的第四种可能实施方式中,所述发起模块在设备递减所述计数值之前,还用于确定所述子信道的空闲状态的持续时间达到第二预设时间段。
结合第二方面或第二方面的第一种可能实施方式或第二种可能实施方式或第三种可能实施方式或第四种可能实施方式,在第二方面的第五种可能实施方式中,包括:每个所述子信道上的所述退避计数器具有相同的初始值。
结合第二方面或第二方面的第一种可能实施方式或第二种可能实施方式或第三种可能实施方式或第四种可能实施方式或第五种可能实施方式,在第二方面的第六种可能实施方式中,重置模块,用于重置每个所述子信道上的所述退避计数器。
结合第二方面或第二方面的第一种可能实施方式或第二种可能实施方式或第三种可能实施方式或第四种可能实施方式或第五种可能实施方式或第六种可能实施方式,在第二方面的第七种可能实施方式中,所述设备为接入点或者用户站点。
结合第二方面或第二方面的第一种可能实施方式或第二种可能实施方式或第三种可能实施方式或第四种可能实施方式或第五种可能实施方式或第六种可能实施方式或第七种可能实施方式,在第二方面的第八种可能实施方式中,所述子信道的带宽为20MHz的整数倍。
本发明实施例提供一种基于多信道的退避方法及设备,该方法包括:首先设备在至少两个子信道上并行发起退避流程,每个子信道上的退避流程包括:设备生成子信道对应的退避计数器的初始值,并退避计数器的计数值设为初始值;当子信道的状态为空闲状态时,设备递减计数值;其次,当满足预设条件,则设备终止所有子信道的退避流程,并开始传输,预设条件包括:计数值等于零。由于设备只需要等到最早的退避流程结束即可开始传输,并不用等到主信道的退避结束,因此,这种退避方法提高了通信效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术提供的单信道上的退避机制示意图;
图2为现有技术提供的多信道上的退避机制示意图;
图3为本发明一实施例提供的一种基于多信道的退避方法的流程图;
图4为本发明一实施例提供的多信道上的退避机制示意图一;
图5为本发明一实施例提供的多信道上的退避机制示意图二;
图6为本发明一实施例提供的多信道上的退避机制示意图三;
图7为本发明一实施例提供的多信道上的退避机制示意图四;
图8为本发明一实施例提供的一种基于多信道的退避设备的结构示意图;
图9为本发明另一实施例提供的一种基于多信道的退避设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获 得的所有其他实施例,都属于本发明保护的范围。
本发明的技术方案建立在WIFI技术之上的。涉及的WIFI设备是接入点或者用户站点。IEEE802.11标准中采用CSMA/CA方案来实现信道的竞争,其中CSMA/CA采用避免碰撞的退避机制,为了解决现有技术中基于主信道的退避方法造成通信效率低的问题,本发明提供一种基于多信道的退避方法,具体如下:
实施例一
图3为本发明一实施例提供的一种基于多信道的退避方法的流程图,该方法适用于设备采用退避机制竞争获得信道的场景,其中该方法的执行主体为设备,该设备可以是接入点或者用户站点,多信道包括至少两个子信道,该方法具体包括:
S301:设备在至少两个子信道上并行发起退避流程,每个子信道上的退避流程具体包括:设备生成子信道对应的退避计数器的初始值,并将退避计数器的计数值设为初始值,当子信道的状态为空闲状态时,设备递减计数值;
具体地,图4为本发明一实施例提供的多信道上的退避机制示意图一,如图4所示,多信道主要包括:主信道(Primary Channel),主信道的带宽为20MHz,次信道(Secondary Channel),次信道的带宽也是20MHz,次40MHz信道(Secondary 40MHz Channel),次80MHz信道(Secondary 80MHz Channel),在主信道、次信道、次40MHz信道和次80MHz信道的子信道上并行执行退避流程,图4中仅示出了主信道上和次80MHz信道上的并行退避流程,次信道和次40MHz信道的退避流程在图4中未示出,每个子信道上的退避流程具体包括:首先,设备在子信道上随机生成退避计数器的初始值,并将退避计数器的计数值设为所述初始值,其中,图4所示的设备在子信道上随机生成的初始值为5,通常信道的带宽为20MHz的整数倍。比如:次40MHz信道包括有两个20MHz的子信道,次80MHz信道包括有四个20MHz的子信道,需要说明的是,图4中的次80MHz信道包括了四个20MHz子信道,本发明实施例中可以在其中一个20MHz上进行退避,当然,也可以以20MHz的整数倍的子信道上进行退避,比如:在次80MHz信道中的40MHz上进行退避,本发明实施例对此不做限制。其中,子信道的状态可以是忙碌状态或者空闲状态,一旦子信道中的信号能量高于某一阈值,称它的当前状 态为忙碌状态,相反,则称它的当前状态为空闲状态。
其次,设备生成初始值后,在退避过程中,如果侦听到该子信道处于忙碌状态时,则退避计数器暂停,在之后的时间中,如果子信道由忙碌状态转为空闲状态后,退避计数器继续递减计数。比如:如图4所示,在主信道上,退避计数器的计数值从5开始递减,在递减过程中,主信道上的退避计数器出现了两个时段上的停止状态,当主信道恢复空闲状态后,这时退避计数器继续计数,计数值从4开始递减。
S302:当满足预设条件,则设备终止所有子信道的退避流程,并开始传输,预设条件包括:计数值等于零。
当满足预设条件,则设备终止所有子信道的退避流程,并开始传输,预设条件包括:计数值等于零,结合图4,在次80MHz信道上的某个20MHz子信道上进行退避,它对应的退避计数器的计数值首先达到零,即它是最早结束的退避,这时设备可以终止所有子信道的退避流程,然后设备开始传输。
本发明实施例提供一种基于多信道的退避方法,包括:设备在每个子信道上并行发起退避流程,该退避流程具体包括:设备生成子信道对应的退避计数器的初始值,并退避计数器的计数值设为初始值;当子信道的状态为空闲状态时,设备递减计数值;当满足预设条件,则设备终止所有子信道的退避流程,并开始传输,预设条件包括:计数值等于零。由于设备只需要等到最早的退避流程结束即可开始传输,并不用等到主信道的退避结束,因此,这种退避方法提高了通信效率。
实施例二
第一种可选方式:上述的预设条件还包括:传输开始之前的第一预设时间段内主信道为空闲状态,第一预设时间段的结束时刻与传输的开始时刻相同,则本发明实施例中的退避方法还包括:设备查看第一预设时间段内每个子信道的状态;设备将主信道和主信道之外的空闲状态的子信道作为可用信道。
具体地,结合图4所示,在第一预设时间段内主信道为空闲状态,那么可以将包括有主信道和主信道之外的空闲状态的子信道作为可用信道。比如:该可用信道可以由主信道、次信道、次40MHz信道和次80MHz信道组成,总带宽为160MHz。设备可以在这160MHz的可用信道上进行通信,可用信 道也可以只包括主信道和次信道,当然预设条件还可以包括:确定的可用信道必须为连续信道,本发明实施例对此不做限制。图5为本发明一实施例提供的多信道上的退避机制示意图二,如图5所示,次80MHz的一个子信道最先完成了退避,但在第一预设时间内主信道的状态为忙碌状态,因此,除了最早结束退避的次80MHz的子信道以外,其他信道继续进行退避,然后次40MHz中一个子信道又最先完成了退避,在这次退避中确定在第一预设时间内主信道的状态为空闲状态,因此,可以将包括有主信道,状态为空闲状态的信道组作为竞争到的可用信道组,设备则可以在可用信道组上进行通信。
第二种可选方式:设备查看传输开始之前的第一预设时间段内每个子信道的状态,第一预设时间段的结束时刻与传输的开始时刻相同;设备将空闲状态的子信道作为可用信道。
第二种可选方式与第一种可选方式的区别在于:第二种可选方式的预设条件不包括:在第一预设时间段内主信道为空闲状态,图6为本发明一实施例提供的多信道上的退避机制示意图三,如图6所示,在第一预设时间内,主信道为忙碌状态,其他的非主信道为空闲状态,因此,设备可以在140MHz的可用信道上进行通信。
进一步地,在设备开始递减计数值之前,还包括:设备确定子信道的空闲状态的持续时间达到第二预设时间段,该第二预设时间段可以是IEEE802.11标准预设的分布式帧间间隙(Distributed Interframe Space,简称DIFS)或者仲裁帧间隔(Arbitration Interframe Space,简称AIFS)。这种情况下,设备在每个子信道上并行发起退避流程,包括:设备生成子信道对应的退避计数器的初始值,并将退避计数器的计数值设为初始值,然后设备同时侦听每个子信道的状态,当子信道的空闲状态持续时间达到第二预设时间段后,如果子信道的状态为空闲状态时,设备递减计数值;当满足预设条件,则设备终止所有子信道的退避流程,并开始传输,预设条件包括:计数值等于零,进一步地,预设条件还可以包括:传输开始之前的第一预设时间段内主信道为空闲状态。图7为本发明一实施例提供的多信道上的退避机制示意图四,如图7所示,设备在至少两个子信道上并行发起退避流程,包括:设备同时侦听每个子信道的状态,当子信道的空闲状态持续时间达到第二预设时间段时,该第二预设时间段为AIFS或者DIFS,然后退避计数器的计数值 从5开始递减,在递减过程中,子信道上的退避计数器出现了两个时段上的停止状态,当子信道恢复空闲状态后,这时退避计数器继续计数,计数值从4开始递减。当满足预设条件,则设备终止所有子信道的退避流程,并开始传输。
值得说明的是,可用信道中所包括的所有信道为连续的信道;或者,所包括的所有信道为非连续的信道。比如:若存在限制条件要求可用信道中的所有信道需要是连续的信道,则最后确定的可用信道则必须要满足这一限制条件,比如:如果次信道空闲,那么可以进行40MHz带宽的通信,如果次信道与次40MHz信道同时空闲,那么可以进行80MHz带宽的通信,如果次信道、次40MHz信道与次80MHz信道均空闲,那么可以进行160MHz带宽的通信,如果次信道忙,那么仅在主信道上进行20MHz带宽的通信。
可选地,每个子信道上的退避计数器具有相同的初始值。比如:设备为某一子信道随机生成了初始值,其余子信道则直接使用与它相同的初始值,当然,也可以是设备在各个子信道上分别生成初始值,它们之间是相互独立的,它们可以不同。进一步地,通常子信道的带宽为20MHz的整数倍。
需要说明的是,现有技术中的老设备只支持在主信道上进行退避,然后在主信道上进行通信,若新设备和老设备进行信号竞争时也只能在主信道上进行,从而造成信道资源的浪费,本发明实施例中新设备可以采用上述的基于多信道的退避方法,即不限制新设备必须在主信道上进行通信,从而提高了信道资源的利用率。
本发明实施例提供了确定可用信道的方法,具体包括两种可选方式:第一种可选方式:设备查看第一预设时间段内每个子信道的状态;设备将空闲状态的主信道和主信道之外的空闲状态的子信道作为可用信道;第二种可选方式:设备查看传输开始之前的第一预设时间段内每个子信道的状态,设备将空闲状态的子信道作为可用信道,使得若新设备和老设备进行信号竞争时,不局限于主信道,而是可以在可用信道上进行传输,从而提高信道资源的利用率。
实施例三
图8为本发明一实施例提供的一种基于多信道的退避设备的结构示意图,该设备为接入点AP或者用户站点STA,其中该设备包括:发起模块801、 终止模块802和传输模块803;所述发起模块801,用于在所述至少两个子信道上并行发起退避流程,其中发起模块801在每个所述子信道上具体用于:生成所述子信道对应的退避计数器的初始值,并将所述退避计数器的计数值设为所述初始值;当所述子信道的状态为空闲状态时,递减所述计数值。
当满足预设条件,则所述终止模块802用于终止所有所述子信道的退避流程,并所述传输模块803开始传输,所述预设条件包括:所述计数值等于零。
本实施例提供的基于多信道的退避设备,可以用于执行图3所示实施例中的方法步骤,其实现原理和技术效果类似,此处不再赘述。
实施例四
图9为本发明另一实施例提供的一种基于多信道的退避设备的结构示意图,该设备为接入点AP或者用户站点STA,该设备包括:发起模块901、终止模块902和传输模块903,其中发起模块901与图8中的发起模块801功能相同,终止模块902与图8中的终止模块802功能相同,传输模块903与图8中的传输模块803功能相同在此不再赘述。
进一步地,所述传输开始之前的第一预设时间段内主信道为空闲状态,所述第一预设时间段的结束时刻与所述传输的开始时刻相同,所述主信道为所述多信道中一个子信道。该设备还包括:第一查看模块904,用于查看所述第一预设时间段内每个子信道的状态;第一确定模块905,用于将所述主信道和所述主信道之外的空闲状态的子信道作为可用信道。
更进一步地,该设备还包括:第二查看模块906,用于查看所述传输开始之前的第一预设时间段内每个子信道的状态,所述第一预设时间段的结束时刻与所述传输的开始时刻相同;第二确定模块907,用于将空闲状态的子信道作为可用信道。
可选地,所述发起模块901在设备递减所述计数值之前,还用于确定所述子信道的空闲状态的持续时间达到第二预设时间段。
进一步地,每个所述子信道上的所述退避计数器具有相同的初始值。
更进一步地,该设备还包括:重置模块908,用于重置每个所述子信道上的所述退避计数器。
需要说明的是上述子信道的带宽为20MHz的整数倍。
本实施例提供的基于多信道的退避设备,可以用于执行实施例二的方法步骤,其实现原理和技术效果类似,此处不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。