一种信道调整方法和装置
技术领域
本发明涉及通信技术领域,尤其涉及一种信道调整方法和装置。
背景技术
如图1所示,为WLAN(Wireless Local Area Networks,无线局域网)的组网示意图,STA(Station,无线客户端)为终端设备,AP(Access Point,接入点)负责STA接入网络的工作,AC(Access Controller,接入控制器)负责管理一个或者多个AP。对于WLAN来说,信道数量非常有限,当AC管理多个AP时,无法保证每个AP选择不同的工作信道,因此,AP可能会选择相同的工作信道,而当相邻AP选择相同的工作信道时,则相邻AP之间就会互相干扰。
如图2所示,相邻的AP1和AP2均选择信道1作为工作信道,AP1和AP2之间会互相干扰。当AP1和AP2之间互相干扰时,AP1和AP2的工作信道的质量变差。而AC在检测到AP1和/或AP2的工作信道的质量低于阈值时,就可以对AP1和/或AP2的工作信道进行调整,以提高STA的无线服务质量。
在上述方式中,AC在检测到AP的工作信道的质量低于阈值时,才调整AP的工作信道,会影响STA的使用体验。例如,当AP1和AP2互相干扰时,如果AP1和AP2连接的STA数量较少,虽然AP1和AP2互相干扰,但是干扰并不明显,AP1和AP2的工作信道的质量不低于阈值,并不调整AP1和AP2的工作信道。当AP1和/或AP2连接的STA数量较多时,则AP1和AP2的干扰明显,AP1和AP2的工作信道的质量低于阈值,此时调整AP1和/或AP2的工作信道。
因此,随着STA数量的增加,才会满足调整工作信道的条件,从而导致在STA数量增加时才调整AP的工作信道,导致大量的STA掉线,影响STA的使用体验。例如,在校园组网中,需要等到学生都开始接入AP时,AC才去调整AP的工作信道,这些学生的STA都会掉线,影响使用体验。
发明内容
本发明提供一种信道调整方法,所述方法应用在AP上,所述方法包括:在当前工作信道上监听到来自使用当前工作信道的其它AP的信标报文时,如果未接收过AC发送的信道调整指示报文,则向所述AC发送信道冲突请求报文;如果已接收过信道调整指示报文或者接收到所述AC发送的针对所述信道冲突请求报文响应的信道调整指示报文,则判断当前工作信道是否为预先维护的信道使用表内的最后一个未被使用的可用信道;若否,则从所述信道使用表内选择一个未被使用的可用信道,并将该可用信道确定为新工作信道;如果在所述新工作信道上未监听到来自使用所述新工作信道的其它AP的信标报文,则保持所述新的工作信道,并向所述AC发送信道稳定报文。
本发明提供一种一种信道调整方法,所述方法应用在AC上,所述方法包括:在接收到来自AP的信道冲突请求报文时,查询当前的工作状态;如果所述工作状态为空闲状态,则将所述工作状态修改为活跃状态,并向所述AP发送针对信道冲突请求报文响应的信道调整指示报文;在接收到来自所述AP的信道稳定报文时,将所述工作状态修改为空闲状态。
本发明提供一种信道调整装置,所述装置应用在AP上,所述装置包括:发送模块,用于在当前工作信道上监听到来自使用当前工作信道的其它AP的信标报文时,如果未接收过AC发送的信道调整指示报文,则向所述AC发送信道冲突请求报文;判断模块,用于当已接收过信道调整指示报文或者接收到所述AC发送的针对所述信道冲突请求报文响应的信道调整指示报文,则判断当前工作信道是否为预先维护的信道使用表内的最后一个未被使用的可用信道;选择模块,用于当判断结果为否时,则从所述信道使用表内选择一个未被使用的可用信道,并将该可用信道确定为新工作信道;所述发送模块,还用于在所述新工作信道上未监听到来自使用所述新工作信道的其它AP的信标报文,则保持所述新的工作信道,并向所述AC发送信道稳定报文。
本发明提供一种信道调整装置,所述装置应用在AC上,所述装置包括:查询模块,用于在接收到来自AP的信道冲突请求报文时,查询当前的工作状态;状态管理模块,用于在所述查询模块查询到所述工作状态为空闲状态时,将所述工作状态修改为活跃状态;在接收到来自所述AP的信道稳定报文时,如果所述工作状态为活跃状态,则将所述工作状态修改为空闲状态;发送模块,用于在所述状态管理模块将所述工作状态修改为活跃状态之后,向所述AP发送针对信道冲突请求报文响应的信道调整指示报文。
基于上述技术方案,本发明实施例中,可以显著减少两个AP使用同一工作信道的情况,避免两个AP之间的互相干扰,提高STA的无线服务质量。而且,可以在STA数量较少时,就调整AP的工作信道,避免当STA数量较多时才去调整AP的工作信道,从而避免大量的STA掉线,提高STA的使用体验。
附图说明
为了更加清楚地说明本发明实施例或者现有技术中的技术方案,下面将对本发明实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是WLAN的组网示意图;
图2是相邻的AP使用相同的工作信道的组网示意图;
图3是本发明一种实施方式中的信道调整方法的流程图;
图4A-图4C是本发明一种实施方式中的信道调整的示意图;
图5是本发明另一种实施方式中的信道调整方法的流程图;
图6是本发明一种实施方式中的AP的硬件结构图;
图7是本发明一种实施方式中的信道调整装置的结构图;
图8是本发明一种实施方式中的AC的硬件结构图;
图9是本发明一种实施方式中的信道调整装置的结构图。
具体实施方式
在本发明使用的术语仅仅是出于描述特定实施例的目的,而非限制本发明。本发明和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
针对现有技术中存在的问题,本发明实施例中提出一种信道调整方法,该方法可以应用于包括AC和多个AP的网络中,且AC用于管理这多个AP。如图2所示,每个AP可能布局在一个教室中,且6个AP由同一AC管理。在初始环境下,每个AP自动选择工作信道,可能导致相邻的AP使用相同的工作信道。例如,相邻的AP1和AP2选择信道1作为工作信道,相邻的AP4和AP5选择信道6作为工作信道,相邻的AP3和AP6选择信道11作为工作信道。
为了对AP的工作信道进行调整,则可以采用本发明实施例中提出的信道调整方法,该信道调整方法可以应用在AP上,如图3所示,该方法包括以下步骤:
步骤301,在当前工作信道上监听到来自使用当前工作信道的其它AP的信标报文时,如果未接收过AC发送的信道调整指示报文,则向AC发送信道冲突请求报文。
步骤302,如果已接收过信道调整指示报文或者接收到AC发送的针对信道冲突请求报文响应的信道调整指示报文,则判断当前工作信道是否为预先维护的信道使用表内的最后一个未被使用的可用信道。若否,执行步骤303。
步骤303,从信道使用表内选择一个未被使用的可用信道,并将该可用信道确定为新工作信道。
步骤304,如果在新工作信道上未监听到来自使用新工作信道的其它AP的信标报文,则保持新的工作信道,并向AC发送信道稳定报文。
针对步骤301,使用当前工作信道的其它AP通常指与本AP相邻的其它AP,例如,相邻的AP1和AP2选择信道1作为工作信道时,如果本AP为AP1,则AP1在当前工作信道上可以监听到来自使用当前工作信道的AP2的信标报文。
针对步骤301,在一个例子中,AP周期性的检测本AP在当前工作信道上是否接收到来自使用当前工作信道的其它AP的信标报文。如果是,当未接收过AC发送的信道调整指示报文时,向AC发送信道冲突请求报文。如果否,等待下一个检测周期,继续检测本AP在当前工作信道上是否接收到来自使用当前工作信道的其它AP的信标报文。其中,由于每个AP会在本AP的当前工作信道上广播信标报文,因此,如果本AP与相邻AP使用相同的工作信道,则本AP可能在当前工作信道上接收到来自使用当前工作信道的其它AP的信标报文。
针对步骤301,在一个例子中,在当前工作信道上监听到来自使用当前工作信道的其它AP的信标报文的过程,可以分为如下两种情况:
情况一、AP未向AC发送过信道冲突请求报文,也未接收过AC返回的信道调整指示报文,如果在当前工作信道上监听到来自其它AP的信标报文,此时未接收过AC发送的信道调整指示报文,因此向AC发送信道冲突请求报文。之后,可能收到AC发送的针对信道冲突请求报文响应的信道调整指示报文。
情况二、AP向AC发送过信道冲突请求报文,也接收过AC返回的信道调整指示报文,在这种情况下,可以认为当前工作信道是从信道使用表内选择的一个新工作信道,如果在当前工作信道上监听到来自其它AP的信标报文,此时接收过AC发送的信道调整指示报文。
针对步骤301,AP向AC发送信道冲突请求报文之后,AC在接收到该信道冲突请求报文时,查询当前的工作状态。如果该工作状态为空闲状态(free状态),则将该工作状态修改为活跃状态(active状态),并向该AP发送针对信道冲突请求报文响应的信道调整指示报文。如果该工作状态为活跃状态,则向AP发送针对信道冲突请求报文响应的待命指示报文,或者不向该AP发送响应报文。
其中,在初始情况下,AC的工作状态可以为空闲状态。
在一个例子中,如果AC同时接收到多个信道冲突请求报文,且当前的工作状态为空闲状态,则AC可以从多个信道冲突请求报文中任意选择一个信道冲突请求报文进行处理,将该工作状态修改为活跃状态,并丢弃其它信道冲突请求报文,只向选择的信道冲突请求报文的来源AP发送信道调整指示报文。针对其它信道冲突请求报文的来源AP,发送待命指示报文,或者不发送响应报文。
在图2中,由于AP1在信道1上会收到来自AP2的信标报文,因此AP1向AC发送信道冲突请求报文,同理,AP2、AP3、AP4、AP5、AP6均会向AC发送信道冲突请求报文。AC的初始状态为空闲状态,假设AC收到的第一个信道冲突请求报文来自AP1,则AC向AP1发送信道调整指示报文,将工作状态修改为活跃状态,并分别向AP2、AP3、AP4、AP5、AP6发送待命指示报文。
在一个例子中,AP在向AC发送信道冲突请求报文之后,如果接收到AC返回的针对信道冲突请求报文响应的待命指示报文,或者未接收到AC返回的响应报文,则停止监听信标报文。因此,AP2、AP3、AP4、AP5、AP6在接收到AC返回的待命指示报文后,不再监听信标报文。
针对步骤302,AP可以预先维护信道使用表,该信道使用表内可以包括多个信道,如信道使用表内包括信道1、信道6、信道11。AP在接收到AC发送的信道调整指示报文后,则判断当前工作信道是否为该信道使用表内的最后一个未被使用的可用信道。其中,信道使用表内的各个信道可以被标记未被使用的标识(如0)、正在使用的标识(如1)、已被使用的标识(如2)。基于此,如果有信道的标识为未被使用的标识,则说明当前工作信道不是该信道使用表内的最后一个未被使用的可用信道。如果所有信道的标识都不是未被使用的标识,则说明当前工作信道是该信道使用表内的最后一个未被使用的可用信道。
针对步骤303,当信道使用表内存在一个未被使用的可用信道时,将该未被使用的可用信道确定为新工作信道。当信道使用表内存在至少两个未被使用的可用信道时,优选从信道使用表内选择一个未被使用的,且与当前工作信道之间的信道号间隔最大的可用信道,并将选择的信道确定为新工作信道,以降低干扰几率。
例如,假设信道使用表内包含信道1、信道6和信道11,信道1(即当前工作信道)被标记为正在使用的标识1,信道6和信道11被标记为未被使用的标识0,因此,AP1选择的与当前工作信道之间的信道号间隔最大的可用信道为信道11。其中,信道号为1、6、11等,信道号间隔是指信道号1与信道号6的差值,即5,信道号1与信道号11的差值,即10。此外,AP1还可以为信道1标记已被使用的标识2,并为信道11标记正在使用的标识1。
如图4A所示,AP1将工作信道调整为信道11之后,由于AP1的工作信道与相邻的AP2、AP4的工作信道不同,因此,AP1在信道11上不会收到来自相邻的AP2、AP4的信标报文。基于此,针对步骤304,AP1在信道11上未监听到来自其它AP的信标报文,则保持新工作信道为信道11。
进一步的,AP1向AC发送信道稳定报文。AP1在向AC发送信道稳定报文之后,在预设时间内,AP1停止监听信标报文,不再切换工作信道。
在一个例子中,针对步骤302,AP判断出当前工作信道是信道使用表内的最后一个未被使用的可用信道时,停止监听信标报文,向AC发送信道稳定报文。
AC在接收到来自AP的信道稳定报文时,将工作状态修改为空闲状态,并向在自身处于活跃状态时接收到的信道冲突请求报文的来源AP发送通知监听信标报文的通知报文。例如,AC在接收到来自AP1的信道稳定报文时,将工作状态修改为空闲状态,并分别向AP2、AP3、AP4、AP5、AP6发送通知报文。
在一个例子中,AP向AC发送信道冲突请求报文后,可能会接收到待命指示报文或者未收到响应报文,进而停止监听信标报文,在停止监听信标报文之后,如果后续接收到AC发送的通知监听信标报文的通知报文,则重新监听信标报文。例如,AP2、AP3、AP4、AP5、AP6在接收到该通知报文后,继续周期性的检测本AP在当前工作信道上是否接收到来自相邻AP的信标报文。
由于AP3在信道11上会收到来自AP6的信标报文,因此,AP3向AC发送信道冲突请求报文。同理,AP4、AP5、AP6均会向AC发送信道冲突请求报文。由于AC当前的工作状态为空闲状态,假设AC收到的第一个信道冲突请求报文来自AP3,则AC会向AP3发送信道调整指示报文,并将工作状态修改为活跃状态,并分别向AP4、AP5、AP6发送待命指示报文。AP4、AP5、AP6在接收到AC返回的待命指示报文后,不再监听信标报文。
AP3在接收到信道调整指示报文后,在信道使用表内,信道11(即当前工作信道)被标记为正在使用的标识1,信道1和信道6被标记为未被使用的标识0,因此,AP3选择信道号间隔最大的信道1,并将信道1确定为新工作信道。
AP3将工作信道调整为信道1之后,由于AP3的工作信道与相邻的AP2的工作信道相同,因此,AP3在信道1上会收到来自相邻的AP2的信标报文,此时由于已经接收过AC返回的信道调整指示报文,因此判断信道1是否为信道使用表内的最后一个未被使用的可用信道,由于信道使用表内还存在未被使用的可用信道6,因此继续调整AP3的工作信道,将信道6确定为新工作信道。
如图4B所示,AP3将工作信道调整为信道6之后,由于AP3的工作信道与相邻的AP2、AP6的工作信道不同,因此,AP3在信道6上不会收到来自相邻的AP2、AP6的信标报文,因此,AP3向AC发送信道稳定报文。AP3在发送信道稳定报文之后,在预设时间内,停止监听信标报文,不再切换工作信道。
AC在接收到来自AP3的信道稳定报文时,将工作状态修改为空闲状态,并分别向AP4、AP5、AP6发送通知报文。AP4、AP5、AP6收到通知报文后,继续周期性的检测本AP在当前工作信道上是否接收到来自相邻AP的信标报文。
由于AP4在信道6上会收到来自AP5的信标报文,因此,AP4向AC发送信道冲突请求报文。同理,AP5会向AC发送信道冲突请求报文。由于AC当前的工作状态为空闲状态,假设AC收到的第一个信道冲突请求报文来自AP4,则AC会向AP4发送信道调整指示报文,并将工作状态修改为活跃状态,并向AP5发送待命指示报文。AP5在收到AC返回的待命指示报文后,不再监听信标报文。
AP4在接收到信道调整指示报文后,选择信道1为新工作信道。如图4C所示,AP4将工作信道调整为信道1之后,由于AP4的工作信道与相邻的AP1、AP5的工作信道不同,因此,AP4在信道1上不会收到来自相邻的AP1、AP5的信标报文,因此,AP4向AC发送发送信道稳定报文。AP4在发送信道稳定报文之后,在预设时间内,停止监听信标报文,不再切换工作信道。
AC在接收到来自AP4的信道稳定报文时,将工作状态修改为空闲状态,并向AP5发送通知报文。AP5收到通知报文后,继续周期性的检测本AP在当前工作信道上是否接收到来自相邻AP的信标报文。由于任意相邻的AP之间的工作信道均不同,因此各AP在工作信道上均不会接收到来自相邻AP的信标报文,各AP不再向AC发送信道冲突请求报文。AC在预设时间内未收到信道冲突请求报文后,则确定不存在冲突,通知各AP停止检测,各AP停止监听信标报文。
在一个例子中,上述信道1、信道6、信道11的组合是2.4G信道的应用场景,本发明实施例的技术方案还可以应用在其它应用场景,如5G信道的应用场景。与上述2.4G信道不同的是,在5G信道的应用场景下,信道使用表内的可用信道可以包括信道36、信道40、信道44、信道48、信道52、信道56、信道60、信道64、信道149、信道153、信道157、信道161、信道165等,其它处理流程与上述2.4G信道的应用场景的处理类似,在此不再赘述。
基于上述技术方案,本发明实施例中,可以显著减少两个AP使用同一工作信道的情况,避免两个AP之间的互相干扰,提高STA的无线服务质量。而且,可以在STA数量较少时,就调整AP的工作信道,避免当STA数量较多时才去调整AP的工作信道,从而避免大量的STA掉线,提高STA的使用体验。
本发明实施例中还提出一种信道调整方法,该方法可以应用于包括AC和多个AP的网络中,且该AC用于管理这多个AP,所述信道调整方法可以应用在AC上,如图5所示,该信道调整方法具体可以包括以下步骤:
步骤501,在接收到来自AP的信道冲突请求报文时,查询当前的工作状态。
步骤502,如果工作状态为空闲状态,则将该工作状态修改为活跃状态,并向所述AP发送针对信道冲突请求报文响应的信道调整指示报文。
AP在接收到信道调整指示报文后,在判断出当前工作信道不是预先维护的信道使用表内的最后一个未被使用的可用信道时,则从信道使用表内选择一个未被使用的可用信道,并将该可用信道确定为新工作信道。
步骤503,在接收到来自AP的信道稳定报文时,将工作状态修改为空闲状态,这样,再次执行步骤501时,查询到的工作状态为空闲状态。
在一个例子中,针对步骤501,在查询当前的工作状态之后,如果工作状态为活跃状态,则向AP发送针对信道冲突请求报文响应的待命指示报文,或者不向AP发送响应报文。AP在接收到AC返回的针对信道冲突请求报文响应的待命指示报文,或者未接收到AC返回的响应报文时,则停止监听信标报文。
在一个例子中,针对步骤503,在接收到来自AP的信道稳定报文时,还可以向在自身处于活跃状态时接收到的信道冲突请求报文的来源AP发送通知监听信标报文的通知报文。如果AP由于接收到待命指示报文或者未收到响应报文导致停止监听信标报文,则在停止监听信标报文之后,如果接收到AC发送的通知监听信标报文的通知报文,则重新监听信标报文。
基于上述技术方案,本发明实施例中,可以显著减少两个AP使用同一工作信道的情况,避免两个AP之间的互相干扰,保证STA的无线服务质量。而且,可以在STA数量较少时,就调整AP的工作信道,避免当STA数量较多时才去调整AP的工作信道,从而避免大量的STA掉线,提高STA的使用体验。
基于与上述方法同样的发明构思,本发明实施例还提供一种信道调整装置,应用在AP上。该信道调整装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的AP的处理器,读取非易失性存储器中对应的计算机程序指令形成的。从硬件层面而言,如图6所示,为信道调整装置所在的AP的一种硬件结构图,除了图6所示的处理器、非易失性存储器外,AP还可以包括其他硬件,如网络接口、内存等。
如图7所示,为本发明提出的信道调整装置的结构图,所述装置包括:
发送模块11,用于在当前工作信道上监听到来自使用当前工作信道的其它AP的信标报文时,如果未接收过接入控制器AC发送的信道调整指示报文,则向所述AC发送信道冲突请求报文;
判断模块12,用于当已接收过信道调整指示报文或者接收到所述AC发送的针对所述信道冲突请求报文响应的信道调整指示报文,则判断当前工作信道是否为预先维护的信道使用表内的最后一个未被使用的可用信道;
选择模块13,用于当判断结果为否时,则从所述信道使用表内选择一个未被使用的可用信道,并将该可用信道确定为新工作信道;
所述发送模块11,还用于在所述新工作信道上未监听到来自使用所述新工作信道的其它AP的信标报文,则保持所述新的工作信道,并向所述AC发送信道稳定报文。
所述信道调整装置还包括(图中未体现):
处理模块14,可以用于在所述发送模块向所述AC发送信道冲突请求报文之后,如果接收到所述AC返回的针对信道冲突请求报文响应的待命指示报文,或者未接收到所述AC返回的响应报文,则停止监听信标报文;
在停止监听信标报文之后,如果接收到所述AC发送的通知监听信标报文的通知报文,则重新监听信标报文;其中,所述通知报文是所述AC在收到其它AP发送的信道稳定报文之后发送的。
也可以用于在所述发送模块向所述AC发送信道稳定报文之后,在预设时间内,停止监听信标报文。
还可以用于在所述判断模块判断出当前工作信道是预先维护的信道使用表内的最后一个未被使用的可用信道时,停止监听信标报文,并由所述发送模块向所述AC发送信道稳定报文。
所述选择模块13,具体用于在从所述信道使用表内选择一个未被使用的可用信道的过程中,从所述信道使用表内选择一个未被使用的,且与当前工作信道之间的信道号间隔最大的可用信道。
基于与上述方法同样的发明构思,本发明实施例还提供一种信道调整装置,应用在AC上。该信道调整装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的AC的处理器,读取非易失性存储器中对应的计算机程序指令形成的。从硬件层面而言,如图8所示,为信道调整装置所在的AC的一种硬件结构图,除了图8所示的处理器、非易失性存储器外,AC还可以包括其他硬件,如网络接口、内存等。
如图9所示,为本发明提出的信道调整装置的结构图,所述装置包括:
查询模块21,用于在接收到来自接入点AP的信道冲突请求报文时,查询当前的工作状态;
状态管理模块22,用于在所述查询模块查询到所述工作状态为空闲状态时,将所述工作状态修改为活跃状态;在接收到来自所述AP的信道稳定报文时,如果所述工作状态为活跃状态,则将所述工作状态修改为空闲状态;
发送模块23,用于在所述状态管理模块将所述工作状态修改为活跃状态之后,向所述AP发送针对信道冲突请求报文响应的信道调整指示报文。
所述发送模块23,还用于在所述查询模块查询到所述工作状态为活跃状态时,则向所述AP发送针对信道冲突请求报文响应的待命指示报文,或者不向所述AP发送响应报文。
所述发送模块23,还用于在接收到来自所述AP的信道稳定报文之后,向在自身处于活跃状态时接收到的信道冲突请求报文的来源AP发送通知监听信标报文的通知报文。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。