CN116709442A - 一种无线网络切换方法和电子设备 - Google Patents

一种无线网络切换方法和电子设备 Download PDF

Info

Publication number
CN116709442A
CN116709442A CN202211268056.6A CN202211268056A CN116709442A CN 116709442 A CN116709442 A CN 116709442A CN 202211268056 A CN202211268056 A CN 202211268056A CN 116709442 A CN116709442 A CN 116709442A
Authority
CN
China
Prior art keywords
network
application
channel
preset
module
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.)
Pending
Application number
CN202211268056.6A
Other languages
English (en)
Inventor
杨景淇
梁恒辉
王金香
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202211268056.6A priority Critical patent/CN116709442A/zh
Publication of CN116709442A publication Critical patent/CN116709442A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W36/00Hand-off or reselection arrangements
    • H04W36/0005Control or signalling for completing the hand-off
    • H04W36/0083Determination of parameters used for hand-off, e.g. generation or modification of neighbour cell lists
    • H04W36/0085Hand-off measurements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • H04L41/083Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for increasing network speed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/02Arrangements for optimising operational condition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/08Testing, supervising or monitoring using real traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W36/00Hand-off or reselection arrangements
    • H04W36/14Reselecting a network or an air interface
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W36/00Hand-off or reselection arrangements
    • H04W36/16Performing reselection for specific purposes
    • H04W36/165Performing reselection for specific purposes for reducing network power consumption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W36/00Hand-off or reselection arrangements
    • H04W36/24Reselection being triggered by specific parameters
    • H04W36/30Reselection being triggered by specific parameters by measured or perceived connection quality data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请提供一种无线网络切换方法和电子设备,涉及终端领域。电子设备上第一应用启动后,先通过第一网路通道传输数据流;该第一网络通道可以为蜂窝网络或Wi‑Fi网络;在满足预设切换条件后,确定要将应用的数据流从第一网络通道切换到Wi‑Fi网络时,先判断Wi‑Fi网络的信道质量是否满足预设的质量要求;如果Wi‑Fi网络的信道质量不满足要求,即Wi‑Fi网络不稳定,则先不进行网络通道切换,将应用的数据流保持在第一网络通道;待Wi‑Fi网络的信道质量满足要求之后,再将第一应用的数据流切换至Wi‑Fi网络。这样可以避免在网络切换过程中,由于Wi‑Fi网络暂时不稳定导致的应用卡顿。

Description

一种无线网络切换方法和电子设备
技术领域
本申请涉及终端领域,尤其涉及一种无线网络切换方法和电子设备。
背景技术
随着电子设备的智能化程度越来越高,电子设备中安装运行的应用软件也越来越多。很多应用软件在运行过程中需要通过网络与相应的服务器通信,以实现该应用软件提供的各种功能。
目前,很多电子设备都支持多网卡,即支持通过多种网络通道进行数据传输。为了给用户带来更好的使用体验,在用户使用应用软件的过程中,电子设备会自动切换用于数据传输的网络通道,以使得用户使用质量更优的网络与服务器通信。
在电子设备切换网络通道时,如何保证应用流畅性,不影响用户使用,是需要解决的一个问题。
发明内容
本申请实施例提供一种无线网络切换方法和电子设备,在电子设备切换网络通道时连续性探测待切入网络通道的信道质量,等到待切入网络通道的信号稳定后再进行切换,保证应用流畅性,使得用户使用体验不卡顿。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,提供了一种无线网络切换方法,该方法包括:电子设备上第一应用启动后,先通过第一网路通道传输数据流;该第一网络通道可以为蜂窝网络或Wi-Fi网络;在满足预设切换条件后,电子设备在执行切换网络通道的动作之前,电子设备周期性采集第二网络通道的信道质量,根据第二网络通道(待切换的目的网络通道)的传输时延、丢包率、带宽和传输速率中至少一项判断第二网络通道的信道质量是否满足预设的质量要求;如果确定第二网络通道的信道质量不满足预设的质量要求,电子设备保持通过第一网路通道传输第一应用的数据流。如果确定第二网络通道的信道质量满足预设的质量要求,电子设备切换为通过第二网路通道传输第一应用的数据流。其中,第二网络通道为Wi-Fi网络。
在该方法中,电子设备确定要将应用的数据流从第一网络通道切换到Wi-Fi网络时,先判断Wi-Fi网络的信道质量是否满足预设的质量要求;如果Wi-Fi网络的信道质量不满足要求,即Wi-Fi网络不稳定,则先不进行网络通道切换,将应用的数据流保持在第一网络通道;待Wi-Fi网络的信道质量满足要求之后,再将第一应用的数据流切换至第二网络通道。这样可以避免在网络切换过程中,由于Wi-Fi网络暂时的不稳定导致应用卡顿。
作为本申请第一方面的一种实现方式,确定第二网络通道的信道质量满足预设的质量要求,包括:第二网络通道的传输时延小于预设时延阈值,丢包率小于预设丢包率阈值,带宽大于预设带宽阈值,以及传输速率大于预设传输速率阈值中至少一项。
作为本申请第一方面的一种实现方式,第一网络通道为蜂窝网络,预设切换条件包括:检测到成功建立第二网络通道。
在该方法中,在未建立Wi-Fi网络前,应用的数据流通过蜂窝网络传输。电子设备上建立了Wi-Fi网络,则将应用A的数据流切换到Wi-Fi网络;相比采用蜂窝网络传输数据流,可以利用Wi-Fi网络更高的传输速率并节约使用蜂窝网络的费用。而在切换过程中,如果检测到Wi-Fi网络暂时不稳定,先将应用的数据流暂时保持在蜂窝网络上,待该Wi-Fi网络的信道质量变好(满足预设的质量要求)后,再将应用的数据流切换到Wi-Fi网络,可以保证网络切换过程中应用流畅性,避免切换网络通道导致应用卡顿。
作为本申请第一方面的一种实现方式,该方法还包括:电子设备周期性采集第一应用的数据流的体验质量QoE测量结果;如果第一应用的数据流的QoE测量结果指示第一应用的数据流发生卡顿,则确定满足预设切换条件。其中,QoE测量结果是根据第一应用的数据流的通信参数和统计信息确定的,通信参数包括协议类型、源网际协议IP地址和端口/目的IP地址和端口、报文特征中的至少一项,统计信息包括往返时延RTT、丢包率、收发字节数、速率中的至少一项。
在该方法中,电子设备的操作系统设置了网络加速策略,即在应用当前使用的网络通道的QoE较差的情况下,为应用切换其他网络通道进行数据流传输。而在切换过程中,如果检测到Wi-Fi网络暂时不稳定,先将应用的数据流暂时保持在蜂窝网络上,待该Wi-Fi网络的信道质量变好(满足预设的质量要求)后,再将应用的数据流切换到Wi-Fi网络,可以保证网络切换过程中应用流畅性,避免切换网络通道导致应用卡顿。
作为本申请第一方面的一种实现方式,如果第一应用的数据流的QoE测量结果指示第一应用的数据流发生卡顿,即满足预设切换条件,如果确定第一应用当前的业务场景为第一场景(第一应用确定的不需要自动切换网络通道的业务场景),则第一应用执行网络加速处理,网络加速处理包括降低第一应用的帧率或降低第一应用的分辨率中的至少一种。而不采用系统的加速策略,也就是说先不切换网络通道,电子设备也就不会周期性采集第二网络通道的信道质量。第一场景为场景A,比如视频播放场景、游戏的对战场景等。
作为本申请第一方面的一种实现方式,如果第一应用的数据流的QoE测量结果指示第一应用的数据流发生卡顿,即满足预设切换条件,如果确定第一应用当前的业务场景为第二场景(第一应用确定的需要自动切换网络通道的业务场景,场景B),则采用系统的加速策略,执行切换网络通道,电子设备就周期性采集第二网络通道的信道质量。
在该方法中,操作系统可以向前台应用(第一应用)发送QoE测量结果,以便前台应用根据QoE测量结果进行网络加速(例如,若应用程序为视频应用,视频应用可以根据QoE测量结果调整视频分辨率以及缓存策略等);在应用程序当前的业务场景为场景B时,可以进行系统加速,例如操作系统可以将应用的数据流切换到另一条网络通道。这样充分发挥了电子设备的操作系统和应用程序的优势,使得操作系统和应用程序可以协同进行网络加速,能够避免操作系统实现的网络加速策略和三方应用程序自身设置的网络加速策略发生冲突。
作为本申请第一方面的一种实现方式,电子设备周期性采集第一应用的数据流的体验质量QoE测量结果,包括:电子设备的内核层注册有报文监听钩子,报文监听钩子用于周期性探测第一应用使用的第一网络通道的路径,以及监测第一应用使用的第一网络通道传输的数据流的通信参数和统计信息;电子设备根据通信参数和统计信息周期性进行网络质量评估得出当前体验质量QoE测量结果。
第二方面,提供了一种电子设备,该电子设备具有实现上述第一方面所述的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第三方面,提供了一种电子设备,包括:处理器和存储器;该存储器用于存储计算机执行指令,当该电子设备运行时,该处理器执行该存储器存储的该计算机执行指令,以使该电子设备执行如上述第一方面中任一项所述的方法。
第四方面,提供了一种电子设备,包括:处理器;所述处理器用于与存储器耦合,并读取存储器中的指令之后,根据所述指令执行如上述第一方面中任一项所述的方法。
第五方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机可以执行上述第一方面中任一项所述的方法。
第六方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机可以执行上述第一方面中任一项所述的方法。
第七方面,提供了一种装置(例如,该装置可以是芯片系统),该装置包括处理器,用于支持电子设备实现上述第一方面中所涉及的功能。在一种可能的设计中,该装置还包括存储器,该存储器,用于保存电子设备必要的程序指令和数据。该装置是芯片系统时,可以由芯片构成,也可以包含芯片和其他分立器件。
其中,第二方面至第七方面中任一种设计方式所带来的技术效果可参见第一方面中不同设计方式所带来的技术效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种电子设备的硬件结构示意图;
图2为本申请实施例提供的无线网络切换方法所适用的一种场景示意图;
图3为本申请实施例提供的无线网络切换方法所适用的另一场景示意图;
图4为本申请实施例提供的无线网络切换方法所适用的又一场景示意图;
图5为本申请实施例提供的无线网络切换方法所适用的又一场景示意图;
图6为本申请实施例提供的无线网络切换方法所适用的又一场景示意图;
图7为本申请实施例提供的无线网络切换方法所适用的又一场景示意图;
图8为本申请实施例提供的无线网络切换方法的流程示意图;
图9为本申请实施例提供的一种电子设备的软件架构示意图;
图10A为本申请实施例提供的无线网络切换方法的流程示意图;
图10B为本申请实施例提供的无线网络切换方法中探测网络通道信道质量的方法示意图;
图11为本申请实施例提供的无线网络切换方法的流程示意图;
图12为本申请实施例提供的一种报文监测方法的示意图;
图13为本申请实施例提供的无线网络切换方法的流程示意图;
图14为本申请实施例提供的一种电子设备结构组成示意图。
具体实施方式
在本申请实施例的描述中,以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请以下各实施例中,“至少一个”、“一个或多个”是指一个或两个以上(包含两个)。术语“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。术语“连接”包括直接连接和间接连接,除非另外说明。“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请实施例提供的无线网络切换方法可以应用于支持多种通信方式(即支持多种网络)的电子设备。上述电子设备可以包括手机、平板电脑、笔记本电脑、个人电脑(personal computer,PC)、超级移动个人计算机(ultra-mobile personal computer,UMPC)、手持计算机、上网本、智能家居设备(比如,智能电视、智慧屏、大屏、智能音箱、智能空调等)、个人数字助理(personal digital assistant,PDA)、可穿戴设备(比如,智能手表、智能手环等)、车载设备、虚拟现实设备等,本申请实施例对此不做任何限制。
图1示出了一种电子设备的结构示意图。电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,摄像头192,显示屏193,以及用户标识模块(subscriberidentification module,SIM)卡接口194等。其中,传感器模块180可以包括压力传感器,触摸传感器等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。例如,处理器110用于执行本申请实施例中的网络加速方法。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)。
此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏193,摄像头192,和无线通信模块160等供电。
在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏193显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外(infrared,IR)技术等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信号转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了监听语音信息,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。
电子设备100通过GPU,显示屏193,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏193和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏193用于显示图像,视频等。显示屏193包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏193,N为大于1的正整数。
摄像头192用于捕获静态图像或视频。在一些实施例中,电子设备100可以包括1个或N个摄像头192,N为大于1的正整数。
SIM卡接口194用于连接SIM卡。SIM卡可以通过插入SIM卡接口194,或从SIM卡接口194拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。
本申请实施例并未特别限定一种无线网络切换方法的执行主体的具体结构,只要可以通过运行记录有本申请实施例的一种无线网络切换方法的代码,以根据本申请实施例提供的一种无线网络切换方法进行处理即可。例如,本申请实施例提供的无线网络切换方法的执行主体可以是电子设备中能够调用程序并执行程序的功能模块,或者为应用于电子设备中的处理装置,例如,芯片。
在本申请实施例中,上述电子设备是可以运行操作系统,安装应用程序的电子设备。可选地,电子设备运行的操作系统可以是系统,/>系统,/>系统等。
如图1所示的电子设备中可以安装运行多个应用,例如:社交通信应用、游戏应用、音视频应用和新闻应用等。这些应用可以通过所在的电子设备与其他电子设备(例如,应用对应的服务器)建立网络连接。
作为示例,应用A可以通过所在的电子设备中的无线网卡(也可记为Wi-Fi网卡)与应用A对应的服务器建立网络连接;也就是说应用A通过无线通信方式与服务器通信。应用A还可以通过所在的电子设备中的数据业务网卡与应用A对应的服务器建立网络连接;也就是说,应用A通过移动通信方式与服务器通信。其中,无线网卡为支持无线局域网(WirelessLocal Area Network,WLAN)上网的装置;数据业务网卡为支持分组无线服务(Generalpacket radio service,GPRS)、增强型数据速率GSM演进技术(Enhanced Data Rate forGSM Evolution,EDGE)、时分同步码分多址(Time Division-Synchronous Code DivisionMultiple Access,TD-SCDMA)、高速下行链路分组接入(High Speed Downlink PacketAccess,HSDPA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、第五代移动通信技术(5th Generation MobileCommunication Technology,5G)等移动通信技术上网的装置。
本申请实施例中将两个电子设备之间传输的数据序列记为数据流。数据流也可以称为业务流。在实际应用中,基于数据流的业务场景,数据流可以为视频流、音频流、下载流、会话流等。两个电子设备之间交互数据流的通道记为网络通道。为了便于描述,可以将一个电子设备通过无线网卡与其他电子设备之间建立的网络通道记为Wi-Fi网络;将一个电子设备通过数据业务网卡与其他电子设备之间建立的网络通道记为蜂窝网络。
应用可以通过Wi-Fi网络或蜂窝网络与服务器传输数据流。
在一种示例中,应用通过蜂窝网络与服务器传输数据流。参见图2的(a),用户使用手机中的应用A(游戏类应用)玩游戏,手机中的应用A通过手机中的数据业务网卡与应用A的服务器A建立网络连接,应用A和服务器A之间产生的数据流A(例如,游戏对战时产生的数据流)通过手机上的数据业务网卡和基站之间的蜂窝网络传输。参见图2的(b),用户还使用手机中的应用B(聊天类应用)聊天,其中,手机中的应用B通过手机的数据业务网卡与应用B的服务器B建立网络连接,应用B和服务器B之间产生的数据流B(例如,聊天时产生的数据流)通过手机上的数据业务网卡和基站之间的蜂窝网络传输。
在另一种示例中,应用通过Wi-Fi网络与服务器传输数据流。参见图3的(a),用户使用手机中的应用A(游戏类应用)玩游戏,手机中的应用A通过手机中的无线网卡与应用A的服务器A建立网络连接,应用A和服务器A之间产生的数据流A(例如,游戏对战时产生的数据流)通过手机上的无线网卡和无线路由器之间的Wi-Fi网络传输。参见图3的(b),用户还使用手机中的应用B(聊天类应用)聊天,其中,手机中的应用B通过手机的无线网卡与应用B的服务器B建立网络连接,应用B和服务器B之间产生的数据流B(例如,聊天时产生的数据流)通过手机上的无线网卡和无线路由器之间的Wi-Fi网络传输。
在另一种示例中,当有多个应用与其对应的服务器传输数据流时,其中一些应用通过蜂窝网络与服务器传输数据流,另一些应用通过Wi-Fi网络与服务器传输数据流。参见图4,用户使用手机中的应用A(游戏类应用)玩游戏,手机中的应用A通过手机中的数据业务网卡与应用A的服务器A建立网络连接,应用A和服务器A之间产生的数据流A(例如,游戏对战时产生的数据流)通过手机上的数据业务网卡和基站之间的蜂窝网络传输。用户还使用手机中的应用B(聊天类应用)聊天,其中,手机中的应用B通过手机的无线网卡与应用B的服务器B建立网络连接,应用B和服务器B之间产生的数据流B(例如,聊天时产生的数据流)通过手机上的无线网卡和无线路由器之间的Wi-Fi网络传输。
为了提高用户使用体验,在一些场景下,电子设备会自动切换传输数据流的网络通道。
场景一:
在一种场景中,电子设备上的应用通过蜂窝网络与服务器传输数据流时,如果检测到成功建立了Wi-Fi网络,可以自动将应用的数据流切换至Wi-Fi网络进行传输,以节省使用移动网络的费用、提高上网速度等。示例性的,如图5所示,手机中的应用A和服务器A之间产生的数据流A(例如,游戏对战时产生的数据流)通过手机上的数据业务网卡和基站之间的蜂窝网络传输。检测到电子设备与无线路由器成功建立了Wi-Fi网络,则将应用A的数据流切换至通过手机上的无线网卡和无线路由器之间的Wi-Fi网络传输。
场景二:
在另一种场景中,电子设备的操作系统可以设置相应的网络加速策略。例如,操作系统设置的网络加速策略可以基于对应用当前使用的网络通道的用户体验质量(qualityof experience,QoE)的评估,在应用当前使用的网络通道的QoE较差的情况下,切换为使用其他网络通道。
QoE通常用来表示终端用户对移动网络提供的业务性能的主观感受。QoE可以通过接近量化的方法来表示终端用户对业务与网络的体验和感受,并反映当前业务和网络的质量与用户期望间的差距。从通信网络的角度来说,要想获得更好的QoE的最佳方案就是提供一个优良的端到端的服务质量QoS(quality of service)。广义的QoS为“决定用户满意程度的服务性能的综合效果”,包含多个层面较为广泛的内容。狭义QoS为底层分组数据传输的性能指标,如时延、抖动、带宽、误码等。QoS机制主要负责从网络的角度进行业务管理和提供业务的差异性,网络实体根据不同的质量需求来处理不同业务。但从终端用户的角度来体验QoS是一个更广、更主观的问题,即QoE所定义的范畴。其中,探测应用当前使用的网络通道的QoE以及评估QoE优劣的具体方式将在下述具体实施例中详细介绍。
在一种示例中,应用通过一个网络通道传输数据流时,如果探测到该网络通道的QoE较差,则自动切换至另一网络通道传输数据流。示例性的,如图6所示,手机上设置有无线网卡1,支持2.4GHz的收发;还设有无线网卡2,支持5.0GHz的收发。手机中的应用A和服务器A之间产生的数据流A(例如,游戏对战时产生的数据流)通过手机上的无线网卡2和无线路由器2之间的Wi-Fi网络传输。探测到无线网卡2和无线路由器2之间的Wi-Fi网络的QoE较差,则将应用A的数据流切换至通过手机上的无线网卡1和无线路由器1之间的Wi-Fi网络传输。
场景三:
在又一种场景中,电子设备配置的网络加速策略为,应用通过一个网络通道传输数据流时,如果探测到该网络通道的QoE较差,则自动将该应用的数据流切换到多条网络通道上并行传输,以便通过多条质量较优的网络通道进行上网。示例性的,参见图7,手机上设置有无线网卡1,支持2.4GHz的收发;还设有无线网卡2,支持5.0GHz的收发;还设有数据业务网卡。用户使用应用A进行下载时,产生下载流A1,用户使用应用A进行会话时,产生会话流A2。下载流A1和会话流A2均可以通过无线网卡1和2.4GHz的无线路由器之间的Wi-Fi网络传输。如果探测到应用A的数据流A1的QoE较差,则将数据流A1分配到多个网络通道上并行传输。如图7所示,数据流A1可能包括多个子数据流,可以将多个子数据流分为3组数据流:下载流A1-1,下载流A1-2和下载流A1-3。将3个数据流分别分发到3个网络通道上传输。
需要说明的是,图6和图7中的无线路由器可以为同时支持2.4GHz的收发和5.0GHz的收发的一个无线路由器,还可以是分别支持2.4GHz的收发和5.0GHz的收发的两个路由器。
以上实施例介绍了电子设备上传输数据流的网络通道自动切换的三个场景。可以看出,为了提高用户使用体验,在一些场景下,电子设备会自动切换传输数据流的网络通道。然而,在一些情况下,切换后的网络通道的信号不稳定、信道质量较差,就会导致应用卡顿。比如,Wi-Fi网络刚建立时的一小段时间内信号不稳定。在前述各个场景的网络通道切换过程中,如果将应用的数据流切换到Wi-Fi网络时,该Wi-Fi网络的信道质量较差,可能会导致应用卡顿,影响用户使用体验。
本申请实施例提供一种无线网络切换方法,在将应用的数据流切换至Wi-Fi网络前,先对该Wi-Fi网络的信道质量进行持续性检测。如果Wi-Fi网络的信道质量满足预设的质量要求,就将应用的数据流切换至Wi-Fi网络;如果Wi-Fi网络的信道质量不满足预设的质量要求,就将应用的数据流保持在原来的网络通道。参考图8,本申请实施例提供的无线网络切换方法包括:
S201、应用的数据流通过第一网络通道进行传输;第一网络通道可以是蜂窝网络或Wi-Fi网络。
示例性的,在上述场景一中,第一网络通道为蜂窝网络;在上述场景二和场景三中,第一网络通道为蜂窝网络或Wi-Fi网络。
S202、在满足预设切换条件后,确定将应用的全部或部分数据流切换到第二网络通道;其中,第二网络通道为Wi-Fi网络。
在上述场景一中,预设切换条件为检测到成功建立了Wi-Fi网络;满足预设切换条件后,确定将应用的全部数据流切换到第二网络通道;第二网络通道即为该成功建立的Wi-Fi网络。示例性的,以图5为例,第一网络通道为手机上数据业务网卡和基站之间的蜂窝网络,第二网络通道为手机上无线网卡和无线路由器之间的Wi-Fi网络。
在上述场景二中,预设切换条件为探测到应用当前使用的网络通道(第一网络通道)的QoE较差;满足预设切换条件后,确定将应用的全部数据流切换到第二网络通道;第二网络通道为电子设备上除第一网络通道之外的一个可用的Wi-Fi网络。示例性的,以图6为例,第一网络通道为手机上无线网卡2和无线路由器2之间的Wi-Fi网络,第二网络通道为手机上无线网卡1和无线路由器1之间的Wi-Fi网络。
在上述场景三中,应用通过一个网络通道传输数据流时,如果探测到该网络通道的QoE较差,则自动将该应用的数据流切换到多条网络通道上并行传输。其中,预设切换条件为探测到应用当前使用的网络通道(第一网络通道)的QoE较差;满足预设切换条件后,确定将应用的部分数据流切换到第二网络通道;第二网络通道即并行传输数据流的多条网络通道中除第一网络通道之外的Wi-Fi网络。示例性的,图7中第一网络通道为手机上无线网卡1和2.4GHz的无线路由器之间的Wi-Fi网络;第二网络通道为手机上无线网卡2和5.0GHz的无线路由器之间的Wi-Fi网络。
S203、判断第二网络通道的信道质量是否满足预设的质量要求。如果确定第二网络通道的信道质量不满足预设的质量要求,执行S204;如果确定第二网络通道的信道质量满足预设的质量要求,执行S205。
其中,网络通道的信道质量可以根据该网络通道的传输时延、丢包率、带宽和传输速率等参数作为参考进行评估。示例性的,预设的质量要求可以包括传输时延小于预设时延阈值,丢包率小于预设丢包率阈值,带宽大于预设带宽阈值,以及传输速率大于预设传输速率阈值中至少一项。信道质量不满足预设的质量要求,即该网络通道的信号不稳定。
S204、数据流保持在第一网络通道。
S205、将数据流切换到第二网络通道。
这样,应用的数据流始终在信道质量较好的网络通道上传输,就可以保证应用数据流传输的流畅性,避免切换网络通道过程中的应用卡顿。
本申请实施例提供的无线网络切换方法,可以在具有上述图1所示硬件结构的电子设备100中实现。
上述电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过接口通信。
参考图9,在一些实施例中,电子设备100的技术架构包括:应用层、服务层、策略层和内核层。应该理解的是,图9中仅示出了与本申请实施例相关的部分层和部分组件,实际应用中,电子设备100还可以包括图9中未示出的层级和组件。当然,也可以仅包含图9所示的组件中的部分组件。
其中,应用层中存在各种应用,例如,如视频类应用,游戏类应用等。
服务层中存在网络加速服务模块、感知模块、路径探测模块和路径管理模块。
其中,网络加速服务模块是应用与感知模块交互的通道,网络加速服务模块可以基于Binder机制为应用与感知模块转发消息(例如,注册请求)。其中,Binder是一种进程间通信机制,可以实现不同进程之间的通信。
感知模块用于探测上层应用的各种事件。作为示例,感知模块可以探测应用的打开、退出,还可以探测当前切换到前台/后台的应用,还可以探测应用的安装、卸载等。当感知模块探测到应用打开或应用切换到前台时,可以通知下层模块(决策模块)开启网络加速功能,以及启用数据流的监控功能。
路径探测模块可以用于探测电子设备支持的Wi-Fi网络和蜂窝网络的状态(开启或关闭等)。作为示例,若电子设备中设置有2.4GHz频段的无线网卡1和5.0GHz频段的无线网卡2。路径探测模块可以探测2.4GHz频段的无线网络为开启还是关闭状态;还可以探测5.0GHz频段的无线网络为开启或关闭状态。若电子设备中设有运营商A的数据业务网卡1和运营商B的数据业务网卡2。路径探测模块可以探测运营商A的数据业务网卡1为开启还是关闭状态;还可以探测运营商B的数据业务网卡2为开启还是关闭状态。其中,电子设备与其他电子设备之间建立了网络通道,即网络通道开启;电子设备与其他电子设备之间的网络通道断开,即网络通道关闭。比如,电子设备通过无线网卡与无线路由器建立Wi-Fi通信连接,即开启了Wi-Fi网络。
路径探测模块还可以周期性的探测Wi-Fi网络和蜂窝网络的信道质量。作为示例,路径探测模块可以探测2.4GHz频段的Wi-Fi网络的信道质量,还可以探测5.0GHz频段的Wi-Fi网络的信道质量。也可以探测运营商A的蜂窝网络的信道质量,还可以探测运营商B的蜂窝网络的信道质量。
路径管理模块可以存储多条网络通道的路径,示例性的,可以存储应用当前使用的网络通道及备用网络通道的路径。路径管理模块还可以用于根据决策模块的策略变化更新网络通道的选取,触发网络通道QoE探测,动态选取最优网络通道。路径管理模块可以启动选取的最优网络通道,即将网络通道从休眠状态转换为唤醒状态,唤醒状态的网络通道可以直接被使用。路径管理模块可以关闭非最优通道,即将网络通道从唤醒状态转换为休眠状态,休眠状态的网络通道暂时无法被使用。
策略层中设有流量管理模块和决策模块。
其中,流量管理模块用于对内核层上报的数据流进行统计,评估各个数据流的网络质量,得出网络通道的QoE。
决策模块存储应用程序中不同业务场景的数据流的传输质量提升策略,以便根据应用程序当前的业务场景执行相应的传输质量提升策略。例如,在应用当前的业务场景为A场景时,可以向应用发送QoE测量结果,以便应用根据QoE测量结果进行网络加速(例如,若应用为视频应用,视频应用可以根据QoE测量结果调整视频分辨率以及缓存策略等);在应用当前的业务场景为B场景时,可以请求路径管理模块选择一条比当前正在使用的网络通道质量更优的网络通道,以便将应用的数据流切换到更优的网络通道上。
其中,A场景是应用确定的不需要系统加速的业务场景,B场景是应用确定的需要系统加速的业务场景。其中,系统加速是指电子设备的操作系统根据不同的应用类别和/或不同的业务场景设置网络加速策略,并在满足预设条件的情况下执行网络加速策略。当前的业务场景是需要系统加速的业务场景时,电子设备的操作系统可以在预设条件的情况下执行预设网络加速策略(例如,将应用当前的业务场景对应的数据流从正在使用的网络通道切换到网络质量更优的网络通道)。当前的业务场景是不需要系统加速的业务场景时,电子设备的操作系统可以在满足预设条件(例如,网络卡顿)时,向应用发送QoE测量结果,以便应用根据QoE测量结果进行网络加速。
决策模块还可以在路径管理模块探测到Wi-Fi网络开启后,决策将应用的数据流从蜂窝网络切换到Wi-Fi网络。
决策模块还可以根据Wi-Fi网络的信道质量,确定应用的数据流切换至Wi-Fi网络的时机。例如,如果根据Wi-Fi网络的信道质量确定不满足预设的质量要求(信号不稳定),先不进行网络通道切换,将应用的数据流保持在当前使用的网络通道;当根据Wi-Fi网络的信道质量确定待切入的Wi-Fi网络的质量满足预设的质量要求(网络质量优),将应用的数据流切换到待切入Wi-Fi网络。
内核层存在策略执行模块和流量上报模块。其中,流量上报模块用于收集数据流信息,并上报收集的数据流信息。策略执行模块用于执行网络通道的切换。
在本申请另一实施例中,上述实施例中一个模块(组件)可以拆分为两个或多个模块,或者位于同一层级的两个或多个模块可以合并为同一模块。比如,可以将路径探测模块和路径管理模块合并为一个模块。
为了便于理解,以下结合具体场景,对本申请实施例提供的无线网络切换方法进行具体介绍。
以上述场景一为例,参见图10A,为本申请实施例提供的基于图9所示的各个模块实现的一种无线网络切换方法的时序图,包括:
步骤301、响应于用户打开应用A的操作,应用A启动。
应用A是应用层的一个应用程序,例如可以是游戏应用。响应于用户打开应用A的操作,应用A启动,电子设备可以显示应用A的相关界面。此时应用A是前台应用,即应用A的程序代码正在CPU中运行。
或者,步骤S301可以是应用A从后台切换至前台,此时应用A仍是前台应用。
步骤302、感知模块感知到应用A启动,通知决策模块应用A已启动。
示例性的,感知模块可以通过RunningProcess、ActivityLifecycleCallbacks、UsageStatsManager等函数监测当前的前台应用(例如,应用A),并获取前台应用的标识。或者,若终端设备为Android系统,可以通过Android自带的无障碍功能监测当前的前台应用,并获取前台应用的标识。或者,若终端设备为Linux系统,可以读取Linux系统内核保存在/proc目录下的process进程信息监测当前的前台应用,并获取前台应用的标识。具体判断过程可以参考现有技术,在此不做赘述。其中,应用的标识用于唯一识别一个应用,可以和应用的包名具有一一对应的关系,也可以采用应用的包名。
步骤303、决策模块请求路径管理模块查询应用A当前使用的网络通道。
在一种示例中,可以按照系统设置的、在存在多个可用网络的情况下选择主用网络的逻辑判断应用A当前使用的网络通道。
在实际应用中,若电子设备中设有2.4GHz频段的无线网卡1、5.0GHz频段的无线网卡2、运营商A的数据业务网卡1和运营商B的数据业务网卡2。则可以默认无线网卡1或无线网卡2中的一个为主Wi-Fi,另一无线网卡为副Wi-Fi;默认运营商A的数据业务网卡1和运营商B的数据业务网卡2中的一个为主卡,另一个数据业务网卡为副卡。
作为示例,2.4GHz频段的网络通道为主Wi-Fi网络,5.0GHz频段的网络通道为辅Wi-Fi网络,数据业务网卡1对应的网络通道为主蜂窝网络,数据业务网卡2对应的网络通道为辅蜂窝网络。
在主Wi-Fi网络可用的情况下,系统默认电子设备或前台应用当前的主用网络为主Wi-Fi网络,在主Wi-Fi网络不可用的情况下,系统默认电子设备或前台应用当前的主用网络为主蜂窝网络。在主蜂窝网络不可用的情况下,系统默认电子设备或前台应用当前的主用网络为辅Wi-Fi网络,在辅Wi-Fi网络不可用的情况下,系统默认电子设备或前台应用当前的主用网络为辅蜂窝网络。
在应用A开启后在前台运行时,应用A按照上述规则使用主用网络;即使应用A在前台时,系统将应用A中的部分数据流切换到其他网络上,在应用A切换到后台后,应用A中的数据流恢复使用系统默认的主用网络;在应用A从后台切换到前台后,应用A继续使用系统默认的主用网络。
因此,本申请实施例中可以按照上述规则依次请求该电子设备中的每个网络:主Wi-Fi网络、主蜂窝网络、辅Wi-Fi网络和辅蜂窝网络等。直到请求到一个可用且信道质量满足预设的质量要求的网络。该可用且信道质量满足预设的质量要求的网络可以理解为应用A当前使用的网络。
作为一个示例,可以根据该网络通道的传输时延、丢包率、带宽和传输速率等参数作为参考评估网络通道的信道质量。
步骤304、路径管理模块查询到应用A当前使用的网络通道是蜂窝网络。
在一种示例中,电子设备当前仅建立了蜂窝网络。路径管理模块查询到应用A当前使用的网络通道是蜂窝网络。
步骤305、路径管理模块通知决策模块应用A当前使用的网络通道是蜂窝网络。
步骤306、路径探测模块探测到电子设备成功建立了Wi-Fi网络。
示例性的,电子设备进入无线路由器的信号范围之内,通过无线网卡与无线路由器建立Wi-Fi网络。路径探测模块探测到电子设备成功建立了Wi-Fi网络。
步骤307、路径探测模块通知决策模块建立了新的Wi-Fi网络。
在一种示例中,路径探测模块还将新建立的Wi-Fi网络的信道标识发送给决策模块;其中,信道标识用于唯一标识一条网络信道。
步骤308、决策模块确定将应用A的数据流切换到Wi-Fi网络。
根据系统设置的、在存在多个可用网络的情况下选择主用网络的逻辑;在主Wi-Fi网络可用的情况下,系统默认电子设备或前台应用当前的主用网络为主Wi-Fi网络,在主Wi-Fi网络不可用的情况下,系统默认电子设备或前台应用当前的主用网络为主蜂窝网络。
因此,在电子设备仅建立了蜂窝网络的情况下,路径探测模块通知决策模块建立了新的Wi-Fi网络后,决策模块确定将应用A的数据流从当前的蜂窝网络切换至Wi-Fi网络。
步骤309、决策模块通知路径探测模块探测新建立的Wi-Fi网络的信道质量。
在一种示例中,决策模块将需要探测信道质量的Wi-Fi网络的信道标识发送给路径探测模块。
步骤310、路径探测模块周期性探测Wi-Fi网络的信道质量并向决策模块周期性地上报该Wi-Fi网络的信道质量。
路径探测模块根据信道标识确定需要探测信道质量的Wi-Fi网络;周期性地探测该Wi-Fi网络的传输时延(上行延迟、往返时延)、通道负载、噪声、接收信号强度、丢包率、带宽、传输速率等参数;并将探测结果周期性地上报给决策模块。
在一种示例中,如图10B所示,路径探测模块对网络通道进行主动探测,采集蜂窝网络参数或Wi-Fi网络参数,并通过人工智能(artificial intelligence,AI)算法对蜂窝网络参数或Wi-Fi网络参数进行分析,获取网络通道的信道质量。
示例性的,以Wi-Fi网络为例,Wi-Fi网络参数如表1所示。
表1
参数名称 参数含义 取值说明
rssi 接收信号强度 -128~127
noise 噪声 -100~0
chload 通道负载 数值越大,网络越差
ulDelay 上行延迟 单位:ms
rtt 往返时延 单位:ms
步骤311、决策模块判断Wi-Fi网络的信道质量是否满足预设的质量要求。
决策模块每次接收到路径探测模块上报的探测结果,可以根据网络通道的传输时延(上行延迟、往返时延)、通道负载、噪声、接收信号强度、丢包率、带宽和传输速率等参数评估网络通道的信道质量。示例性的,如果满足以下至少一项:传输时延小于预设时延阈值,丢包率小于预设丢包率阈值,带宽大于预设带宽阈值,传输速率大于预设传输速率阈值。则确定网络通道的信道质量满足预设的质量要求。
步骤312a、决策模块确定Wi-Fi网络的信道质量不满足预设的质量要求,将应用A的数据流保持在蜂窝网络。
在一些情况下,Wi-Fi网络的信道质量会比较差。比如,Wi-Fi网络刚建立时的一小段时间内,信号不稳定。此时,如果将数据流切换到Wi-Fi网络,可能会导致应用卡顿,影响用户使用体验。
在一种实现方式中,决策模块确定Wi-Fi网络的信道质量不满足预设的质量要求,将应用A的数据流保持在蜂窝网络。由于蜂窝网络的信道质量较好,可以保证应用流畅性。待Wi-Fi网络信号稳定(满足预设的质量要求)后,再进行网络通道的切换;避免了切换网络通道导致的应用卡顿。
步骤312b、决策模块确定Wi-Fi网络的信道质量满足预设的质量要求。
在一种示例中,Wi-Fi网络建立一段时间后,信号稳定。决策模块接收到路径探测模块上报的探测结果,根据Wi-Fi网络当前的传输时延、丢包率、带宽和传输速率等参数评估出Wi-Fi网络的信道质量满足预设的质量要求。
步骤313、决策模块通知策略执行模块将应用A的数据流切换到Wi-Fi网络。
决策模块确定Wi-Fi网络的信道质量满足预设的质量要求之后,通知策略执行模块将应用A的数据流切换到Wi-Fi网络。
步骤314、策略执行模块将应用A的数据流切换到Wi-Fi网络。
在该场景中,电子设备上建立了Wi-Fi网络,且该Wi-Fi网络的信道质量较好(满足预设的质量要求),则将应用A的数据流切换到Wi-Fi网络;相比采用蜂窝网络传输数据流,可以提高应用A数据流的传输速率和应用流畅性。而在切换过程中,如果检测到Wi-Fi网络暂时不稳定,先将应用的数据流暂时保持在蜂窝网络上,待该Wi-Fi网络的信道质量变好(满足预设的质量要求)后,再将应用的数据流切换到Wi-Fi网络,可以保证网络切换过程中应用流畅性,避免切换网络通道导致应用卡顿。
以上述场景二为例,参见图11,为本申请实施例提供的基于图9所示的各个模块实现的一种无线网络切换方法的时序图,包括:
步骤401、响应于用户打开应用A的操作,应用A启动。
步骤401的具体描述可以参考步骤301。
步骤402、感知模块感知到应用A启动,查询应用A是否支持网络加速。
示例性的,感知模块可以通过RunningProcess、ActivityLifecycleCallbacks、UsageStatsManager等函数监测当前的前台应用(例如,应用A),并获取前台应用的标识。或者,若终端设备为Android系统,可以通过Android自带的无障碍功能监测当前的前台应用,并获取前台应用的标识。或者,若终端设备为Linux系统,可以读取Linux系统内核保存在/proc目录下的process进程信息监测当前的前台应用,并获取前台应用的标识。具体判断过程可以参考现有技术,在此不做赘述。其中,应用的标识用于唯一识别一个应用,可以和应用的包名具有一一对应的关系,也可以采用应用的包名。
感知模块中可以包括应用配置库,应用配置库中存储了多个应用程序是否支持网络加速的信息,多个应用程序包括应用A。如表2所示,示例性示出部分应用程序是否支持网络加速的信息。
表2
或者,应用配置库中可以仅存储支持网络加速的应用程序的信息(网络加速名单)。如表3所示,示例性示出部分支持网络加速的应用程序的信息。
表3
实际应用中,该应用配置库还可以存储多个应用标识,每个应用标识采用不同的字符表示该应用标识表示的应用是否支持网络加速。作为示例,可以采用“1”表示支持网络加速,采用“0”表示不支持网络加速。其他确定应用是否支持网络加速的方式不再一一举例。
步骤403、若确定应用A支持网络加速,感知模块向决策模块发送网络质量评估请求。
若感知模块通过查询应用配置库确定应用A支持网络加速,可以向决策模块发送网络质量评估请求。决策模块接收到网络质量评估请求后,可以执行步骤404。
其中,网络质量评估请求用于请求决策模块进行网络质量评估。网络质量评估请求中可以包括应用标识、应用的配置信息以及网络质量评估的标准。其中,应用的配置信息是指应用进行业务时的报文特征,报文特征为应用传输数据流时的数据包的头部特征。
或者,感知模块感知到应用A切换到前台,可以通知决策模块,决策模块可以查询应用配置库确定应用A是否支持网络加速,若确定应用A支持网络加速,可以执行步骤404。
步骤404、决策模块向内核层的流量上报模块注册报文监听钩子。
报文监听钩子可以周期性探测应用A当前使用的网络通道的路径,以及监测应用A使用的网络通道传输的数据流的通信参数和统计信息。
应用A在实现某个功能时,可能产生一个或多个数据流。若检测到产生多个数据流,可以周期性检测应用A的每条数据流的通信参数和统计信息。
下面具体描述报文监听钩子如何监测应用A的数据流的通信参数和统计信息,并将监测到的数据流的通信参数和统计信息发送给流量管理模块。
电子设备的系统中存在Netfilter组件,通过该组件可以获取到特定应用标识对应的应用的数据流。流量上报模块可以通过调用Netfilter组件获取应用A的数据流的报文。具体实现时,流量上报模块上报给流量管理模块的信息不仅包括应用A的数据流的报文,还包括应用A的数据流的报文的一些通信参数和统计信息。
参见图12,流量上报模块可以预先注册报文监听钩子(例如,nf_hook钩子函数)。在流量上报模块调用Netfilter组件后,Netfilter组件上报应用A的数据流的报文,流量上报模块接收到Netfilter组件上报的数据流的报文之后,调用预先注册的nf_hook钩子函数。
该nf_hook钩子函数对接收到的数据流的报文进行以下操作:报文解析、查流表和报文分析等操作。
在进行报文解析时,可以查看该报文是否存在应用标识以及该报文的四元组(或五元组),以得到解析结果。若存在应用标识,则可以确定该报文对应的应用程序。四元组中包括源IP、目的IP、源端口、目的端口;五元组中包括:源IP、目的IP、源端口、目的端口以及协议号。另外,报文(数据包)本身也携带了头部特征。数据流的报文的四元组(或五元组)以及报文的头部特征等参数可以统称为数据流的通信参数。
在进行报文解析之后,根据解析结果查询流表,并更新流表的统计信息。流表中存储了各个应用中数据流的标识信息、以及各个数据流的报文总数、收发字节数(包括接收字节数和发送字节数)、错误包数量等。进一步的,可以根据报文总数确定是否下行无响应,例如,连续两个周期内接收到的报文总数相同,则确定下行无响应。可以根据收发字节数确定传输速率,例如,上一周期和本周期接收到的字节数的差值与周期的比值为本周期下行速率。可以根据报文中携带的序列号确定丢包情况,例如,丢包率(loss tolerance或packetloss rate)可以是缺失的序列号的数目与现有的序列号的数目的比值。当然,上述参数的确定方式仅用于举例,在实际应用中,还可以通过其他方式确定上述参数。
数据流的报文总数、错误包数量、丢包率、收发字节数、速率(上行速率、下行速率)等信息可以统称为数据流的统计信息。
实际应用中,各个流的统计信息还可以包括其他信息,例如,数据流随时间变化的流量分布信息、数据流的报文的时延信息等。
当然,若流表中不存在某个数据流的标识信息或相关统计信息时,则可以在流表中增加该数据流的标识以及相关的统计信息。
在查流表并更新流表信息之后,则可以对报文进行分析。例如,过滤报文,从而得到全部或部分报文。
作为一种示例,该过滤过程可以是过滤某个数据流的心跳包报文。则经过过滤处理后,得到该数据流的心跳包报文。该过滤处理过程可以是:通过预先设置某些特征,将满足该特征的报文保留。即满足预先设置的某些特征的报文就为过滤后的报文。
其中,心跳包报文为按照一定的时间间隔存在于数据流中的报文。心跳包报文在固定位置(例如第6个字节)存在固定特征(例如0x64或0x65)。由于该心跳包报文为按照一定时间存在的报文,因此可以基于该心跳包报文计算获得时延(例如,手机向服务器发送心跳请求报文开始,到手机接收到服务器反馈的心跳响应报文为止,总共经历的时间)。
上述示例以过滤心跳包为例进行说明,实际应用中,还可以过滤处理以获得满足其它特征的数据包报文。
作为另一示例,过滤条件还可以包括:选择保留特定长度的数据包报文。在具体实现时,确定数据包报文的长度是否为预先设置的特定长度,若是,则保留该报文,若否,则将该报文过滤掉。
经过上述处理后,得到的过滤后的部分报文被存储在套接字缓存(Socket-Buffer,SKB)队列(queues)中。
SKB队列中存储的数据流的报文上报时的策略包括:立即上报和定期上报。
若为立即上报,流量上报模块中的特定线程及时查看队列,将队列中的报文及时上报给流量管理模块。
若为定期上报,流量上报模块中设置了定时器,基于该定时器设置的时间以一定的周期查看SKB队列中的报文,将队列中的部分或全部报文上报给流量管理模块。
当然,实际应用中,SKB队列中存储的数据流的报文有些是需要立即上报的,有些是需要定期上报的。同样的原理,流量上报模块中的特定线程及时查看队列,将队列中的需要立即上报的报文及时上报给流量管理模块。流量上报模块中还设置了定时器,基于该定时器设置的时间以一定的周期查看SKB队列中的报文,将队列中的需要定期上报的报文上报给流量管理模块。
需要说明,上报报文时,还可以一并上报该报文相关的统计信息。
基于上述理解,流量上报模块并不是将Netfilter组件发送的所有报文均上报给流量管理模块。而是,将满足特定特征的报文(可以携带该满足特定特征的报文的通信参数和统计信息)上报给流量管理模块。同时上报该满足特征的报文相关的通信参数和统计信息。
作为示例,若报文1和报文2均属于同一数据流的报文。接收到报文1后查流表时,根据报文1更新流表中关于该数据流的统计信息,然而,报文1不满足特定特征,所以报文1被过滤掉,不会上报给流量管理模块。接收到报文2后查流表时,根据报文2更新流表中关于该数据流的统计信息,报文2满足特定特征,所以报文2不会被过滤掉,报文2会被上报给流量管理模块。即虽然上报了部分报文,然而,统计信息是基于该数据流下的所有报文得到的。
步骤405、流量上报模块向流量管理模块周期性上报数据流的通信参数和统计信息。
其中,数据流的通信参数可以包括协议类型、源IP地址和端口/目的IP地址和端口、报文特征。其中,协议类型为应用传输数据流时的协议类型,源IP地址和端口为发送数据流时使用的IP地址和端口,目的IP地址和端口为接收数据流时使用的IP地址和端口,报文特征为应用传输数据流时的数据包的头部特征。数据流的通信参数可以是从数据流的报文的四元组或五元组获取到的。
例如,某社交通信类应用在进行音视频通话时,数据流对应的数据包的头部特征为97开头,即data[0]=97,传输数据包时采用UDP协议,源IP地址和端口分别为221.11.6.XX和8080,目的IP地址和端口分别为221.14.4.XX和5050。
数据流的统计信息可以包括往返时延(round trip time,RTT)、丢包率、收发字节数、速率(上行速率、下行速率)等。其中,收发字节数包括发送字节数(即上传流量)和接收字节数(即下载流量)。丢包率为丢失数据包数量占所发送数据包的比率。上行速率为发送数据流的速率,下行速率为接收数据流的速率。RTT表示从电子设备(发送端)发送数据开始,到接收收到来自对端(接收端)的确认(对端接收到数据后便立即发送确认),总共经历的时长。
例如,某社交通信类应用在进行音视频通话时,收发字节数分别为10MB/8MB,上行速率和下行速率分别为200kbit/180kbit,RTT为50ms。
当然,实际应用中,流量上报模块还可以向流量管理模块上报应用网络报文的其他参数,例如流间隔时间、包间隔时间、包大小和流量分布等信息,本申请不做限定。
可选的,流量上报模块可以通过一条消息上报上述应用网络报文的通信参数和统计信息,或者,可以通过多条消息分别上报应用网络报文的通信参数和统计信息,本申请不做限定。
步骤406、流量管理模块根据数据流的通信参数和统计信息周期性进行网络质量评估得出当前QoE测量结果。
示例性的,QoE测量结果可以包括:优(流畅不卡顿)、中(可能卡顿)和差(卡顿)。例如,QoE测量结果为优的标识可以为00,QoE测量结果为中的标识可以为10,QoE测量结果为差的标识可以为11。
示例性的,如表4所示,应用程序的数据流的通信参数和统计信息分别满足不同条件时,QoE测量结果是不同的。
表4
其中,表4中的com.tencent.mm为微信包名,com.tencent.tmgp.sgame为王者荣耀包名。表4中一个条目表示应用程序的数据流的通信参数和统计信息分别满足相应条件时,可以得到相应的QoE测量结果。例如,王者荣耀的数据流采用udp协议+任意端口+0x10报文头部时,且该数据流在5个周期内连续3个周期时延超过150ms,或在4个周期内连续3个周期丢包超过20%,则QoE测量结果为差。
表4仅列举了部分应用程序的数据流的QoE评估条件(包括数据流的通信参数和统计信息分别需要满足的条件)和QoE测量结果,且仅用于示例。在实际应用中还可以采用其他不同的QoE评估条件得到QoE测量结果。本申请实施例中不再一一列出。
步骤407、流量管理模块周期性向决策模块上报当前QoE测量结果。
需要说明的是,应用A启动之后,流量上报模块可以周期性检测应用A当前使用的网络的网络质量,并周期性上报应用网络报文的通信参数和统计信息。流量管理模块根据应用网络报文的通信参数和统计信息周期性进行网络质量评估得出QoE测量结果,并周期性向决策模块通知当前QoE测量结果,直至应用A关闭。
也就是说,在应用A启动期间(或前台运行期间),流量上报模块一直在周期性检测应用A使用的网络的网络质量,流量管理模块一直在周期性进行网络质量评估得出QoE测量结果,并周期性向决策模块通知当前QoE测量结果。
即,步骤405-步骤407在应用A启动期间(或前台运行期间)可以周期性执行。
步骤408、决策模块若确定流量管理模块上报的QoE测量结果较差,则请求一条新的网络通道。
若确定流量管理模块上报的QoE测量结果较差,说明当前传输应用数据流的网络通道的质量较差,则执行网络加速策略,请求一条新的网络通道进行调优;使得应用的数据流始终在质量较好的网络通道进行传输。
步骤409、决策模块向路径管理模块发送更换路径请求。
更换路径请求用于请求另一条网络通道。
步骤410、路径管理模块确定存在另一条网络通道,该网络通道为Wi-Fi网络。
路径管理模块接收到决策模块发送的更换路径请求时,可以判断是否存在另一条网络通道。
在实际应用中,若电子设备中设有2.4GHz频段的无线网卡1、5.0GHz频段的无线网卡2、运营商A的数据业务网卡1和运营商B的数据业务网卡2。则可以默认无线网卡1或无线网卡2中的一个为主Wi-Fi,另一无线网卡为副Wi-Fi;默认运营商A的数据业务网卡1和运营商B的数据业务网卡2中的一个为主卡,另一个数据业务网卡为副卡。
作为示例,2.4GHz频段的网络通道为主Wi-Fi网络,5.0GHz频段的网络通道为辅Wi-Fi网络,数据业务网卡1对应的网络通道为主蜂窝网络,数据业务网卡2对应的网络通道为辅蜂窝网络。
在主Wi-Fi网络可用的情况下,系统默认电子设备或前台应用当前的主用网络为主Wi-Fi网络,在主Wi-Fi网络不可用的情况下,系统默认电子设备或前台应用当前的主用网络为主蜂窝网络。在主蜂窝网络不可用的情况下,系统默认电子设备或前台应用当前的主用网络为辅Wi-Fi网络,在辅Wi-Fi网络不可用的情况下,系统默认电子设备或前台应用当前的主用网络为辅蜂窝网络。
路径管理模块可以按照主Wi-Fi、主蜂窝、辅Wi-Fi和辅蜂窝的顺序依次请求,直到找到当前正在使用的网络通道之外的一条可用的网络通道。
在一种示例中,当前传输应用数据流的网络通道为主蜂窝,路径管理模块按照主Wi-Fi、辅Wi-Fi和辅蜂窝的顺序依次请求,确定存在另一可用的网络通道:辅Wi-Fi。
步骤411、路径管理模块向决策模块通知选择的另一网络通道(Wi-Fi网络)。
步骤412、决策模块接收到路径管理模块确定的网络通道后,若确定当前QoE测量结果仍然较差,则确定将应用的数据流切换到选择的另一网络通道(Wi-Fi网络)。
步骤413、决策模块通知路径探测模块探测Wi-Fi网络的信道质量。
步骤414、路径探测模块周期性探测Wi-Fi网络的信道质量并向决策模块周期性地上报该Wi-Fi网络的信道质量。
路径探测模块根据信道标识确定需要探测信道质量的Wi-Fi网络;周期性地探测该Wi-Fi网络的传输时延、丢包率、带宽、传输速率等参数;并将探测结果周期性地上报给决策模块。
步骤415、决策模块判断Wi-Fi网络的信道质量是否满足预设的质量要求。
步骤416a、决策模块确定Wi-Fi网络的信道质量不满足预设的质量要求,将应用A的数据流保持在当前网络通道。
在一种实现方式中,决策模块确定Wi-Fi网络的信道质量不满足预设的质量要求,将应用A的数据流保持在当前网络通道。待Wi-Fi网络信号稳定(满足预设的质量要求)后,再进行网络通道的切换;避免了切换到信道质量更差的Wi-Fi网络,更降低数据流传输速率。
步骤416b、决策模块确定Wi-Fi网络的信道质量满足预设的质量要求。
在一种示例中,Wi-Fi网络建立一段时间后,信号稳定。决策模块接收到路径探测模块上报的探测结果,根据Wi-Fi网络当前的传输时延、丢包率、带宽和传输速率等参数评估出Wi-Fi网络的信道质量满足预设的质量要求。
步骤417、决策模块通知策略执行模块将应用A的数据流切换到Wi-Fi网络。
步骤418、策略执行模块将应用A的数据流切换到Wi-Fi网络。
在该场景中,如果应用当前使用的网络通道的质量较差(QoE测量结果较差),则将应用的数据流切换到另一条网络通道。如果另一条网络通道是Wi-Fi网络,可以对Wi-Fi网络的信道质量进行持续检测。在Wi-Fi网络信道质量较差时(比如Wi-Fi网络刚建立的一段时间内),先将应用保持在原来的网络通道;待Wi-Fi网络信道质量变好之后,再执行将应用的数据流切换到Wi-Fi网络。这样就可以避免在网络切换过程中,由于Wi-Fi网络暂时的不稳定导致应用卡顿。
可以看出,在场景二中,电子设备的操作系统设置了网络加速策略,即在应用当前使用的网络通道的QoE较差的情况下,为应用切换其他网络通道进行数据流传输。还有部分三方应用程序也可以设置相应的网络加速策略。例如,三方应用程序可以使用多个网络通道冗余发包以减少卡顿现象。如果操作系统实现的网络加速策略和一些三方应用程序自身设置的网络加速策略发生冲突,会导致操作系统和三方应用程序双方的网络加速策略失效或异常。在一些实施例中,操作系统可以从前台应用程序获取当前的业务场景(即操作系统获取前台应用程序当前的业务场景),根据当前的业务场景确定网络加速策略。例如,在当前的业务场景为场景A时,操作系统可以向前台应用程序发送QoE测量结果,以便应用程序根据QoE测量结果进行网络加速(例如,若应用程序为视频应用,视频应用可以根据QoE测量结果调整视频分辨率以及缓存策略等);在应用程序当前的业务场景为场景B时,可以进行系统加速,例如操作系统可以将应用的数据流切换到另一条网络通道。这样充分发挥了电子设备的操作系统和应用程序的优势,使得操作系统和应用程序可以协同进行网络加速,能够避免操作系统实现的网络加速策略和三方应用程序自身设置的网络加速策略发生冲突。
示例性的,参见图13,为本申请实施例提供的基于图9所示的各个模块实现的一种无线网络切换方法的时序图,包括:
步骤501、响应于用户打开应用A的操作,应用A启动。
步骤502、感知模块感知到应用A启动,查询应用A是否支持网络加速。
步骤503、若确定应用A支持网络加速,感知模块向决策模块发送网络质量评估请求。
步骤504、决策模块向内核层的流量上报模块注册报文监听钩子。
步骤505、流量上报模块向流量管理模块周期性上报数据流的通信参数和统计信息。
步骤506、流量管理模块根据数据流的通信参数和统计信息周期性进行网络质量评估得出当前QoE测量结果。
步骤507、流量管理模块周期性向决策模块上报当前QoE测量结果。
其中,步骤501-步骤507的具体实现可以参考步骤401-步骤407,此处不再赘述。
在应用A启动之后,还可以包括以下步骤:
步骤508、应用A向网络加速服务模块发送注册请求。
该注册请求用于请求获取网络的QoE,以便应用A可以感知网络质量的变化。
步骤509、网络加速服务模块向感知模块发送注册请求。
步骤510、感知模块向网络加速服务模块发送注册结果。
在一种示例中,注册结果为成功。
步骤511、网络加速服务模块向应用A发送注册结果。
需要说明的是,步骤502-步骤507和步骤508-步骤511之间没有必然的执行先后顺序,可以是先执行步骤502-步骤507,再执行步骤508-步骤511;也可以是先执行步骤508-步骤511,再执行步骤502-步骤507;还可以是同时执行步骤502-步骤507和步骤508-步骤511;本实施例对上述各步骤之间的执行先后顺序不作具体限定。
步骤512、感知模块查询应用A对应的不需要系统加速的业务场景。
感知模块感知到应用程序启动/切换到前台,并确定该应用程序是支持网络加速的应用程序,还可以查询该应用程序对应的不需要系统加速的业务场景。
需要说明的是,支持网络加速的应用程序包括两种类型的业务场景,一种类型的业务场景是需要系统加速的业务场景(场景B),另一种类型的业务场景是不需要系统加速的业务场景(场景A)。其中,系统加速是指电子设备的操作系统根据不同的应用类别和/或不同的业务场景设置网络加速策略,并在满足预设条件的情况下执行网络加速策略。当前的业务场景是需要系统加速的业务场景时,电子设备的操作系统可以在预设条件的情况下执行预设网络加速策略(例如,将应用当前的业务场景对应的数据流从正在使用的网络通道切换到另一网络通道)。当前的业务场景是不需要系统加速的业务场景时,电子设备的操作系统可以在满足预设条件(例如,网络卡顿)时,向应用发送QoE测量结果,以便应用根据QoE测量结果进行网络加速。
感知模块中可以存储多个应用程序(支持网络加速的应用程序)对应的不需要系统加速的业务场景。如表5所示,示例性示出部分应用程序对应的不需要系统加速的业务场景。
表5
/>
感知模块通过查表(例如,表5),可以确定应用A对应的不需要系统加速的业务场景。例如,若应用A为王者则应用A不需要系统加速的业务场景包括对战场景。需要说明的是,表5仅是一种示意,实际实现时应用程序可以包括其他或更多不需要系统加速的业务场景。
步骤513、感知模块向决策模块通知应用A对应的不需要系统加速的业务场景。
步骤514、决策模块记录应用A对应的不需要系统加速的业务场景。
可以理解的是,应用程序在运行过程中,可以进入、切换、退出各种业务场景。以应用A为游戏类应用为例,示例性的,游戏类应用可以包括不同的类型的业务场景,比如登录场景,跑图场景,对战场景,结算场景,大厅场景等。下面以应用A进入对战场景为例进行说明。
步骤515、应用A进入对战场景,通知网络加速服务模块其进入对战场景。
步骤516、网络加速服务模块通知感知模块应用A进入对战场景。
步骤517、感知模块通知决策模块应用A进入对战场景。
步骤518、决策模块确定对战场景属于不需要系统加速的业务场景,且当QoE测量结果发生变化时,决策模块向感知模块发送QoE测量结果。
当数据流的QoE测量结果发生变化时(例如,Qoe测量结果由优变为差,或者由差变为优时),决策模块向感知模块发送QoE测量结果。
当前QoE测量结果是差时,决策模块检测到当前应用程序的业务场景(对战场景)不需要系统加速,则通过感知模块和网络加速服务模块向应用程序发送QoE测量结果,不进行系统加速,仅将QoE测量结果通知给应用程序。
步骤519、感知模块向网络加速服务模块通知QoE测量结果。
步骤520、网络加速服务模块向应用A通知QoE测量结果。
步骤521、应用A根据QoE测量结果进行网络加速。
以应用A为游戏类应用为例,应用A接收到QoE测量结果,当QoE测量结果为差时,应用A可以切换游戏服务器、降低游戏帧率,以减少卡顿现象;当QoE测量结果为优时,应用A可以再次切换游戏服务器(切换到原始服务器)、提高游戏帧率,以提升用户体验。
又例如,若应用A为视频类应用,应用A接收到QoE测量结果,当QoE测量结果为差时,应用A可以降低当前视频的分辨率,以减少视频卡顿现象;当QoE测量结果为优时,应用A可以恢复视频的分辨率,以提升用户体验。
步骤522、应用A退出对战场景,通知网络加速服务模块其退出对战场景。
应用A退出对战场景后,可能进入其他场景(比如隐秘场景),然而应用A可能不愿向系统暴露该隐秘场景,因此可以仅通知网络加速服务模块其退出对战场景。或者,应用A退出对战场景后,又进入跑图场景,即从对战场景切换到跑图场景,可以直接向网络加速服务模块通知其切换到跑图场景。
步骤523、网络加速服务模块通知感知模块应用A退出对战场景。
或者,网络加速服务模块通知感知模块应用A切换到跑图场景。
步骤524、感知模块通知决策模块应用A退出对战场景。
或者,感知模块可以通知决策模块应用A切换到跑图场景。
步骤525、决策模块确定应用A退出对战场景后,若确定流量管理模块上报的QoE测量结果较差,则执行系统加速策略,请求一条新的网络通道。
步骤526、决策模块向路径管理模块发送更换路径请求。
步骤527、路径管理模块确定存在另一条网络通道,该网络通道为Wi-Fi网络。
步骤528、路径管理模块向决策模块通知选择的另一网络通道(Wi-Fi网络)。
步骤529、决策模块接收到路径管理模块确定的网络通道后,若确定当前QoE测量结果仍然较差,则确定将应用的数据流切换到选择的另一网络通道(Wi-Fi网络)。
步骤530、决策模块通知路径探测模块探测Wi-Fi网络的信道质量。
步骤531、路径探测模块周期性探测Wi-Fi网络的信道质量并向决策模块周期性地上报该Wi-Fi网络的信道质量。
步骤532、决策模块判断Wi-Fi网络的信道质量是否满足预设的质量要求。
步骤533a、决策模块确定Wi-Fi网络的信道质量不满足预设的质量要求,将应用A的数据流保持在当前网络通道。
步骤533b、决策模块确定Wi-Fi网络的信道质量满足预设的质量要求。
步骤534、决策模块通知策略执行模块将应用A的数据流切换到Wi-Fi网络。
步骤535、策略执行模块将应用A的数据流切换到Wi-Fi网络。
其中,步骤526-步骤535的具体实现方式可以参考步骤409-步骤418,此处不再赘述。
在该实施例中,对于不需要系统加速的业务场景,应用程序根据自身设置的网络加速策略进行网络加速;在应用退出不需要系统加速的业务场景后,操作系统可以根据QoE测量结果进行网络通道的切换。如果切换目标是Wi-Fi网络,可以对Wi-Fi网络的信道质量进行持续检测。在Wi-Fi网络信道质量较差时(比如Wi-Fi网络刚建立的一段时间内),先将应用保持在原来的网络通道;待Wi-Fi网络信道质量变好之后,再执行将应用的数据流切换到Wi-Fi网络。避免在网络切换过程中,由于Wi-Fi网络暂时的不稳定导致应用卡顿。
上述场景三的网络加速策略中,应用通过一个网络通道传输数据流时,如果探测到该网络通道的QoE较差,则自动将该应用的数据流切换到多条网络通道上并行传输,以便通过多条质量较优的网络通道进行上网。如果切换后的网络通道为Wi-Fi网络,在执行切换前,可以对Wi-Fi网络的信道质量进行持续检测。在Wi-Fi网络信道质量较差时(比如Wi-Fi网络刚建立的一段时间内),先将数据流保持在原来的网络通道;待Wi-Fi网络信道质量变好之后,再执行将数据流切换到Wi-Fi网络。这样就可以避免在网络切换过程中,由于Wi-Fi网络暂时的不稳定导致应用卡顿。场景三中电子设备的各个模块的具体实现可以参考场景二中各个模块的具体实现,本申请实施例中不再一一示例。
可以理解的是,上述各个场景还可以进行任意组合。比如,电子设备在使用蜂窝网络传输应用A数据流的过程中,建立了主Wi-Fi网络,将应用A的数据流切换到该主Wi-Fi网络。之后,检测到主Wi-Fi网络的QoE较差,将应用A的数据流切换到辅Wi-Fi网络。即先进入场景一,又进入了场景二。又比如,电子设备在使用主蜂窝网络传输应用A数据流的过程中,检测到主蜂窝网络的QoE较差,将应用A的数据流切换到辅Wi-Fi网络。过了一段时间,辅Wi-Fi网络关闭,将应用A的数据流切换到主蜂窝网络。之后,检测到建立了主Wi-Fi网络,将应用A的数据流切换到该主Wi-Fi网络。即先进入场景二,又进入了场景一。
在各个组合场景中,每次切换网络通道时,如果切换目标网络是Wi-Fi网络,都可以采用本申请实施例提供的方法,对Wi-Fi网络的信道质量进行持续检测。在Wi-Fi网络信道质量较差时(比如Wi-Fi网络刚建立的一段时间内),先将数据流保持在原来的网络通道;待Wi-Fi网络信道质量变好之后,再执行将应用的数据流切换到Wi-Fi网络。这样就可以避免Wi-Fi网络暂时的不稳定导致切换网络通道过程中应用卡顿。
本申请一些实施例提供了一种电子设备,该电子设备可以包括:存储器、通信模块和一个或多个处理器。该通信模块、存储器和处理器耦合。该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令。当处理器执行计算机指令时,电子设备可执行上述方法实施例中电子设备执行的各个功能或者步骤。该电子设备的结构可以参考图1所示的电子设备100的结构。
本申请实施例还提供一种芯片系统(例如,片上系统(system on a chip,SoC)),如图14所示,该芯片系统包括至少一个处理器601和至少一个接口电路602。处理器601和接口电路602可通过线路互联。例如,接口电路602可用于从其它装置(例如电子设备的存储器)接收信号。又例如,接口电路602可用于向其它装置(例如处理器601或者电子设备的触摸屏或者电子设备的摄像头)发送信号。示例性的,接口电路602可读取存储器中存储的指令,并将该指令发送给处理器601。当所述指令被处理器601执行时,可使得芯片系统执行上述实施例中各个模块的步骤。当然,该芯片系统还可以包含其他分立器件,本申请实施例对此不作具体限定。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令,当所述计算机指令在上述电子设备上运行时,使得该电子设备执行上述方法实施例中电子设备执行的各个功能或者步骤。
本申请实施例还提供一种计算机程序产品,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行上述方法实施例中电子设备执行的各个功能或者步骤。
通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (12)

1.一种无线网络切换方法,应用于电子设备,其特征在于,所述方法包括:
电子设备通过第一网路通道传输第一应用的数据流;所述第一网络通道为蜂窝网络或Wi-Fi网络;
在满足预设切换条件后,所述电子设备周期性采集第二网络通道的信道质量;其中,所述预设切换条件用于判断是否切换用于传输所述第一应用的数据流的网络通道,所述第二网络通道是待切换的目的网络通道,所述第二网络通道为Wi-Fi网络,所述信道质量包括传输时延、丢包率、带宽和传输速率中至少一项;
如果确定所述第二网络通道的信道质量满足预设的质量要求,所述电子设备切换为通过所述第二网路通道传输所述第一应用的数据流。
2.根据权利要求1所述的方法,其特征在于,在满足预设切换条件后,所述方法还包括:
如果确定所述第二网络通道的信道质量不满足预设的质量要求,所述电子设备保持通过所述第一网路通道传输所述第一应用的数据流。
3.根据权利要求1或2所述的方法,其特征在于,所述确定所述第二网络通道的信道质量满足预设的质量要求,包括:
所述第二网络通道的传输时延小于预设时延阈值,丢包率小于预设丢包率阈值,带宽大于预设带宽阈值,以及传输速率大于预设传输速率阈值中至少一项。
4.根据权利要求1-3中任意一项所述的方法,其特征在于,所述第一网络通道为蜂窝网络,所述预设切换条件包括:检测到成功建立所述第二网络通道。
5.根据权利要求1-3中任意一项所述的方法,其特征在于,
所述方法还包括:
所述电子设备周期性采集所述第一应用的数据流的体验质量QoE测量结果;
所述预设切换条件包括:所述第一应用的数据流的QoE测量结果指示所述第一应用的数据流发生卡顿。
6.根据权利要求5所述的方法,其特征在于,
所述QoE测量结果是根据所述第一应用的数据流的通信参数和统计信息确定的,所述通信参数包括协议类型、源网际协议IP地址和端口/目的IP地址和端口、报文特征中的至少一项,所述统计信息包括往返时延RTT、丢包率、收发字节数、速率中的至少一项。
7.根据权利要求5或6所述的方法,其特征在于,在满足预设切换条件后,所述电子设备周期性采集第二网络通道的信道质量之前,所述方法还包括:
如果所述第一应用当前的业务场景为第一场景,所述第一应用进行网络加速处理,所述网络加速处理包括降低所述第一应用的帧率或降低所述第一应用的分辨率中的至少一种;其中,所述第一场景是所述第一应用确定的不需要自动切换网络通道的业务场景。
8.根据权利要求5或6所述的方法,其特征在于,所述在满足预设切换条件后,所述电子设备周期性采集第二网络通道的信道质量,包括:
如果满足预设切换条件且所述第一应用当前的业务场景为第二场景,所述电子设备周期性采集第二网络通道的信道质量;其中,所述第二场景是所述第一应用确定的需要自动切换网络通道的业务场景。
9.根据权利要求5-8中任意一项所述的方法,其特征在于,所述电子设备周期性采集所述第一应用的数据流的体验质量QoE测量结果,包括:
所述电子设备的内核层注册有报文监听钩子,所述报文监听钩子用于周期性探测所述第一应用使用的所述第一网络通道的路径,以及监测所述第一应用使用的所述第一网络通道传输的数据流的通信参数和统计信息;
所述电子设备根据所述通信参数和所述统计信息周期性进行网络质量评估得出当前体验质量QoE测量结果。
10.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述处理器用于运行存储器中存储的计算机程序,以使得所述电子设备实现如权利要求1-9中任意一项所述的方法。
11.一种芯片系统,其特征在于,包括处理器,所述处理器与存储器耦合,所述处理器执行存储器中存储的计算机程序,以实现如权利要求1-9中任意一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储计算机程序,所述计算机程序在处理器上运行时实现如权利要求1-9中任意一项所述的方法。
CN202211268056.6A 2022-10-17 2022-10-17 一种无线网络切换方法和电子设备 Pending CN116709442A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211268056.6A CN116709442A (zh) 2022-10-17 2022-10-17 一种无线网络切换方法和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211268056.6A CN116709442A (zh) 2022-10-17 2022-10-17 一种无线网络切换方法和电子设备

Publications (1)

Publication Number Publication Date
CN116709442A true CN116709442A (zh) 2023-09-05

Family

ID=87838087

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211268056.6A Pending CN116709442A (zh) 2022-10-17 2022-10-17 一种无线网络切换方法和电子设备

Country Status (1)

Country Link
CN (1) CN116709442A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116709368A (zh) * 2022-10-17 2023-09-05 荣耀终端有限公司 一种网络加速方法和装置

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180176841A1 (en) * 2016-12-20 2018-06-21 Microsoft Technology Licensing, Llc Switching between network media based on connection quality
US20200045612A1 (en) * 2018-08-03 2020-02-06 Google Llc Managing Mobility Between a Cellular Network and a Wireless Local Area Network (WLAN)
US20210120471A1 (en) * 2017-07-13 2021-04-22 Samsung Electronics Co., Ltd. Method and device for performing handover in wireless communication system
CN113163462A (zh) * 2021-02-23 2021-07-23 深圳市优克联新技术有限公司 蜂窝网络切换方法及装置
CN113747489A (zh) * 2021-07-30 2021-12-03 荣耀终端有限公司 Udp通信质量评估方法、装置及电子设备
CN113747527A (zh) * 2021-07-30 2021-12-03 荣耀终端有限公司 基于电子设备状态的网络链路切换方法和电子设备
CN113795040A (zh) * 2021-06-16 2021-12-14 荣耀终端有限公司 通道切换方法、电子设备及存储介质
CN114071627A (zh) * 2021-11-10 2022-02-18 重庆传音通讯技术有限公司 网络切换方法、智能终端及存储介质
CN114449599A (zh) * 2021-07-30 2022-05-06 荣耀终端有限公司 基于电子设备位置的网络链路切换方法和电子设备
CN114641042A (zh) * 2020-12-15 2022-06-17 华为技术有限公司 一种网络切换方法及装置
CN115002848A (zh) * 2021-11-17 2022-09-02 荣耀终端有限公司 网络切换方法、介质、程序产品和电子设备
CN115002819A (zh) * 2021-10-20 2022-09-02 荣耀终端有限公司 网络质量评估方法及装置

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180176841A1 (en) * 2016-12-20 2018-06-21 Microsoft Technology Licensing, Llc Switching between network media based on connection quality
US20210120471A1 (en) * 2017-07-13 2021-04-22 Samsung Electronics Co., Ltd. Method and device for performing handover in wireless communication system
US20200045612A1 (en) * 2018-08-03 2020-02-06 Google Llc Managing Mobility Between a Cellular Network and a Wireless Local Area Network (WLAN)
CN114641042A (zh) * 2020-12-15 2022-06-17 华为技术有限公司 一种网络切换方法及装置
CN113163462A (zh) * 2021-02-23 2021-07-23 深圳市优克联新技术有限公司 蜂窝网络切换方法及装置
CN113795040A (zh) * 2021-06-16 2021-12-14 荣耀终端有限公司 通道切换方法、电子设备及存储介质
CN113747489A (zh) * 2021-07-30 2021-12-03 荣耀终端有限公司 Udp通信质量评估方法、装置及电子设备
CN113747527A (zh) * 2021-07-30 2021-12-03 荣耀终端有限公司 基于电子设备状态的网络链路切换方法和电子设备
CN114449599A (zh) * 2021-07-30 2022-05-06 荣耀终端有限公司 基于电子设备位置的网络链路切换方法和电子设备
CN115002819A (zh) * 2021-10-20 2022-09-02 荣耀终端有限公司 网络质量评估方法及装置
CN114071627A (zh) * 2021-11-10 2022-02-18 重庆传音通讯技术有限公司 网络切换方法、智能终端及存储介质
CN115002848A (zh) * 2021-11-17 2022-09-02 荣耀终端有限公司 网络切换方法、介质、程序产品和电子设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116709368A (zh) * 2022-10-17 2023-09-05 荣耀终端有限公司 一种网络加速方法和装置
CN116709368B (zh) * 2022-10-17 2024-04-16 荣耀终端有限公司 一种网络加速方法和装置

Similar Documents

Publication Publication Date Title
EP4024806A1 (en) Data transceiving method, electronic device, and computer-readable storage medium
CN110771222B (zh) 寻呼配置方法、装置、通信设备及存储介质
CN110913424B (zh) 网络连接控制方法和装置、终端、计算机存储介质
CN114172791B (zh) 通道切换方法、电子设备及存储介质
CN111543118A (zh) Rrc状态改变的方法、装置、通信设备及存储介质
CN112236977A (zh) 参数配置方法、装置、通信设备和存储介质
CN112291833B (zh) 一种设备控制方法、系统相关装置
CN116709442A (zh) 一种无线网络切换方法和电子设备
US20220322170A1 (en) Monitoring method, instruction sending method and device, communication apparatus and storage
WO2023087853A1 (zh) 一种网络加速方法、电子设备、芯片系统及存储介质
WO2023087852A1 (zh) 一种网络加速方法、电子设备、芯片系统及存储介质
CN113810965B (zh) 通道切换方法、电子设备及存储介质
CN116744329A (zh) 一种网络加速方法和电子设备
CN116709368B (zh) 一种网络加速方法和装置
WO2023087850A1 (zh) 网络加速方法、电子设备、芯片系统及可读存储介质
EP4307762A1 (en) Method for transmitting packet in wireless local area network and electronic device
CN116405960B (zh) 一种网络质量的检测方法及相关电子设备
WO2024082811A1 (zh) 一种网络加速方法和装置
CN117915356A (zh) 一种网络加速方法和装置
CN113473539B (zh) 一种数据传输方法及电子设备
US20240163052A1 (en) Information processing method and apparatus, communication device, and storage medium
WO2021143921A1 (zh) 一种多路径传输控制的方法及控制装置
WO2023205979A1 (zh) 信息处理方法及装置、通信设备及存储介质
CN116709369A (zh) 一种网络加速方法及电子设备
CN118102479A (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