一种信道切换方法及装置与流程

文档序号:12069097阅读:203来源:国知局
一种信道切换方法及装置与流程

本发明涉及无线通信技术领域,尤其涉及一种信道切换方法及装置。



背景技术:

随着无线通讯技术的发展和手机等智能终端设备的大范围普及,智能终端设备已经成为人们日常生活中必不可少的一部分。每一台拥有无线网络功能的智能终端设备都有自己唯一的MAC地址,该地址可以作为智能终端设备的身份识别码。其它设备通过获取智能终端设备的MAC地址了解到该智能终端设备的信息。

现有技术中,采集MAC地址的装置是通过监听信道获取无线通信数据包,通过解析无线通信数据包得到所需要的MAC地址。而监听信道则是采用定时循环切换信道的方式,例如,设置一个固定的时长,假设有3个信道,在信道1上监听所述固定时长后切换到信道2,在信道2上监听所述固定时长后切换到信道3,在信道3上监听所述固定时长后再切换到信道1,如此循环切换信道。由于beacon报文在每个信道上的数量分布状况不同,因此采用定时循环切换信道来监听获取无线通信数据包效率低,造成时间资源浪费。



技术实现要素:

本发明提供一种信道切换方法及装置,用以解决现有技术中存在采用定时循环切换信道来监听获取无线通信数据包效率低,造成时间资源浪费的问题。

第一方面,本发明实施例提供了一种信道切换方法,包括:

无线设备在第i个信道监听预设监听时长后,切换到第i+1个信道继续监听,其中,所述i为取遍不大于N的所有正整数,所述N表示信道总数且为大于等于1的正整数;

所述无线设备确定所述N个信道均监听完成后获取在每个信道接收到的信标beacon报文数量;

所述无线设备基于每个信道的beacon报文数量更新对应信道的监听时长,使得更新后的获取beacon报文数量大的信道的监听时长大于获取beacon报文数量小的信道的监听时长;

针对更新监听时长后的每个信道,所述无线设备在第j个信道监听所述第j个信道对应的监听时长后,切换到第j+1个信道继续监听,其中,所述j为取遍不大于N的所有正整数。

所述N个信道的监听时长记录在信道切换调度时间数组中,所述信道切换调度时间数组的数组长度为N。

所述每个信道接收到的信标beacon报文数量记录在beacon报文统计数组中,所述beacon报文统计数组的数组长度为N。

需要说明的是,所述N基于不同国家使用信道的数量采用不同的取值。以中国和美国在使用2.4Ghz无线网络和5Ghz无线网络时所述N的取值为例:在中国,2.4Ghz无线网络中使用13个信道,5Ghz无线网络中使用4个信道,因此所述N取值为13+4。在美国,2.4Ghz无线网络中使用11个信道,5Ghz无线网络中使用12个信道,因此所述N取值为11+12。

本发明实施例在采集MAC地址过程中,信道监听时根据beacon报文在信道上的分布状态调整每个信道的监听时长,相比现有技术中监听信道时采用定时循环切换信道采集MAC地址的方式,减少了不必要的信道停留时间,提高了MAC地址采集效率,节省了大量的时间资源。

结合第一方面,在第一方面的第一种可能的实施方式中,所述无线设备基于每个信道的beacon报文数量更新对应信道的监听时长,包括:

所述无线设备将beacon报文数量小于报文阈值的信道的监听时长减少(R-r)*t,所述R表示报文阈值,所述r表示在信道获取的beacon报文数量,所述t1为小于预设监听时长的常数。

结合第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,所述t为beacon报文数量为0的信道的监听时长。

结合第一方面的第一种可能的实施方式,在第一方面的第三种可能的实施方式中,所述报文阈值为大于报文数量平均值的多个beacon报文数量中数量最小的beacon报文数量,或者所述报文阈值为小于报文数量平均值的多个beacon报文数量中数量最大的beacon报文数量,所述报文数量平均值为所述N个信道的beacon报文数量的平均值。

结合第一方面的第一种可能的实施方式,在第一方面的第四种可能的实施方式中,针对更新监听时长后的每个信道,所述无线设备在第j个信道监听所述第j个信道对应的监听时长之前,还包括:

所述无线设备基于在每个信道接收到的报文中携带的有效MAC地址的数量,对更新监听时长后的每个信道对应的监听时长再次进行更新,所述在每个信道接收到的报文中携带的有效MAC地址的数量为所述无线设备确定在所述N个信道均监听完成后得到的。

所述N个信道的有效MAC地址数量记录在有效MAC地址数量统计数组中,所述有效MAC地址数量统计数组的数组长度为N。

本发明实施例在采集MAC地址过程中,信道监听时根据beacon报文在信道上的分布状态和采集到的有效MAC地址数在信道上的分布状态调整每个信道的监听时长,相比现有技术中监听信道时采用定时循环切换信道采集MAC地址的方式,减少了不必要的信道停留时间,单位时间内的MAC地址捕获率提升,提高了MAC地址采集效率,节省了大量的时间资源。

结合第一方面的第四种可能的实施方式,在第一方面的第五种可能的实施方式中,所述无线设备基于在每个信道接收到的报文中携带的有效MAC地址的数量,对更新监听时长后的每个信道对应的监听时长再次进行更新,包括:

所述无线设备确定每个信道的效率比,所述效率比为在同一信道接收到的报文中携带的有效MAC地址的数量与获取的beacon报文数量的比值;

所述无线设备将获取beacon报文数量小于所述报文阈值、且效率比大于MAC地址阈值的信道的更新后的监听时长增加(q/Q)*t1,所述q表示对应信道的效率比,所述Q表示MAC地址阈值。

结合第一方面的第五种可能的实施方式,在第一方面的第六种可能的实施方式中,所述MAC地址阈值为小于所述报文阈值的多个beacon报文数量中数量最大的beacon报文数量对应信道的效率比,或者所述MAC地址阈值为大于所述报文阈值的多个beacon报文数量中数量最小的beacon报文数量对应信道的效率比。

结合第一方面和第一方面的第一种可能的实施方式至第六种可能的实施方式中的任一种可能的实施方式,在第一方面的第七种可能的实施方式中,包括:

所述无线设备确定在所述N个信道均监听T次后,将每个信道的监听时长均更新为所述预设监听时长。

第二方面,本发明实施例提供了一种信道切换方法,包括

无线设备在第m个信道监听预设监听时长后,切换到第m+1个信道继续监听,其中,所述m为取遍不大于M的所有正整数,所述M表示信道总数且为大于等于1的正整数;

所述无线设备确定所述M个信道均监听完成后获取在每个信道接收到的报文中携带的有效MAC地址数量;

所述无线设备基于每个信道的有效MAC地址数量更新对应信道的监听时长,使得更新后的获取有效MAC地址数量大的信道的监听时长大于获取有效MAC地址数量小的信道的监听时长;

针对更新监听时长后的每个信道,所述无线设备在第n个信道监听所述第n个信道对应的监听时长后,切换到第n+1个信道继续监听,其中,所述n为取遍不大于M的所有正整数。

结合第二方面,在第二方面的第一种可能的实施方式中,所述无线设备基于每个信道的有效MAC地址数量更新对应信道的监听时长,包括:

所述无线设备将有效MAC地址数量小于地址数量阈值的信道的监听时长减少(Y-y)*t2,所述Y表示地址数量阈值,所述y表示在信道获取的有效MAC地址数量,所述t2为小于预设监听时长的常数。

结合第二方面的第一种可能的实施方式,在第二方面的第二种可能的实施方式中,所述t2为有效MAC地址数量为0的信道的监听时长。

结合第二方面的第一种可能的实施方式,在第二方面的第三种可能的实施方式中,所述地址数量阈值为大于有效MAC地址数量平均值的多个有效MAC地址数量中数量最小的有效MAC地址数量,或者所述地址数量阈值为小于有效MAC地址数量平均值的多个有效MAC地址数量中数量最大的有效MAC地址数量,所述有效MAC地址数量平均值为所述M个信道的有效MAC地址数量的平均值。

本发明实施例在采集MAC地址过程中,信道监听时根据接收到的beacon报文中携带的有效MAC地址数在信道上的分布状态调整每个信道的监听时长,相比现有技术中监听信道时采用定时循环切换信道采集MAC地址的方式,减少了不必要的信道停留时间,单位时间内的MAC地址捕获率提升,提高了MAC地址采集效率,节省了大量的时间资源。

第三方面,本发明实施例提供了一种信道切换装置,包括:

信道切换模块,用于在第i个信道监听预设监听时长后,切换到第i+1个信道继续监听,其中,所述i为取遍不大于N的所有正整数,所述N表示信道总数且为大于等于1的正整数;

信道分析模块,用于获取所述信道切换模块所监听到的在每个信道接收到的信标beacon报文数量;

更新模块,用于基于所述信道分析模块获取到的每个信道的beacon报文数量更新对应信道的监听时长,使得更新后的获取beacon报文数量大的信道的监听时长大于获取beacon报文数量小的信道的监听时长。

所述信道切换模块,还用于针对所述更新模块更新监听时长后的每个信道,所述无线设备在第j个信道监听所述第j个信道对应的监听时长后,切换到第j+1个信道继续监听,其中,所述j为取遍不大于N的所有正整数。

结合第三方面,在第三方面的第一种可能的实施方式中,所述更新模块,在基于所述信道分析模块获取到的每个信道的beacon报文数量更新对应信道的监听时长时,具体用于:

将beacon报文数量小于报文阈值的信道的监听时长减少(R-r)*t1,所述R表示报文阈值,所述r表示在信道获取的beacon报文数量,所述t1为小于预设监听时长的常数。

结合第三方面的第一种可能的实施方式,在第三方面的第二种可能的实施方式中,所述更新模块还用于将获取beacon报文数量为0的信道的监听时长更新为t1

结合第三方面的第一种可能的实施方式,在第三方面的第三种可能的实施方式中,所述报文阈值为大于报文数量平均值的多个beacon报文数量中数量最小的beacon报文数量,或者所述报文阈值为小于报文数量平均值的多个beacon报文数量中数量最大的beacon报文数量,所述报文数量平均值为所述N个信道的beacon报文数量的平均值。

结合第三方面的第一种可能的实施方式,在第三方面的第四种可能的实施方式中,所述更新模块,在所述信道切换模块在第j个信道监听所述第j个信道对应的监听时长之前,还用于:

针对所述更新模块更新监听时长后的每个信道,基于在每个信道接收到的报文中携带的有效MAC地址的数量,对更新监听时长后的每个信道对应的监听时长再次进行更新,所述在每个信道接收到的报文中携带的有效MAC地址的数量为所述信道分析模块在确定所述N个信道均监听完成后获取得到的。

结合第三方面的第四种可能的实施方式,在第三方面的第五种可能的实施方式中,所述更新模块,在基于在每个信道接收到的报文中携带的有效MAC地址的数量,对更新监听时长后的每个信道对应的监听时长再次进行更新时,具体用于:

确定每个信道的效率比,所述效率比为在同一信道接收到的报文中携带的有效MAC地址的数量与获取的beacon报文数量的比值;

将获取beacon报文数量小于所述报文阈值、且效率比大于MAC地址阈值的信道的更新后的监听时长增加(q/Q)*t1,所述q表示对应信道的效率比,所述Q表示MAC地址阈值。

结合第三方面的第五种可能的实施方式,在第三方面的第六种可能的实施方式中,所述MAC地址阈值为小于所述报文阈值的多个beacon报文数量中数量最大的beacon报文数量对应信道的效率比,或者所述MAC地址阈值为大于所述报文阈值的多个beacon报文数量中数量最小的beacon报文数量对应信道的效率比。

结合第三方面和第三方面的第一种可能的实施方式至第六种可能的实施方式中的任一种可能的实施方式,在第三方面的第七种可能的实施方式中,所述更新模块,还用于在确定在所述N个信道均监听T次后,将每个信道的监听时长均更新为所述预设监听时长。

第四方面,本发明实施例提供了一种信道切换装置,包括:

信道切换模块,用于在第m个信道监听预设监听时长后,切换到第m+1个信道继续监听,其中,所述m为取遍不大于M的所有正整数,所述M表示信道总数且为大于等于1的正整数;

信道分析模块,用于获取所述信道切换模块所监听到的在每个信道接收到的报文中携带的有效MAC地址数量;

更新模块,用于基于所述信道分析模块获取到的每个信道的有效MAC地址数量更新对应信道的监听时长,使得更新后的获取有效MAC地址数量大的信道的监听时长大于获取有效MAC地址数量小的信道的监听时长。

所述信道切换模块,还用于针对所述更新模块更新监听时长后的每个信道,所述无线设备在第n个信道监听所述第n个信道对应的监听时长后,切换到第n+1个信道继续监听,其中,所述n为取遍不大于M的所有正整数。

结合第四方面,在第四方面的第一种可能的实施方式中,所述更新模块,在基于所述信道分析模块获取到的每个信道的有效MAC地址数量更新对应信道的监听时长时,具体用于:

将有效MAC地址数量小于地址数量阈值的信道的监听时长减少(Y-y)*t2,所述Y表示地址数量阈值,所述y表示在信道获取的有效MAC地址数量,所述t2为小于预设监听时长的常数。

结合第四方面的第一种可能的实施方式,在第四方面的第二种可能的实施方式中,所述信道分析模块还用于确定所述地址数量阈值,所述地址数量阈值为大于有效MAC地址数量平均值的多个有效MAC地址数量中数量最小的有效MAC地址数量,或者所述地址数量阈值为小于有效MAC地址数量平均值的多个有效MAC地址数量中数量最大的有效MAC地址数量,所述有效MAC地址数量平均值为所述M个信道的有效MAC地址数量的平均值。

本发明实施例在采集MAC地址过程中,信道监听时根据beacon报文在信道上的分布状态和采集到的有效MAC地址数在信道上的分布状态调整每个信道的监听时长,相比现有技术中监听信道时采用定时循环切换信道采集MAC地址的方式,减少了不必要的信道停留时间,单位时间内的MAC地址捕获率提升,提高了MAC地址采集效率,节省了大量的时间资源。

附图说明

图1为本发明实施例提供的一种信道切换方法的流程图;

图2为本发明实施例提供的一种更新信道监听时长方法的流程图;

图3为本发明实施例提供的另一种更新信道监听时长方法的流程图;

图4为本发明实施例提供的另一种信道切换方法的流程图;

图5为本发明实施例提供的一种更新信道监听时长方法的流程图;

图6为本发明实施例提供的一种信道切换装置示意图;

图7为本发明实施例提供的一种终端结构示意图;

图8为本发明实施例提供的另一种信道切换装置示意图;

图9为本发明实施例提供的另一种终端结构示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

本发明实施例提供一种信道切换方法及装置,用以解决现有技术中存在采用定时循环切换信道来监听获取无线通信数据包效率低,造成时间资源浪费的问题。其中,方法和装置是基于同一发明构思的,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。

下面结合附图对本发明优选的实施方式进行详细说明。

参阅图1所示,为本发明实施例提供的一种信道切换方法的流程图,所述方法具体可以包括如下:

S101,无线设备在第i个信道监听预设监听时长后,切换到第i+1个信道继续监听,其中,所述i为取遍不大于N的所有正整数,所述N表示信道总数且为大于等于1的正整数。

S102,所述无线设备确定所述N个信道均监听完成后获取在每个信道接收到的信标beacon报文数量。

S103,所述无线设备基于每个信道的beacon报文数量更新对应信道的监听时长,使得更新后的获取beacon报文数量大的信道的监听时长大于获取beacon报文数量小的信道的监听时长。

S104,针对更新监听时长后的每个信道,所述无线设备在第j个信道监听所述第j个信道对应的监听时长后,切换到第j+1个信道继续监听,其中,所述j为取遍不大于N的所有正整数。

其中,在步骤S101无线设备在第i个信道监听预设监听时长时,可以通过控制驱动开启监听模式,开始监听无线报文,并启动信道切换线程来监听驱动监听到的无线报文中包括的beacon报文数量。

可选的,所述无线设备确定所述N个信道均监听T次后,将每个信道的监听时长均更新为所述预设监听时长,然后再执行步骤S101至步骤S104。

可选的,所述N个信道的监听时长可以记录在信道切换调度时间数组中,所述信道切换调度时间数组的数组长度为所述N。

可选的,所述每个信道获取的信标beacon报文数量可以记录在beacon报文统计数组中,所述beacon报文统计数组的数组长度为所述N。

需要说明的是,所述N基于不同国家使用信道的数量采用不同的取值。以中国和美国在使用2.4Ghz无线网络和5Ghz无线网络时所述N的取值为例:在中国,2.4Ghz无线网络中使用13个信道,5Ghz无线网络中使用4个信道,因此所述N取值为13+4。在美国,2.4Ghz无线网络中使用11个信道,5Ghz无线网络中使用12个信道,因此所述N取值为11+12。

本发明实施例在采集MAC地址过程中的信道监听时,根据信标报文(beacon报文)在信道上的分布数量调整每个信道的监听时长,相比现有技术中监听信道时采用定时循环切换信道采集MAC地址的方式,减少了不必要的信道停留时间,提高了MAC地址采集效率,节省了大量的时间资源。

在一种可能的实现方式中,所述无线设备基于每个信道的beacon报文数量更新对应信道的监听时长,可以通过如下方式实现:

所述无线设备将beacon报文数量小于报文阈值的信道的监听时长减少(R-r)*t1,所述R表示报文阈值,所述r表示在信道获取的beacon报文数量,所述t1为小于预设监听时长的常数。

通过上述方式,将beacon报文数量小的信道的监听时长降低,从而减少了不必要的信道停留时间,提高了MAC地址采集效率,节省了大量的时间资源。

所述无线设备基于每个信道的beacon报文数量更新对应信道的监听时长,具体可以通过图2或者图3所示的方式实现。

