CN115002850A - 网络切换方法、电子设备及可读介质 - Google Patents
网络切换方法、电子设备及可读介质 Download PDFInfo
- Publication number
- CN115002850A CN115002850A CN202111537081.5A CN202111537081A CN115002850A CN 115002850 A CN115002850 A CN 115002850A CN 202111537081 A CN202111537081 A CN 202111537081A CN 115002850 A CN115002850 A CN 115002850A
- Authority
- CN
- China
- Prior art keywords
- fingerprint
- signal strength
- bssid
- preset
- wireless
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W36/00—Hand-off or reselection arrangements
- H04W36/0005—Control or signalling for completing the hand-off
- H04W36/0083—Determination of parameters used for hand-off, e.g. generation or modification of neighbour cell lists
- H04W36/0085—Hand-off measurements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W36/00—Hand-off or reselection arrangements
- H04W36/24—Reselection being triggered by specific parameters
- H04W36/30—Reselection being triggered by specific parameters by measured or perceived connection quality data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W36/00—Hand-off or reselection arrangements
- H04W36/24—Reselection being triggered by specific parameters
- H04W36/32—Reselection being triggered by specific parameters by location or mobility data, e.g. speed data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W36/00—Hand-off or reselection arrangements
- H04W36/08—Reselecting an access point
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W36/00—Hand-off or reselection arrangements
- H04W36/14—Reselecting a network or an air interface
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/021—Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Abstract
本申请提供了一种网络切换方法、电子设备及可读介质。在本申请的网络切换方法中,可移动的电子设备能够预测用户是否即将离开固定场所或者已经离开固定场所,从而在电子设备连接的固定场所的无线AP在用户离开的过程中,出现Wi‑Fi网络信号质量变差,而使得电子设备上所执行的业务出现卡顿现象之前,将Wi‑Fi网络切换至移动网络,为用户提供流畅的网络环境,提高用户体验。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种网络切换方法,电子设备及可读介质。
背景技术
用户离开固定场所时,其手机所连接的无线保真网络(wireless fidelity,Wi-Fi)信号强度会逐步变差,例如图1所示,用户10离开居所,从P1走到P2的过程中,用户所使用的手机100的Wi-Fi信号会逐渐变差直至断开,导致用户10在此过程中,如使用Wi-Fi进行音视频通话、音视频会议、游戏等网络活动时会出现卡顿等现象,影响用户体验。
发明内容
本申请实施例提供了一种网络切换方法、电子设备及可读介质。
在本申请一些实施例提供的网络切换方法中,可移动的电子设备能够预测用户是否即将离开固定场所或者已经离开固定场所,从而在电子设备连接的固定场所的无线AP在用户离开的过程中,出现Wi-Fi网络信号质量变差,而使得电子设备上所执行的业务出现卡顿现象之前,将Wi-Fi网络切换至移动网络(也可称之为蜂窝网络),为用户提供流畅的网络环境,提高用户体验。
第一方面,本申请实施例提供了一种网络切换方法,该方法可应用于电子设备,该方法包括:
电子设备通过与目标场所中的第一无线接入点连接进行Wi-Fi网络传输,并且电子设备接收第一无线接入点上报的Wi-Fi信号强度,并在满足第一条件的情况下,电子设备启动Wi-Fi扫描,其中,满足第一条件包括电子设备接收到的第一无线接入点的Wi-Fi信号强度下降至等于或小于第一信号强度阈值,即电子设备在Wi-Fi信号强度下降到未出现Wi-Fi网络卡顿前的某一信号强度阈值的情况下,触发主动的Wi-Fi扫描,从而节省由于频繁进行Wi-Fi扫描所引入的功耗,例如,该第一信号强度阈值为下文中的-70db,并且Wi-Fi信号强度是否下降到未出现Wi-Fi网络卡顿前的某一信号强度阈值的判断可以是电子设备来做的,也可以是该电子设备之外的其他电子设备来做的,例如电子设备为手机,该判断电子设备当前连接的Wi-Fi信号强度是否下降到第一信号强度阈值的功能由服务器来执行;
根据预设次数的Wi-Fi扫描的结果确定电子设备是否将离开或已经离开目标场所,每次Wi-Fi扫描的结果包括第一Wi-Fi指纹。其中,根据预设次数的Wi-Fi扫描的结果确定电子设备是否将离开或已经离开目标场所包括:对于每次Wi-Fi扫描的结果,将结果中的第一Wi-Fi指纹与第二Wi-Fi指纹进行匹配,并且在对于每次Wi-Fi扫描的结果,第一Wi-Fi指纹与第二Wi-Fi指纹匹配度低于预设阈值的情况下,确定电子设备将离开或已经离开目标场所,其中,第一Wi-Fi指纹包括电子设备当前扫描到的多个无线接入点的标识bssid和对应该bssid的信号强度rssi,第二Wi-Fi指纹包括:预先确定的、电子设备位于目标场所中时,扫描到的满足第二条件的无线接入点的bssid和与rssi相关的信息;
在确定电子设备将离开或已经离开目标场所的情况下,断开电子设备与第一无线接入点的连接,切换至与移动通信网络连接。即在出现Wi-Fi网络卡顿之前,电子设备断开当前连接的Wi-Fi网络,并切换至移动通信网络连接。
可以理解,第一Wi-Fi指纹为电子设备实时扫描到的Wi-Fi指纹,而第二Wi-Fi指纹为预先设置的,能够用于标识固定场所的Wi-Fi指纹(也即下文具体实施例中的预设Wi-Fi指纹),当第一Wi-Fi指纹与第二Wi-Fi指纹不匹配或者匹配度低于某一阈值时,可以确定电子设备离开或者已经离开固定场所。并且为了确保判断的准确性,可以设定主动进行Wi-Fi扫描的的次数,即预设次数。可以理解,虽然此处要求每次Wi-Fi扫描的结果中第一Wi-Fi指纹与第二Wi-Fi指纹均需要匹配度低于预设阈值才认为用户即将离开或者已经离开固定场所,但是,在其他实施例中,也可以是对预设次数的Wi-Fi扫描的结果进行Wi-Fi指纹的匹配判断,其中有一定比例的判断结果表明用户即将离开或者已经离开固定场所,可以认为用户即将离开或者已经离开固定场所。例如,预设次数为4次,有3次扫描结果确定第一Wi-Fi指纹与第二Wi-Fi指纹的配度低于预设阈值,则可以判断出用户即将离开或者已经离开固定场所。
例如,在一些实施例中,可以通过第一Wi-Fi指纹与第二Wi-Fi指纹中相同bssid的个数和相同bssid中第一参数满足条件的个数来判断第一Wi-Fi指纹与第二Wi-Fi指纹的匹配度是否小于预设阈值。并且该匹配功能可以通过电子设备本身来执行,也可以通过其他电子设备来执行,例如,该电子设备为手机,该匹配功能由服务器来执行。
具体地,在一些实例中,第一Wi-Fi指纹与第二Wi-Fi指纹匹配度低于预设阈值包括:第一Wi-Fi指纹和第二Wi-Fi指纹中相同的bssid的数量m小于第一阈值,并且在第一Wi-Fi指纹中的m个bssid中的n个bssid对应的第一参数满足第三条件,n小于第二阈值。第一Wi-Fi指纹中的n个bssid分别对应的第一参数满足第三条件包括:第一Wi-Fi指纹中的n个bssid中每个bssid对应的第一参数与该bssid在第二Wi-Fi指纹中对应的第二参数满足第四条件,第四条件包括第一参数的值与第二参数的值的差在第三阈值范围内,其中,bssid对应的第一参数为与所述bssid的rssi相关的信息;其中,bssid对应的第一参数是基于bssid的rssi使用第一算法所计算得到;bssid对应的第二参数是基于在目标场所内的多个位置均扫描到的bssid对应的第一参数使用第二算法所计算得到。
其中,在一些实施例中,第一算法可以是下文中的信号强度距离转换公式,对应的,第一参数可以为bssid对应的rssi通过下文信号强度距离转换公式转换得到的信号强度距离。并且,需要说明的是,信号强度距离与信号强度之间为负相关,即信号强度越大,信号强度距离越小,也即rssi越大,rssi对应的第一参数反而越小。例如信号强度-70db比信号强度-80db大,但是信号强度-70db对应的信号强度距离要比-80db对应的信号强度距离要小。
并且,由于第二参数属于预设Wi-Fi中各bssid对应的参数,故为了使得预设Wi-Fi指纹中第二参数比较稳定,或者能够表征预设Wi-Fi指纹中各bssid在的目标场所不同位置处的信号强度。在一些实施例中,各bssid的第二参数可以基于目标场所内多个位置处,扫描到的该bssid对应的第一参数(如信号强度距离)使用第二算法计算得到。也即,各bssid的第二参数,可以通过综合该bssid在形成预设Wi-Fi指纹的过程中,在目标场所内不同位置处被扫描到的信号强度计算得到。
其中,可以理解的是,第二参数可以是上述预设Wi-Fi指纹中各个bssid对应的rssi,也可以是各bssid对应的rssi通过下文中信号强度距离转换公式(1)得到的信号强度距离。
其中,在一些实施例中上述第二参数为目标场所内的多个位置扫描到的同一无线接入点的bssid对应的多个第一参数的平均值。也即,第二算法包括计算该bssid在目标场所内不同位置或多个位置处被扫描到的第一参数的平均值来得到第二参数。或者在其他实施例中,第二算法可以为该bssid在目标场所内不同位置处被扫描到的第一参数设置权重,然后计算不同位置处第一参数的加权和得到第二参数,等等,本申请对第二算法的具体形式不作限制。
在其他实施例中,上述无线接入点的bssid对应的第二参数还可以通过以下方式计算得到:电子设备在目标场所中的多个不同位置处进行扫描得到多个第二预设WiFi指纹;从多个第二预设WiFi指纹中,获取在多个不同位置处扫描到的无线接入点的bssid对应的多个rssi;计算多个rssi对应的多个第一参数,并对多个第一参数求平均得到无线接入点的bssid的第一参数的平均值。其中,在一些实施例中,第二预设Wi-Fi对应下文具体实施例中的检测Wi-Fi指纹,其为在生成上述第二Wi-Fi指纹,也即预设Wi-Fi指纹时,电子设备连接某个无线AP的情况下,在目标场所不同位置扫描到的其他无线AP的bssid以及rssi组成。每个位置都对应一个第二预设Wi-Fi指纹。
例如,假设电子设备扫描到的两个第二预设Wi-Fi指纹的信息如下:
第1个位置的第二预设Wi-Fi指纹为data1={(bssid1,rssi11),(bssid2,rssi12),(bssid3,rssi13),(bssid4,rssi14),connectBssid=bssid1};
第2个位置的第二预设Wi-Fi指纹为data2={(bssid1,rssi21),(bssid2,rssi22),(bssid3,rssi23),(bssid4,rssi24),(bssid5,rssi25),(bssid6,rssi26),connectBssid=bssid1}。其中,connectBssid表示连接的无线接入点的bssid。
然后,分别利用下式(1)计算上述第1位置以及第2位置中各个rssi对应的第一参数(即信号强度距离),再计算各个bssid对应的第一参数(信号强度距离)的平均值,即可得到各bssid的第二参数。
结合上述第一方面,在第一方面的一种可能的实现方式中,上述第二条件包括下列中的至少一项:电子设备在目标场所中接收到的无线接入点的Wi-Fi信号强度的波动范围小于预设波动范围;电子设备在目标场所中接收到的无线接入点的Wi-Fi信号强度大于第二信号强度阈值,或者电子设备在目标场所中的多个位置均扫描到的一个无线接入点的bssid所对应的第二参数小于第四阈值。
由上文可知,第二条件为第二Wi-Fi指纹(也即预设Wi-Fi指纹)包括预先确定的、电子设备位于目标场所中时,扫描到的满足无线接入点的bssid和rssi需要满足的条件又因为,预设Wi-Fi指纹是用于标识该目标场所的Wi-Fi指纹,因此其中的无线接入点(例如无线AP)的Wi-Fi信号强度需要稳定、且能够起到标识该目标场所的作用。
具体地,在一些实施例中,预设Wi-Fi指纹中的无线AP的Wi-Fi信号强度的波动范围小于预设波动范围,即可认为该无线AP的Wi-Fi信号强度比较稳定。其中,预设波动范围为经验值或实验值。在一些实施例中,为了便于计算,还可以利用下式(1)将Wi-Fi信号强度波动范围以及预设波动范围均转换为信号强度距离,此处不再赘述。
在另一些实施例中,预设Wi-Fi指纹中的无线AP的Wi-Fi信号强度需要大于第二信号强度阈值,即可认为该无线AP的信号强度比较稳定。其中,第二信号强度阈值为经验值或实验值,其中,可以将第二信号强度阈值利用下式(1)转换为信号强度距离,此处不再赘述。其中第二信号强度阈值对应的信号强度距离可以是下文中的信号强度距离阈值distancefilter,其取值例如可以为40米。
在又一些实施例中,在多个位置处均能扫描到的某个无线AP对应的bssid对应的上述第二参数小于第四阈值,也可以说明该无线AP的信号强度较稳定,并且该无线AP距离该目标场所距离也较近。其中,第四阈值为经验值或实验值。并且在一些实施中,当第二参数为信号强度距离时,第四阈值可以与上述第二信号强度阈值对应的信号强度距离相同,即为40米。
结合上述第一方面,在第一方面的一种可能的实现方式中,上述第一阈值可以通过下列方式计算:统计每个第二预设WiFi指纹与第二WiFi指纹中相同的bssid的数量,得到多个第一统计数量值,并通过多个第一统计数量值确定第一阈值。其中,在一些实施例中,多个第一统计数量至对应下文具体实施例中的bssidmatchcounti。
例如,假设第二Wi-Fi指纹为{(bssid1,2.8),(bssid2,1.9),(bssid3,3.4)}。
上述两个第二预设Wi-Fi指纹为:
第二预设Wi-Fi data1=[(bssid1,5.1),(bssid2,1),(bssid3,5.1)];
第二预设Wi-Fi data2=[(bssid1,0.5),(bssid2,3.1),(bssid3,1.5)],
然后,将第二Wi-Fi指纹与data1进行匹配,得到其与data1相同的bssid数量为b1=3(即bssid1,bssid2,bssid3);
将第二Wi-Fi指纹与data2进行匹配,得到其中与data2相同的bssid数量为b2=3(即bssid1,bssid2,bssid3);
也即两个第一统计数量值分别为3,3。
在一些实施例中,第一阈值为多个第一统计数量值中的最小值,以每个第二预设Wi-Fi指纹对应的第一统计数量值分别为3,3为例,则取两个第一统计数量值中的最小值3为第一阈值。可以理解,第一阈值还可以是多个第一统计数量值的中位数、方差等等,本申请对此不作限制。
结合上述第一方面,在第一方面的一种可能的实现方式中,上述第二阈值可以通过下列方式计算:统计每个第二预设WiFi指纹中,对应的第一参数满足第三条件的bssid的数量,得到对应多个第二预设WiFi指纹的多个第二统计数量值;并基于多个第二统计数量值确定第二阈值。
其中,第二统计数量值对应下文具体实施例中的distancematchcounti。
例如,继续以第二Wi-Fi指纹为{(bssid1,2.8),(bssid2,1.9),(bssid3,3.4)}。
上述两个第二预设Wi-Fi指纹为:
第二预设Wi-Fi指纹data1=[(bssid1,5.1),(bssidz,1),(bssid3,5.1)];
第二预设Wi-Fi指纹data2=[(bssid1,0.5),(bssid2,3.1),(bssid3,1.5)],为例,则:
假设第二预设Wi-Fi指纹data1中对应的第一参数满足第三条件的bssid数量为3个,data2中对应的第一参数满足第三条件的bssdi的数量为2个,则每个第二预设Wi-Fi指纹对应的第二统计数量值分别为3,2。
其中,在一些实施例中,第二阈值为多个第二统计数量值中的最小值;或者第二阈值为多个第二统计数量值从小到大排序的统计数量值序列中的第P个第二统计数量值,其中,P=(多个第二统计数量的数量/10)+1。例如,继续以个第二预设Wi-Fi指纹对应的第二统计数量值分别为3,2为例,则可以选择第二统计数量值中最小值2作为第二阈值,也可以以P=(多个第二统计数量的数量/10)+1=1.2,则取第1个第二统计数量的值作为第二阈值。
在一些实施例中,上述第三条件包括实时Wi-Fi指纹中,与预设Wi-Fi指纹中相同的m个bssid中,各自bssid对应的信号强度距离与其在预设Wi-Fi指纹中对应的信号强度距离满足第四条件,也即m个相同的bssid,在实时Wi-Fi指纹中对应的信号强度距离(即第一参数)与在预设Wi-Fi指纹中对应的信号强度距离(即第二参数)之差在第三阈值范围内。其中,在一些实施例中,第三阈值范围对应下文具体实施例中的(-radius,+radius)。
例如,假设实时Wi-Fi指纹为:
{[(bssid1,rssi1=5.1),(bssid2,rssi2=1),(bssid3,rssi3=5.1)]}
预设Wi-Fi指纹为:{(bssid1,2.8),(bssid2,1.9),(bssid3,3.4)},那么实时Wi-Fi指纹中与预设Wi-Fi指纹中,相同的bssid共有m=3个,分别为bssid1,bssid2,bssid3。
然后计算bssid1,bssid2,bssid3分别在实时Wi-Fi中对应的信号强度距离(及第一参数)与其在预设Wi-Fi指纹中对应的信号强度距离之差是否在第三阈值范围内。
具体地,bssid1的第一参数为5.1,第二参数为2.8,则bssid1的第一参数与第二参数之差为5.1-2.8=2.3。
bssid2的第一参数为1,第二参数为1.9,则bssid2的第一参数与第二参数之差为1-1.9=-0.9。
bssid3的第一参数为5.1,第二参数为3.4,则bssid3的第一参数与第二参数之差为5.1-3.4=1.7。
假设第三阈值范围为(-5,5),则bssid1的第一参数与第二参数之差在第三阈值范围内,bssid2的第一参数与第二参数之差在第三阈值范围内,bssid3的第一参数与第二参数之差在第三阈值范围内,故实时Wi-Fi指纹中与预设Wi-Fi指纹中相同的bssid的第一参数与第二参数之差满足第四条件的数量为3个,也即实时Wi-Fi指纹中的第一参数满足第三条件的数量n为3个。
假设第一阈值为4,第二阈值为4,则实时Wi-Fi指纹与预设Wi-Fi指纹中,相同的bssid m为3,小于第一阈值,且实时Wi-Fi指纹中3个bssid的信号强度距离(即第一参数)满足第三条件的数量n也为3,小于第二阈值,故可以判断实时Wi-Fi指纹与预设Wi-Fi指纹不匹配。当确定实时Wi-Fi指纹与预设Wi-Fi指纹不匹配时,即确定电子设备将离开或已经离开目标场所,则将电子设备当前连接的Wi-Fi网络切换至移动通信网络(移动网络或移动蜂窝网络)。
可以理解,在一些实施例中,也可以仅通过判断第一Wi-Fi指纹(实时Wi-Fi指纹)与第二Wi-Fi指纹(预设Wi-Fi指纹)中的相同的bssid的数量是否小于第一阈值,来判断第一Wi-Fi指纹和第二Wi-Fi指纹是否匹配。
例如,只要实时Wi-Fi指纹与预设Wi-Fi指纹中相同的bssid的数量小于或等于第一阈值,则确定实时Wi-Fi指纹与预设Wi-Fi指纹不匹配,当实时Wi-Fi指纹与预设Wi-Fi指纹中相同的bssid的数量大于第一阈值,则确定实时Wi-Fi指纹与预设Wi-Fi指纹相匹配。
通过这样的方式,电子设备(例如手机或其他可移动的电子设备)可以在用户离开固定场所的过程中,且当前Wi-Fi网络出现卡顿现象之前,便将所连的Wi-Fi网络切换至移动网络,避免用户继续使用Wi-Fi网络出现网络卡顿现象,为用户提供流畅的网络环境,提高用户体验。
可以理解,如上文的,为了尽可能降低电子设备的功耗,在一些实施例中,当电子设备的接收到的无线AP的Wi-Fi信号强度满足第一条件时,电子设备才会开启Wi-Fi扫描功能,进行Wi-Fi扫描,以获得上述实时Wi-Fi指纹。
其中,在一些实施例中,第一条件可以为电子设备所连接的无线AP的Wi-Fi信号强度小于第一信号强度阈值。其中,第一信号强度阈值为经验值或实验值,例如可以下文所言的-70db。
并且,为了确保电子设备在进行网络切换时,电子设备所连接的无线AP的Wi-Fi网络还未出现卡顿现象。在一些实施例中,第一信号强度阈值大于QoE BAD信号强度值,并且,电子设备从第一无线接入点接收到的Wi-Fi信号发生QoE BAD事件时的信号强度为QoE BAD信号强度值。可以理解,第一信号强度阈值必然要比电子设备所连接的Wi-Fi信号发生WoEBAD事件时的信号强度要大,这样才能在Wi-Fi网络出现卡顿前将Wi-Fi网络切换至移动通信网络。
并且,在一些实施例中,在电子设备运行第一应用并且接收到的第一无线接入点(例如无线AP)的Wi-Fi信号强度为第一信号强度阈值的情况下,电子设备的Wi-Fi网络传输性能满足第一应用的运行要求。也即,电子设备所连无线AP的Wi-Fi信号强度下降至第一信号强度阈值时,电子设备的网络传输性能仍能满足第一应用的运行,也即电子设备的所连接无线AP的Wi-Fi信号强度下降至第一信号强度阈值时,电子设备上运行的应用也未出现网络卡顿等情况。其中,在一些实施例中,第一应用可以为网络直播应用、视频播放应用、游戏应用中的至少一种。并且,上述的网络传输性能可以包括传输时延、传输速率、信号接收质量、以及信号接收功率中的至少一种。本申请对此不作限制。
其中,需要说明的是,QoE BAD事件一般发生在网络卡顿事件之前,但是也可能与网络卡顿事件同时发生,本申请对此不作限制。
在另一些实施例中,第一条件还可以为电子设备与第一无线接入点(例如第一无线AP)的连接时长大于或等于预设时长。可以理解,由于电子设备连接的无线AP可能会不同,因此只当电子设备稳定连接在某个无线AP时,才需判断电子设备连接的无线AP的Wi-Fi信号是否弱,是否会影响电子设备的网络情况,电子设备是否需要进行网络切换。
在又一些实施例中,第一条件还可以为电子设备的当前运行状态满足预设运行条件,其中,电子设备的当前运行状态满足预设运行条件包括以下多项中的至少一项:电子设备处于亮屏状态;电子设备已开启网络加速功能;电子设备运行第一应用并且当前显示第一应用的第一应用界面;电子设备已开启分布式实现功能;电子设备已开启后台数据传输功能。
在一些实施例中,上述电子设备可以为手机、平板电脑等能够实现网络连接的电子设备。
第二方面,本申请实施例还提供了一种电子设备,该电子设备包括存储器,存储有计算机程序指令;处理器,处理器和存储器耦合,当存储器存储的计算机程序指令被处理器执行时使得电子设备实现上述第一方面中任一项的网络切换方法。
第三方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,其特征在于,计算机程序被处理器执行时实现上述第一方面中任一项的网络切换方法。
第四方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面中任一项的网络切换方法。
可以理解的是,上述第二方面至第四方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是一些实施例提供的一例本申请网络切换方法应用场景示意图;
图2是一些实施例提供的又一例本申请网络切换方法场景示意图;
图3是一些实施例提供的一例手机100离开固定场所时信号强度变差的示意图;
图4是一些实施例提供的一例手机100的硬件结构示意图;
图5是一些实施例提供的一例手机100的软件结构示意图;
图6是基于图5所示的软件结构,提供的一例生成预设Wi-Fi指纹的方法交互示意图;
图7是一些实施例提供实现本申请网络切换方法时对应的部分代码示意图;
图8是一些实施例提供的设置预设Wi-Fi指纹时对应的部分代码示意图;
图9是基于图5所示的软件结构,提供的一例卡顿预测以及网络切换的方法交互示意图;
图10是一些实施例提供的手机100上进行网络切换提示的UI界面示意图;
图11是一些实施例提供的手机100上进行网络切换提示的UI界面示意图;
图12是一些实施例提供的手机100上进行网络切换提示的UI界面示意图。
具体实施方式
下面结合说明书附图对本申请的网络切换方法进行介绍。为了便于描述,下文以手机100为例对本申请网络切换方法进行描述,但是应理解,本申请网络切换方法可适用的电子设备不限于手机100,还可以是其他能够通过Wi-Fi进行上网活动的电子设备。
在此之前,首先对本申请涉及的部分专业术语进行解释,以便于更好的理解本申请的技术方案。
无线AP,是无线访问接入点(Wireless Access Point)的简称,是无线网和有线网之间沟通的桥梁,是组建无线局域网(WLAN)的核心设备,它可以扩展无线路由器的功能。无线AP在WLAN中就相当于基站在移动通信网络中的角色。无线AP适合批量部署,覆盖大的区域,比如,家庭房间比较多的情况下,如果路由器放在客厅,那么距离客厅较远的房间内的Wi-Fi信号强度可能较弱,这种情况下,就可以在该房间内设置一个无线AP,来扩展路由器的功能,那么用户在该房间内也可以连接到信号强度较强的Wi-Fi。
无线路由器:是提供无线网络覆盖的设备,可以实现宽带路由器功能,它可以覆盖无线AP的功能。在本申请的一些实施例中,手机100的Wi-Fi网络服务也可以来自无线路由器,且在手机100所连接的Wi-Fi为无线路由器的Wi-Fi时,手机100也可以利用本申请的网络切换方法,为该无线路由器生成对应的卡顿围栏,以利用该无线路由器的卡顿围栏,在手机100在连接该无线路由器且出现网络卡顿现象前,切换手机100的网络服务切至移动通信网络或者蜂窝网络,本申请对此不作限制。应理解,下文为了便于描述,将以无线AP为例对本申请各个实施例作说明。
bssid,是无线接入点的Mac地址(Basic Service Set IDentifier)的简称,每个无线AP的bssid值均不相同,可以理解为对应无线AP的标识码。
需要说明的是,这里的bssid与无线AP对应的Wi-Fi的名称并不相同,Wi-Fi的名称是用户为了便于区分其手机能够扫描到的各个无线AP的Wi-Fi网络,而人为设定的名称,每个Wi-Fi的名称可以相同,也可以不相同,故通过Wi-Fi名称并不能区分无线AP。而bssid则不同,对于特定的某个无线AP而言,其bssid值是确定唯一的,故可以通过bssid来区别不同的无线AP。
rssi,是接收信号强度指示(Received Signal Strength lndication)的简称,单位为dB,rssi取值为负值,rssi取值越小或者绝对值越大表示信号强度越弱,例如-70dB的信号强度要弱于-35dB的信号强度。在本申请的各个实施例中,rssi指的是手机100接收到无线AP的Wi-Fi信号的强度。
QoE,是体验质量(Quality of Experience)的简称,是指用户对设备、网络和系统、应用或业务的质量和性能的主观感受,而当电子设备执行的任务无法达到用户要求时,出现QoE BAD事件。例如,当Wi-Fi信号强度变差之后,数据传输质量下降,导致电子设备所执行的一些任务,如音视频播放、文件传输的执行速率或者执行效果变差,用户感受到音视频卡顿、视频画面模糊等情况,此时可以认为出现了Wi-Fi传输的QoE BAD事件。
下面将使用上述本领域技术人员通常采用的术语来描述说明性实施例的各个方面。
如上文所言,本申请的网络切换方法不仅可以适用于手机100,还可以适应于其他能够通过Wi-Fi网络进行网络活动的任何电子设备,例如平板电脑、笔记本电脑、智能手表、智能手环、智能耳机、智能眼镜等电子设备,本申请对电子设备的类型不作任何限制。为了方便描述,下文继续以前文提到的手机100为例进行说明。
为了解决用户在离开固定场所的过程中,用户手机100连接的该场所的无线AP的Wi-Fi信号逐渐变差,用户使用Wi-Fi网络进行网络传输时出现的网络卡顿问题,本申请的实施例提供了一种网络切换方法,可以在用户手机100的Wi-Fi网络传输出现卡顿前,将手机100连接的网络从Wi-Fi切换至蜂窝网络。
具体地,在本申请的网络切换方法中,可以基于手机100能够扫描到的无线AP的信息(下文称为Wi-Fi指纹)的变化,确定手机100是否即将离开固定场所或者用户是否将持续远离所连接的Wi-Fi网络对应的无线AP-X,以在用户手机100远离该无线AP-X的过程中、并在用户手机100的Wi-Fi网络传输出现卡顿前,将手机100连接的网络从Wi-Fi切换至移动通信网络,即蜂窝网络。
更具体地,为了避免频繁进行Wi-Fi扫描获取Wi-Fi指纹给手机100所带来的功耗,手机100可以在所接收到的Wi-Fi信号强度降低到第一信号强度阈值但并未出现网络卡顿时,开启Wi-Fi扫描功能,并将此时扫描到的Wi-Fi指纹与预先设置的对应该固定场所中的无线AP-X的卡顿围栏进行匹配,如果不匹配,则表明手机100将离开固定场所或者将持续远离所连接的Wi-Fi网络对应的无线AP-X,那么手机100将断开其与固定场所中无线AP-X的连接,并切换至采用手机100的蜂窝网络进行网络传输。
可以理解,在设置上述第一信号强度阈值时,可以选择手机100接收到的无线AP的Wi-Fi信号强度降低过程中,手机100所进行的业务(如网络直播、视频播放等业务)并未由于Wi-Fi信号强度的变弱而产生卡顿的某一信号强度值作为上述第一信号强度阈值,从而在Wi-Fi信号强度降低到该第一信号强度阈值时,开启Wi-Fi扫描功能确定手机100是否将要离开该固定场所或者是否将要远离无线AP-X,以在手机100接收到的无线AP-X的Wi-Fi信号强度降低至手机100出现网络卡顿情况之前,就及时将手机100连接的网络从Wi-Fi切换至蜂窝网络。
此外,可以理解,在本申请实施例中,Wi-Fi指纹包括了电子设备在某个地点所能扫描到的无线AP的信息或者扫描到的Wi-Fi网络的信息。Wi-Fi指纹一般由扫描到的多个无线AP的信息组成,以标识该地点或者包括该地点的某个区域。其中,在本申请的一些实施例中,无线AP的信息可以包括该无线AP的bssid以及rssi。
可以理解,特定的某个无线AP发出的Wi-Fi信号覆盖的范围是有限的,所以用户手机100在连接该无线AP,且用户逐渐远离该无线AP的情况下,用户手机100Wi-Fi信号强度会逐渐变差甚至发生Wi-Fi连接断开的情况,这会使用户通过Wi-Fi进行网络活动时,出现卡顿情况。为了给用户提供一个流畅的网络环境,手机100可以在Wi-Fi连接断开之前,甚至是用户Wi-Fi发生QoE BAD之前,就自动从Wi-Fi网络切换至蜂窝网络。在此过程中,手机100需要确定用户手机100的Wi-Fi连接何时会断开、以及用户Wi-Fi何时会发生QoE BAD事件。卡顿围栏的设置就是为了确定用户手机100是否即将离开上述固定场所,也即手机100的Wi-Fi连接是否将要断开或者用户Wi-Fi是否将要发生QoE BAD事件。
在本申请的一些实施例中,在设置对应某一固定场所的卡顿围栏时,可以用能够标识该场所的一些无线AP的信息(如bssid、rssi以及对应的信号强度距离distance)来组成预设Wi-Fi指纹,同时,确定出在判断电子设备是否位于卡顿围栏内部时电子设备所采集到实时Wi-Fi指纹与预设Wi-Fi指纹相匹配时,所需要满足的一些阈值条件,并将确定出的预设Wi-Fi指纹和这些阈值条件组成卡顿围栏信息。例如,可以从电子设备在固定场所的不同位置处,能够扫描到的无线AP中,选择出扫描到的无线AP中rssi的大小满足预设条件,且rssi在不同位置处均匀分布的无线AP的bssid、或者对应rssi的第一参数(如信号强度距离)波动较小的无线AP的bssid组成预设Wi-Fi指纹。并基于选择出来的预设Wi-Fi指纹所包括的bssid以及第一参数,确定出上述阈值条件。卡顿围栏的具体设置方式下文将做详细介绍。
此外,可以理解,在本申请的一些实施例中,所提及的网络传输卡顿,可以是手机100在运行某些对网络传输性能要求较高的应用时,由于网络传输性能下降,或者说Wi-Fi信号强度降低,所造成的应用运行时所需要的数据传输的卡顿。例如,手机100通过视频播放软件播放视频时视频出现播放卡顿、或者用户通过手机100玩游戏时出现游戏画面的卡顿、再或者用户手机100进行网络直播时直播画面出现卡顿等。故在一些实施例中,手机100只有在运行或者需要运行这些对网络传输性能要求较高的应用时,才开启Wi-Fi扫描功能,以在手机100出现网络卡顿情况之前切换网络。即在手机100接收到的Wi-Fi信号强度降低到第一信号强度阈值的情况下,还需要判断手机100当前的运行情况是否满足触发卡顿预测的预设运行条件,只有满足触发卡顿预测的预设运行条件,手机100才开启Wi-Fi扫描功能(手机每执行一次Wi-Fi扫描功能都会带来较大的功耗,故在特定的条件下才开启Wi-Fi扫描功能可以节省功耗)。例如触发卡顿预测的预设运行条件可以是手机100亮屏、手机100网络加速功能打开、手机100打开相关应用中的至少一种,下文将具体介绍。
此外,还可以理解,在本申请的另外一些实施例中,用户也可以根据需要随时主动触发手机100的Wi-Fi扫描,或者手机100在某些情况下也有可能主动触发Wi-Fi扫描,如Wi-Fi网络连接断开后重新连接时,手机100主动触发Wi-Fi扫描以控制手机100进行上述卡顿预测。
例如,图2示出了一种采用本申请的技术方案进行网络切换的应用场景。如图2所示,假设用户的手机100通过家中客厅的无线AP1连接Wi-Fi网络,对应无线AP1设置的预设Wi-Fi指纹包括{无线AP1、无线AP2、无线AP3、无线AP4},对应无线AP1的卡顿围栏可以为:以无线AP1为中心、半径r1=40米的圆圈,且第一信号强度阈值为-70dB,用户使用手机100进行网络直播。可以理解,所提及的卡顿围栏半径r1=40米仅为示例性的,在其他实施例中,r1可以是通过多次实验得到的经验值,例如r1可以为35米、20米或45米等,本申请对上述卡顿围栏的半径r1的取值不作限制。同样可以理解,本申请对上述实施例中卡顿围栏的形状也不做限制,在一些实施例中,卡顿围栏的形状也可以是圆形以外的其他形状,例如四边形、多边形、椭圆等等。
具体地,在用户拿着手机100走动的过程中,假如在Q2点处,检测到手机100接收到的无线AP1的Wi-Fi信号强度为-80dB,小于上述第一信号强度阈值-70dB,则手机100启动Wi-Fi扫描功能,得到当前的Wi-Fi指纹{无线AP1、无线AP2、无线AP4}。通过将当前的Wi-Fi指纹{无线AP1、无线AP2、无线AP4}与预设Wi-Fi指纹{无线AP1、无线AP2、无线AP3、无线AP4}进行匹配,确定两者不匹配或匹配度低于预定阈值,则表明此时用户将拿着手机100离开家或表明此时用户已经拿着手机100离开了家(虽然此时手机100可能还连着无线AP1的Wi-Fi网络,该Wi-Fi连接还未断开或发生QoE BAD事件,但因为用户拿着手机100即将离开家或已经离开家,接下来该Wi-Fi连接必然会信号强度下降直至断开,在该Wi-Fi连接信号强度下降直至断开的过程中,手机100上的业务会出现卡顿),此时将手机100的通信网络由与无线AP1的Wi-Fi连接切换为蜂窝网络,以在手机100当前的业务(如网络直播或游戏或播放视频)出现卡顿前切换网络。
此外,在一些情况下,即使检测到手机100接收到的无线AP1的Wi-Fi信号强度低于或等于第一强度阈值,如果当前采集到的Wi-Fi指纹与预设Wi-Fi指纹匹配,则表明用户并未拿着手机100离开家,故可不切换网络。例如,当手机100移动到图2中的Q1点时,检测到手机100接收到的无线AP1的Wi-Fi信号强度为-70dB,但是此时采集到的Wi-Fi指纹{无线AP1、无线AP2、无线AP3、无线AP4}与预设Wi-Fi指纹{无线AP1、无线AP2、无线AP3、无线AP4}匹配,故可认为用户并未拿着手机100离开家,故可不切换网络。
值得注意的是,为了便于理解,上述例子中判断两个Wi-Fi指纹匹配的条件为两个Wi-Fi指纹所包括的无线AP相同,但是在具体方案中,可以根据具体需要设置匹配的判断条件,不限于此。下文将具体描述两个Wi-Fi指纹匹配的一些判断方式。
此外,在其他一些实施例中,在检测到手机100接收到的无线AP1的Wi-Fi信号强度小于第一信号强度阈值时,可以重复Wi-Fi扫描多次,在多次匹配结果均为与预设Wi-Fi指纹匹配的情况下,才确定用户将拿着手机100离开家,进行网络切换。
下面根据本申请一些实施例,详细介绍上述第一信号强度阈值的一种设置方式。
可以理解,可以通过对手机100接收到的所连接的无线AP的Wi-Fi信号强度随手机100与所连接的无线AP1之间的距离的变化关系来确定第一信号强度阈值。
具体地,图3(A)和图3(B)示出了手机100接收到的无线AP(例如图2中的无线AP1)的Wi-Fi信号强度随手机100与所连接的无线AP1之间的距离的变化关系。
如图3(A)所示,在用户离开家的过程中,随着手机100与无线AP1之间的距离变大,手机100的Wi-Fi信号会逐渐变差,直至手机100正在运行的应用程序出现卡顿现象或者手机100的Wi-Fi连接断开或发生QoE BAD事件。其中,手机100是否出现卡顿现象,可以根据手机100所运行的应用程序,以及该应用程序流畅运行所需的Wi-Fi的网络的传输时延、网络传输速率、参考信号接收质量(reference signal receiving quality,RSRQ)或参考信号接收功率(reference signal receiving power,RSRP)等来综合判断。
例如,在一些实施例中,当手机100与无线AP1之间的网络的传输时延大于时延预设值,如300ms时,手机100上进行的网络直播出现网络卡顿,或者,手机100的传输速率小于速率预设值时手机100上进行的网络直播出现网络卡顿。其中,速率预设值可以为5Mbs、2Mbs、1Mbps、或50Kbs等值。例如,假设速率预设值为5Mbs,手机100的传输速率小于5Mbs时,可以认为手机100出现网络卡顿。可以理解,时延预设值、速率预设值等阈值的设置,可以通过实验得到的经验值来设定,也可以在手机100的使用过程中通过对各应用程序出现卡顿时的各网络参数值进行分析确定。在另一些实施例中,手机100也可以在其接收的RSRP小于功率预设值时,确定手机100出现网络卡顿。或者,在另一些实施例中,手机100还可以在其RSRQ小于质量预设值时,确定出现网络卡顿。可以理解,在其他实施例中,手机100还可以采用其他方式判断是否出现网络卡顿,本申请实施例不做限定。
图3(B)为图3(A)中手机100的Wi-Fi信号强度变化与手机100和无线AP1之间距离的变化曲线图。从图3(B)中的曲线s1可以看出,在手机100与无线AP1的距离为m米时,手机100的Wi-Fi信号强度降低到A值,在手机100与无线AP1的距离大于或等于n米以后,手机100已经接收不到无线AP1的Wi-Fi信号,也即手机100Wi-Fi在此时或之后发生Wi-Fi连接断开或者QoE BAD事件。所以在Wi-Fi信号强度持续变差至A值时,距离手机100的Wi-Fi连接断开或者发生QoE BAD事件之间还有一定的时间,故手机100可以将上述第一信号强度阈值设置为A,例如在手机100Wi-Fi信号强度降低到-70dB时,触发手机100的主动Wi-Fi扫描,进行卡顿预测。例如,当手机100主动进行Wi-Fi扫描后,获取对应的固定场所的卡顿围栏信息,并将当前扫描到实时Wi-Fi指纹与卡顿围栏信息中的预设Wi-Fi指纹进行匹配,在实时Wi-Fi指纹和预设Wi-Fi指纹相匹配或者匹配度满足阈值条件的情况下,判断用户将要离开或已经离开固定场所,手机100将Wi-Fi网络切换为移动网络。其中,匹配的具体方案将在下文进行详细描述。
可以理解,第一信号强度阈值应该为Wi-Fi连接断开或者Wi-Fi QoE BAD事件之前的信号强度,否则无法实现在手机100出现卡顿现象前断开Wi-Fi连接并切换至蜂窝网络的目的。在一些实施例中,由于Wi-Fi信号变化的情况不同(例如曲线s2所示的缓降),那么对应的第一信号强度阈值也可以不同,例如对应于曲线s2的变化情况,由于Wi-Fi信号强度刚开始下降的比较缓慢但后来下降的比较快,所以第一信号强度阈值可以较小,例如-75dB。在另一些实施例中,第一信号强度阈值可以是手机100根据手机100Wi-Fi连接断开或发生QoE BAD事件之间若干秒Wi-Fi信号强度变化情况学习得到的值。
下面根据本申请一些实施例,继续以上述图2所示的场景为例,详细介绍上述卡顿围栏的设置方式。
为了方便理解,在本申请的网络切换方法中,可以将手机100接收到的无线AP的Wi-Fi信号的强度转换为强度距离,该强度距离可以理解为无线AP与接收到该无线AP的Wi-Fi信号的电子设备之间的相对距离,即接收到的Wi-Fi信号的强度越低,强度距离越大。并且,需要理解,rssi的值均为负数,rssi绝对值越大(真实值越小)则算出来的信号强度距离distance越大,则可以理解为对应该rssi的无线AP距离固定场所越远。故在下文中,可以计算某个无线AP对应的bssid在该固定场所不同位置的信号强度距离的平均值,如果该信号强度距离的平均值越大,则可以认为对应的无线接入点离固定场所过远,可以不将该无线AP纳入卡顿围栏。
例如,在上述图2中,手机100移动到Q1点时的Wi-Fi信号强度大于移动到Q2点时的信号强度,故手机100在Q1点处的强度距离大于Q2点处的强度距离。
在一些实施例中,手机100可以利用下式(1)将手机100接收到的无线AP的信号强度转换为对应的强度距离:
其中,Distance表示手机100接收到的无线AP的Wi-Fi信号强度rssi对应的强度距离,N与n均为经验值或实验值,例如N可以为35,n可以为2.1。可以理解,在其他实施例中,N和n也可以为其他值,本申请对此不作限制。可以理解,在其他实施例中,上述公式也可以是其他能够将Wi-Fi信号强度转换为距离的方式,本申请对此不作限制。
下面具体介绍本申请中卡顿围栏的生成方法。
如上文所言,卡顿围栏是与固定场所对应的,能够标识该固定场所的与无线AP相关信息,在一些实施例中,卡顿围栏信息可以包括预设Wi-Fi指纹和判断电子设备实时采集到实时Wi-Fi指纹与预设Wi-Fi指纹相匹配所需的阈值条件。例如,在一些实施例中,阈值条件可以包括实时Wi-Fi指纹与预设Wi-Fi指纹相同的bssid的数量需要满足的第一阈值,实时Wi-Fi指纹与预设Wi-Fi指纹相同的bssid中,信号强度距离在预设范围之内的bssid的数量需要满足的第二阈值、以及预设范围的范围取值等等。此外,在其他一些实施例中,卡顿围栏信息还可以包括cellid和位置区码(LAC)。
下面将分别介绍卡顿围栏信息中,预设Wi-Fi指纹、阈值条件相关参数的设置。
1)预设Wi-Fi指纹的生成
首先,可以从电子设备在固定场所的不同位置处,能够扫描到的无线AP中,选择出扫描到的无线AP中rssi的大小满足预设条件,且rssi在不同位置处对应的第一参数(如信号强度距离distance)的大小满足预设条件的无线AP的bssid组成预设Wi-Fi指纹。
例如,还是以图2所示为例,利用手机100连接无线AP1时,在家中的n个位置处,分别扫描到n个检测Wi-Fi指纹,每个检测Wi-Fi指纹中包括手机100扫描到以及所连接的无线AP对应的bssid及Wi-Fi信号强度rssi,其中,各检测Wi-Fi指纹的信息如下:
第1个位置的检测Wi-Fi指纹为data1={(bssid1,rssi11),(bssid2,rssi12),(bssid3,rssi13),(bssid4,rssi14)connectBssid=bssid1};
第2个位置的检测Wi-Fi指纹为data2={(bssid1,rssi21),(bssid2,rssi22),(bssid3,rssi23),(bssid4,rssi24),(bssid5,rssi25),(bssid6,rssi26)connectBssid=bssid1};
第3个位置的检测Wi-Fi指纹为data3={(bssid1,rssi31),(bssid2,rssi32,(bssid3,rssi33),connectBssid=bssid1};
……
第n个位置的检测Wi-Fi指纹为datan={(bssid1,rssin1),(bssid2,rssin2,(bssid3,rssin3),(bssid4,rssin4),(bssid7,rssin7)connectBssid=bssid1}。
为了方便描述,将对应连接无线AP1时,在上述n个位置扫描到的各检测Wi-Fi指纹组成数据列表datalist1={data1,data2,…datan}。
然后计算datalist1中所包括的所有bssid在不同位置处的多个rssi对应的信号距离强度。例如,在上述data1至datan中,均出现了bssid1,且bssid1在n个位置的rssi分别为(rssi11,rssi21,…rssin1),计算出来其信号强度距离为(distance11’,distance21’,…distancenn1’)。
然后,对于datalist1所包括的所有bssid,计算每个bssid在不同位置处的平均信号强度距离distance。假设总共有m个bssid,则得到各bssid的平均信号强度距离列表List1’={(bssid1,distance1),(bssid2,distance2),…(bssidm,distancem)}。其中,distance1为bssid1在n个不同位置的平均信号强度距离,并且distance1=(distance11’+distance21’+…+distancen1’)/n。对应地,distance2为bssid2在不同位置的平均信号强度距离,…,distancem为bssidm的平均信号强度距离。
可以理解,计算各bssid在不同位置的平均信号强度距离仅为示例性的,在一些实施例中,也可以计算各个bssid在不同位置对应的信号强度距离的中位数、方差等能够反映各bssid信号强调距离变化情况的值。在另一些实施例中,还可以根据实际需求为每个bssid在不同位置处的信号强度距离设置权重,然后计算该bssid在不同位置信号强度距离的加权和,得到该bssid的加权信号强度距离。例如,假设bssid1在图2家中的第一位置的信号强度距离为10,在第二位置的信号强度距离为4,在第三位置的信号强度距离为9,则可以根据三个位置距离图2家中的客厅(或是其他位置)的距离远近,为各个位置采集的bssid1的信号强度距离设置权重,然后计算三个位置的bssid1的信号强度距离加权和。更具体地,例如,假设三个位置距离客厅的距离的远近依次为第一位置>第三位置>第二位置,则可以为第一位置的bssid1的信号强度距离设置权重为0.6,为第二位置bssid1的信号强度距离设置权重为0.1,为第三位置的bssid1的信号强度距离设置权重为0.3,则可得到bssid1的加权信号强度距离为:0.6*10+0.1*4+0.3*9=6+0.4+2.7=9.1米。
可以理解,为了去除一些rssi较弱或者说信号强度距离distance较大,无法有效标识固定场所的无线AP,可以将上述平均信号强度距离列表List1’中平均信号强度距离大于信号强度距离阈值distancefilter的bssid过滤掉,然后,得到对应家的预设Wi-Fi指纹。例如,从上述m个bssid中过滤掉均信号强度距离大于或者等于信号强度距离阈值distancefilter(也即上文中卡顿围栏的半径r1)的bssid后,有p个bssid组成预设Wi-Fi指纹,则该预设Wi-Fi指纹可以表示为List1={(bssid1,distance1),(bssid2,distance2),…(bssidp,distancep)}。其中,信号强度距离阈值可以是实验值或经验值,例如,信号强度距离阈值可以为12米。
此外,可以理解,在本申请的一些实施例中,还可以设置信号强度波动距离阈值,结合各bssid对应的无线AP的Wi-Fi信号强度的波动情况,从上述List1’中过滤掉Wi-Fi信号强度波动较大的无线AP,再得到预设Wi-Fi指纹List1。其中,所述的信号强度波动距离阈值可以是实验值或经验值,例如为15米。更具体地,例如,假设List中bssid1对应的无线AP1的Wi-Fi信号强度波动值对应的信号强度波动距离为20米,而信号强度波动距离阈值为15米,则可以认为无线AP1的Wi-Fi信号波动过大,即从上述List中过滤掉无线AP1。
2)阈值条件参数的生成
可以理解此处的阈值条件参数包括上述第一阈值,第二阈值、以及预设范围的范围取值,在其他实施例中,也可以根据实际情况设置其他参数,用于确定实时Wi-Fi指纹和预设Wi-Fi指纹是否匹配,在此不做限制。
下面先介绍第一阈值的生成。
具体地,第一阈值用于确定实时Wi-Fi指纹与预设Wi-Fi指纹中bssid相同的数量是否满足实时Wi-Fi指纹与预设Wi-Fi相匹配的条件。在一些实施例中,其确定方式如下:
将在不同位置出采集到的检测Wi-Fi指纹与上述确定预设Wi-Fi指纹进行比对,找出每个检测Wi-Fi指纹和预设Wi-Fi指纹相同的bssid的数量。例如,可以通过以下公式统计各检测Wi-Fi指纹和预设Wi-Fi指纹相同的bssid的数量:
其中,bssidi表示检测Wi-Fi指纹中的第i个bssid,allbssid表示预设Wi-Fi指纹中全部bssid。例如,上述n个位置的检测Wi-Fi指纹,可以得到n个bssidMatchCount(以下用字母b来表示),组成bssidmatchList=(b1,b2,…bn)。其中,b1表示检测Wi-Fi指纹data1和预设Wi-Fi指纹相同的bssid的数量,b2表示检测Wi-Fi指纹data2和预设Wi-Fi指纹相同的bssid的数量,…,bn表示检测Wi-Fi指纹datan和预设Wi-Fi指纹相同的bssid的数量。
可以从bssidmatchList中选取一个值作为第一阈值。例如,选择bssidmatchList的最小值作为第一阈值。
例如,n=3,即采集了3个位置的检测Wi-Fi指纹,则可以通过上述公式(2):
将List1与datalist1中data1进行匹配,得到List1中与data1相同的bssid数量为b1=3(即bssid1,bssid2,bssid3);
将List1与datalist1中data2进行匹配,得到List1中与data2相同的bssid数量为b2=4(即bssid1,bssid2,bssid3,bssid4);
将List1与datalist1中data3进行匹配,得到List1中与data3相同的bssid数量为b3=2(即bssid1,bssid2)。
则List1与datalist1中相同bssid的数量列表bssidmatchList={b1,b2,b3}={3,4,2}。可以选取2作为第一阈值。
可以理解,在一些实施例中,所提及的第一阈值bssidMatchThreshold,还可以采用其他方式计算,例如取bssdmatchList中个数值的中位数或者作为第一阈值。
下面介绍第二阈值的确定方式。
第二阈值用于确定实时Wi-Fi指纹与预设Wi-Fi指纹中相同的bssid对应的信号强度距离是否在预设范围内,在一些实施例中可以统计每个检测Wi-Fi指纹中与预设Wi-Fi指纹中相同的bssid的信号强度距离,在各自bssid对应的预设范围内的bssid的数量,例如,可以通过以下公式确定每个检测Wi-Fi指纹中,信号强度距离在各自bssid对应的预设范围内的bssid的数量:
其中,bssidi表示检测Wi-Fi指纹中的第i个bssid,allbssid’表示预设Wi-Fi指纹中与检测Wi-Fi指纹中相同的bssid,表示bssidi在上述List1中对应的平均信号强度距离,radius为实验者或者经验值,例如radius=5。
例如,对于上述n个位置的检测Wi-Fi指纹,可以得到n个distanceMatchCount(以下用字母d来表示),组成distanceList=(d1,d2,…dn)。其中,d1表示检测Wi-Fi指纹data1中,与预设Wi-Fi指纹中相同的bssid的信号强度距离,在各自bssid对应的预设范围内的bssid的数量;dn表示检测Wi-Fi指纹datan中,与预设Wi-Fi指纹中相同的bssid的信号强度距离,在各自bssid对应的预设范围内的bssid的数量。
可以从distanceList中选取一个值作为第二阈值。例如,选择distanceList中的最小值作为第二阈值,在或者根据下列经验公式(4)确定第二阈值:
其中,len表示distanceList中的数据个数。
可以理解,上述卡顿围栏的信息,可以是手机100完成的,也可以是手机100将不同位置扫描到的上述检测Wi-Fi指纹,以及上述各个bssid对应的平均信号强度距离List1发送至服务器上,由服务器执行上述预设Wi-Fi指纹的生成方式以及第一阈值、第二阈值的生成,本申请对此不作限制。
可以理解,上述卡顿围栏的设置中,是以手机100在家中连接一个无线AP为例说明,可以理解,在某一固定场所中,电子设备可以连接多个不同的无线AP,得到同一固定场所下不同无线AP的卡顿围栏,例如手机100可以连接无线AP4,得到对应无线AP4的卡顿围栏。由于某一固定场所在较小时,连接不同无线AP得到的卡顿围栏可能比较相似,例如预设Wi-Fi指纹所包括无线AP的bssid以及对应的bssid的平均信号强度距离相同或者相近似,此时,可以将连接不同无线AP所得到的不同卡顿围栏合并,既把两个卡顿围栏下的数据合在一起计算,使用上文提到的方法重新生成一个新的卡顿围栏。例如,在确定无线AP1和无线AP4的卡顿围栏比较相似的情况下,可以将对应AP1的datalist1={data1,data2,…datan}与对应AP4的datalist4={data(n+1),data(n+2),…data(n+s)}合并,得到n+s个data来计算合并后的新的卡顿围栏。
其中,两个卡顿围栏的相似度可以通过以下公式来计算:
其中,sf1,f2表示卡顿围栏f1和f2的相似度,f1bssid∩f2bssid表示卡顿围栏f1和f2的预设Wi-Fi指纹中相同的bssid的数量,f1bssid∪f2bssid表示卡顿围栏f1和f2的预设Wi-Fi指纹中所有bssid的数量。例如,卡顿围栏f1和f2的预设Wi-Fi指纹中相同的bssid的数量为3,卡顿围栏f1和f2的预设Wi-Fi指纹中所有bssid的数量为10,则两者的相似度为0.3。
为了便于理解上述过程,下面以上述手机100连接无线AP1时,在家中的2个位置处,分别扫描到2个检测Wi-Fi指纹为例,介绍上述预设Wi-Fi指纹List1、第一阈值、第二阈值以及卡顿围栏合并的实现过程。其中,各检测Wi-Fi指纹的信息如下:
第一个检测位置:
data1=[(bssid1,rssi1=-50),(bssid2,rssi2=-35),(bssid3,rssi3=-50),connectBssid=bssid1];
第二个检测位置:
data2=[(bssid1,rssi1=-30),(bssid2,rssi2=-45),(bssid3,rssi3=-40),connectBssid=bssid1],
然后,计算data1以及data2中出现的全部bssid的平均信号强度距离,例如bssid1出现了两次,每次的信号强度分别为-50和-30,那么利用上式(1)对bssid1的信号强度转换为信号强度距离,分别为5.1米和0.5米后,再计算bssid1的平均信号强度距离为:(5.1+0.5)/2=2.8米。用同样的方式,分别计算bssid2、bssid3的平均信号强度距离为1.9米以及3.4米,得到List1’={(bssid1,2.8),(bssid2,1.9),(bssid3,3.4)}。假设List1’中每个bssid的平均信号强调距离均小于或等于信号强度距离阈值diatancefilter(例如为40米),则可得到预设检测Wi-Fi指纹List1={(bssid1,2.8),(bssid2,1.9),(bssid3,3.4)}。
之后,利用上式(2)计算检测Wi-Fi指纹data1和data2与预设Wi-Fi指纹相同的bssid的数量。
具体地,将List1与data1进行匹配,得到List1中与data1相同的bssid数量为b1=3(即bssid1,bssid2,bssid3);
将List1与data2进行匹配,得到List1中与data2相同的bssid数量为b2=3(即bssid1,bssid2,bssid3);
也即List1与datalist1中相同bssid的数量列表bssidmatchList={b1,b2}={3,3}。
同样的,利用上式(3)计算每个检测Wi-Fi指纹(data1与data2)中与预设Wi-Fi指纹中相同的bssid的信号强度距离,在各自bssid对应的预设范围内的bssid的数量,
为了便于说明,以radius=5为例,则上式(3)可表示为:
由于data1中与检测Wi-Fi指纹中相同的bssid为bssid1,bssid2,bssid3,且每个bssid的平均信号强度距离为{(bssid1,2.8),(bssid2,1.9),(bssid3,3.4)},则bssid1对应的预设范围为:(2.8-5,2.8+5)=(-2.2,7.8)
bssid2对应的预设范围为:(1.9-5,1.9+5)=(-3.1,6.9)
bssid3对应的预设范围为:(3.4-5,3.4+5)=(-1.6,8.4)。
因此,data1中的bssid1的信号强度距离5.1,在bssid1对应的预设范围(-2.2,7.8)内,bssid2的信号强度距离为1,在bssid2对应的预设范围(-3.1,6.9)内,bssid3的信号强调距离为5.1,也在其对应的预设范围(-1.6,8.4)内,故计算得到distanceMatchcount1(也即d1)=3。
利用同样的方式,可得到data2中与预设Wi-Fi指纹相同的bssid的信号强度距离在各自对应的预设范围内的bssid数量d2也为3。故distancematchList={d1,d2}={3,3}。
假设取bssidmatchList中的最小值作为第一阈值,取distancematchList中的最小值作为第二阈值,则可得到家中的一个卡顿围栏f1为:
卡顿围栏f1={List1={(bssid1,2.8),(bssid2,1.9),(bssid3,3.4)},bssidThreshhold=3,distancethreshole=3,distancefilter=40,radius=5}。
经过上述过程,即可得到家中对应的卡顿围栏f1。假设此时有另一个卡顿围栏f2为[(bssid1,12.8),(bssid2,3.9),(bssid4,4.4),connectBssid=bssid1,bssidThreshold=3,distanceThreshold=3,distanceFilter=40,radius=5],且该卡顿围栏f2与卡顿围栏f1的第一阈值、第二阈值以及信号强度距离阈值distancefi1ter均相同,则利用上式(5)计算卡顿围栏f1与卡顿围栏f2之间的相似度。
具体地,由于卡顿围栏f1的预设Wi-Fi指纹与卡顿围栏f2中预设Wi-Fi指纹中相同的bssid数量为2个,分别为bssid1,bssid2,且卡顿围栏f1与卡顿围栏f2中全部bssid数量为4个,分别为bssid1,bssid2,bssid3,bssid4,故卡顿围栏f1与f2之间的相似度为sf1,f2=2/4=0.5,大于卡顿围栏相似度阈值(例如为0.3),则可以加个卡顿围栏f1与卡顿围栏f2进行合并,也即利用计算卡顿围栏f1时对应的检测Wi-Fi指纹,以及计算卡顿围栏f2时对应的检测Wi-Fi指纹,来计算合并后的卡顿围栏f3。其中,利用检测Wi-Fi指纹计算卡顿围栏f3的过程可参考上述利用检测Wi-Fi指纹计算卡顿围栏f1的过程,此处不再赘述。
为了更清楚地了解本申请网络切换方法的实现过程,下面结合手机100的硬件结构以及软件框架,介绍本申请的网络切换方法。
图4示出了一种手机100的硬件结构示意图,如图4所示,手机100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,传感器模块180,按键190,显示屏194等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B、气压传感器180C、磁传感器180D、加速度传感器180E、距离传感器180F、接近光传感器180G、指纹传感器180H、温度传感器180J、触摸传感器180K、环境光传感器180L、骨导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对手机100的具体限定。在本申请另一些实施例中,手机100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。外部存储器接口120可以用于连接外部存储器,例如Micro SD卡,实现扩展手机100的存储能力。外部存储器通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将上述预设Wi-Fi指纹以及该预设Wi-Fi指纹包括的无线AP的bssid、rssi等数据保存在外部存储器中。在一些实施例中,外部存储器中也可以存储下图5中所述的感知数据库520b中的数据,例如手机100生成的某个无线AP对应的预设Wi-Fi指纹以及该无线AP对应的bssid,或者手机100扫描到其他无线AP的信息等。在一些实施例中,外部存储器可以是云端(例如智慧云)、服务器等等,本申请对此不作限制。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可以存储本申请网络切换方法对应的程序代码,以在该程序代码执行时,手机100能够执行本申请的网络切换方法,存储数据区可以存储本申请网络切换方法中涉及到的某场所对应的无线AP的bssid,以及手机100接收到的这些无线AP对应的Wi-Fi的rssi。在一些实施例中,存储数据区可以划分为若干逻辑分区,以存储本申请网络切换方法所涉及到的一些数据,例如,预设Wi-Fi指纹以及或者手机100在进行卡顿预测时扫描到的Wi-Fi指纹等数据。在一些实施例中,内部存储器中也可以存储下图5中所述的感知数据库520b中的数据。
手机100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。移动通信模块150可以提供应用在手机100上的包括2G/3G/4G/5G等无线通信的解决方案。在本申请的一些实施例中,移动通信模块150为手机100提供网络切换后的移动蜂窝网络。
无线通信模块160可以提供应用在手机100上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(blue tooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。在本申请的实施例中,手机100通过无线通信模块160来确定手机100当前连接的无线AP的rssi,以及获取手机100能够扫描到的实时Wi-Fi指纹。
图5示出了图4中与本申请网络切换方法相关的软件架构图。具体地,如图5所示,该软件架构500包括:应用程序层510,应用程序框架层520,系统层530,以及内核层540。
其中,应用程序层510可以包括一系列应用程序包,例如日历510a、地图510b、WLAN510c、音乐510d、短消息510e、蓝牙510f、视频510g等系统应用或者其他应用程序的程序包。在本申请的实施例中,应用程序层510可以包括WLAN 510c的应用程序包,以为手机100提供WLAN服务,使手机100能够进行Wi-Fi连接。
应用程序框架层520可以包括感知模块520a、Wi-Fi通信模块520c以及网络管理模块520d。
其中,感知模块520a用于获取手机100上各个传感器或者其他模块的数据,并对这些数据进行分析处理,感知模块520a进行的数据处理可以由图4中的处理器110来执行。在本申请的一些实施例中,感知模块520用于获取Wi-Fi通信模块520c中关于手机100连接的无线AP的信息,例如手机100连接的无线AP的rssi、bssid等数据,并且感知模块520还可以通过Wi-Fi通模块520c提供的Wi-Fi扫描服务获取手机100能够扫描到的Wi-Fi指纹。
感知数据库520b,用于接收感知模块520a获取到的数据,并将其存储至上述图4所述的内部存储器121或者外部存储器中。在本申请的一些实施例中,感知数据库520b可以接收感知模块520a发送的某个无线AP对应的卡顿围栏以及该无线AP对应的bssid,还可以接收感知模块520a通过Wi-Fi通信模块520c扫描到的Wi-Fi指纹。
Wi-Fi通信模块520c,用于为手机100提供Wi-Fi感知服务(Wi-Fi AwareService)、Wi-Fi服务(Wi-Fi Service)、Wi-Fi扫描服务(Wi-Fi Scanner Service)等等。手机100能够感知到处于同一局域网内的设备、通过Wi-Fi进行上网活动或者扫描附近的Wi-Fi,都是通过Wi-Fi通信模块520c实现的。在一些实施例中,Wi-Fi通信模块520c可以通过图4中的无线通信模块160实现各功能。在本申请的一些实施例中,Wi-Fi通信模块520c主要用于向感知模块520a发送手机100当前连接的无线AP的rssi以及其扫描到的Wi-Fi指纹。
网络管理模块520d为手机100提供网络加速或者网络切换功能,在本申请的实施例中,当感知模块520a确定用户将要离开固定区域时,感知模块520a向网络管理模块520d发送表示用户将要离开固定区域的状态信息,网络管理模块520d可以根据该状态信息,将手机100的网络服务从Wi-Fi连接切换至移动通信网络或者蜂窝网络。
其中,在一些实施例中,感知模块520a向网络管理模块520d发送用户将要离开固定区域的状态信息可以是类似于“0”、“1”的标记信息,也可以是其他形式的状态信息,本申请对此不作限制。
系统层530包括核心库和安卓运行时(Android runtime)虚拟机,负责安卓系统的调度和管理。核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。其中,应用程序层510和应用程序框架层520运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能t
系统层530可以包括多个功能模块。例如:表面管理器(surface manager)530a,媒体库(Media Libraries)530d,三维图形处理库(例如:OpenGL ES)530b,2D图形引擎(例如:SGL)530c等。其中,表面管理器530a用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。媒体库530d支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库530d可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。三维图形处理库530b用于实现三维图形绘图,图像渲染,合成,和图层处理等。2D图形引擎530c是2D绘图的绘图引擎。
内核层540是硬件和软件之间的层。内核层540至少包含显示驱动540a,摄像头驱动540b,音频驱动540c,传感器驱动540d。
应理解,上述软件架构所包括的各个功能模块仅为示例性的,并不构成对本申请手机100软件架构的具体限制,在其他实施例中,上述软件架构所包括的各个功能模块可以更多也可以更少,本申请对此不作限制。
下面结合图5所示的感知模块520a、Wi-Fi通信模块520c以及感知数据库520b间的交互过程,详细介绍本申请中的第一信号强度阈值和卡顿围栏的生成方法,其中感知模块520a、Wi-Fi通信模块520c以及感知数据库520b之间如何进行交互的方式可参考上图5中的相关描述,下文不再赘述。具体地,如图6所示,第一信号强度阈值生成方法600包括:
601,感知模块520a检测手机100是否连接Wi-Fi。在检测到手机100连接Wi-Fi的情况下,进入602,即感知模块520a记录手机100所连的无线AP在预设第一时长内的rssi序列信息。在没有检测到手机100连接Wi-Fi的情况下,进入601,即继续检测手机100是否连接Wi-Fi。
602,感知模块520a记录手机100所连无线AP在预设第一时长内的rssi序列信息。
如上文所述,图3中手机100的Wi-Fi连接在断开或者发生QoE BAD事件之前,手机100所连无线AP的rssi会下降至未发生卡顿的第一信号强度阈值,且该第一信号强度阈值距离Wi-Fi连接断开或发生QoE BAD事件对应的rssi有一定的时间,并与Wi-Fi连接断开或者发生QoE BAD事件之前的rssi变化有关。所以,可以通过手机100所连无线AP在Wi-Fi连接断开或发生QoE BAD事件之前的预设第一时长的rssi变化情况,确定第一信号强度阈值。例如,如图3(B)所示,假设Wi-Fi连接断开或者QoE BAD事件发生的时间为t2,可以设置在t2前t1=t2-Δt(即第一预设时长)的时间点进行Wi-Fi扫描,即设置第一信号强度阈值取t1时刻手机100的Wi-Fi信号强度。
故为了获取Wi-Fi连接断开或者QoE BAD事件发生前Δt时间段内的rssi变化序列,可以在手机100持续获取其连接的无线AP的rssi变化序列的同时,存储最近Δt段内的rssi变化序列,例如Δt为30秒。如此,在手机100检测到Wi-Fi连接断开或者QoE BAD事件发生时,便可获取之前Δt段内的rssi变化序列,以确定第一信号强度阈值。
此外,可以理解,在另外一些实施例中,也可以将手机100持续获取到的、其连接的无线AP的rssi变化序列全部存储。但是,将手机100持续获取到的其连接的无线AP的rssi变化序列存储最近Δt段内的,可以节省存储空间。
603,感知模块520a检测手机100与上述无线AP连接的时长是否超过预设第二时长。
可以理解,在本申请一些实施例中,可以认为用户的手机100在固定场所稳定连接的无线AP为用户的常用AP,故为其设置第一信号强度阈值,以触发是否即将离开固定场所或者已经离开固定场所的判断,故在手机100与某一无线AP的连接时间超过预设第二时长时,才对手机100所连接的无线AP设置第一信号强度阈值。例如,预设第二时长可以是10分钟。
在检测到手机100与上述无线AP连接的时长小于预设第二时长的情况下,进入603,即持续检测手机100与所连无线AP的时间是否会超过预设第二时长。
在一些实施例中,在判断手机100与无线AP连接的时长是否小于预设第二时长的过程中,即使是手机100与无线AP保持连接,但是如果出现无线AP信号不稳定或者手机100发生灭屏等情况,则重新开始计时,即重新判断手机100与无线AP连接的时长是否小于预设第二时长。本申请对此不作限制。
604,感知模块520a触发手机100的Wi-Fi扫描功能。为了获取生成预设Wi-Fi指纹所需的无线AP的信息,感知模块520a需要触发手机100的Wi-Fi扫描功能进行Wi-Fi扫描。在一些实施例中,感知模块520a可以向Wi-Fi通信模块520c发生触发Wi-Fi扫描功能的请求,以触发WI-Fi通信模块520c的Wi-Fi扫描服务。
605,感知模块520a利用Wi-Fi通信模块520c获取所扫描到的无线AP的信息。
606,感知模块520a检测手机100所连接的Wi-Fi是否发生Wi-Fi连接断开或者QoEBAD事件。
在检测到手机100所连接的Wi-Fi发生QoE BAD事件的情况下,进入607,根据发生QoE BAD事件之前的第一预设时长内的无线AP的rssi变化情况确定上述第一信号强度阈值。在检测到手机100所连接的Wi-Fi没有发生QoE BAD事件的情况下,进入606,持续地检测手机100所连接Wi-Fi是否发生QoE BAD事件。
示例性的,图7(A)示出了一种获取手机100Wi-Fi断开或发生QoE BAD事件时对应的代码的示意图,如图所示,手机100所连无线AP的bssid是“6c:16:3217:3c:95”,手机100与无线AP的Wi-Fi连接断开时对应的rssi以及时间戳为:″rssi_record″[{″timestamp″:1623424239,″rssi″:-23},{″timestamp″:1623424923,″rssi″:-35}]。手机100与该无线AP的Wi-Fi连接发生QoE BAD时对应的rssi以及时间戳为:″qoe_bad″:[1623424239,1623425239,1623426239]。
607,感知模块520a获取发生Wi-Fi连接断开或者QoE BAD事件前第一预设时长内的rssi变化序列。
示例性的,图7(B)示出了一种获取第一预设时长内rssi变化序列时对应的程序代码的示意图,如图7(A)所示,手机100所连的无线AP的bssid为“6c:16:3217:3c:95”,且该无线AP在30秒内的rssi变化序列bssid_list中部分数据为:″″:[{″bssid″:″6c:16:32:17:3c∶95″,″rssi″∶-52},{″bssid″:″6c:16:32:17∶3c:95″,″rssi″:-51}…]。
608,感知模块520a基于获取到的预设第一时长内的rssi变化序列、预先扫描到的无线AP信息,确定第一信号强度阈值。
如上文所言,感知模块520a可以从手机100Wi-Fi连接断开或发生QoE BAD事件前第一时长内的rssi变化序列中,选取满足条件的时刻(如前文的t1)的Wi-Fi信号强度作为第一信号强度阈值。例如,Wi-Fi连接断开或者QoE BAD事件发生的的时间为t2,预设第一时长为Δt,则可以从rssi变化序列中获取时间戳对应t1=t2-Δt的Wi-Fi信号强度作为第一信号强度阈值。
可以理解,为了使后续卡顿预测的结果更加准确,感知模块520a也可以统计多次手机Wi-Fi断开前预设第一时长内的rssi变化过程,然后基于多条rssi变化过程,确定手机与该AP的Wi-Fi连接断开时的第一信号强度阈值,本申请对此不作限制。
609,感知模块520a向感知数据库520b发送上述第一信号强度阈值、无线AP的bssid以及卡顿围栏信息。
如前所述,感知数据库520b可以对应某一无线AP的bssid,存储其第一信号强度阈值和卡顿围栏信息。其中的卡顿围栏信息可以是基于前文所描述的,电子设备在固定场所的多个位置扫描到的检测Wi-Fi指纹来生成。
在另外一些实施例中,感知模块520a也可以将这些数据存储在云端服务器300(例如智慧云),本申请对此上述数据存储的位置不作限制。
此外,可以理解,除了存储上述信息,在存储感知数据库520b中,对应某一无线AP用于预测用户是否离开固定场所的信息,还可以包括手机100的型号、系统(0S)版本号、感知版本号、手机100所连接的无线AP所在位置的位置区码、cellid等信息。示例性的,图7(A)和7(B)所示的代码示意图中,也示出了生成该无线AP(bssid为″6c:16:32:17:3c:95″)对应的手机100的型号、版本、该无线AP所处位置对应的位置区码以及cellid等信息。
以图7(A)为例,如图7(A)所示,该手机100的型号为″model″:″Honor 50″,0S版本为″os_version″:″2.1.0.108″,以及手机100的感知版本为:″awareness_version″:″6.0.5.201″,该无线AP所处区域的位置区码″lac″为:1234,所处区域对应的″cellid″为:12345678。
其中,由于用户进行Wi-Fi连接时可能持有不同信号、品牌的手机100,而不同信号或者品牌的手机100,由于其硬件不同、支持的Wi-Fi通信协议不同,在Wi-Fi扫描、Wi-Fi连接时可能存在一些区别,为了确保用户无论持何种手机100都能够有流畅的网络环境,在本申请的一些实施例中,感知模块520a还会将手机100当前的型号、系统(0S)版本号、感知版本号等信息,与手机100所连无线AP以及卡顿围栏之间的对应关系,一并存入感知数据库520b。其中,感知版本指的是感知模块520a对应的程序版本,不同感知版本对应的感知模块520a所能实现的功能略有不同,感知版本越高的感知模块520a能够实现的功能更多或者效果更好。
此外,如前文所述,感知模块520a可以通过预先扫描到的无线AP信息来生成预设Wi-Fi指纹。例如,可以从扫描到的各无线AP信息中,选出信号稳定、且信号强度对应的强度距离在上述卡顿围栏内的无线AP的信息构成预设Wi-Fi指纹,例如,将这些无线AP的bssid以及rssi构成预设Wi-Fi指纹。
示例性的,图8示出了生成预设Wi-Fi指纹时对应的代码示意图,其中,该预设Wi-Fi指纹中信号强度已根据上式(1)转换为对应的信号强度距离。具体如图8所示,手机100所连无线AP的bssid为:″6c:16:32:17:3c:95″,预设Wi-Fi指纹包括的无线AP为:bssid为″6c:16:32:17:3c:95″,且rssi对应的信号强度距离″distance″为:25.6米的无线AP,以及bssid为″6c:16:32:17:3c:91″且rssi对应的信号强度距离″distance″为::22.1米。
除此之外,由于每个手机100的蜂窝网络的运营商不同,每个运营商提供的网络的cellid以及位置区码不同,例如A运营商在cellid为X的区域内提供蜂窝网络服务,而B运营商在cellid为Y的区域内提供蜂窝网络服务,如果手机100上同时安装有A运营商以及B运营商提供的用户识别卡(Subscriber ldentity ModuIe,SIM),则为了使手机100在特定运营商提供的网络服务下能够更好地进行上网活动,手机100在网络切换时可以优先切换至当前cellid对应的运营商提供的SIM卡下,以使用户获得更好的上网体验。故在一些实施例中,感知模块520a也可以将手机100所连接的无线AP所在位置的位置区码、cellid以及卡顿围栏之间的对应关系,一并存入至感知数据库520b。
可以理解,在一些实施例中,上述卡顿围栏也可以有多个,具体视用户离开该场所的路线是否唯一而定。具体地,对于用户的出行路线相对固定的场所,例如图2中用户离开居所的路线仅可能为I1,即(卧室-客厅-过道),这种情况下,由于用户每次离开居所时,用户手机100连接的可能就只是客厅无线AP1提供的Wi-Fi,所以卡顿围栏就为无线AP1对应的卡顿围栏。
而对于用户出行路线不是固定的场所,例如用户从办公楼的27层经过26层离开公司,或者用户直接从27层离开公司,又或者用户从西北门离开公司,再或者用户从东南门离开公司,这些情况下,卡顿围栏有多个,并且分别对应上述各个地点的无线AP。
具体地,假设用户从办公楼的27层经过26层离开公司,则卡顿围栏对应的为用户离开26层的时所连接的无线AP-A,假设用户从办公楼的27层直接离开公司,那么卡顿围栏对应的为用户离开27层时所连接的无线AP-B,假设用户从西北门离开公司,则卡顿围栏对应的是用户离开西北门时所连接的无线AP-C,假设用户从东南门离开公司,则卡顿围栏对应的是用户离开东南门时所连接的无线AP-D,应理解,本申请对卡顿围栏的数量不作任何限制。
可以理解,在一些实施例中,手机100可以针对上述各个AP重复多次(例如3次)使用上述方法600,以使得每个无线AP的卡顿围栏内的数据较为准确、稳定,应理解,本申请对此不作限制。
下面介绍手机100利用第一信号强度阈值以及预设Wi-Fi指纹进行卡顿预测并进行网络切换的方法,具体地,如图9所示,方法900包括:
901,感知模块520a检测手机100是否开启网络切换功能。
可以理解,如果手机100的网络切换功能尚未开启,那么手机100在网络出现卡顿的情况下,无法进行网络切换,所以在手机100进行卡顿预测之前,感知模块520a需要检测当前是否开启了网络切换功能。如果检测到手机100的网络切换功能开启,则进入902,即继续检测手机100是否开启了Wi-Fi连接功能,如果检测到手机100的网络切换功能没有开启,则进入901,即持续检测手机100的网络切换功能是否开启。
902,感知模块520a检测手机100是否开启Wi-Fi连接功能。
可以理解,如果手机100没有开启Wi-Fi连接功能,那么手机100不会出现Wi-Fi网络下的卡顿现象,则也不会进行后续的卡顿预测。故感知模块520a需检测手机100是否开启Wi-Fi连接功能,如果检测到手机100开启Wi-Fi连接功能,则进入903,即查询感知数据库520b中是否存储有手机100所连无线AP对应的预设Wi-Fi指纹,如果检测到手机100尚未开启Wi-Fi连接功能,则进入902,即持续检测手机100是否会开启Wi-Fi连接功能。
903,感知模块520a查询感知数据库520b中是否存储有手机100所连接的无线AP对应的卡顿围栏。
如果查询到感知数据库520b中存储有手机100所连接的无线AP对应的卡顿围栏,则进入904,即从感知数据库520b中获取该卡顿围栏,如果没有感知数据库520b中没有存储手机100所连接的无线AP对应的预设Wi-Fi指纹,则进入905,即从云端服务器300中获取该预设Wi-Fi指纹。
可以理解,在一些实施例中,可能感知数据库520b与云端服务器300中都没有存储该无线AP对应的卡顿围栏,这表明该无线AP并没有生成相应的卡顿围栏,故此时感知模块520a将对该无线AP进行尚未生成卡顿围栏的标记,以便于后续感知模块520a能根据该标记为该无线AP生成卡顿围栏。或者在其他实施例中,感知模块520a也可以利用上述方法600临时为该无线AP生成一个卡顿围栏。本申请对此不作限制。
904,感知模块520a从感知数据库520b中获取该无线AP对应的卡顿围栏。
905,感知模块520a从云端服务器300中获取该无线AP对应的卡顿围栏。
906,感知模块520a通过Wi-Fi通信模块520c获取手机100所连接无线AP的rssi。
如上所述,感知模块520a只在手机100所连无线AP的rssi持续下降且降低至第一信号强度阈值时,才会进行卡顿预测并根据卡顿预测结果确定是否切换手机100网络。故感知模块520a需通过Wi-Fi通信模块520c获取手机100所连无线AP的rssi,以判断该无线AP的rssi是否小于第一信号强度阈值。
907,感知模块520a判断手机100所连接无线AP的rssi是否小于第一信号强度阈值。
如果手机100所连无线AP的rssi小于第一信号强度阈值,则表明用户手机100的Wi-Fi网络传输即将出现卡顿,则进入步骤908,继续判断手机100当前的运行状态是否满足预设运行条件;如果手机100当前连接的无线AP的rssi大于第一信号强度阈值,则表明手机100的Wi-Fi网络传输暂时不会出现卡顿,则进入步骤906,即感知模块520a继续检测手机100所连无线AP的rssi。
908,感知模块520a判断手机100当前的运行状态是否满足预设运行条件。
如前所述,本申请所提及的网络传输卡顿,可以是手机100在运行某些对网络传输性能要求较高的应用时,由于网络传输性能下降,或者说Wi-Fi信号强度降低,所造成的应用运行时所需要的数据传输的卡顿。故设置预设运行条件来判断手机100是否在运行这些应用或者说用户有意愿运行这些应用。故当感知模块520a判断手机100当前运行状态满足预设运行条件时,则进入909,即获取手机100扫描到的Wi-Fi指纹以判断用户是否离开固定场所,并需要在卡顿前切换网络;当感知模块520a判断手机当前运行状态不满足预设运行条件时,则进入906,即继续检测手机100所连接的无线AP的rssi。
可以理解,可以通过手机当前的一些使用状态来判断手机100是否在运行某些对网络传输性能要求较高的应用,或者用户想要运行这些应用,例如可以通过判断手机100是否处于亮屏状态、手机100当前运行的应用是否开启了网络加速功能、手机100是否开启了后台数据传输服务或数据自动更新服务、手机100是否开启了分布式实现功能等。故在一些实施例中,预设运行条件可以包括:手机100处于亮屏状态、手机100当前运行的应用开启了网络加速功能、手机100开启了后台数据传输服务或数据自动更新服务、手机100开启了分布式实现功能等。
此外,在另外一些实施例中,也可以直接通过判断手机100当前是否在运行对网络传输性能要求较高的应用来确认手机100当前的运行状态是否满足预设运行条件。而可以预先根据经验值、实验等,对网络传输性能要求较高的应用进行标记,从而在手机100运行具有这些标记的应用时,确定机100当前的运行状态满足预设运行条件。
909,感知模块520a获取手机100当前扫描到的Wi-Fi指纹。
910,感知模块520a判断当前扫描到的实时Wi-Fi指纹与卡顿围栏是否匹配。
如果不匹配,则进入911,即向网络管理模块520d发送网络切换指令,如果匹配,则进入912,即不向网络管理模块520d发送网络切换指令。
可以理解,在一些实施例中,感知模块520a可以根据实时Wi-Fi指纹中各个无线AP的bssid与卡顿围栏中bssid相同的数量是否小于第一阈值,确定当前扫描到的实时Wi-Fi指纹是否与卡顿围栏匹配。当实时Wi-Fi指纹中各个无线AP的bssid与卡顿围栏中bssid相同的数量小于或等第一阈值时,确定当前扫描到的实时Wi-Fi指纹与卡顿围栏不匹配。
而在另外一些实施例中,还可以基于上述公式(2)和(3)来确定实时Wi-Fi指纹是否与预设Wi-Fi指纹匹配。
具体地,上述公式中(2)的bssidi表示实时Wi-Fi指纹中的第i个bssid,allbssid表示预设Wi-Fi指纹中全部bssid,利用上式(2)可计算出实时Wi-Fi指纹与预设Wi-Fi指纹的bssid匹配的数量,然后判断该数量是否大于第一阈值,如果大于第一阈值,则表明实时Wi-Fi指纹与预设Wi-Fi指纹匹配中相同的bssid的数量已经满足阈值条件,则继续判断实时Wi-Fi指纹中与预设Wi-Fi指纹中相同bssid对应信号强度距离是否满足阈值条件,否则认为实时Wi-Fi指纹与预设Wi-Fi指纹不匹配,也即进入911。
其中,实时Wi-Fi指纹中与预设Wi-Fi指纹中相同bssid对应信号强度距离是否满足阈值条件的方式为:
上述公式(3)中的bssidi表示实时Wi-Fi指纹中的第i个bssid,allbssid’表示预设Wi-Fi指纹中与实时Wi-Fi指纹中相同的bssid,表示bssidi在上述List1中对应的平均信号强度距离,radius为实验者或者经验值,例如radius=5。
利用上述(3)可以计算出实时Wi-Fi指纹中与预设Wi-Fi指纹中相同的bssid对应的信号强度距离也相同的数量,然后判断该数量是否大于第二阈值,如果大于第二阈值,则表明实时Wi-Fi指纹与预设Wi-Fi指纹相匹配,也即表明用户尚未离开固定场所,手机100无需进行网络切换,即进入912,当实时Wi-Fi指纹中与预设Wi-Fi指纹中相同bssid对应的信号强度距离相同的数量小于或等于第二阈值时,则表明实时Wi-Fi指纹与预设Wi-Fi指纹不匹配,即用户即将离开固定场所,也即进入911。
911,感知模块520a向网络管理模块520d发送网络切换指令。
可以理解,在上述Wi-Fi指纹与卡顿围栏匹配的情况下,感知模块520a确定用户将要离开所连接的无线AP对应的固定场所的范围,也即用户的手机100Wi-Fi即将断开或者发生QoE BAD事件,则触发网络管理模块520d的网络切换功能。
912,感知模块520a不向网络管理模块520d的发送网络切换指令。
可以理解,在上述Wi-Fi指纹与卡顿围栏不匹配的情况下,表明手机100仍在所连接的无线AP对应的固定场所范围内,手机100所连接的无线AP的rssi较好或者暂时不会发生Wi-Fi连接断开或者QoE BAD事件,故感知模块520a不会触发网络管理模块520d的网络切换功能。
913,网络管理模块520d将手机100的网络服务从Wi-Fi连接切换至蜂窝网络。
网络管理模块520d根据上述感知模块520a发送的触发网络切换的状态信息,将手机100的网络服务从Wi-Fi连接切换至蜂窝网络,以在用户Wi-Fi断开前,使用户可以通过蜂窝网络进行上网活动,避免了Wi-Fi断开或者发生QoE BAD事件产生网络卡顿问题,提高用户的上网体验。
在一些实施例中,在网络管理模块520d将手机100的网络服务从Wi-Fi连接切换至蜂窝网络后,手机100上可进行相应地提示。例如图10(A)所示,在用户使用手机100观看视频108时,网络管理模块520d确定切换手机100的网络服务,此时手机100显示提示信息109A“当前Wi-Fi连接信号弱,将为您切换至移动蜂窝网络”,且当前网络连接标志为“Wi-Fi连接”109B。在网络管理模块520d将手机100的网络服务从Wi-Fi连接切换至蜂窝网络后,手机100则显示如图10(B)所示的提示信息109C“已为您切换至移动蜂窝网络”,且手机100的网络连接标志变为“移动蜂窝网络连接”109D。可以理解,上述网络连接标志仅为示例性的,在其他实施例中,网络连接标志也可以为其他标志,本申请对此不作限制。
可以理解,手机100除了直接进行网络切换,并为用户显示网络切换结果,手机100还可以在切换网络之前为用户发送相应的提示信息,以使用户可以根据需求,选择是否进行网络切换。例如图11所示,在一些实施例中,手机100确定进行网络切换时,可以显示109E所示的提示信息“当前Wi-Fi连接信号弱,是否需要切换至移动网络”,以提示用户是否选择进行网络切换。如果用户手机100当前电量190F显示电量较低,由于进行网络切换也需要消耗手机100的电量,为了降低手机100的功耗,避免手机100因电量不足而自动关机,影响用户使用,用户此时可以选择“否”,即不进行网络切换。
并且,还可以理解,手机100自动进行网络切换时,切换后的移动网络一般为系统默认的移动网络,系统默认的移动网络可能出现欠费或暂停服务等情况,导致手机100网络切换失败,为了尽可能避免手机100自动网络切换失败,手机100确定进行网络切换时,可以提示用户是否选择手动切换网络。例如图12所示,手机100在确定进行网络切换时,可以显示109G所示的提示信息“当前Wi-Fi连接信号弱,是否需要手动切换至移动网络”,以提示显示用户是否选择手动切换网络。此时用户如果可以根据需求,进行选择。
如果用户选择“是”,则手机100会直接进入网络切换相关界面,以使用户可以选择将手机100的网络切换至用户希望切换的移动网络。例如,假设手机100上安装有两个运营商的SIM卡,分别对应第一移动网络,第二移动网络,当第一移动网络处于欠费、或者网络信号较差的状态等不适合进行网络切换的情况,用户可以选择手动切换网络至第二移动网络,以避免手机100自动网络切换失败。
如果用户选择“否”,则手机100直接自动进行网络切换,并显示如图10(B)所示的网络切换成功后的界面。
进一步地,在实际使用中,由于无线AP的信号不稳定或者其他原因,卡顿预测难免会出错,对此,在一些实施例中,手机100可以采用负反馈机制,利用卡顿预测的结果不断的修正上述第一阈值和第二阈值,以使卡顿围栏预测更加准确。
具体地,当上述卡顿预测错误的结果累计到一定数量时,手机100启动负反馈机制,遍历所有卡顿预测错误的数据,判断每条卡顿预测数据是错检还是漏检,如果为错检,即感知模块520a预测结果为用户不在所连接的AP对应的固定场所范围内,所以感知模块520a触发网络管理模块520d切换手机100的网络服务,但是真实情况是手机100所连接的Wi-Fi网络服务尚未出现卡顿,此时感知模块520a将上述第一阈值以及第二阈值调小。
如果为漏检,即感知模块520a预测结果为用户在所连接的AP对应的固定场所范围内,所以感知模块520a并未触发网络管理模块520d切换手机100的网络服务,但是真实情况是用户手机100的Wi-Fi连接已经断开,则感知模块520a将上述第一阈值和第二阈值调大。
如果感知模块520a利用某一个卡顿围栏进行卡顿预测在预设时间内错误比例或次数超出预设错误值,那么感知模块520a确定该卡顿围栏的卡顿预测准确率不高,则从感知数据库520中删除该卡顿围栏。可以理解,上述负反馈机制还可以为其他方式,本申请对此不作限制。
本申请实施例还提供了一种电子设备,该电子设备包括:至少一个处理器、存储器以及存储在所述存储器中并可在所述至少一个处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意各个方法实施例中的步骤。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(read-only memory,ROM)、随机存取存储器(random accessmemory,RAM)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (16)
1.一种网络切换方法,应用于电子设备,其特征在于,包括:
电子设备通过与目标场所中的第一无线接入点连接进行Wi-Fi网络传输;
所述电子设备接收所述第一无线接入点上报的Wi-Fi信号强度;
在满足第一条件的情况下,所述电子设备启动Wi-Fi扫描,所述满足第一条件包括所述电子设备接收到的所述第一无线接入点的Wi-Fi信号强度下降至等于或小于第一信号强度阈值;
根据预设次数的所述Wi-Fi扫描的结果确定所述电子设备是否将离开或已经离开所述目标场所,每次所述Wi-Fi扫描的结果包括第一Wi-Fi指纹,
其中,所述根据预设次数的所述Wi-Fi扫描的结果确定所述电子设备是否将离开或已经离开所述目标场所包括:
对于每次所述Wi-Fi扫描的结果,将结果中的第一Wi-Fi指纹与第二Wi-Fi指纹进行匹配,并且在对于每次所述Wi-Fi扫描的结果,第一Wi-Fi指纹与第二Wi-Fi指纹匹配度低于预设阈值的情况下,确定所述电子设备将离开或已经离开所述目标场所,其中,
所述第一Wi-Fi指纹包括所述电子设备当前扫描到的多个无线接入点的标识bssid和对应该bssid的信号强度rssi,
所述第二Wi-Fi指纹包括:预先确定的、所述电子设备位于所述目标场所中时,扫描到的满足第二条件的无线接入点的bssid和与rssi相关的信息;
所述第一Wi-Fi指纹与第二Wi-Fi指纹匹配度低于预设阈值包括:
所述第一Wi-Fi指纹和第二Wi-Fi指纹中相同的bssid的数量m小于第一阈值,并且
在所述第一Wi-Fi指纹中的m个bssid中的n个bssid对应的第一参数满足第三条件,所述n小于第二阈值,所述第一Wi-Fi指纹中的n个bssid分别对应的第一参数满足第三条件包括:所述第一Wi-Fi指纹中的n个bssid中每个bssid对应的第一参数与该bssid在所述第二Wi-Fi指纹中对应的第二参数满足第四条件,所述第四条件包括所述第一参数的值与所述第二参数的值的差在第三阈值范围内,其中所述第二参数为与对应的bssid的rssi相关的信息;
其中,所述bssid对应的第一参数是基于所述bssid的rssi使用第一算法所计算得到;所述bssid对应的第二参数是基于在所述目标场所内的多个位置均扫描到的所述bssid对应的第一参数使用第二算法所计算得到;
在确定所述电子设备将离开或已经离开所述目标场所的情况下,断开所述电子设备与所述第一无线接入点的连接,切换至与移动通信网络连接。
2.根据权利要求1所述的方法,其特征在于,所述第一条件还包括所述电子设备的当前运行状态满足预设运行条件,所述电子设备的当前运行状态满足预设运行条件包括以下多项中的至少一项:
所述电子设备处于亮屏状态;
所述电子设备已开启网络加速功能;
所述电子设备运行第一应用并且当前显示第一应用的第一应用界面;
所述电子设备已开启分布式实现功能;
所述电子设备已开启后台数据传输功能。
3.根据权利要求1或2所述的方法,其特征在于,所述第一条件还包括所述电子设备与所述第一无线接入点的连接时长大于或等于预设时长。
4.根据权利要求3所述的方法,其特征在于,在所述电子设备运行所述第一应用并且接收到的所述第一无线接入点的Wi-Fi信号强度为第一信号强度阈值的情况下,所述电子设备的Wi-Fi网络传输性能满足所述第一应用的运行要求。
5.根据权利要求4所述的方法,其特征在于,所述第一应用包括网络直播应用、视频播放应用、游戏应用中的至少一种;并且
所述网络传输性能包括传输时延、传输速率、信号接收质量、以及信号接收功率中的至少一种。
6.根据权利要求1所述的方法,其特征在于,所述第一信号强度阈值大于QoE BAD信号强度值,其中,所述电子设备从所述第一无线接入点接收到的Wi-Fi信号发生QoE BAD事件时的信号强度为QoE BAD信号强度值。
7.根据权利要求1所述的方法,其特征在于,所述第二条件包括下列中的至少一项:
所述电子设备在所述目标场所中接收到的无线接入点的Wi-Fi信号强度的波动范围小于预设波动范围;
所述电子设备在所述目标场所中接收到的无线接入点的Wi-Fi信号强度大于第二信号强度阈值,或者
所述电子设备在所述目标场所中的多个位置均扫描到的一个无线接入点的bssid所对应的第二参数小于第四阈值。
8.根据权利要求1所述的方法,其特征在于,所述第二参数为在所述目标场所内的所述多个位置扫描到的同一无线接入点的bssid对应的多个第一参数的平均值。
9.根据权利要求8所述的方法,其特征在于,所述无线接入点的bssid对应的所述第二参数通过以下方式计算得到:
所述电子设备在所述目标场所中的多个不同位置处进行扫描得到多个第二预设WiFi指纹;
从所述多个第二预设WiFi指纹中,获取在多个不同位置处扫描到的所述无线接入点的所述bssid对应的多个rssi;
计算所述多个rssi对应的多个第一参数,并对多个第一参数求平均得到所述无线接入点的所述bssid的第一参数的平均值。
10.根据权利要求9所述的方法,其特征在于,所述第一阈值通过以下方式确定:
统计每个所述第二预设WiFi指纹与所述第二WiFi指纹中相同的bssid的数量,得到多个第一统计数量值,并通过所述多个第一统计数量值确定所述第一阈值。
11.根据权利要求10所述的方法,其特征在于,所述第一阈值为所述多个第一统计数量值中的最小值。
12.根据权利要求1所述的方法,其特征在于,所述第二阈值通过以下方式确定:
统计每个所述第二预设WiFi指纹中,对应的第一参数满足所述第三条件的bssid的数量,得到对应所述多个第二预设WiFi指纹的多个第二统计数量值;
并基于所述多个第二统计数量值确定所述第二阈值。
13.根据权利要求12所述的方法,其特征在于,所述第二阈值为:所述多个第二统计数量值中的最小值;或者
所述第二阈值为:所述多个第二统计数量值从小到大排序的统计数量值序列中的第P个第二统计数量值,其中,P=(所述多个第二统计数量的数量/10)+1。
14.根据权利要求1所述的方法,其特征在于,所述bssid的rssi越大,对应的所述第一参数越小。
15.根据权利要求1所述的方法,其特征在于,所述根据预设次数的所述Wi-Fi扫描的结果确定所述电子设备是否将离开或已经离开所述目标场所,包括:
在根据第一次Wi-Fi扫描结果确定所述电子设备尚未离开所述目标场所情况下,所述电子设备不进行第二次Wi-Fi扫描;
在根据第一次Wi-Fi扫描结果确定所述电子设备将离开或已经离开所述目标场所情况下,所述电子设备再进行至少一次的Wi-Fi扫描。
16.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储由电子设备的一个或多个处理器执行的指令,以及
处理器,是电子设备的处理器之一,用于执行权利要求1至15中任一项所述的网络切换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111537081.5A CN115002850B (zh) | 2021-12-14 | 2021-12-14 | 网络切换方法、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111537081.5A CN115002850B (zh) | 2021-12-14 | 2021-12-14 | 网络切换方法、电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115002850A true CN115002850A (zh) | 2022-09-02 |
CN115002850B CN115002850B (zh) | 2023-02-21 |
Family
ID=83018328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111537081.5A Active CN115002850B (zh) | 2021-12-14 | 2021-12-14 | 网络切换方法、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115002850B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116546132A (zh) * | 2023-07-06 | 2023-08-04 | 荣耀终端有限公司 | 网络识别方法、装置、移动终端及计算机可读存储介质 |
CN116669129A (zh) * | 2023-08-01 | 2023-08-29 | 荣耀终端有限公司 | 一种网络切换方法及终端设备 |
CN116744328A (zh) * | 2022-10-17 | 2023-09-12 | 荣耀终端有限公司 | 一种网络加速方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150222345A1 (en) * | 2014-02-06 | 2015-08-06 | Telefonaktiebolaget L M Ericsson (Publ) | Methods for Signaling and Using Beam Forming Quality Indicators |
CN109511143A (zh) * | 2018-12-13 | 2019-03-22 | 深圳壹账通智能科技有限公司 | 网络自动切换方法、装置、计算机设备及存储介质 |
CN111866976A (zh) * | 2020-06-16 | 2020-10-30 | 维沃移动通信有限公司 | 网络切换方法及装置 |
CN112738745A (zh) * | 2019-10-14 | 2021-04-30 | Oppo广东移动通信有限公司 | 控制网络连接的方法及相关产品 |
CN112954749A (zh) * | 2019-12-11 | 2021-06-11 | 华为技术有限公司 | 一种网络切换方法及电子设备 |
CN113545129A (zh) * | 2019-03-26 | 2021-10-22 | 华为技术有限公司 | 一种切换上网卡的方法和电子设备 |
-
2021
- 2021-12-14 CN CN202111537081.5A patent/CN115002850B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150222345A1 (en) * | 2014-02-06 | 2015-08-06 | Telefonaktiebolaget L M Ericsson (Publ) | Methods for Signaling and Using Beam Forming Quality Indicators |
CN109511143A (zh) * | 2018-12-13 | 2019-03-22 | 深圳壹账通智能科技有限公司 | 网络自动切换方法、装置、计算机设备及存储介质 |
CN113545129A (zh) * | 2019-03-26 | 2021-10-22 | 华为技术有限公司 | 一种切换上网卡的方法和电子设备 |
CN113747525A (zh) * | 2019-03-26 | 2021-12-03 | 华为技术有限公司 | 一种切换上网卡的方法和电子设备 |
CN112738745A (zh) * | 2019-10-14 | 2021-04-30 | Oppo广东移动通信有限公司 | 控制网络连接的方法及相关产品 |
CN112954749A (zh) * | 2019-12-11 | 2021-06-11 | 华为技术有限公司 | 一种网络切换方法及电子设备 |
CN111866976A (zh) * | 2020-06-16 | 2020-10-30 | 维沃移动通信有限公司 | 网络切换方法及装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116744328A (zh) * | 2022-10-17 | 2023-09-12 | 荣耀终端有限公司 | 一种网络加速方法和装置 |
CN116744328B (zh) * | 2022-10-17 | 2024-04-23 | 荣耀终端有限公司 | 一种网络加速方法和装置 |
WO2024082811A1 (zh) * | 2022-10-17 | 2024-04-25 | 荣耀终端有限公司 | 一种网络加速方法和装置 |
CN116546132A (zh) * | 2023-07-06 | 2023-08-04 | 荣耀终端有限公司 | 网络识别方法、装置、移动终端及计算机可读存储介质 |
CN116546132B (zh) * | 2023-07-06 | 2023-11-03 | 荣耀终端有限公司 | 网络识别方法、装置、移动终端及计算机可读存储介质 |
CN116669129A (zh) * | 2023-08-01 | 2023-08-29 | 荣耀终端有限公司 | 一种网络切换方法及终端设备 |
CN116669129B (zh) * | 2023-08-01 | 2023-11-14 | 荣耀终端有限公司 | 一种网络切换方法及终端设备 |
Also Published As
Publication number | Publication date |
---|---|
CN115002850B (zh) | 2023-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115002850B (zh) | 网络切换方法、电子设备 | |
US9572183B2 (en) | Wireless communication apparatus, program, and communication control method | |
CN113133076A (zh) | 通信方法、相关设备及通信系统 | |
CN111629337B (zh) | 一种控制搜网的方法及终端 | |
CN114257960B (zh) | 蓝牙连接方法和设备 | |
CN112888045B (zh) | 小区测量的方法、测量装置、终端设备、芯片及存储介质 | |
WO2021164332A1 (zh) | 网络选择的方法和装置 | |
WO2022222651A1 (zh) | 一种Wi-Fi网络和蜂窝网络的切换方法及电子设备 | |
CN113676966B (zh) | 一种小区选择方法与终端设备 | |
EP3866514A1 (en) | Network registration of terminal, and methods and apparatuses for transmission of network selection parameter | |
CN114615660A (zh) | 接入方法、系统及电子设备 | |
WO2022089254A1 (zh) | 一种小区切换方法及通信装置 | |
CN114007248B (zh) | Wi-Fi漫游的方法、电子设备及存储介质 | |
US20230180111A1 (en) | Network search method and electronic device | |
US20230308967A1 (en) | Information transmission method, communication device, and storage medium | |
CN116669129B (zh) | 一种网络切换方法及终端设备 | |
WO2024082811A1 (zh) | 一种网络加速方法和装置 | |
WO2021238381A1 (zh) | 一种搜网方法与电子设备 | |
WO2024022270A1 (zh) | 一种通信方法及通信装置 | |
WO2024031276A1 (zh) | 一种收集服务体验质量信息的方法、装置及存储介质 | |
CN114585028A (zh) | 网络切换方法及其相关设备 | |
CN117560702A (zh) | 一种邻区测量方法、电子设备和存储介质 | |
CN116709226A (zh) | 通信接力方法、电子设备、通信系统及存储介质 | |
CN115314976A (zh) | 一种网络连接方法及设备、存储介质 | |
CN115604779A (zh) | 一种信息共享方法、装置及终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |