无线网络切换方法、装置及电子设备
技术领域
本发明涉及通信技术领域,具体而言,涉及一种无线网络切换方法、装置及电子设备。
背景技术
单一射频的设备是指硬件层同一时间只能在一个信道上发射或接收数据的设备。单一射频设备内可以存在多个无线虚拟接口,多个无线虚拟接口通过同一通信信道与各自的对端设备进行通信。然而,当任一个无线虚拟接口需要切换至其他信道频点工作时,均需要关闭该设备的无线功能,使所有的无线虚拟接口均停止工作,再重新在硬件层设置信道频点参数。如此,不仅会导致其他无线虚拟突然与对端设备断开连接,而且设备的无线功能重启后,其他无线虚拟接口可能由于配置等问题无法再与对端设备通信。
发明内容
有鉴于此,本发明的目的在于提供一种无线网络切换方法、装置及电子设备。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供一种无线网络切换方法,应用于电子设备,所述电子设备包括多个无线虚拟接口,所述无线网络切换方法包括:
在检测到可切换的目标工作频点时,基于所述目标工作频点创建目标信道上下文;
将所述目标信道上下文依次写入每一所述无线虚拟接口对应的目标信道存储区域;
检测所述多个无线虚拟接口是否均基于所述目标信道上下文进入频道切换激活状态;
当所述无线虚拟接口均进入所述频道切换激活状态时,基于所述目标信道上下文进行硬件层配置,以便于所述多个无线虚拟接口同时切换至所述目标工作频点。
第二方面,本发明实施例提供一种无线网络切换装置,应用于电子设备,所述电子设备包括多个无线虚拟接口,所述无线网络切换装置包括:
创建模块,用于在检测到可切换的目标工作频点时,基于所述目标工作频点创建目标信道上下文;
存储模块,用于将所述目标信道上下文依次写入每一所述无线虚拟接口对应的目标信道存储区域;
检测模块,用于检测所述多个无线虚拟接口是否均基于所述目标信道上下文进入频道切换激活状态;
配置模块,用于当所述无线虚拟接口均进入所述频道切换激活状态时,基于所述目标信道上下文进行硬件层配置,以便于所述多个无线虚拟接口同时切换至所述目标工作频点。
第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述实施方式中任一项所述的方法。
相较于现有技术,本发明实施例提供的无线网络切换方法,通过在检测到可切换的目标工作频点时,基于目标工作频点创建目标信道上下文,再将目标信道上下文依次写入每一无线虚拟接口对应的目标信道存储区域,以便每一个无线虚拟接口根据目标信道上下文进行工作频点跃迁准备。再通过检测,判断每个无线虚拟接口均基于目标信道上下文进入频道切换激活状态后,利用目标信道上下文进行硬件层配置,从而多个无线虚拟接口同时切换至目标工作频点。也就是,在所有无线虚拟接口均准备好跃迁至目标工作频道后,更改硬件层的目标信道上下文,使电子设备采用的频点切换至目标工作频点,切换过程无需关闭电子设备的无线功能,各个无线虚拟接口依然可以与对端设备正常通信,每一个无线虚拟接口均准备好后进行切换,避免切换后出现通信异常的无线虚拟接口。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了应用场景示意图之一。
图2示出了本发明实施例提供的电子设备的示意图。
图3示出了本发明实施例提供的无线网络切换方法的步骤流程图之一。
图4为图3中步骤S103的子步骤流程图。
图5示出了本发明实施例提供的无线网络切换方法的步骤流程图之二。
图6为图5中步骤S202的子步骤流程图。
图7示出了本发明实施例提供的无线网络切换方法的步骤流程图之三。
图8示出了本发明实施例提供的无线网络切换方法的步骤流程图之四。
图9示出了本发明实施例提供的无线网络切换方法的步骤流程图之五。
图10示出了本发明实施例提供的无人机通信系统的应用场景图。
图11示出了本发明实施例提供的无线网络切换装置的示意图。
图标:100-电子设备;110-存储器;120-处理器;130-通信单元;600-无线网络切换装置;601-创建模块;602-存储模块;603-检测模块;604-配置模块;605-扫描模块;606-获取模块;607-查找模块;608-删除模块;609-比较模块;610-更新模块。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
由于单一射频的设备的硬件结构的限制,同一时间仅能在采用一个通信信道接收或发送数据。当单一射频的设备需要加入不同的组网方式的网络与不同的对端设备通信时,可以在设备中配置多类无线虚拟接口(virtual interface,Vif)。每一类Vif与不同类的对端设备组成不同的通信网络。
为了方便说明,以图1所示的(wireless phy,wiphy)无线硬件描述设备的应用场景为例进行描述,里面包含了该射频硬件所支持频带数量、支持虚拟接口模式、高速传输模式、频率与信号的相关管控限制等一系列射频硬件性能指标,通常用于描述射频硬件。
图1中的wiphy设备具有四类无线虚拟接口,具体包括client vif、meshvif、adhocvif、p2p vif。其中,client vif可以与对端设备(AP设备)组成Bss网络,meshvif与对端设备(mesh设备)组成无线mesh网络,adhocvif与对端设备(adhoc设备)组成点对点网络,p2p vif与对端设备(p2p设备)组成p2p网络。然而无论是Bss网络、无线mesh网络、点对点网络还是p2p网络均采用同一通信信道进行通信,一旦任一网络需要更换通信信道,那么其他的网络需要同时更换通信信道。否则,无法正常在其他网络中与对端设备进行通信。比如,Bss网络中的AP设备更换工作频点,那么client vif也需要切换到新的工作频点工作。client vif要切换到新的工作频点就意味着其他的vif也要进行工作频点切换,也意味着需要从硬件层切换通信信道。
现有技术中,若要切换通信信道均需要关闭该设备的无线功能,使所有的无线虚拟接口均停止工作。再重新在硬件层设置信道频点参数。如此,不仅会导致其他无线虚拟突然与对端设备断开连接,而且设备的无线功能重启后,其他无线虚拟接口可能由于配置等问题无法再与对端设备通信。
为了解决上述问题,本发明实施例提供了一种无线网络切换方法、装置及电子设备。
请参照图2,是电子设备100的方框示意图。所述服务器包括存储器110、处理器120及通信单元130。所述存储器110、处理器120以及通信单元130各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
其中,存储器110用于存储程序或者数据。所述存储器110可以是,但不限于,随机存取存储器110(Random Access Memory,RAM),只读存储器110(Read Only Memory,ROM),可编程只读存储器110(Programmable Read-Only Memory,PROM),可擦除只读存储器110(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器110(ElectricErasable Programmable Read-Only Memory,EEPROM)等。
处理器120用于读/写存储器110中存储的数据或程序,并执行相应地功能。
通信单元130包括射频电路,电子设备100中的多个Vif可利用上述射频电路与其它通信终端通信连接,组成对应的通信网络,以便利用该通信网络收发数据。
应当理解的是,图2所示的结构仅为电子设备100的结构示意图,所述电子设备100还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。
第一实施例
请参考图3,图3示出了本发明实施例提供的无线网络切换方法的步骤流程图。上述无线网络切换方法应用于电子设备100,如图3所示,无线网络切换方法包括以下步骤:
步骤S101,在检测到可切换的目标工作频点时,基于目标工作频点创建目标信道上下文。
上述目标工作频点为进行频点切换后电子设备100与外界设备进行数据交互所占用的频点。上述信道上下文用于描述电子设备100可用的信道。可选地,信道上下文包括信道上下文的数据。
上述信道上下文的数据用于描述信道的配置参数等信息。比如,上述信道上下文的数据可以包括信道定义、接收MIMO传输的活跃接收链数量、在RTS/CTS握手后接收到SMPSMIMO传输的活跃接收链数量和雷达定义。
上述信道定义包括控制信道定义、信道频宽和中心频率。可选地,上述控制信道定义用于描述电子设备100采用该信道上下文时用于传送信令或同步数据的单个信道,其内容包括信道频带、中心频率、最大天线增益、最大传输功率和法规允许的最大传输功率等。可选地,上述信道频带描述了控制信道所属频带,比如可以是2.4GHz ISM频带、5GHz频带和60GHz频带。中心频率描述了控制信道的工作频点。可选地,上述信道频宽描述了对应信道的频率宽度,比如,可以是非HT模式的20MHz、HT模式的HT20MHz频宽、HT40MHz频宽、VHT80MHz频宽、VHT80+80MHz频宽、VHT160MHz频宽、OFDM信道的5MHz和10MHz。
上述接收MIMO传输的活跃接收链数量、在RTS/CTS握手后接收到SMPSMIMO传输的活跃接收链数量和雷达定义可以是依据电子设备100的硬件条件或者预设的规定提前设定的属性参数。
在本发明实施例中,在检测到可切换的目标工作频点后,先以目标工作频点为中心频率确定目标控制信道定义,再根据目标控制信道定义生成目标信道定义,再基于目标信道定义得到目标信道上下文。可以理解地,电子设备100若依据目标信道上下文完成配置,电子设备100则将跃迁至目标工作频点进行通信。
步骤S102,将目标信道上下文依次写入每一无线虚拟接口对应的目标信道存储区域。
可以理解地,正常情况下,单一射频的电子设备100硬件层采用的信道上下文和每一个无线虚拟接口采用的信道上下文相同,如此,才能确保所有的无线虚拟接口可以正常在对应的通信网络中与对端设备进行通信。虽然电子设备100的硬件层可以直接依据目标信道上下文进行配置而跃迁至目标工作频点进行数据的发射和接收,但是无线虚拟接口却可能因为并未基于目标信道上下文准备好,而与原通信网络失联。
故,本发明实施例中,生成目标信道上下文后,先将目标信道上下文依次写入每一个无线虚拟接口对应的目标信道存储区域,以便无线虚拟接口可以基于目标信道上下文做频点跃迁的准备,比如,可以是通知对端设备即将跃迁至的目标工作频点。
每一个上述无线虚拟接口在电子设备100的存储器110内均有一对应的目标信道存储区域。目标信道存储区域包括目标信道上下文暂存区和目标信道定义暂存区。在本发明实施例中,依次将目标信道上下文写入每一个无线虚拟接口的目标信道上下文暂存区和将目标信道上下文中的信道定义写入每一个无线虚拟接口的目标信道定义暂存区。
可以理解地,电子设备100中不仅存在目标信道上下文,还存在无线虚拟接口当前正在使用的信道上下文(以下简称:当前信道上下文)、其他存储于目标信道存储区域而并非本次下达的目标信道上下文及非共享的信道上下文。
为了方便区分不同的信道上下文,每一个信道上下文还包括替换状态信息及模式状态信息。替换状态信息及模式状态信息均可以根据信道上下文在电子设备100中的实际情况被修改。
可选地,上述替换状态信息包括将被替换状态、无替换需求状态及即将替换状态。通常写入目标信道存储区域的信道上下文的替换状态信息被置为即将替换状态。无线虚拟接口的目标信道存储区域中存在目标信道上下文,则该无线虚拟接口的当前信道上下文的替换状态信息被置为将被替换状态;反之无线虚拟接口的目标信道存储区域中不存在目标信道上下文,则该无线虚拟接口的当前信道上下文的替换状态信息被置为无替换需求状态。综上可知,替换状态信息表征目标信道上下文与当前信道上下文之间的替代和被替代关系。
在本发明实施例中,可以将目标信道上下文写到目标信道存储区域后,将被写入目标信道存储区域的目标信道上下文的替换状态信息修改为即将替换状态,同时将被写入目标信道上下文的无线虚拟接口的当前信道上下文的替换状态信息修改为将被替换状态。
可选地,上述模式状态信息包括独享模式及共享模式。上述独享模式的信道上下文是指一无线虚拟接口独用的信道上下文。上述共享模式的信道上下文是指所有无线虚拟接口共用的信道上下文。比如,步骤S101创建的目标信道上下文的模式状态信息为共享模式。
步骤S103,检测多个无线虚拟接口是否均基于目标信道上下文进入频道切换激活状态。
上述无线虚拟接口具有两种互斥的且可被修改的属性状态,即“频率切换激活状态”与“频率切换激活取消状态”。频率切换激活状态表征此时的无线虚拟接口已经准备好跃迁至新的工作频点,反之,频率切换激活取消状态表征此时的无线虚拟接口未计划或者未准备好跃迁至新的工作频点。
在本发明实施例中,通过检测所有的无线虚拟接口是否已基于目标信道上下文进入频道切换激活状态,以判断是否所有的无线虚拟接口均准备好跃迁至目标工作频点。若所有的无线虚拟接口准备好跃迁至目标工作频点,则流程进入步骤S104。否则,进行等待,除非出现异常事件触发退出流程。从而,确保进行工作频点跃迁后,每一个无线虚拟接口依然可以通过对应的通信网络与原对端设备进行通信。
步骤S104,基于目标信道上下文进行硬件层配置。
在本发明实施例中,基于目标信道上下文对电子设备100的硬件层进行配置后,使电子设备100的硬件层(射频电路)切换至目标工作频点进行数据的发送和接收,为所有的无线虚拟接口同时切换至目标工作频点提供硬件支持,方便已准备好切换至目标工作频点的所有的无线虚拟接口切换至目标工作频点。
通过上述步骤之间的配合,电子设备100无需关闭无线功能即可做好工作频点跃迁的准备,在硬件层改变工作频点之前各个无线虚拟接口依然可以正常在原通信网络中与对端设备进行通信。确保所有的无线虚拟接口可同时切换至目标工作频点,避免工作频点改变后,无线虚拟接口无法与对端设备之间出现通信异常。
为了提高判断每一个无线虚拟接口是否进入频道切换激活状态的准确性,作为一种方式,可以先依次检查单个的无线虚拟接口,再将所有的无线虚拟接口作为整体进行评估。比如,如图4所示,上述检测所述多个无线虚拟接口是否均基于所述目标信道上下文进入频道切换激活状态的步骤包括:
步骤S103-1,依次检测每一个目标信道存储区域内被写入的目标信道上下文是否存在异常。
在本发明实施例中,可以是检验各个无线虚拟接口的目标信道存储区域内被写入的目标信道上下文是否完整。比如,可以是检验目标信道定义暂存区是否为空。如果为空,则表示该无线虚拟接口的目标信道存储区域内被写入的目标信道上下文存在异常。如果不为空,则检查目标信道上下文暂存区的目标信道上下文的模式状态信息。若目标信道上下文的模式状态信息为共享模式但目标信道定义暂存区中的控制信道为空,则表示该无线虚拟接口的目标信道存储区域内被写入的目标信道上下文存在异常。若目标信道上下文的模式状态信息为独享模式,也表示该无线虚拟接口的目标信道存储区域内被写入的目标信道上下文存在异常。当然,依据上述检测判断每一个无线虚拟接口的目标信道存储区域的目标信道上下文均是正常的,流程则进入步骤S103-2。
步骤S103-2,构建虚拟接口结合体。
上述虚拟接口结合体用于表征多个无线虚拟接口的整体运行状态。本发明实施例中,依据所有的无线虚拟接口的实时运行状态构建虚拟接口结合体。可选地,上述虚拟接口结合体可以是由电子设备100中无线虚拟接口的实际可切换信道数量及每一类所述无线虚拟接口的实际接口数量构成的数组。
比如,上述步骤S103-2可以包括:
(1)获取电子设备100的信道上下文列表。上述信道上下文列表由电子设备100内已存在的多个信道上下文构成。可以理解地,信道上下文列表中任意两个信道上下文均不相同,也就是,电子设备100中多个完全相同的信道上下文仅对应信道上下文列表中的一项。
(2)统计信道上下文列表中具有不同的工作频点的信道上下文的数量,以作为实际可切换信道数量。作为一种实施方式,可以依次轮询信道上下文列表中的每一项。若轮询到的信道上下文的替换状态信息为“将被替换状态”且不为独享模式,则直接跳转轮询信道上下文列表的下一项。若轮询到的信道上下文的替换状态信息为“将被替换状态”且模式状态信息为“独享模式”,则实际可切换信道数量加1,跳转轮询信道上下文列表的下一项。若轮询到的信道上下文的替换状态信息为“即将替换状态”或“无替换需求状态”,则实际可切换信道数量加1,跳转轮询信道上下文列表的下一项,直至信道上下文列表中的信道上下文被检测完,得到实际可切换信道数量。
(3)获取电子设备100的虚拟接口列表。上述虚拟接口列表包括电子设备100中所有正在运行的无线虚拟接口。
(4)基于虚拟接口列表,统计属于每一类无线虚拟接口的实际接口数量。可选地,对虚拟接口列表中的无线虚拟接口按照类别进行分类,并统计各类无线虚拟接口的数量。可选地,可以通过轮询虚拟接口列表,在虚拟接口列表中每轮询到一无线虚拟接口,先检查电子设备100是否支持该无线虚拟接口。如果支持,在该无线虚拟接口对应的类别的实际接口数量中加1。
比如,电子设备100支持meshVif、clientVif、adhocvif、p2p vif四类虚拟接口,则轮询虚拟接口列表,以统计属于meshVif的无线虚拟接口的数量、属于clientVif的无线虚拟接口的数量、属于adhocvif的无线虚拟接口的数量、属于p2pvif的无线虚拟接口的数量。
(5)依据实际可切换信道数量及每一类无线虚拟接口的实际接口数量,构建所述虚拟接口结合体。比如,构建的虚拟接口结合体包括实际可切换信道数量为2,meshVif的实际接口数量为3,clientVif的实际接口数量为1,adhocvif的实际接口数量为4,p2p vif的实际接口数量为8。
步骤S103-3,利用预设的硬件支持信息对虚拟接口结合体进行检验。
在本发明实施例中,硬件支持信息是根据电子设备100的硬件层实际情况预先评估的最大支持数据。比如,上述硬件支持信息可以包括:最大可支持信道数量、最大虚拟接口类别数量及每类无线虚拟接口的最大支持接口数量。上述最大可支持信道数量为电子设备100同一时间可以采用的信道的数量。上述最大虚拟接口类别数量为电子设备100支持的无线虚拟接口的类别数量。上述每类无线虚拟接口的最大支持接口数量是各类无线虚拟接口可在电子设备100中运行的最大数量。上述预设的硬件支持信息对虚拟接口结合体进行检验可以选择以下一项或者多项进行检验:
(1)检验所述虚拟接口结合体中的所述实际可切换信道数量是否不大于所述硬件支持信息中的最大可支持信道数量。如果实际可切换信道数量不大于最大可支持信道数量,则表明该项检验通过。
(2)检验所述虚拟接口结合体中的所述无线虚拟接口的类别数量是否不大于所述硬件支持信息中的最大虚拟接口类别数量。如果无线虚拟接口的类别数量不大于最大虚拟接口类别数量,则表明该项检验通过。
(3)检验虚拟接口结合体中各类所述无线虚拟接口对应的所述实际接口数量是否不大于所述硬件支持信息中各类所述无线虚拟接口的最大支持接口数量。如果各类无线虚拟接口对应的实际接口数量不大于该类无线虚拟接口的最大支持接口数量,则表明该项检验通过。
可以理解地,当选定的所有项检验都通过,则判定虚拟接口结合体通过检验,流程进入步骤S103-4。
为了方便说明,下面举一个例子进行描述。比如,硬件支持信息可以包括:最大可支持信道数量为1、最大虚拟接口类别数量为4(client vif、mesh vif、adhocvif、p2pvif)、mesh vif的最大支持接口数量为8,client vif的最大支持接口数量为2048,p2p vif的最大支持接口数量为1,adhocvif的最大支持接口数量为1;虚拟接口结合体中实际可切换信道数量为1、最大虚拟接口类别数量为4、mesh vif的实际接口数量为6、client vif的实际接口数量为3、p2p vif的实际接口数量为1,那么该虚拟接口结合体能够通过检测。
当然可以理解地,电子设备100实际运行过程中无线虚拟接口可能会根据需求而增加或者减少或者变更,为了确保虚拟接口符合电子设备100的实际运行状态。在其他实施例中,上述步骤S103-3在通过上述检查后还可以包括步骤:再次获取正在运行的无线虚拟接口。检验虚拟接口结合体中无线虚拟接口的类别是否包括重新获取到的正在运行的无线虚拟接口的类别。如果包含,流程进入步骤S103-4。
步骤S103-4,若虚拟接口结合体通过检验,判断多个无线虚拟接口均已基于目标信道上下文进入频道切换激活状态。
在本发明实施例中,各个无线虚拟接口均得到正常的目标信道上下文,且依据电子设备100的实际运行情况构建的虚拟接口结合体也通过检查时,可以判断无线虚拟接口均已基于目标信道上下文进入频道切换激活状态。
作为一种实施方式,当一个无线虚拟接口的目标信道存储区被写入目标信道上下文后,可以在该目标信道存储区写入标签“尚未就绪”,以标识该目标信道存储区所对应的无线虚拟接口还未基于目标信道上下文进入频道切换激活状态。当该无线虚拟接口通过检验且对应的虚拟接口结合体也经过检验,那么将目标信道存储区的标签“尚未就绪”修改为“已就绪”,以标示该目标信道存储区所对应的无线虚拟接口已基于目标信道上下文进入频道切换激活状态。通过依次检查每一个目标信道存储区的标签是否为已就绪,从而判断无线虚拟接口是否均已基于目标信道上下文进入频道切换激活状态。
当然,为了确保电子设备100通信的稳定性,避免频繁的改变工作点,可以在通信网络存在异常时,进行工作频点切换。可选地,在其他实施例中,在图3所示的无线网络切换方法的基础上,如图5所示,还可以包括以下步骤:
S201,当任一无线虚拟接口自检到与对端设备之间通信异常时,采用时分多路复用的方式进行频段扫描。
在本发明实施例中,通过当一个无线虚拟接口自检到与对端设备之间通信异常时,由该无线虚拟接口采用时分多路复用的方式进行频段块状扫描。比如,该无线虚拟接口会采用时分多路复用的方式在不同频段跳转并主动发送探测帧,一个周期后重新回到相应频段侦听探测回应帧,以便探测对端设备所在的频点。
S202,若通过扫描发现拟跃迁频点,则检验拟跃迁频点是否为所述目标工作频点,以便基于所述目标工作频点创建目标信道上下文。
在本发明实施例中,上述与对端设备通信异常的无线虚拟接口将探测到的对端设备的新工作频点作为拟跃迁频点。接上例,该无线虚拟接口在每隔一个频段发送探测帧后,在下一个占用射频的时间周期内依次到每一个频段进行侦听,以便依据得到的探测回应帧确定拟跃迁频点。
在得到拟跃迁频点后,为了避免出现无效的频点跃迁、出现跃迁到不能使用的频点或者由于自身情况暂时无法进行频点跃迁导致频点跃迁失败,需要在进行频点跃迁之前判断检验拟跃迁频点是否为可跃迁的目标工作频点。在本发明实施例中,如图6所示,上述步骤S202可以包括以下步骤:
步骤S202-1,将拟跃迁频点与电子设备100的当前工作频点进行比较。
在本发明实施例中,拟跃迁频点与当前工作频点相同,则可以判断该无线虚拟接口与对端设备之间通信失败并非由于对端设备改变工作频点所致,电子设备100无需改变工作频点,即拟跃迁频点不能作为目标工作频点。但可以通过其它方式检查该无线虚拟接口与对端设备之间通信失败的原因,并进行处理。
步骤S202-2,若拟跃迁频点与当前工作频点不相同,判断拟跃迁频点是否属于雷达频段。
在本发明实施例中,为了避免对公共安全产生影响,如果拟跃迁频点属于雷达频段,那么判定不能跃迁到该拟跃迁频点上,即该拟跃迁频点不能作为目标工作频点。
步骤S202-3,若拟跃迁频点不属于雷达频段,则依次检验每一个无线虚拟接口是否处于频道切换激活状态。
在本发明实施例中,若此时检测到无线虚拟接口处于频道切换激活状态,则表面电子设备100当前正准备跃迁到其他的工作频点,暂时不具备执行跃迁到拟跃迁频点的条件,故判定拟跃迁频点不能作为目标工作频点。
步骤S202-4,若无线虚拟接口均不处于频道切换激活状态,判断拟跃迁频点为目标工作频点。
可以理解地,电子设备100由于实际运行过程,会被触发多次工作频点切换,但并非每一次都会成功切换。因此,电子设备100中除了当前信道上下文之外,还可能有由于各种原因未成功切换的目标信道上下文被遗留在电子设备100中(以下简称历史遗留的目标信道上下文)。为了避免历史遗留的目标信道上下文对工作频点的跃迁的影响,在一些实施例中,如图7所示,在图3所示的无线网络切换方法的基础上,上述无线网络切换方法还包括:
步骤S301,在检测到可切换的目标工作频点时,获取当前电子设备100内存储的信道上下文。
步骤S302,从当前电子设备100内存储的信道上下文中查找历史遗留的目标信道上下文。
在本发明实施例中,可以是通过检查当前电子设备100内存储的信道上下文的替换状态信息及模式状态信息甄别信道上下文是否为历史遗留的目标信道上下文。比如,替换状态信息为“将被替换状态”的信道上下文不是历史遗留的目标信道上下文、模式状态信息为“独享模式”的信道上下文不是历史遗留的目标信道上下文、替换状态信息为“无替换需求状态”的信道上下文不是历史遗留的目标信道上下文,除此之外的信道上下文可以被确定为历史遗留的目标信道上下文。
步骤S303,将历史遗留的目标信道上下文从电子设备100中删除。
在一些实施例中,如图8所示,在图3所示的无线网络切换方法的基础上,上述无线网络切换方法还包括:
步骤S401,当所述无线虚拟接口均进入所述频道切换激活状态时,获取每一无线虚拟接口的当前信道上下文的第一数量及每一无线虚拟接口的目标信道存储区域内存储的目标信道上下文的第二数量;
步骤S402,依次将每一所述无线虚拟接口的所述第一数量与所述第二数量进行比较。
若每一个无线虚拟接口的第一数量等于该无线虚拟接口的第二数量,流程进入步骤S104,基于目标信道上下文进行硬件层配置。
若出现无线虚拟接口的第一数量不等于其第二数量,那么获取所有具有“已就绪”标签的目标信道存储区域所包括的目标信道上下文的第三数量,将第三数量与第二数量进行比较,从而判断导致不能进行基于目标信道上下文的硬件层配置的原因。
可以理解地,当硬件层基于目标信道上下文配置完成后,还需要各个无线虚拟接口刷新采用的信道上下文,以便于各个无线虚拟接口能够基于目标信道上下文配置切换至目标工作频点进行工作。在一些实施例中,如图9所示,在图3所示的无线网络切换方法的基础上,上述无线网络切换方法还包括:
步骤S501,利用目标信道存储区域内的目标信道上下文更新每个无线虚拟接口使用的信道上下文,并删除电子设备100内其他的信道上下文。在更新完毕后,将各个无线虚拟接口的状态置为“频率切换激活取消状态”。
可以理解地,在所有无线虚拟接口均基于目标信道上下文准备好后,统一刷新所有无线虚拟接口的信道上下文。相对于现有技术中需要采用目标信道上下文依次对每一个无线虚拟接口进行配置及刷新而言,能够减小频点实际跃迁过程中对无线虚拟接口的影响。
综上可知,本发明实施例提供的一种无线网络切换方法,在任一无线虚拟接口发现工作异常后,可以通过时分多路复用的方式进行频段扫描,发现目标工作频点,以触发电子设备100执行工作频点切换。整个发现目标工作频点的过程不影响其他无线虚拟接口工作。同时,在进行硬件配置更换前,需要检验每一个无线虚拟接口是否均做好准备,并在评估所有无线虚拟接口的运行状态符合要求时,启动基于目标工作频点的硬件层配置,以使电子设备100的射频电路切换至目标工作频点,最后再刷新各个无线虚拟接口所采用的信道上下文,使各个无线虚拟端口均切换至目标工作频点工作,从而避免了频点切换后出现与对端设备失联的无线虚拟接口。而且整个过程无需关闭电子设备100的无线功能,各个无线虚拟接口的正常通信不会受到不必要的干扰。
为了对本发明实施例进行说明,下面以无人机作业系统作为应用场景为例,对本发明的一种实施方式进行描述。需要说明的是,如图10所示,无人机遥控器可以通过clientVif与手机等智能移动终端(对端设备1,以下简称AP设备)通信连接,无人机遥控器还可以通过meshVif与mesh接口的无人机(对端设备2)进行通信,无人机遥控器还可以通过adhocVif与adhoc接口的无人机(对端设备3)进行通信,无人机遥控器还可以通过p2pVif与卫星接收器(对端设备4)进行通信。
若AP设备修改密码或者切换工作频点,均会导致与无人机遥控器的clientVif中断通信。clientVif检测到与AP设备之间的通信出现异常后,无人机遥控器启动执行本发明实施例提供的无线网络切换方法。可选地,上述无线网络切换方法包括:
S1,clientVif采用时分多路复用的方式进行频段扫描,寻找AP设备的工作频点,作为拟跃迁频点。
S2,若通过扫描发现拟跃迁频点,将拟跃迁频点与电子设备100的当前工作频点进行比较。若拟跃迁频点与所述当前工作频点不相同,流程进入步骤S3。若拟跃迁频点与所述当前工作频点相同,则结束流程。
S3,判断拟跃迁频点是否属于雷达频段;若拟跃迁频点不属于雷达频段,流程进入步骤S4。若所述拟跃迁频点属于雷达频段,结束流程。
S4,依次检验每一个无线虚拟接口是否处于频道切换激活状态;若无线虚拟接口均不处于频道切换激活状态,流程进入步骤S5。否则,流程结束。
S5,判断拟跃迁频点为目标工作频点。
S6,获取当前电子设备100内存储的信道上下文。
S7,从当前电子设备100内存储的信道上下文中查找历史遗留的目标信道上下文。
S8,将历史遗留的目标信道上下文从所述电子设备100中删除。
S9,基于目标工作频点创建目标信道上下文。
S10,将目标信道上下文依次写入client vif、meshvif、adhocvif、p2p vif对应的目标信道存储区域。将写入目标信道存储区域的目标信道上下文的替换状态信息置为即将替换状态,将被写入目标信道上下文的目标信道存储区域所对应的无线虚拟接口的当前信道上下文的替换状态信息置为将被替换状态。并给写入目标信道上下文的目标信道存储区域赋予标签“尚未就绪”。
S11,依次检测每一个目标信道存储区域内被写入的目标信道上下文是否存在异常。若存在异常,则流程结束,若不存在异常流程进入步骤S12。
S12,构建虚拟接口结合体;其中,所述虚拟接口结合体用于表征client vif、meshvif、adhocvif、p2p vif的整体运行状态。可选地,获取电子设备100的信道上下文列表,信道上下文列表包括已存储于电子设备100内的所有的信道上下文;统计信道上下文列表中具有不同的工作频点的信道上下文的数量,以作为实际可切换信道数量;获取电子设备100的虚拟接口列表;其中,所述虚拟接口列表包括所有正在运行的所述无线虚拟接口;基于所述虚拟接口列表,统计属于client vif、meshvif、adhocvif、p2p vif各自对应的实际接口数量;依据实际可切换信道数量及client vif、meshvif、adhocvif、p2p vif各自对应的实际接口数量,构建所述虚拟接口结合体。
S14,利用预设的硬件支持信息对虚拟接口结合体进行检验。如果通过检验,则流程进入步骤S15。可选地,上述检验可以是检验虚拟接口结合体中的实际可切换信道数量是否不大于硬件支持信息中的最大可支持信道数量;检验虚拟接口结合体中的所述无线虚拟接口的类别数量是否不大于硬件支持信息中的最大虚拟接口类别数量;检验虚拟接口结合体中client vif、meshvif、adhocvif、p2p vif各自对应的实际接口数量是否不大于硬件支持信息中client vif、meshvif、adhocvif、p2p vif各自对应的最大支持接口数量。上述检验如果检验结果均为“是”,则重新获取正在运行的无线虚拟接口;检验重新获取的正在运行的所述无线虚拟接口的类别是否还包括client vif、meshvif、adhocvif、p2p vif之外的其他无线虚拟接口,如果还包括其他无线虚拟接口,则表明上述虚拟接口结合体无效,流程结束。如果不包括其他无线虚拟接口,流程进入步骤S15。
S15,判断client vif、meshvif、adhocvif、p2p vif均已基于目标信道上下文进入所述频道切换激活状态。可选地,如果通过步骤S14的检验后,均会将每一个无线虚拟接口对应的目标信道存储区域的标签由“尚未就绪”修改为“已就绪”。也就是,检测到所有目标信道存储区域的标签均切换为“已就绪”,则判断client vif、meshvif、adhocvif、p2p vif均已基于目标信道上下文进入所述频道切换激活状态。
S16,获取client vif、meshvif、adhocvif、p2p vif各自对应的当前信道上下文的第一数量及client vif、meshvif、adhocvif、p2p vif各自对应的目标信道存储区域内存储的所述目标信道上下文的第二数量。
S17,依次将client vif的第一数量与client vif的第二数量进行比较,将meshvif的第一数量与meshvif的第二数量进行比较,将adhocvif的第一数量与adhocvif的第二数量进行比较,将p2p vif的第一数量与p2p vif的第二数量进行比较,以便在所有的无线虚拟接口的第一数量等于所述第二数量时,流程进入步骤S18。
S18,基于所述目标信道上下文进行硬件层配置,以便于所述多个无线虚拟接口同时切换至所述目标工作频点。
S19,利用目标信道存储区域内的所述目标信道上下文更新每个所述无线虚拟接口使用的信道上下文,并删除所述电子设备100内其他的信道上下文。再利用信道通告帧使mesh/ad-hoc/p2p通信网络的对端设备可以在保持网络联通的情况下进行信道频率跃迁。
可以理解地,基于IEEE802.11协议中定义的信道通告帧(channel switchannouncement,CSA),单mesh设备或者单ad-hoc设备或者单p2p设备(比如,对端设备2、对端设备3、对端设备4)可以在保持网络联通的情况下进行信道频率跃迁,当对端设备2的meshVif、对端设备3的ad-hocVif、对端设备的p2p Vif接收到信道切换通告帧时,跳转到新的工作频率。
为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种无线网络切换装置600的实现方式,可选地,该无线网络切换装置600可以采用上述图2所示的电子设备100的器件结构。进一步地,请参阅图11,图11为本发明实施例提供的一种无线网络切换装置600的功能模块图。需要说明的是,本实施例所提供的无线网络切换装置600,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。该无线网络切换装置600包括:创建模块601、存储模块602、检测模块603、配置模块604、扫描模块605、获取模块606、查找模块607、删除模块608、比较模块609及更新模块610。
创建模块601,用于在检测到可切换的目标工作频点时,基于所述目标工作频点创建目标信道上下文。
在本发明实施例中,上述步骤S101可以由创建模块601执行。
存储模块602,用于将所述目标信道上下文依次写入每一所述无线虚拟接口对应的目标信道存储区域。
在本发明实施例中,上述步骤S102可以由存储模块602执行。
检测模块603,用于检测所述多个无线虚拟接口是否均基于所述目标信道上下文进入频道切换激活状态。
在本发明实施例中,上述步骤S103可以由检测模块603执行。可选地,检测模块603还用于:依次检测每一个所述目标信道存储区域内被写入的所述目标信道上下文是否存在异常;若所述目标信道存储区域内被写入的所述目标信道上下文均无异常,则构建虚拟接口结合体;其中,所述虚拟接口结合体用于表征所述多个无线虚拟接口的整体运行状态;利用预设的硬件支持信息对所述虚拟接口结合体进行检验;若所述虚拟接口结合体通过检验,判断所述多个无线虚拟接口均已基于所述目标信道上下文进入所述频道切换激活状态。
配置模块604,用于当所述无线虚拟接口均进入所述频道切换激活状态时,基于所述目标信道上下文进行硬件层配置,以便于所述多个无线虚拟接口同时切换至所述目标工作频点。
在本发明实施例中,上述步骤S104可以由配置模块604执行。
扫描模块605,用于当任一所述无线虚拟接口自检到与对端设备之间通信异常时,采用时分多路复用的方式进行频段扫描。
在本发明实施例中,上述步骤S201可以由扫描模块605执行。
检验模块,用于若通过扫描发现拟跃迁频点,则检验所述拟跃迁频点是否为所述目标工作频点,以便基于所述目标工作频点创建目标信道上下文。
在本发明实施例中,上述步骤S202、步骤S202-1、步骤S202-2、步骤S202-3、步骤S202-4均可以由检验模块执行。
获取模块606,用于获取当前所述电子设备100内存储的信道上下文。
在本发明实施例中,上述步骤S301可以由获取模块606执行。
查找模块607,用于从当前所述电子设备100内存储的信道上下文中查找历史遗留的目标信道上下文。
在本发明实施例中,上述步骤S302可以由查找模块607执行。
删除模块608,用于将所述历史遗留的目标信道上下文从所述电子设备100中删除。
在本发明实施例中,上述步骤S303可以由删除模块608执行。
获取模块606,还用于获取每一所述无线虚拟接口的当前信道上下文的第一数量及每一所述无线虚拟接口的所述目标信道存储区域内存储的所述目标信道上下文的第二数量。
在本发明实施例中,上述步骤S401可以由获取模块606执行。
比较模块609,用于依次将每一所述无线虚拟接口的所述第一数量与所述第二数量进行比较,以便在所有的所述无线虚拟接口的所述第一数量等于所述第二数量时,基于所述目标信道上下文进行硬件层配置。
在本发明实施例中,上述步骤S402可以由比较模块609执行。
更新模块610,用于在所述硬件层配置完成之后,利用所述目标信道存储区域内的所述目标信道上下文更新每个所述无线虚拟接口使用的信道上下文,并删除所述电子设备100内其他的信道上下文。
在本发明实施例中,上述步骤S501可以由更新模块610执行。
可选地,上述模块可以软件或固件(Firmware)的形式存储于图2所示的存储器110中或固化于该电子设备100的操作系统(Operating System,OS)中,并可由图2中的处理器120执行。同时,执行上述模块所需的数据、程序的代码等可以存储在存储器110中。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。