参见图2所示,为本发明实施例提供的一种更新信道监听时长方法的流程图,所述方法具体可以包括如下:

S201,所述无线设备确定报文阈值。

其中,所述报文阈值可以为大于报文数量平均值的多个beacon报文数量中数量最小的beacon报文数量,或者所述报文阈值也可以为小于报文数量平均值的多个beacon报文数量中数量最大的beacon报文数量,所述报文数量平均值为所述N个信道的beacon报文数量的平均值。所述报文阈值也可以为一个预设的数值。当然也可以通过其他方式确定报文阈值,本发明实施例不做具体限定。

以所述N取值为5为例,所述无线设备将5个信道均监听预设监听时长后,统计出5个信道的beacon报文数量并按照从小到大的顺序排列分别为r1=1,r2=2,r3=2,r4=4,r5=6。所述无线设备确定报文阈值,所述报文阈值为大于报文平均值的所有beacon报文数量中与报文平均值差值最小的beacon报文数量,如所述5个信道的报文平均值为3,则将r1,r2,r3,r4,r5依次与报文平均值3进行比较,所述报文阈值可以为第一个小于3的beacon报文数量r2或r3,也可以是第一个大于3的beacon报文数量r4。

S202,所述无线设备判断每个信道的beacon报文数量是否小于报文阈值;若是,执行S203;若否,执行S204

S203,所述无线设备将小于报文阈值的beacon报文数量的信道的监听时长减少(R-r)*t1,所述R表示报文阈值,所述r表示在信道获取的beacon报文数量,所述t1为小于预设监听时长的常数。

其中,所述t1可以配置为一个远小于预设监听时长的单位时间。例如,t1取值为10ms或者20ms,预设监听时长可以取值为200ms,250ms,300ms等。

S204,所述无线设备对大于或等于报文阈值的beacon报文数量的信道的监听时长不做修改。

可选的,所述方法还可以包括:

S205,所述无线设备将获取beacon报文数量为0的信道的监听时长更新为所述t1

可选的,在步骤S104针对更新监听时长后的每个信道,所述无线设备在第j个信道监听所述第j个信道对应的监听时长之前,还包括:

所述无线设备基于在每个信道接收到的报文中携带的有效MAC地址的数量,对更新监听时长后的每个信道对应的监听时长再次进行更新,所述在每个信道接收到的报文中携带的有效MAC地址的数量为所述无线设备确定在所述N个信道均监听完成后得到的。

需要说明的是,所述有效MAC地址为信道在对应的监听时长内接收到的不重复的MAC地址,例如,信道1在对应的监听时长内接收到了50个MAC地址,其中有7个MAC地址是重复的,因此,信道1接收到的有效MAC地址数为43。

无线设备在通过信道切换线程来监听驱动监听到的无线报文中包括的beacon报文数量时,还可以监听无线报文中携带的有效MAC地址数量。

可选的,所述N个信道的有效MAC地址数量记录在有效MAC地址数量统计数组中,所述有效MAC地址数量统计数组的数组长度为所述N。

本发明实施例在采集MAC地址过程中,信道监听时根据beacon报文在信道上的分布状态和采集到的有效MAC地址数在信道上的分布状态调整每个信道的监听时长,相比现有技术中监听信道时采用定时循环切换信道采集MAC地址的方式,减少了不必要的信道停留时间,单位时间内的MAC地址捕获率提升,提高了MAC地址采集效率,节省了大量的时间资源。

在一种可能的实现方式中,所述无线设备基于在每个信道接收到的报文中携带的有效MAC地址的数量,对更新监听时长后的每个信道对应的监听时长再次进行更新,可以通过如下方式实现:

所述无线设备确定每个信道的效率比,所述效率比为在同一信道接收到的报文中携带的有效MAC地址的数量与获取的beacon报文数量的比值;

所述无线设备将获取beacon报文数量小于所述报文阈值、且效率比大于MAC地址阈值的信道的更新后的监听时长增加(q/Q)*t1,所述q表示对应信道的效率比,所述Q表示MAC地址阈值。

参见图3所示,为本发明实施例提供的另一种更新信道监听时长方法的流程图,所述方法具体可以包括如下:

S301,所述无线设备确定报文阈值。

S302,所述无线设备判断每个信道的beacon报文数量是否小于报文阈值;若是,执行S303;若否,执行S304

S303,所述无线设备将小于报文阈值的beacon报文数量的信道的监听时长减少(R-r)*t1,所述R表示报文阈值,所述r表示在信道获取的beacon报文数量,所述t1为小于预设监听时长的常数。

S304,所述无线设备对大于或等于报文阈值的beacon报文数量的信道的监听时长不做修改。

可选的,所述方法还可以包括:

S305,所述无线设备将获取beacon报文数量为0的信道的监听时长更新为所述t1

S306,所述无线设备确定MAC地址阈值。

可选的,所述MAC地址阈值可以为小于所述报文阈值的多个beacon报文数量中数量最大的beacon报文数量对应信道的效率比,也可以为大于所述报文阈值的多个beacon报文数量中数量最小的beacon报文数量对应信道的效率比。所述MAC地址阈值也可以为一个预设数值。当然也可以通过其他方式确定MAC地址阈值,本发明实施例不做具体限定。

S307,所述无线设备确定每个信道的效率比。

S308,所述无线设备判断信道的效率比是否大于MAC地址阈值,所述效率比为信道的有效MAC地址数与beacon报文数量的比值;若是,执行S309;若否,执行S310。

S309,所述无线设备将效率比大于MAC地址阈值的信道的更新后的监听时长增加(q/Q)*t1,所述q表示对应信道的效率比,所述Q表示MAC地址阈值。

S310,所述无线设备对效率比小于或等于MAC地址阈值的信道的监听时长不做修改。

参见图4所示,为本发明实施例提供的另一种信道切换方法的流程图,所述方法具体可以包括如下:

S401,无线设备在第m个信道监听预设监听时长后,切换到第m+1个信道继续监听,其中,所述m为取遍不大于M的所有正整数,所述M表示信道总数且为大于等于1的正整数。

S402,所述无线设备确定所述M个信道均监听完成后获取在每个信道接收到的报文中携带的有效MAC地址数量。

S403,所述无线设备基于每个信道的有效MAC地址数量更新对应信道的监听时长。

S404,针对更新监听时长后的每个信道,所述无线设备在第n个信道监听所述第n个信道对应的监听时长后,切换到第n+1个信道继续监听,其中,所述n为取遍不大于M的所有正整数。

在一种可能的实现方式中,无线设备基于每个信道的有效MAC地址数量更新对应信道的监听时长,可以通过如下方式实现:

所述无线设备将有效MAC地址数量小于地址数量阈值的信道的监听时长减少(Y-y)*t2,所述Y表示地址数量阈值,所述y表示在信道获取的有效MAC地址数量,所述t2为小于预设监听时长的常数。

其中,所述t2可以配置为一个远小于预设监听时长的单位时间。例如,t2取值为10ms或者20ms,预设监听时长可以取值为200ms,250ms,300ms等。

步骤S403所述无线设备基于每个信道的有效MAC地址数量更新对应信道的监听时长,具体的参见图5所示,为本发明实施例提供的一种更新信道监听时长方法的流程图,具体可以包括如下:

S501,所述无线设备确定地址数量阈值。

其中,所述地址数量阈值为大于有效MAC地址数量平均值的多个有效MAC地址数量中数量最小的有效MAC地址数量,或者所述地址数量阈值为小于有效MAC地址数量平均值的多个有效MAC地址数量中数量最大的有效MAC地址数量,所述有效MAC地址数量平均值为所述M个信道的有效MAC地址数量的平均值。所述报文阈值也可以为一个预设的数值。当然也可以通过其他方式确定报文阈值,本发明实施例不做具体限定。

以所述M取值为5为例,所述无线设备将5个信道均监听预设监听时长后,统计出5个信道的有效MAC地址数量并按照从小到大的顺序排列分别为q1=1,q2=2,q3=2,q4=4,q5=6。所述无线设备确定地址数量阈值,所述地址数量阈值为大于有效MAC地址数量平均值的所有有效MAC地址数量中与报文平均值差值最小的有效MAC地址数量,如所述5个信道的有效MAC地址数量平均值为3,则将q1,q2,q3,q4,q5依次与有效MAC地址数量平均值3进行比较,所述地址数量阈值即为第一个大于3的有效MAC地址数量q2或q3,也可以是第一个小于3的有效MAC地址数量q4。

S502,所述无线设备判断每个信道的有效MAC地址数量是否小于地址数量阈值;若是,执行S503;若否,执行S504

S503,所述无线设备将小于地址数量阈值的有效MAC地址数量的信道的监听时长减少(Y-y)*t2,所述Y表示地址数量阈值,所述y表示在信道获取的有效MAC地址数量,所述t2为小于预设监听时长的常数。

S504,所述无线设备对大于或等于地址数量阈值的有效MAC地址数量的信道的监听时长不做修改。

可选的,所述方法还可以包括:

S505,所述无线设备将有效MAC地址数量为0的信道的监听时长更新为所述t2

本发明实施例在采集MAC地址过程中,信道监听时根据接收到的beacon报文中携带的有效MAC地址数在信道上的分布状态调整每个信道的监听时长,相比现有技术中监听信道时采用定时循环切换信道采集MAC地址的方式,减少了不必要的信道停留时间,单位时间内的MAC地址捕获率提升,提高了MAC地址采集效率,节省了大量的时间资源。

基于与图1对应的方法实施例的同一发明构思,本发明实施例提供一种信道切换装置10,该装置的结构如图6所示,包括信道切换模块11、信道分析模块12和更新模块13,其中:

信道切换模块11,用于在第i个信道监听预设监听时长后,切换到第i+1个信道继续监听,其中,所述i为取遍不大于N的所有正整数,所述N表示信道总数且为大于等于1的正整数;

信道分析模块12,用于获取所述信道切换模块所监听到的在每个信道接收到的信标beacon报文数量;

更新模块13,用于基于所述信道分析模块获取到的每个信道的beacon报文数量更新对应信道的监听时长,使得更新后的获取beacon报文数量大的信道的监听时长大于获取beacon报文数量小的信道的监听时长。

所述信道切换模块,还用于针对所述更新模块更新监听时长后的每个信道,所述无线设备在第j个信道监听所述第j个信道对应的监听时长后,切换到第j+1个信道继续监听,其中,所述j为取遍不大于N的所有正整数。

具体的,所述更新模块,在基于所述信道分析模块获取到的每个信道的beacon报文数量更新对应信道的监听时长时,具体用于:

将beacon报文数量小于报文阈值的信道的监听时长减少(R-r)*t1,所述R表示报文阈值,所述r表示在信道获取的beacon报文数量,所述t1为小于预设监听时长的常数。

可选的,所述更新模块还用于将获取beacon报文数量为0的信道的监听时长更新为t1

可选的,所述报文阈值为大于报文数量平均值的多个beacon报文数量中数量最小的beacon报文数量,或者所述报文阈值为小于报文数量平均值的多个beacon报文数量中数量最大的beacon报文数量,所述报文数量平均值为所述N个信道的beacon报文数量的平均值。

所述报文阈值可以由所述信道分析模块确定,也可以预先设定一个数值作为报文阈值,本发明实施例对此不做具体限定。

可选的,所述更新模块,在所述信道切换模块在第j个信道监听所述第j个信道对应的监听时长之前,还用于:

针对所述更新模块更新监听时长后的每个信道,基于在每个信道接收到的报文中携带的有效MAC地址的数量,对更新监听时长后的每个信道对应的监听时长再次进行更新,所述在每个信道接收到的报文中携带的有效MAC地址的数量为所述信道分析模块在确定所述N个信道均监听完成后获取得到的。

具体的,所述更新模块,在基于在每个信道接收到的报文中携带的有效MAC地址的数量,对更新监听时长后的每个信道对应的监听时长再次进行更新时,具体用于:

确定每个信道的效率比,所述效率比为在同一信道接收到的报文中携带的有效MAC地址的数量与获取的beacon报文数量的比值;

将获取beacon报文数量小于所述报文阈值、且效率比大于MAC地址阈值的信道的更新后的监听时长增加(q/Q)*t1,所述q表示对应信道的效率比,所述Q表示MAC地址阈值。

可选的,所述MAC地址阈值为小于所述报文阈值的多个beacon报文数量中数量最大的beacon报文数量对应信道的效率比,或者所述MAC地址阈值为大于所述报文阈值的多个beacon报文数量中数量最小的beacon报文数量对应信道的效率比。

所述MAC地址阈值可以由所述信道分析模块确定,也可以预先设定一个数值作为MAC地址阈值,本发明实施例对此不做具体限定。

可选的,所述更新模块,还用于在确定在所述N个信道均监听T次后,将每个信道的监听时长均更新为所述预设监听时长。

本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

其中,集成的模块既可以采用硬件的形式实现时,如图7所示,可以包括收发器701,处理器702以及存储器703。信道切换模块11、信道分析模块12和更新模块13对应的实体硬件可以是处理器702。处理器702,可以是一个中央处理单元(英文:central processing unit,简称CPU),或者为数字处理单元等等。处理器702通过收发器701采集beacon报文。存储器703,用于存储处理器702执行的程序。

本申请实施例中不限定上述收发器701、处理器702以及存储器703之间的具体连接介质。本申请实施例在图7中以存储器703、处理器702以及收发器701之间通过总线704连接,总线在图7中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

存储器703可以是易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器703也可以是非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,缩写:ROM),快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD)、或者存储器703是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器703可以是上述存储器的组合。

处理器702用于执行存储器703存储的程序代码,具体用于执行上述图2或图3对应的实施例所述的方法,具体可以参照图2或图3对应的实施例实施,在此不再赘述。

此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本申请中的实施例及实施例中的功能模块可以相互组合。

本发明实施例在采集MAC地址过程中,信道监听时根据beacon报文在信道上的分布状态和采集到的有效MAC地址数在信道上的分布状态调整每个信道的监听时长,相比现有技术中监听信道时采用定时循环切换信道采集MAC地址的方式,减少了不必要的信道停留时间,单位时间内的MAC地址捕获率提升,提高了MAC地址采集效率,节省了大量的时间资源。

基于与图4对应的方法实施例的同一发明构思,本发明实施例提供一种信道切换装置20,该装置的结构如图8所示,包括信道切换模块21、信道分析模块22和更新模块23,其中:

信道切换模块21,用于在第m个信道监听预设监听时长后,切换到第m+1个信道继续监听,其中,所述m为取遍不大于M的所有正整数,所述M表示信道总数且为大于等于1的正整数;

信道分析模块22,用于获取所述信道切换模块所监听到的在每个信道接收到的报文中携带的有效MAC地址数量;

更新模块23,用于基于所述信道分析模块获取到的每个信道的有效MAC地址数量更新对应信道的监听时长,使得更新后的获取有效MAC地址数量大的信道的监听时长大于获取有效MAC地址数量小的信道的监听时长。

所述信道切换模块,还用于针对所述更新模块更新监听时长后的每个信道,所述无线设备在第n个信道监听所述第n个信道对应的监听时长后,切换到第n+1个信道继续监听,其中,所述n为取遍不大于M的所有正整数。

具体的,所述更新模块,在基于所述信道分析模块获取到的每个信道的有效MAC地址数量更新对应信道的监听时长时,具体用于:

将有效MAC地址数量小于地址数量阈值的信道的监听时长减少(Y-y)*t2,所述Y表示地址数量阈值,所述y表示在信道获取的有效MAC地址数量,所述t2为小于预设监听时长的常数。

可选的,所述地址数量阈值为大于有效MAC地址数量平均值的多个有效MAC地址数量中数量最小的有效MAC地址数量,或者所述地址数量阈值为小于有效MAC地址数量平均值的多个有效MAC地址数量中数量最大的有效MAC地址数量,所述有效MAC地址数量平均值为所述M个信道的有效MAC地址数量的平均值。

所述地址数量阈值可以由所述信道分析模块确定,也可以预先设定一个数值作为地址数量阈值,本发明实施例对此不做具体限定。

本发明实施例在采集MAC地址过程中,信道监听时根据接收到的beacon报文中携带的有效MAC地址数在信道上的分布状态调整每个信道的监听时长,相比现有技术中监听信道时采用定时循环切换信道采集MAC地址的方式,减少了不必要的信道停留时间,单位时间内的MAC地址捕获率提升,提高了MAC地址采集效率,节省了大量的时间资源。

本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

其中,集成的模块既可以采用硬件的形式实现时,如图9所示,可以包括收发器901,处理器902以及存储器903。信道切换模块21、信道分析模块22和更新模块23对应的实体硬件可以是处理器902。处理器902,可以是一个CPU,或者为数字处理单元等等。处理器902通过收发器901采集beacon报文。存储器903,用于存储处理器902执行的程序。

本申请实施例中不限定上述收发器901、处理器902以及存储器903之间的具体连接介质。本申请实施例在图9中以存储器903、处理器902以及收发器901之间通过总线904连接,总线在图9中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

存储器903可以是易失性存储器,例如RAM;存储器903也可以是非易失性存储器,例如ROM,快闪存储器,HDD或SSD、或者存储器903是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器903可以是上述存储器的组合。

处理器902用于执行存储器903存储的程序代码,具体用于执行上述图5对应的实施例所述的方法,具体可以参照图5对应的实施例实施,在此不再赘述。

本发明实施例在采集MAC地址过程中,信道监听时根据接收到的beacon报文中携带的有效MAC地址数在信道上的分布状态调整每个信道的监听时长,相比现有技术中监听信道时采用定时循环切换信道采集MAC地址的方式,减少了不必要的信道停留时间,单位时间内的MAC地址捕获率提升,提高了MAC地址采集效率,节省了大量的时间资源。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1