CN116137730A - 一种网络加速方法、电子设备、芯片系统及存储介质 - Google Patents
一种网络加速方法、电子设备、芯片系统及存储介质 Download PDFInfo
- Publication number
- CN116137730A CN116137730A CN202111383410.5A CN202111383410A CN116137730A CN 116137730 A CN116137730 A CN 116137730A CN 202111383410 A CN202111383410 A CN 202111383410A CN 116137730 A CN116137730 A CN 116137730A
- Authority
- CN
- China
- Prior art keywords
- network
- data stream
- condition
- application
- flow
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 118
- 230000001133 acceleration Effects 0.000 title claims abstract description 67
- 230000005540 biological transmission Effects 0.000 claims description 161
- 238000004590 computer program Methods 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 8
- 238000004891 communication Methods 0.000 abstract description 30
- 230000000903 blocking effect Effects 0.000 abstract description 2
- 238000007726 management method Methods 0.000 description 161
- 238000004422 calculation algorithm Methods 0.000 description 125
- 238000013441 quality evaluation Methods 0.000 description 70
- 238000011156 evaluation Methods 0.000 description 51
- 238000012544 monitoring process Methods 0.000 description 42
- 238000001303 quality assessment method Methods 0.000 description 33
- 230000006872 improvement Effects 0.000 description 31
- 230000008569 process Effects 0.000 description 22
- 230000006870 function Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 19
- 238000001514 detection method Methods 0.000 description 18
- 230000001413 cellular effect Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 11
- 238000010295 mobile communication Methods 0.000 description 10
- 230000002618 waking effect Effects 0.000 description 10
- 238000001914 filtration Methods 0.000 description 9
- 230000005236 sound signal Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 230000001976 improved effect Effects 0.000 description 8
- 239000000523 sample Substances 0.000 description 6
- 230000006855 networking Effects 0.000 description 5
- 230000008093 supporting effect Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 239000012634 fragment Substances 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 206010033799 Paralysis Diseases 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请提供一种网络加速方法、电子设备、芯片系统及存储介质,涉及网络通信技术领域,可以降低视频播放卡顿的现象。该方法包括:在电子设备运行不包括P2P流的应用时,在当前使用的网络质量较差时,可以将对网络质量要求高的数据流切换到其他质量更优网络上。在电子设备运行包括P2P流的应用时,在当前使用的网络较差时,由于比较难将P2P流切换到其他质量更优网络上,可以将电子设备所有的数据流切换到其他网络上,从而降低了由于比较难将P2P流切换到其他质量更优的网络上,导致的视频卡顿现象。
Description
技术领域
本申请涉及网络通信领域,尤其涉及一种网络加速方法、电子设备、芯片系统及存储介质。
背景技术
随着电子设备的智能化程度越来越高,电子设备中安装运行的应用软件也越来越多。很多应用软件在运行过程中需要通过网络与相应的服务器通信,以实现该应用软件提供的各种功能。
在用户使用应用软件的过程中,若某个数据流的传输质量较差,可以基于该数据流的特征将具有该特定特征的数据流切换到其他网络上传输。然而,在视频流的应用场景中,执行流切换后,仍然常常出现视频卡顿的现象。
发明内容
本申请提供一种网络加速方法、电子设备、芯片系统及存储介质,以降低视频卡顿的现象。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请提供一种网络加速方法,该方法包括:
电子设备运行第一应用,电子设备通过第一网卡传输第一应用的第一数据流和第二数据流,第一网卡为无线局域网网卡,第一网卡用于连接无线路由器,第一网卡接收到的无线路由器的信号具有第一强度,第一数据流和第二数据流均不为P2P流;
在第一网卡接收到的无线路由器的信号具有第二强度时,电子设备通过第二网卡传输第一数据流,电子设备通过第一网卡传输第二数据流,第二强度小于第一强度,第二网卡的网络质量高于第一网卡的网络质量;
电子设备运行第二应用,电子设备通过第一网卡传输第二应用的第三数据流和第四数据流,第一网卡接收到的无线路由器的信号具有第一强度,第三数据流不为P2P流,第四数据流为P2P流;
在第一网卡接收到的无线路由器的信号具有第二强度时,电子设备通过第二网卡传输第三数据流和第四数据流。
本申请中,在电子设备运行不包括P2P流的应用时,在当前使用的网络质量较差时,可以将对网络质量要求高的数据流切换到其他网络上,其他数据流通过原网卡上传输。在电子设备运行包括P2P流的应用时,在当前使用的网络较差时,由于无法将P2P流切换到其他网络上,可以将电子设备所有的数据流切换到其他网络上。从而降低了无法将P2P流切换到其他网络上导致P2P流保留在原网络上出现的视频卡顿现象。
作为第一方面的一种实现方式,第一数据流为具有第一特征的数据报文组成的数据流,第二数据流为具有第二特征的数据报文组成的数据流,第一特征和第二特征中的以下至少一个参数不同:数据报文的传输协议、传输端口和头部特征。
本申请中,可以通过数据报文携带的相关信息(传输协议、传输端口和头部特征)区分不同的数据流,从而能够实现流级的识别、流级的质量评估,流级的网络切换。
作为第一方面的一种实现方式,电子设备通过第一网卡传输第一应用的第一数据流和第二数据流的过程中,该方法包括:
电子设备获取第一特征对应的第一条件和第二特征对应的第二条件,第一条件为第一数据流到第二网卡上传输的条件,第二条件为第二数据流到第二网卡上传输的条件;
电子设备判断第一数据流的流质量参数是否满足第一条件,判断第二数据流的流质量参数是否满足第二条件,流质量参数包括以下至少一项参数:时延、速率、丢包率、重传率和报文响应是否超时。
本申请中,可以预先为不同特征设置不同的条件,以具有第一特征的第一数据流为例,在确定第一应用的数据流的特征满足第一特征的情况下,可以得到第一条件,然后,判断满足第一特征的数据流的流质量参数是否满足第一条件。
作为第一方面的一种实现方式,第一网卡接收到的无线路由器的信号具有第一强度时,第一数据流的流质量参数不满足第一条件,第二数据流的流质量参数不满足第二条件;
第一网卡接收到的无线路由器的信号具有第二强度时,第一数据流的流质量参数满足第一条件,第二数据流的流质量参数不满足第二条件。
作为第一方面的一种实现方式,第三数据流为具有第三特征的数据流,第四数据流为具有第四特征的数据流;第三特征和第四特征中的以下至少一个参数不同:数据报文的传输协议、传输端口和头部特征。
作为第一方面的一种实现方式,电子设备通过第一网卡传输第二应用的第三数据流和第四数据流的过程中,该方法包括:
电子设备获取第三特征对应的第三条件和第四特征对应的第四条件,第三条件为第三数据流到第二网卡上传输的条件,或第三数据流和第四数据流到第二网卡上传输的条件,第四条件为第三数据流和第四数据流到第二网卡上传输的条件;
电子设备判断第三数据流的流质量参数是否满足第三条件,判断第四数据流的流质量参数是否满足第四条件,流质量参数包括以下至少一项参数:时延、速率、丢包率、重传率和报文响应是否超时。
作为第一方面的一种实现方式,第一网卡接收到的无线路由器的信号具有第一强度时,第三数据流的流质量参数不满足第三条件,第四数据流的流质量参数不满足第四条件;
若第三条件为第三数据流到第二网卡上传输的条件,则第一网卡接收到的无线路由器的信号具有第二强度时,第四数据流的流质量参数满足第四条件;
若第三条件为第三数据流和第四数据流到第二网卡上传输的条件,则第一网卡接收到的无线路由器的信号具有第二强度时,第三数据流的流质量参数满足第三条件或第四数据流的流质量参数满足第四条件。
作为第一方面的一种实现方式,电子设备通过第二网卡传输第三数据流和第四数据流包括:
电子设备查看电子设备是否存储有备用网络;
在电子设备存储有备用网络的情况下,电子设备通过备用网络传输第三数据流和第四数据流,其中,备用网络包括第二网卡对应的第二网络。
本申请中,为了及时将满足对应的流质量评估条件的数据流切换到其他网络上,可以预先得到备用网络并存储,以在数据流的流质量参数满足对应的条件时,及时将满足对应的评估条件的数据流切换到备用网络。
作为第一方面的一种实现方式,该方法还包括:
在电子设备未存储有备用网络的情况下,电子设备获取电子设备的第三网卡对应的网络的网络质量参数,第三网卡为电子设备中除第一网卡以外的其他网卡,网络质量参数包括以下至少一项:带宽、时延和空口速率;
在第二网卡为第三网卡中网络质量最优的网卡的情况下,电子设备将第二网卡对应的第二网络作为备用网络存储,网络质量由网络质量参数确定。
本申请中,也可以在未存储备用网络的情况下,先得到备用网络,然后下次判定数据流的流质量参数满足对应的评估条件的情况下,将数据流切换到备用网络上传输。
作为第一方面的一种实现方式,电子设备将第二网卡对应的第二网络作为备用网络存储之前,该方法还包括:
电子设备唤醒第二网卡对应的第二网络。
作为第一方面的一种实现方式,电子设备将第二网卡对应的第二网络作为备用网络存储之前,该方法还包括:
电子设备获取第一网卡对应的第一网络的网络质量参数;
相应的,电子设备将第二网卡对应的第二网络作为备用网络存储包括:
在第二网卡对应的第二网络的网络质量优于第一网卡对应的第一网络的网络质量的情况下,电子设备将第二网卡对应的第二网络作为备用网络存储。
本申请中,还需要确定除主用网络以外的其他网络中质量最优的网络的网络质量是不是优于主用网络的网络质量。在优于主用网络的网络质量的情况下,才会作为备用网络,避免将数据流从网络质量不符合当前数据流的要求的主用网络切换到网络质量更差的网络上。作为第一方面的一种实现方式,电子设备运行第二应用包括:
电子设备在前台运行第二应用;
相应的,该方法还包括:
电子设备检测到第一应用在前台运行后,电子设备按照电子设备的网卡的优先级顺序依次执行主用网络确定步骤,直到得到电子设备的主用网络;
其中,主用网络确定步骤包括:
电子设备获取第四网卡对应的网络的网络状态,第四网卡为电子设备的一个网卡;
在第四网卡的网络状态为可用的情况下,电子设备获取第四网卡的网络质量参数;在第四网卡的网络状态为不可用的情况下,结束本轮主用网络确定步骤;
在第四网卡的网络质量参数在预设范围内的情况下,将第四网卡作为电子设备的主用网络存储;在第四网卡的网络质量参数不在预设范围内的情况下,结束本轮主用网络确定步骤。
本申请中,电子设备设置了网卡优先级的情况下,会按照网卡优先级顺序选择可用、切网络质量满足预设要求(例如,网络质量参数在预设范围内)的网卡作为主用网卡传输电子设备前台运行的应用的数据流。因此,可以在应用切换到前台后,按照同样的逻辑得到电子设备的主用网卡,主用网卡即传输第一应用的数据流的网卡。
作为第一方面的一种实现方式,电子设备获取第一网卡对应的第一网络的网络质量参数包括:
在得到电子设备的主用网络之后,电子设备以第一周期监测主用网络的网络质量参数。
本申请中,为了便于随时和得到的备用网络的网络质量进行比较,需要定期监测主用网络的网络质量参数。
作为第一方面的一种实现方式,电子设备获取传输第三数据流和第四数据流的网络,传输第三数据流和第四数据流的网络为第一网卡对应的第一网络;
电子设备以第一周期监测第一网络的网络质量参数。
本申请还可以通过传输当前前台应用的数据流的网络确定主用网络。从而提供多样化的方式获取主用网络的网络质量参数,以便于在确定备用网络时,比较网络质量的优劣(或高低)。
第二方面,提供一种电子设备,包括处理器,处理器用于运行存储器中存储的计算机程序,实现本申请第一方面任一项的方法。
第三方面,提供一种芯片系统,包括处理器,处理器与存储器耦合,处理器执行存储器中存储的计算机程序,以实现本申请第一方面任一项的方法。
第四方面,提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被一个或多个处理器执行时实现本申请第一方面任一项的方法。
第五方面,本申请提供了一种计算机程序产品,当计算机程序产品在设备上运行时,使得设备执行本申请第一方面任一项的方法。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
图1为本申请实施例提供的一种电子设备的硬件结构示意图;
图2为本申请实施例提供的一种应用场景示意图;
图3为本申请实施例提供的一种网络加速方法示意图;
图4为本申请实施例提供的另一应用场景示意图;
图5为本申请实施例提供的另一网络加速方法示意图;
图6为本申请实施例提供的一种网络加速方法的流程示意图;
图7为本申请实施例提供的技术架构图;
图8为本申请实施例提供的网络加速方法的时序图;
图9为本申请实施例提供的另一网络加速方法的时序图;
图10为本申请实施例提供的另一网络加速方法的时序图;
图11为本申请实施例提供的另一网络加速方法的时序图;
图12为本申请实施例提供的另一网络加速方法的时序图;
图13为本申请实施例提供的流量上报组件上报给流量感知组件数据流的示意图;
图14为本申请实施例提供的一种CDN网络架构;
图15为本申请实施例提供的一种包含P2P技术的CDN网络架构;
图16为本申请实施例提供的一种包含P2P流的数据流的网络加速方法的时序图;
图17为本申请实施例提供的另一种包含P2P流的数据流的网络加速方法的时序图;
图18为本申请实施例提供的一种包含P2P流的数据流的网络加速方法的应用场景图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请实施例中,“一个或多个”是指一个、两个或两个以上;“和/或”,描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”、“第四”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例提供的一种网络加速方法,可以适用于电子设备中。该电子设备可以为平板电脑、手机、可穿戴设备、笔记本电脑、超级移动个人计算机(ultra-mobilepersonal 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,摄像头193,显示屏194,以及用户标识模块(subscriberidentification module,SIM)卡接口195等。其中,传感器模块180可以包括压力传感器180A,触摸传感器180K等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备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,外部存储器,显示屏194,摄像头193,和无线通信模块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转为电磁波辐射出去。
无线通信模块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可以通过无线通信技术与网络以及其他设备通信。
电子设备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)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
摄像头193用于捕获静态图像或视频。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。
本申请实施例并未特别限定一种网络加速方法的执行主体的具体结构,只要可以通过运行记录有本申请实施例的一种网络加速方法的代码,以根据本申请实施例提供的一种网络加速方法进行处理即可。例如,本申请实施例提供的一种网络加速方法的执行主体可以是电子设备中能够调用程序并执行程序的功能模块,或者为应用于电子设备中的处理装置,例如,芯片。
如图1所示的电子设备中可以安装运行多个应用,例如:社交通信应用、游戏应用、音视频应用和新闻应用等。这些应用可以通过所在的电子设备与其他电子设备(例如,应用对应的服务器)建立网络连接。
作为示例,应用A可以通过所在的电子设备中的无线网卡(也可记为Wi-Fi网卡)与应用A对应的服务器建立网络连接;应用A还可以通过所在的电子设备中的数据业务网卡与应用A对应的服务器建立网络连接。其中,无线网卡为支持无线局域网(Wireless LocalArea Network,WLAN)上网的装置;数据业务网卡为支持分组无线服务(General packetradio service,GPRS)、增强型数据速率GSM演进技术(Enhanced Data Rate for GSMEvolution,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网络;将一个电子设备通过数据业务网卡与其他电子设备之间建立的网络通道记为蜂窝网络。
在实际应用中,不同应用(或者不同类别的应用)对所使用的网络通道的质量的要求不同。
参见图2,用户使用手机中的应用A(游戏类应用)玩游戏,其中,手机中的应用A通过手机中的无线网卡与应用A的服务器A建立网络连接,应用A和服务器A之间产生的数据流A(例如,游戏对战时产生的数据流)通过手机上的无线网卡和无线路由器之间的Wi-Fi网络传输。用户使用手机中的应用B(聊天类应用)聊天,其中,手机中的应用B通过手机的无线网卡与应用B的服务器B建立网络连接,应用B和服务器B之间产生的数据流B(例如,聊天时产生的数据流)通过手机上的无线网卡和无线路由器之间的Wi-Fi网络传输。
本申请实施例中将两个电子设备之间传输的数据序列记为数据流。在实际应用中,基于该数据流的应用场景,该数据流可以为视频流、音频流、下载流、会话流等。
若用户在同一位置(无线网卡和无线路由器之间的距离相同)、同一时间范围内(例如,半个小时以内)使用手机中的应用A和手机中的应用B,理论上Wi-Fi网络质量差异不大。然而,由于数据流A相比于数据流B在单位时间内产生的数据量更大,所以数据流A相比于数据流B对Wi-Fi网络的质量要求更高。用户使用应用B时比较顺畅,然而,用户使用应用A时可能出现卡顿现象,导致用户的体验较差。
因此,不同应用(或不同类别的应用)对网络通道的质量的要求是不同的。本申请实施例可以针对不同应用(或不同类别的应用)设置不同的网络质量评估算法。在评估某个应用当前使用的网络通道不足以承载该应用产生的数据流的情况下(例如,用户携带手机远离无线路由器的位置等),设置传输质量提升策略以加速数据流传输。
参见图3,在通过网络质量评估算法评估应用A的数据流A的传输质量较差的情况下,可以将数据流A从当前的Wi-Fi网络切换到其他网络通道。如图3所示,手机可以将数据流A切换到手机的数据业务网卡和基站之间的蜂窝网络上,以通过该蜂窝网络与服务器A传输数据流A。
另外,即使用户使用同一应用处理不同业务时,对该应用使用的网络通道的质量的要求可能也不相同。
参见图4,用户使用应用A进行下载时,产生下载流A1,用户使用应用A进行会话时,产生会话流A2。下载流A1和会话流A2均可以通过无线网卡和2.4GHz的无线路由器之间的Wi-Fi网络传输。
若用户在同一位置(无线网卡和无线路由器之间的距离相同)、同一时间范围内(例如,半个小时以内)使用手机中的应用A分别进行下载和会话,理论上,网络通道质量差异不大。然而,由于数据流A1相比于数据流A2在单位时间内产生的数据量更大,所以数据流A1相比于数据流B对网络通道的质量要求更高。用户使用应用A进行会话时比较顺畅,然而,用户使用应用A进行下载时可能觉得下载速率太慢,导致用户的体验较差。
因此,同一应用的不同业务场景对网络通道的质量的要求是不同的。本申请实施例可以针对同一应用的不同业务场景设置不同的网络质量评估算法。在评估应用当前使用的网络通道不足以承载该应用产生的某个数据流的情况下,设置传输质量提升策略以加速数据流传输。
参见图5,在通过网络质量评估算法评估应用A的数据流A1的传输质量较差的情况下,可以将数据流A1分配到多个网络通道上并行传输。如图3所示,手机上设置有无线网卡1,支持2.4GHz的收发;还设有无线网卡2,支持5.0GHz的收发;还设有数据业务网卡。数据流A1可能包括多个子数据流,可以将多个子数据流分为3组数据流:数据流A1-1,数据流A1-2和数据流A1-3。将3个数据流分别分发到3个网络通道上传输。
需要说明,图5中的无线路由器可以为同时支持2.4GHz的收发和5.0GHz的收发的一个无线路由器,还可以是分别支持2.4GHz的收发和5.0GHz的收发的两个路由器。
通过图3和图5可以理解,还可以设置不同的传输质量提升策略(例如,图3中的切换,图5中的并发)以加速数据流的传输,从而提升用户的体验。
本申请实施例中某个网络通道的网络质量的好(优)坏(差)或某个数据流在某个网络通道上的传输质量的好(优)坏(差)均可以通过一些参数进行评估。在具体实现时,可以设置一些条件,例如,在满足条件1时,认为评估结果为好(优),在不满条件1时,认为评估结果为坏(差);或者在满足条件2时,认为评估结果为坏(差),在不满条件2时,认为评估结果为好(优)。本申请实施例网络质量和传输质量的评判条件不做限定。
鉴于上述图2至图5的描述,本申请实施例提供一种网络加速方法。该网络加速方法中,开发人员可以预先针对不同应用(或不同类别的应用)设置不同的网络质量评估算法和不同的传输质量提升策略。
当然,实际应用中,也可以针对不同应用(或不同类别的应用)设置不同的网络质量评估算法和相同的传输质量提升策略;或者针对不同应用(或不同类别的应用)设置相同的网络质量评估算法和不同的传输质量提升策略。
还可以针对同一应用的不同业务场景设置不同的网络质量评估算法和不同的传输质量提升策略。
当然,实际应用中,也可以针对同一应用的不同业务场景设置不同的网络质量评估算法,和相同的网络质量提升策略;或者针对同一应用的不同业务场景设置相同的网络质量评估算法和不同的传输质量提升策略。
鉴于上述描述,可以得到如表1所示的网络加速方法,该网络加速方法中,可以考虑为不同的应用类别和/或不同的业务场景设置网络加速策略。在设置网络加速策略时,可以采用不同的网络质量评估算法和/或采用不同的传输质量提升策略。
表1多个网络加速方法
方法 | 应用类别 | 业务场景 | 评估算法 | 提升策略 |
1 | 考虑 | 不考虑 | 不同 | 相同 |
2 | 考虑 | 不考虑 | 相同 | 不同 |
3 | 考虑 | 不考虑 | 不同 | 不同 |
4 | 不考虑 | 考虑 | 不同 | 相同 |
5 | 不考虑 | 考虑 | 相同 | 不同 |
6 | 不考虑 | 考虑 | 不同 | 不同 |
7 | 考虑 | 考虑 | 不同 | 相同 |
8 | 考虑 | 考虑 | 相同 | 不同 |
9 | 考虑 | 考虑 | 不同 | 不同 |
以表1中的网络加速方法9为例,可以为不同类别的应用在不同业务场景(例如,通过应用的数据流的特征确定)下设置不同的网络质量评估算法,在网络质量评估算法评估的网络质量较差(或用于评估网络质量的一些参数满足某个条件)的情况下,采用不同的网络质量提升策略实现网络加速。其他网络加速方法不再一一举例。
参见图6,为本申请实施例提供的一种网络加速方法的流程示意图。该流程示意图与上述表1中的网络加速方法9对应。
步骤A1,电子设备检测到应用A在前台运行。
在本申请实施例中,应用A可以是电子设备中任意能够联网使用网络的应用程序。电子设备检测到应用A在前台运行可以是电子设备检测到应用A开启后在前台运行,也可以是监测到应用A从后台切换到前台运行。
步骤A2,电子设备确定应用A是否支持网络加速。
在本申请实施例中,电子设备中存储有应用配置库,该应用配置库可以由开发人员预先设置,也可以由用户在使用电子设备的过程中设置或添加。该应用配置库中存储有支持网络加速的应用的标识。
电子设备检测到应用A切换到前台后,可以获得应用A的应用标识,并在应用配置库中查询是否存在应用A的应用标识,若存在应用A的应用标识则表示应用A支持网络加速。
当然,上述确定应用A是否支持网络加速的方式仅用于举例。实际应用中,该应用配置库还可以存储多个应用标识,每个应用标识采用不同的字符表示该应用标识表示的应用是否支持网络加速。作为示例,可以采用“1”表示支持网络加速,采用“0”表示不支持网络加速。其他确定应用是否支持网络加速的方式不再一一举例。
步骤A3,在应用A支持网络加速的情况下,电子设备查询应用A的数据流特征,以得到应用A的数据流特征对应的网络质量评估算法。
在本申请实施中,设置不同业务场景一方面便于理解设置不同网络质量评估算法的作用;另一方面还可以基于不同业务场景确定采用何种网络质量评估算法。然而,实际应用中,不同业务场景产生的数据流的特征可能不同。因此,并不是必须确定应用A当前的业务场景,可以根据应用A当前的数据流的特征确定当前应该采用的网络质量评估算法。应用A的数据流的各种信息可以存储在应用A的流特征库中。
在具体实现时,电子设备的系统中存在Netfilter组件,通过该组件可以获取到特定应用标识对应的应用的数据流。
作为一种示例,若承载应用A的数据流网络通道为网络通道1,则Netfilter组件可以获取应用A在网络通道1上的数据流的报文。若承载应用A的数据流网络通道为网络通道1和网络通道2,则Netfilter组件可以获取应用A在网络通道1和网络通道2上的数据流的报文。
当然,实际应用中,也可以通过其他方式获取数据流的报文。获取的数据流的报文的集合为流特征库。
在通过应用的数据流的特征确定网络质量评估算法时,可以将应用的数据流的协议、端口和报文特征作为特征确定网络质量评估算法。其中,协议为应用传输数据流时的协议类型,端口为传输数据流时使用的端口,报文特征为应用传输数据流时的数据包的头部特征。
作为示例,某社交通信类应用在进行音视频通话时,数据流对应的数据包的头部特征为97开头,即data[0]=97,传输数据包时采用UDP协议,并且使用8080端口传输数据包。在得到的数据流中,若某个数据流满足上述特征,则可以得到与该特征匹配的网络质量评估算法为:若5个周期(例如,每个周期为500ms)内连续3个周期内数据的时延超过300ms,或丢包率超过20%,则评估结果:卡顿。
上述确定网络质量评估算法的示例仅用于举例,实际应用中,还可以通过协议、端口和报文特征以外的其他特征确定网络质量评估算法。
当然,某个应用在实现某个功能时,可能产生多个数据流,若针对多个数据流的特征分别确定了网络质量评估算法,则采用对应的网络质量评估算法评估对应的数据流的传输质量。
作为示例,某个应用在实现某个功能时,可能产生数据流1、数据流2和数据流3。
根据数据流1的特征确定网络质量评估算法1,并确定数据流1是否满足算法1设置的传输质量提升条件;
根据数据流2的特征确定网络质量评估算法2,并确定数据流2是否满足算法2设置的传输质量提升条件;
数据流3的特征并未满足任一可确定网络质量评估算法的条件,则无需评估数据流3的传输质量,也不需要提升数据流3的传输质量。
步骤A4,电子设备判断应用A的数据流的相关参数是否满足算法设置的传输质量提升条件。
需要说明,实际应用中,可以根据算法模型以及应用A的数据流的相关参数得到应用A的数据流的传输质量评估结果(例如,可以得到质量分数或质量等级),根据传输质量评估结果确定是否需要提升该数据流的传输质量。当然,实际应用中,该算法可以预先设置确定需要提升该数据流的传输质量的条件,在满足该条件的情况下,获取传输质量提升策略,并执行传输质量提升策略。
如步骤A3中的网络质量评估算法的举例,需要得到应用A的各个数据流的时延、丢包率等。
如前,该应用A的流特征库中存储该应用A的数据流的各种信息,例如,应用使用当前网络时采用的协议的协议特征,应用使用当前网络时传输的数据包的头部特征等。当然,还可以包括应用使用当前网络时的流量特征。
其中,应用的流量特征可以包括:上行速率、下行速率、流间隔时间、包间隔时间、包大小和流量分布等信息。当然,还可以包括上述信息中的部分信息,或上述信息以外的其他信息。
通过流量特征可以得到时延情况、丢包情况、下行速率、上行速率等。因此,这些流量特征可以作为网络质量评估算法的评估参数。当然,实际应用中,不同的网络质量评估算法获得的用于评估网络质量的参数可能不同,例如,可以包含上述参数中的一个或多个,还可以包含上述参数以外的其他参数。因此,可以根据网络质量评估算法的评估参数确定应用的流量特征包含的参数类别。
步骤A5,在应用A的数据流的相关参数满足算法设置的条件情况下,根据应用A的数据流特征确定传输质量提升策略。
如前,可以预先为不同应用的不同业务场景(由数据流的特征确定)设置不同的传输质量提升策略,多个传输质量提升策略存储在提升策略库中。当然,实际应用中,也可以设置数据流的特征与传输质量提升策略的对应关系,在确定数据流的特征之后,就可以得到与该数据流的特征对应的传输质量提升策略。通过数据流的特征就可以从提升策略库中查询到与该特征匹配的传输质量提升策略。
步骤A6,执行传输质量提升策略。
本申请实施例中,一个应用在某个业务场景下可以产生多个数据流。在实际应用中,若多个数据流中部分数据流的特征满足预先设置的需要提升传输质量的条件,则可以将满足预先设置的需要提升传输质量的条件的数据流切换到其他网络通道;当然,也可以将满足预先设置的需要提升传输质量的条件的数据流以及与该满足预先设置的需要提升传输质量的条件的数据流相关的数据流切换到其他网络通道,可以预先设置数据流之间的相关性,例如,可以将下载类应用中具有相同源地址和目的地址的多个下载流设置为相关的数据流,也可以将聊天类应用中具有相同源地址和目的地址的视频流和音频流设置为相关的数据流;还可以将该应用的全部数据流切换到其他网络通道。
作为另一示例,实际应用中,若多个数据流中部分数据流的特征满足预先设置的需要提升传输质量的条件,也可以将满足预先设置的需要提升传输质量的条件的数据流分配到电子设备支持的多个网络通道;也可以将满足预先设置的需要提升传输质量的条件的数据流以及与该满足预先设置的需要提升传输质量的条件的数据流相关的数据流分配到多个网络通道上。当然,还可以将该应用的全部数据流分配到电子设备支持的多个网络通道上。
作为另一示例,实际应用中,若多个数据流中部分数据流的特征满足预先设置的并发条件,则可以首先将满足并发条件的数据流分配到多个网络通道上。在多个网络通道上的多个数据流中,存在某个数据流的特征满足预先设置的需要提升传输质量的条件的情况下,再将满足预先设置的需要提升传输质量的条件的数据流切换到质量更优的网络通道上。
作为另一示例,可以基于表2中的数据流的特征确定相应的网络质量评估算法和相应的传输质量提升策略。
表2多个应用多个业务场景的流特征、网络质量评估算法和传输质量提升策略
其中,表2中的com.tencent.mm可以为微信包名,com.tencent.tmgp.sgame可以为王者荣耀包名。数据流的特征均可以为协议、端口和报文特征。表2中一个条目可以为一个应用的一个业务场景设置的数据流的特征条件、网络质量评估算法和网络质量提升策略。另外,表2仅列举了部分应用的部分业务场景对应的协议、端口和报文特征,且仅用于示例。
表2中的网络质量评估算法和传输质量提升策略仅用于举例,在实际应用中还可以采用其他不同的确定网络质量评估算法的方式和采用不同的传输质量提升策略。传输质量提升策略中“切换”可以表示上述实施例中的任一形式的切换;“并发”可以表示上述实施例中的任一形式的并发。
作为另一示例,手机淘宝应用在浏览商品文字图像和观看商品视频业务场景时,可以仅将评估网络质量较差的流切换到其他网络,也可以在质量较差的流的个数(或比例)大于预设值(或预设比例)的情况下,将该应用下的所有流均切换到其他网络。
例如,该应用在某个业务场景下可能产生10个流,若仅有1个流或2个流的质量较差,则将质量较差的流切换到其他网络,若有3个或以上的流的质量较差,则将该应用下的全部流(10个流)全部切换到备用网络。
另外,在具体实现时,可以为不同的应用设置不同的应用标识,可以在数据流的特征满足特征条件时,得到网络质量评估算法设置的提升传输质量的条件,在数据流的相关参数满足提升传输质量的条件时,获得传输质量提升策略,并执行传输质量提升策略。
在实际应用中,表2中仅列出了部分应用的部分数据流的特征,以及对应的网络质量评估算法和传输质量提升策略。在实际应用中,还可以采用其他网络质量评估算法和传输质量提升策略。作为示例,还可以采用表3中示例的网络质量评估算法。
表3网络质量评估算法
当然,实际应用中,表3中的网络质量传输算法仅用于示例,实际应用中,还可以采用表3所示的网络质量传输算法以外的其他算法,本申请实施例对此不做限定。
在描述本申请实施例提供的网络加速方法后,下面将描述实现网络加速方法的技术实现细节。
参见图7,为本申请实施例提供的一种网络加速方法的技术架构图。
该技术架构包括:应用层、服务层、策略层和内核层。图7中仅示出了与本申请实施例相关的部分层和部分组件,实际应用中,还可以包括图7中未示出的层级和组件。当然,也可以仅包含图7所示的组件中的部分组件。
应用层中存在各种应用,例如,如前的视频类应用,游戏类应用等。
服务层中存在环境探测组件、网络探测组件、通道级路径管理组件、应用级策略管理组件、通道及应用质量评估组件、网络连接管理组件。
其中,环境探测组件用于探测上层应用的各种事件,作为示例,可以探测应用的打开、退出,还可以探测当前切换到前台的应用,还可以探测应用的安装、卸载等。网络探测组件用于探测电子设备支持的Wi-Fi网络的状态(开启或关闭等),还可以探测电子设备支持的数据业务网络的状态。作为示例,电子设备中设置有2.4GHz频段的无线网卡1和5.0GHz频段的无线网卡2。网络探测组件可以探测2.4GHz频段的无线网络为开启还是关闭状态;还可以探测5.0GHz频段的无线网络为开启或关闭状态。电子设备中设有运营商A的数据业务网卡1和运营商B的数据业务网卡2。网络探测组件可以探测运营商A的数据业务为开启还是关闭状态;还可以探测运营商B的数据业务为开启还是关闭状态。
通道及应用质量评估组件用于评估网络通道的质量。作为示例,该通道及应用质量评估组件可以评估2.4GHz频段的Wi-Fi网络的质量,还可以评估5.0GHz频段的Wi-Fi网络的质量。也可以评估运营商A的蜂窝网络的质量,还可以评估运营商B的蜂窝网络的质量。网络连接管理组件用于启动网络通道,即将网络通道从休眠状态转换为唤醒状态。其中,唤醒状态的网络通道可以直接被使用。
通道级路径管理组件存储有多条网络通道的路径,用于请求或关闭任一网络通道,可以感知任一网络通道的状态变化,还可以感知任一网络通道的质量。应用级策略管理组件用于开启网络加速功能,以及启用数据流的监控功能。
策略层中设有流级策略管理组件、流级路径管理组件和流量感知组件。其中,流量感知组件用于对上报的数据流进行统计,评估各个流的网络质量。流级策略管理组件存储应用中流的传输质量提升策略,还用于指示执行传输质量提升策略。流级路径管理组件用于根据上层的策略变化更新网络通道的选取,触发网络通道质量探测,动态选取最优通道,还可以用于存储不同的网络通道的路径,示例性的,可以存储应用当前使用的网络通道(例如,主网络通道)及备用网络通道的路径。
内核层存在策略执行组件和流量上报组件。其中,流量上报组件用于收集数据流信息,并上报收集的数据流信息。策略执行组件用于执行网络通道的切换。
作为本申请另一实施例,上述实施例中一个组件可以拆分为两个或多个组件,位于同一层级的两个或多个组件可以合并为同一组件。
作为示例,策略层的流级策略管理组件和流级路径管理组件可以合并为同一组件;应用级策略管理组件和通道级路径管理组件可以合并为同一组件。
为对上述架构图具有更清晰的理解,参见图8,为本申请实施例提供的基于图7所示的各个组件实现的一种网络加速方法的时序图。
步骤B1,用户启动应用A或将应用A从后台切换到前台。
步骤B2,环境探测组件检测到应用A开启或应用A从后台切换到前台,获取应用A的标识。
步骤B3,环境探测组件将应用A的标识发送给应用级策略管理组件。
该应用的标识用于唯一识别该应用,可以和应用的包名具有一一对应的关系,也可以采用应用的包名。
步骤B4,应用级策略管理组件基于接收到的应用A的标识,从应用配置库中查询接收到的标识对应的应用A是否支持网络加速。从应用配置库中查询到的结果为:支持网络加速。
步骤B5,在查询结果为支持网络加速的情况下,应用级策略管理组件向流级路径管理组件下发用于表示应用A开启网络加速的信息。
在具体实现中,该消息可以携带应用A的标识。
步骤B6,流级路径管理组件向流量上报组件下发表示应用A开启网络加速的消息。
在具体实现时,该消息也可以携带应用A的标识,且步骤B6中发送的消息和步骤B5中发送的消息可以相同,也可以不同。
步骤B7,流量上报组件接收到表示应用A开启网络加速的信息之后,注册报文监听钩子。
该报文监听钩子可以监听应用A的数据流的相关信息,该相关信息为应用A的流特征库中存储的信息。该数据流中携带了承载该数据流的网络的路径信息。
在步骤B4之后,可以探测应用A当前使用的网络的路径以及定期检测应用A当前使用的网络的网络质量。
如前,可以通过报文监听钩子监听到的数据流确定应用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当前使用的网络。具体可参照步骤C1至步骤C8。
步骤C1,流级路径管理组件接收到应用级策略管理组件发送的用于表示应用A开启网络加速的信息之后,向通道级路径管理组件发送请求主用网络的信息。
通道级路径管理组件接收到该请求信息后,按照主Wi-Fi、主卡网络、副Wi-Fi和副卡网络的顺序依次请求,直到找到一条可用且质量满足要求的网络,该网络为应用A的主用网络。
步骤C2,通道级路径管理组件向网络探测组件发送主Wi-Fi的状态的请求信息,该请求信息用于请求主Wi-Fi的状态。
步骤C3,网络探测组件确定主Wi-Fi可用。
步骤C4,网络探测组件向通道级路径管理组件返回主Wi-Fi的状态:可用。
步骤C5,在通道级路径管理组件接收到主Wi-Fi的状态可用的情况下,向通道及应用质量评估组件发送主Wi-Fi的质量的探测请求,该探测请求用于探测主Wi-Fi的质量。
本申请实施例中,任一网络的网络质量可以通过网络质量参数确定,网络质量参数包括以下至少一项:带宽、时延和空口速率。
步骤C6,通道及应用质量评估组件在评估主Wi-Fi的质量后,将主Wi-Fi的质量监测结果返回给通道级路径管理组件。
在具体实现中,在步骤C3之后,即网络探测组件确定主Wi-Fi可用之后,还可以执行步骤D1。
步骤D1,网络探测组件向通道及应用质量评估组件发送主Wi-Fi的质量的监测消息,该监测消息用于请求通道及应用质量评估组件监测主Wi-Fi的网络质量。
步骤D2,通道及应用质量评估组件接收到该消息后,开始监测主Wi-Fi的网络质量,并返回主Wi-Fi的质量给通道级路径管理组件。
在主Wi-Fi的网络质量好(例如,网络质量参数在预设范围)的情况下,可以确定主Wi-Fi为应用A的主用网络,可以定期监测主Wi-Fi的网络质量。
需要说明,步骤D2中监测的为网络通道的质量,采用的监测算法和上述实施例中根据数据流的特征确定的网络质量评估算法不同。为了便于描述们可以将该步骤采用的监测算法记为算法A。
作为算法A的一个示例,可以根据该通道的时延、丢包率、带宽和速率等参数作为参考评估网络通道的质量。
按照步骤D1和步骤D2这种方式,通道及应用质量评估组件可以接收到步骤C5发送的探测请求之前就开始监测主Wi-Fi的网络质量,从而可以快速得到主Wi-Fi的质量,在得到主Wi-Fi的质量之后,能够及时返回给通道级路径管理组件主Wi-Fi的质量监测结果。
在实际应用中,通道及应用质量评估组件接收到步骤D1发送的监测请求后,首次获得监测结果可能在接收到步骤C5发送的探测请求之前,也可能在步骤C5发送的探测请求之后。
步骤C7,在通道级路径管理组件确定主Wi-Fi的网络质量满足要求的情况下,将主Wi-Fi作为主用网络的路径发送给流级路径管理组件。
步骤C8,流级路径管理组件存储主Wi-Fi的路径为主用网络的路径。
作为本申请另一示例,若步骤C3中,网络探测组件得到的主Wi-Fi的状态为不可用,网络探测组件不再执行步骤D1,相应的,通道及应用质量评估组件也不再执行步骤D2。通道级路径管组件接收到网络探测组件发送的主Wi-Fi不可用的消息后,也不再执行步骤C5,相应的,通道及应用质量评估组件也不再执行步骤C6。
通道级路径管组件接收到网络探测组件发送的主Wi-Fi不可用的消息后,继续按照步骤C2至步骤C6的方式(可以包括步骤D1和步骤D2,也可以不包括步骤D1和步骤D2)继续请求主卡网络(即当前请求的网络的下一个优先级网络)。若得到的结果为主卡网络可用且网络质量满足要求,则将主卡网络的路径作为主用网络的路径发送给流级路径管理组件,流级路径管理组件将主卡网络的路径作为主用网络的路径存储。同理,在主卡网络的网络质量满足要求的情况下,通道及应用质量评估组件也需要定期的评估主卡网络的质量。
在确定主用网络的过程中,需要循环执行步骤C2至步骤C6,直到得到所述电子设备的主用网络。该示例中,每一次循环执行步骤C2至步骤C6的过程中,探测的网络为一个电子设备的一个网卡对应的网络,在该过程中,每次请求的网络对应网卡可以记为第四网卡。
即电子设备按照电子设备的网卡的优先级顺序依次执行主用网络确定步骤,直到得到电子设备的主用网络;
其中,主用网络确定步骤包括:
电子设备获取第四网卡对应的网络的网络状态,第四网卡为所述电子设备的一个网卡;
在第四网卡的网络状态为可用的情况下,电子设备获取第四网卡的网络质量参数;在第四网卡的网络状态为不可用的情况下,结束本轮主用网络确定步骤,进入下一个优先级网卡的下一轮主用网络确定步骤;
在第四网卡的网络质量参数在预设范围内的情况下,将第四网卡作为电子设备的主用网络存储;在第四网卡的网络质量参数不在预设范围内的情况下,结束本轮所述主用网络确定步骤,进入下一个优先级网卡的下一轮主用网络确定步骤。
在实际应用中,可以由通道及应用质量评估组件确定网络的网络质量是否满足要求,在满足要求的情况下,定期评估该网络的网络质量;也可以由通道级路径管理组件接收到通道及应用质量评估组件发送的网络的质量监测结果后,确定网络的网络质量是否满足要求,在满足要求的情况下,向通道及应用质量评估组件发送请求消息,以请求定期评估该网络的网络质量。通过上述方式通告级路径管理组件可以定期获取到当前承载应用A的数据流的网络的网络质量,并将获得的当前承载应用A的数据流的网络的网络质量发送到流级路径管理组件。
通过上述示例可以理解,按照系统设置的在存在多个可用网络的情况下选择主用网络的逻辑可以得到应用A当前使用的网络的路径。
在应用级策略管理组件执行步骤B4之后,即确定标识对应的应用A支持加速后,第一方面向通过流级路径管理组件向下层的流量上报组件传输应用A开启加速的消息,以使得流量上报组件注册报文监听钩子。第二方面还可以获得主用网络的网络路径以及主用网络的网络质量。第三方面通过流量感知组件向下层的流量上报组件传输启动数据流监控的消息,以使得流量上报组件通过注册的报文监听钩子监听应用A的数据流(具体可参照步骤B8)。
步骤B8,应用级策略管理组件向流量感知组件发送启动业务流监控的请求消息。
在具体实现时,应用级策略管理组件可以在执行完步骤B4之后同时执行步骤B5和步骤B8。应用级策略管理组件也可以在执行完步骤B4之后先执行步骤B5,在执行完步骤B5之后的预设时间(具体值可以根据实际情况设置)再执行步骤B8。
步骤B9,流量感知组件接收到步骤B8发送的请求消息后,向流量上报组件发送表示流量监控的消息。
步骤B10,流量上报组件接收到步骤B9发送的流量监控的消息后,将监听到的数据流上报给流量感知模块。
在步骤B7之后,流量上报组件中的报文监听钩子就开始监测数据流。接收到步骤B9发送的流量监控的消息后,将监听到的数据流上报给流量感知模块。并且,后续可以持续将监听的数据流上报给流量感知组件。
步骤B11,流量感知组件接收到流量上报组件上报的数据流,基于该数据流的特征确定网络质量评估算法。
需要说明,步骤B11中的网络质量评估算法和步骤D2中评估网络通道的算法不同。为了便于描述,步骤B11中的算法记为算法B。算法A为各个网络通道通用的算法,评估的是整个网络通道的网络质量。算法B为基于当前开启网络加速的应用的数据流的特征确定的算法,评估的是通过网络通道传输的满足预先设置的特征的数据流的传输质量。
步骤B12,流量感知组件基于网络质量评估算法开始评估应用A的各个数据流的传输质量得到评估结果。
需要说明,评估结果可以包括:优(例如,标识00)、可能卡顿(例如,标识10)和卡顿(例如,标识11)。
作为示例,上述表2中,为评估卡顿的条件,在实际应用中,还可以设置评估为可能卡顿的条件。
条件1:5个周期内连续3个时延超过300ms或丢包超过20%,则评估结果为卡顿。
条件2:5个周期内连续2个时延超过200ms或丢包率超过10%,则评估结果为可能卡顿。
若未出现上述两种情况,则评估结果为优。
基于上述理解,可以确定根据数据流的特征得到的网络质量评估算法不仅包含表2中限定的卡顿的判断条件,实际应用中,还可以包括可能卡顿的判断条件。
作为另一示例,可以预先设置条件1和条件2,该评估结果也可以包括:满足条件1,满足条件2,不满足条件1且不满足条件2。
在具体实现时,评估结果的具体形式不做限定。
步骤B13,流量感知组件向流级策略管理组件发送评估结果。
需要说明,该步骤发送的评估结果可以是表示卡顿、可能卡顿和优的标识,还可以携带数据流的特征(或特征标识)。
或者,该评估结果可以:满足条件1,满足条件2,不满足条件1且不满足条件2的标识,还可以携带数据流的特征(或特征标识)。
步骤B14,流级策略管理组件接收该评估结果后,在评估结果为可能卡顿(满足条件2)的情况下,确定请求备用网络。
作为另一示例,实际应用中,虽然满足条件1和条件2的情况下,传输质量提升策略均为:切换。但是,在满足条件2的情况下,向流级路径管理组件发送的是备用路径的请求信息,在满足条件1的情况下,向流级路径管理组件发送的是备用路径的切换信息。
采用上述设置可以在预判数据流的传输质量可能变差(例如满足条件2)的情况,提前确定好备用网络,并将备用网络唤醒,以便于在数据流的传输质量确实变差(例如满足条件1)的情况下,能够快速将传输质量差的数据流切换到备用网络上。这是由于数据流的传输质量通常是逐渐变差的,所以,在可能变差的情况下,先将选择好备用网络,并将备用网络唤醒,在数据流的传输质量确实变差的情况下,将传输质量较差的数据流切换到已经唤醒的备用网络上。这样,既能够快速响应数据流的切换,使得用户对数据流的切换无感知,还能够避免过早将备用网络唤醒导致的功耗高的问题。
步骤B15,流级策略管理组件在确定满足条件2的情况下,向流级路径管路组件发送备用路径的请求信息。
步骤B16,流级路径管理组件在确定当前不存在备用网络的情况下,向通道级路径管理组件发送备用路径的请求消息。
通道级路径管理组件接收到该备用路径的请求消息后,开始查找当前使用的主用网络以外的其他可用且质量最好的网络。具体可参照步骤B17至步骤B23的描述。
步骤B17,通道级路径管理组件向网络探测组件发送网络B的状态的查询请求。
在本申请实施例中,网络B可以是当前主用网络之外的其他任一网络。当前的主用网络可以记为网络A。网络B可以记为第三网卡对应的网络。
步骤B18,网络探测组件查询网络B的网络状态可用。
步骤B19,网络探测组件向通道级路径管理组件发送网络B的状态:可用。
步骤B20,通道级路径管理组件在接收到网络B的网络状态可用的情况下,向通道及应用质量评估组件发送网络B的质量的探测请求。
在实际应用中,为了快速得到网络B的网络质量,在步骤B18网络探测组件确定网络B的网络可用的情况下,网络探测组件可以执行步骤B19和步骤E1。
步骤E1,网络探测组件向通道及应用质量评估组件发送监测网络B的质量的请求。
步骤E2,通道及应用质量评估组件接收到网络探测组件发送的监测网络B的质量的请求的情况下,开始采用A算法监测网络B的质量。
步骤B21,通道及应用质量评估组件在得到网络B的质量监测结果。
本申请实施例中,在评估网络通道的质量时采用网络质量参数,在评估数据流的传输质量时采用流质量参数。
步骤B22,通道级路径管理组件按照步骤B17至步骤B21的方式得到除主用网络以外的其他每个网络通道的状态和在状态可用的情况下得到可用的网络的网络质量。
步骤B23,通道级路径管理组件根据除主用网络以外的其他网络的状态和网络质量确定可用且网络质量最优的网络为主卡网络。当然,实际应用中,也可以设置一个范围,将第三网卡中网络质量参数在该范围内的网卡均作为备用网络。
需要说明,步骤E2检测网络B的质量时采用的算法和步骤D2采用的算法相同。
本申请实施例以确定质量最优(例如,信号强度最大,带宽更大等)的网络为备用网络,实际应用中。当然,实际应用中,还可以设置其他确定备用网络的条件。作为示例,还可以设置备用网络优先条件为:主用网络以外的可用、网络质量满足要求且不产生额外费用的网络作为备用网络,其中,不产生额外费用的网络可以为:Wi-Fi网络,流量套餐不限量的数据业务网络,或者流量套餐限量的数据业务网络但是当前使用流量小于当前月度计划流量(总流量/月度总天数×当前天数)。当然,备用网络可以是主用网络以外满足优先条件的网络中网络质量最好的一个。
在当前除主用网络以外的其他网络均不满足优先条件的情况下,再选择满足次优先条件的网络作为备用网络,其中,次优先条件为:主用网络以外的可用且网络质量满足要求的网络作为备用网络。当然,备用网络可以是主用网络以外满足次优先条件的网络中网络质量最好的一个。
在当前除主用网络以外的其他网络仍然不满足次优先条件的情况下,再选择主用网络以外可用的网络作为备用网络。当然,备用网络可以是主用网络以外可用的网络中网络质量最好的一个。
上述选择备用网络的方式仅用于举例,实际应用中,还可以为其他方式,在此不做限定。
步骤B24,在确定质量最优的网络为主卡网络之后,通道级路径管理组件向网络连接管理组件发送启用主卡网络的请求。
步骤B25,网络连接管理组件接收到主卡网络的启用请求后,将主卡网络从休眠状态切换为唤醒状态。
步骤B26,网络连接管理组件向通道级路径管理组件发送主卡网络已经被唤醒的消息。
步骤B27,通道级路径管理组件将当前确定的质量最优的主卡网络的路径和质量向流级路径管理组件发送。
如前,通道级路径管理组件可以定期得到电子设备的主用网络的网络质量。当然,通道级路径管理组件可以定期将得到电子设备的主用网络的网络质量发送至流级路径管理组件。
因此,流级路径管理组件可以定期得到主用网络(主Wi-Fi)的网络质量。
步骤F1,流级路径管理组件已经存储了主用网络的网络路径,在接收到通道级路径管理组件发送的主卡网络的路径和网络质量之后,可以比较最新接收到的存储的主卡网络的网络路径对应的质量参数以及接收到的主卡网络的质量参数,确定出质量更好的网络路径。
在具体实现时,若质量更好的网络路径为预先存储的主用网络路径,则表示备用网络的质量更差,即使主用网络当前比较差,也没有切换的必要。则无需存储备用网络的网络路径。若质量更好的网络路径不为预先存储的主用网络路径,则表示备用网络的质量更好,则需要存储备用网络的网络路径,以备当前使用主用网络的数据流的传输质量更差的情况下,切换到备用网络上。
步骤F1的比较结果为主卡的质量更好的情况下,存储主卡的网络路径作为备用网络。
作为另一示例,在步骤B26之后,通道级路径管理组件可以请求定期监测主卡网络的网络质量,并定期发送给流级路径管理组件。
当然,实际应用中,可以定期监测主用网络以外的其他网络的网络质量,若网络质量最优的不再是当前存储的备用网络,则可以更换备用网络为当前的主用网络和当前的备用网络以外的其他质量更优的网络。若一个网络被作为备用网络唤醒,而后不再是备用网络也不是主用网络,则可以将该网络由唤醒状态再切换为休眠状态,以避免电子设备的功耗过大。
如前,流量上报组件在持续监控数据流,并持续上报监控到的数据流。
步骤B29,流量上报组件持续向流量感知组件上报监控到的数据流。
步骤B30,流量感知组件已经确定了各个数据流的网络质量评估算法(算法B),并持续采用算法B得到评估结果。
步骤B31,流量感知组件持续将该评估结果发送给流级策略管理组件。
步骤B32,流级策略管理组件基于该评估结果,确定需要切换到备用网络。
作为示例,在满足上述示例中的条件1的情况下,确定切换到备用网络。
步骤B33,流级策略管理组件在确定切换到备用网络之后,向流级路径管理组件发送指令,用于表示切换到备用网络。
步骤B34,流级路径管理组件接收到切换备用网络的指令后,查看存储有备用网络的路径(主卡网络的路径),则向流级策略管理组件发送切换到主卡网络的指令。
需要说明,流级策略管理组件存储有传输质量提升策略,因此,流级策略管理组件可以确定切换单条流,还是部分流还是全部流。在实际应用中,步骤B33中可以携带待切换的数据流的标识,同时,B34传输的指令中,也可以携带待切换的数据流的标识。两个步骤发送的指令中也可以不携带待切换的数据流的标识。
步骤B35,流级策略管理组件向策略执行组件发送指令,该指令携带数据流标识和主卡网络路径,其中,数据流标识为评估结果满足条件1的数据流标识,或者评估结果满足条件1的数据流以及相关的数据流标识,或者评估结果满足条件1的数据流所在的应用A的全部数据流标识。
步骤B36,策略执行组件执行将接收到的指令中携带的数据流标识表示的数据流切换到指令中携带的网络路径表示的主卡网络。
本申请实施例中,网络路径也可以为区分不同网络的网络标识。
作为本申请另一实施例,在实际应用中,网络质量可能并不是逐渐变差的,也可能是突发性变差。例如,步骤B14流级策略管理组件接收到的评估结果确定为切换备用网络,则步骤B15,流级策略管理组件向流级路径管理组件发送切换备用路径。然而,此时流级路径管理组件还未存储备用网络的路径。这种情况下,就需要先确定备用网络(步骤B16至步骤B27),然后在确定备用网络的情况下,直接执行步骤B34,以将数据流切换到备用网络。
当然,在步骤B14流级策略管理组件接收到的评估结果确定为切换备用网络,此时流级路径管理组件接收到切换备用路径且已经存储备用网络的路径的情况下,则可以不再执行步骤B16至步骤F1,而是直接执行步骤B34,以将数据流切换到备用网络。
作为示例,应用A当前存在数据流C和数据流D,在一个周期,电子设备根据数据流C的传输质量评估结果(可能卡顿)请求备用路径并存储,数据流D的传输质量评估结果优。下一个周期,数据流C的传输质量评估结果为优,数据流D的传输质量评估结果确定切换备用路径。此时,电子设备已经存储了备用路径,则电子设备可以将数据流切换到备用网络上。
上述示例中,均以数据流的特征作为确定并唤醒备用网络的条件,实际应用中,还可以采用其他方式作为确定并唤醒备用网络的条件。即表2中还可以增加一列:确定并唤醒备用网络的条件。不同应用(或同一应用的不同业务场景)在前台运行时,确定并唤醒备用网络的条件可以相同也可以不同,也可以部分相同部分不同。
作为示例,针对每个应用的不同业务场景,可以设置与该应用该业务场景的数据流的流量特征相关的条件作为确定并唤醒备用网络的条件;针对所有应用的所有业务场景,可以设置相同的条件:信号强度逐渐变小等。该示例仅用于举例,并不造成任何限定。
作为本申请另一实施例,在图8所示实施例中,若应用A的全部流或部分流被切换到主卡上,在应用A从前台切换到后台后,应用A的全部数据流会回到系统默认的主用网络:例如主Wi-Fi。主用网络的确定方式可以参照上述实施例中的描述。应用A再次从后台切换到前台后,应用的全部数据流仍然在主用网络:主Wi-Fi,则继续实施本申请实施例提供的网络加速方法。
作为本申请另一实施例,在具体实现时,还可以采用其他方式获取应用A当前使用的主用网络的路径,并在确定应用A当前使用的主用网络的路径的情况下监测当前使用的主用网络的网络质量。
参见图9,为本申请实施例提供的另一网络加速方法的时序图。
流量上报组件在在监听数据流时,可以确定承载该数据流的网络。由于预先设置了应用A再次从后台切换到前台后,应用的全部数据流仍然按照系统默认的方式确定当前使用的网络通道。所以,应用A再次从后台切换到前台或者应用A开启后,流量上报组件监听到的数据流所在的网络通道就为应用A的主用网络。因为,可以通过流量上报组件上报的数据流确定主用网络的路径。
在步骤B10之后,即在流量感知组件接收到上报的数据流后,可以执行步骤G1至步骤G6以存储主用网络的路径和质量监测结果。
步骤G1,流量感知组件根据上报的数据流确定承载该数据流的网络通道。
步骤G2,在确定网络通道(为主Wi-Fi)的情况下,流量感知组件向通道级路径管理组件发送用于表示主用网络为主Wi-Fi的消息。
步骤G3,通道级路径管理组件向通道及应用质量评估组件发送主Wi-Fi的质量探测请求。
步骤G4,通道及应用质量评估组件采用算法A定期监测主Wi-Fi的质量。
步骤G5,通道及应用质量评估组件向通道级路径管理组件返回主Wi-Fi的质量监测结果。
步骤G6,通道级路径管理组件将主Wi-Fi的路径和质量监测结果发送给流级路径管理组件。
步骤G7,流级路径管理组件存储主Wi-Fi的路径为主用路径,并存储主Wi-Fi的质量监测结果。
由于步骤G4中为定期监测主用网络(主Wi-Fi)的质量,因此,流级路径管理组件会定期接收到主用网络(主Wi-Fi)的质量。在电子设备执行步骤G1至步骤G7的过程中,电子设备也可以执行步骤B11和步骤B13。即不限定步骤G1和步骤B11的执行顺序。
若在流级策略管理组件执行B14时,根据数据流特征和评估结果确定需要请求备用网络,则继续执行后续步骤(步骤B15至步骤B36),后续步骤可参照图8所示实施例的描述,在此不再赘述。
如前,确定主用网络的路径的情况下,在请求备用路径时,可以请求主用网络以外的其他网络。在定期监测主用网络的质量的情况下,在确定了备用网络后,可以将备用网络和主用网络进行比较,以在备用网络比主用网络的质量更优的情况下,将传输质量差的数据流切换到备用网络。当然,实际应用中,也可以在确定质量最好的备用网络的情况下,直接将传输质量差的数据流切换到备用网络。
参见图10,为本申请实施例提供的另一网络加速方法。
在步骤B4之后,执行步骤B8和步骤B9。
其中,流量上报组件在接收到步骤B9流量感知组件发送流量监控请求后被触发执行步骤H1,注册报文监听钩子。
在注册报文监听钩子后,该报文监听钩子可以监听应用A的数据流。在监听到应用A的数据流之后开始执行后续步骤。
需要说明,由于数据流中可以得到承载该数据流的网络通道,因此,流量感知组件可以确定应用A当前使用的网络通道,并可以将当前使用的网络通道的标识(主用网络)通过步骤B13发送到流级策略管理组件。
步骤B14,流级策略管理组件在根据数据流特征和评估结果确定请求备用网络。
步骤B15,流级策略管理组件将备用路径的请求信息发送到流级路径管理组件时,可以携带主用网络的标识(或主用网络的路径)。
步骤B16,流级路径管理组件向通道级路径管理组件发送备用路径的请求信息,也可以携带主用网络的标识(或主用网络的路径)。
通道级路径管理组件接收到流级路径管理组件发送的携带主用网络的标识的请求信息后,可以依次请求电子设备支持的网络通道中除该主用网络以外的其他网络通道的状态,并在状态可用时,请求监测可用的网络通道的质量监测结果,最后将可用且质量最优的网络通道唤醒,并作为备用网络发送到流级路径管理组件。具体可参照步骤B17至步骤B27的描述。可参照上述实施例中的描述,在此不再赘述。
步骤28,流级路径管理组件在确定未存储主用网络的情况下,无需比较接收到的备用网络的质量和主用网络的质量,而是直接将接收到的网络通道作为备用路径存储。
后续步骤B29至步骤B36的描述具体可参照上述实施例中的描述。
作为本申请另一实施例,如表2所示,传输质量提升策略中还包括:并发。本申请实施例中,将上传下载类(存储类)应用进行大文件下载时,首先将数据流分到电子设备多个可用的网络通道上。在分到多个网络通道上后,若任一数据流满足网络质量评估算法规定的切换条件(例如,传输速率较慢)时,将满足网络质量评估算法规定的切换条件的数据流切换到其他质量更优的网络通道上。具体可参照图11所示实施例的描述。
步骤B11之前的步骤的描述可参照上述实施例中的描述,在此不再赘述。
步骤B11,流量感知组件在根据数据流特征确定需要将数据流分配到多个网络通道。
例如,表2中,在某上传下载类应用进行大文件下载时,需要将满足某特征的数据流分到多个网络通道上。
步骤J1,流量感知组件向通道级路径管理组件发送请求所有备用网络的信息。
步骤B17,通道级路径管理组件接收到所有备用路径的请求信息之后,开始对电子设备支持的网络通道中除主用网络以外的其他网络执行步骤B17至步骤B26的步骤。
需要说明的是,本申请实施例中,需要将主用网络以外的其他所有可用的网络通道唤醒。因此,在步骤B21之后,直接执行步骤B24请求唤醒当前可用的网络通道。按照上述过程将主用网络之外的每个可用的网络通道唤醒。
步骤B27,通道级路径管理组件将唤醒的每个备用网络的路径和质量监测结果(可以采用质量参数表示)发送到流级路径管理组件。
步骤B28,流级路径管理组件将每个备用网络的路径和质量参数存储。
需要说明,在电子设备执行步骤J1、B17至步骤B28的过程中,流量上报组件一直在上报数据流,同时流量感知组件一直向流级路径管理组件传输当前监听的数据流的标识。
步骤K3,在流级路径管理组件接收到主用网络的路径、备用网络的路径以及多个数据流的标识之后,将多个数据流分配到多个网络通道(主用网络和备用网络)上。
作为示例,若流级路径管理组件接收到1个主用网络的路径和3个备用网络的路径,接收到的数据流标识的个数为5个,则可以将5个数据流标识分到4个网络通道上。
在分配时,可以首先基于数据流个数和网络通道的个数均分的原则,在无法均分的情况下,分配给每个网络通道的数据流个数之间相差小于2。即步骤K3中的分配尽量以均分的原则将多个数据流分配到多个网络通道上。
当然,实际应用中,也可以采用其他分配的原则,例如,根据各个网络通道的质量,将多个数据流分配到多个网络通道上,以使得质量更优的网络通道承载个数更多的数据流,质量较差的网络通道承载个数更少的数据流。其他分配的原则不再一一举例。
当然,也可以在该应用在前台运行时首次分配采用个数均分的原则,在首次之后的下一次分配(例如,可以设定分配周期)采用其他原则。
需要说明,步骤K3可以在流级策略管理组件中执行也可以在流级路径管理组件中执行。
若在流级路径管理组件中执行,则需要流级策略管理组件将数据流标识发送到流级路径管理组件。
若在流级策略管理组件中执行,则需要流级路径管理组件将多个网络路径发送到流级策略管理组件,并取消步骤K2。
步骤K4,流级路径管理组件将每个数据流标识对应的网络通道的路径发送给流级策略管理组件。
步骤K5,流级策略管理组件将接收到每个数据流标识对应的网络通道的路径发送给策略管理组件。
步骤K6,策略管理组件根据接收到的每个数据流标识和对应的网络通道的路径之后,将数据流标识对应的数据流切换到对应的网络通道上。
如前,报文监测钩子一直在监测数据流,同时也一直在上报监测到的数据流,参见步骤B29。
在将多个数据流从主网络通道分配到多个网络通道之后,报文监测钩子监测到的数据流承载各自对应的网络通道上。因此,流量感知组件接收到流量上报组件上报的数据流之后,可以根据监测到的数据流确定已经将多个数据流分配到多个网络通道上。
步骤K7,流量感知组件确定多个数据流已经分配到多个网络通道上后,可以采用各个数据流的特征得到与各个数据流对应的评估算法C。
步骤B30,流量感知组件根据确定各个数据流的评估算法C得到各个数据流的传输质量评估结果。
步骤B31至步骤B36可以参照上述实施例的描述,在此不再赘述。
本申请实施例中,在某个数据流的评估结果满足设置的评估算法规定的切换的条件下,需要将该数据流切换到其他质量更优的网络通道上。
如前,在确定并发的情况下,可以定期监测每个网络通道的网络质量,并将网络质量发送到流级路径管理组件。
步骤K8,流级路径管理组件根据定期接收到的各个网络通道的质量,将该数据流(不满足算法C设置的条件的数据流)切换到质量最优(例如,传输速率最快)的网络通道上。
该示例以不满足算法C设置的条件的数据流切换到质量更有的网络通道上。实际应用中,还可以设置其他切换方式。作为示例,切换到当前承载数据流的个数最少的网络通道上。或者,在用户的某个数据业务为不限流量套餐的情况下,将当前在Wi-Fi网络上的不满足算法C设置的条件的数据流优先切换到该不限流量套餐的数据业务网络上。当然,在用户的数据业务均为限流量套餐的情况下,将当前在一个Wi-Fi网络上的不满足算法C设置的条件的数据流优先切换到另一个Wi-Fi网络上。
上述切换方式仅用于举例,实际应用中,可以根据实际情况设置切换方式,原则为:尽量不产生额外流量费用的前提下,最快传输当前应用下符合特定特征的数据流。
作为本申请另一实施例,参见图12,为本申请实施例提供的另一网络加速方法。
与图11所示的区别包括:
(1)触发流量上报组件注册报文监听钩子的方式不同,图11通过流级路径管理组件触发,图12通过流量感知组件触发。
(2)不再单独请求主用网络的路径,而是在流量感知组件根据数据流的特征确定需要先将当前的数据流分配到多个网络通道上的情况下,执行步骤J1,请求所有网络路径。
然后通过步骤B17至步骤B26将电子设备可用的网络通道唤醒,并将唤醒后的每个网络通道的路径和质量监测结果发送给流级路径管理组件。流级路径管理组件将数据流分配到多个网络通道上。步骤B28至步骤B36可以参照图11所示实施例的描述,在此不再赘述。图12中的网络C为电子设备支持的任一网络通道。
上述实施例中,均以流量上报组件中的报文监测钩子监听应用A的数据流为例进行说明,下面将描述报文监测钩子如何监听应用A的数据流,并将监听的数据流发送到给流量感知组件。
如前,电子设备的系统中存在Netfilter组件,通过该组件可以获取到特定应用标识对应的应用的数据流。流量上报组件可以通过调用Netfilter组件获取应用A的数据流的报文。具体实现时,流量上报组件上报给流量感知组件的信息不仅包括应用A的数据流的报文,还包括应用A的数据流的报文的一些统计信息。具体可参照图13所示实施例的描述。
参见图13,流量上报组件可以预先注册报文监听钩子(例如,nf_hook钩子函数)。
在流量上报组件调用Netfilter组件后,Netfilter组件上报应用A的数据流的报文,流量上报组件接收到Netfilter组件上报的数据流的报文之后,调用预先注册的nf_hook钩子函数。
该nf_hook钩子函数对接收到的数据流的报文进行以下操作:报文解析、查流表和报文分析等操作。
在进行解析时,可以查看该报文是否存在应用标识以及该报文的四元组(或五元组),以得到解析结果。若存在应用标识,则可以确定该报文对应的应用。四元组中包括源IP、目的IP、源端口、目的端口;五元组中包括:源IP、目的IP、源端口、目的端口以及协议号。即通过报文的四元组或五元组携带了上述表2中数据流的部分特征。另外,报文(数据包)中本身也携带了头部特征。
在进行解析之后,根据解析结果查询流表,并更新流表的统计信息。流表中存储了各个应用中数据流的标识信息、以及各个数据流的统计信息。各个流的统计信息包括:接收到该数据流的报文数量、总字节数、错误包数量等。
实际应用中,各个流的统计信息可以根据网络质量评估算法中设置的参数确定。因此,各个流的统计信息还可以包括其他信息,例如,根据时间点接收到的数据包的大小生成的该数据包所在的数据流随时间变化的流量分布信息。
当然,若流表中不存在某个数据流的标识信息或相关统计信息时,则可以在流表中增加该数据流的标识以及相关的统计信息。
在查流表并更新流表信息之后,则可以对报文进行分析。例如,过滤报文,从而得到全部或部分报文。
作为一种示例,该过滤过程可以是过滤某个数据流的心跳包报文。则经过过滤处理后,得到该数据流的心跳包报文。该过滤处理过程可以是:通过预先设置某些特征,将满足该特征的报文保留。即满足预先设置的某些特征的报文就为过滤后的报文。
其中,心跳包报文为按照一定的时间间隔存在于数据流中的报文。心跳包报文在固定位置(例如第6个字节)存在固定特征(例如0x64或0x65)。由于该心跳包报文为按照一定时间存在的报文,因为,可以基于该心跳包报文计算获得时延(例如,手机向服务器发送心跳请求报文开始,到手机接收到服务器反馈的心跳响应报文为止,总共经历的时间)。该时延信息用于确定该数据流是否满足上述表2中设置的提升传输质量的条件。
上述示例以过滤心跳包为例进行说明,实际应用中,还可以过滤处理以获得满足其它特征的数据包报文。
作为另一示例,过滤条件还可以包括:选择保留特定长度的数据包报文。在具体实现时,确定数据包报文的长度是否为预先设置的特定长度,若是,则保留该报文,若否,则将该报文过滤掉。
经过上述处理后,得到的过滤后的部分报文被存储在SKB队列中。
SKB队列中存储的数据流的报文上报时的策略包括:立即上报和定期上报。
若为立即上报,流量上报组件中的特定线程及时查看队列,将队列中的报文及时上报给流量感知组件。
若为定期上报,流量上报组件中设置了定时器,基于该定时器设置的时间以一定的周期查看SKB队列中的报文,将队列中的部分或全部报文上报给流量感知组件。
当然,实际应用中,SKB队列中存储的数据流的报文有些是需要立即上报的,有些是需要定期上报的。同样的原理,流量上报组件中的特定线程及时查看队列,将队列中的需要立即上报的报文及时上报给流量感知组件。流量上报组件中还设置了定时器,基于该定时器设置的时间以一定的周期查看SKB队列中的报文,将队列中的需要定期上报的报文上报给流量感知组件。
需要说明,上报报文时,还可以一定上报该报文相关的统计信息。
基于上述理解,流量上报组件并不是将Netfilter组件发送的所有报文均上报给流量感知组件。而是,将满足特定特征的报文(可以携带该满足特定特征的报文的统计信息)上报给流量感知组件。同时将上报与满足特征的报文相关的统计信息。
作为示例,若报文1和报文2均属于同一数据流的报文。接收到报文1后查流表时,根据报文1更新流表中关于该数据流的统计信息,然而,报文1不满足特定特征,所以报文1被过滤掉,不会上报给流量感知组件。接收到报文2后查流表时,根据报文2更新流表中关于该数据流的统计信息,报文2满足特定特征,所以报文2不会被过滤掉,报文2会被上报给流量感知组件。即虽然上报了部分报文,然而,统计信息是基于该数据流下的所有报文得到的。
上述示例中的上报的报文以及相关的统计信息用于流量感知组件确定该报文表示的数据流的特征以及该数据流的传输质量。在描述流量上报组件如何上报数据流的报文给流量感知组件之后,下面将描述如何基于流量上报组件上报给流量感知组件的数据流报文确定表2中设定数据流的特征条件、网络质量评估算法设置的提升传输质量的条件。
作为示例,相同四元组(源地址,源端口,目的地址,目的端口)的报文(数据包)同属一条数据流。若通过网络通道传输了多个具有相同四元组的报文,则多个具有相同四元组的报文同属于一个数据流,也可以理解为:一个数据流中可以存在多个报文。同时,一个数据流下的报文携带该报文在数据流中的序列号。由于这些报文具有相同的特征,可以根据该相同的特征生成该报文所属的数据流的标识,作为示例,可以根据报文的四元组生成该报文所属的数据流的标识。
流量上报组件接收到报文之后,可以根据报文携带的应用标识确定该报文所属的应用。还可以根据该报文的四元组生成该报文所属的数据流的标识。
当然,流量上传组件将报文上传到流量感知组件之后,流量感知组件也可以基于接收到的报文确定所属的应用的标识和所属的数据流的标识。流量上报组件可以根据报文的五元组中的协议号确定数据流特征中的协议,通过四元组或五元组中的目的端口可以确定数据流特征中的端口。通过报文的头部特征可以确定数据流特征中的报文特征。即,基于流量上报组件上报的报文可以确定该报文所在的数据流的特征。
当然,上述数据流的特征的确定方式仅用于举例,实际应用中,还可以通过其他方式确定报文所在的数据流的特征。
在电子设备能够确定接收到的报文所属的数据流的特征之后,就可以基于该数据流的特征确定对应的网络质量评估算法设置的提升传输质量的条件。
当然,实际应用中,为了确保得到的网络质量评估算法设置的提升传输质量的条件准确,还可以增加限定条件:应用的标识,即根据应用的标识和数据流的特征共同确定对应的网络质量评估算法设置的提升传输质量的条件。
在确定了网络质量评估算法设置的提升传输质量的条件之后,该网络质量评估算法设置的提升传输质量的条件仅用于评估具有相同数据流特征(也可以增加相同应用标识和/或相同数据流标识)的数据流的传输质量。
在评估传输质量时,可以采用如下参数中的一个或多个:时延、丢包率、是否存在响应和速率。
如前,可以通过某个数据流下的心跳包确定时延。由于报文中携带了该报文在数据流中的序列号,因此,可以根据该序列号确定丢包情况。通过上述示例中的统计信息中报文总数确定是否下行无响应,作为示例,连续两个周期内接收到的报文总数相同,则确定下行无响应。通过上述示例中的统计信息中的总字节数确定传输速率,作为示例,上一周期和本周期接收到的总字节数的差值与周期的比值为本周期下行速率。
当然,上述参数的确定方式仅用于举例,在实际应用中,还可以通过其他方式确定上述参数。
作为本申请另一实施例,可能多个电子设备中均安装有某应用,多个电子设备均可以和该应用对应的服务器进行通信。
参见图14,为多个电子设备中的应用与该应用对应的服务器进行通信的场景图。
该图示中,多个电子设备中均安装有应用A,多个电子设备均与应用A对应的服务器进行通信,其中,电子设备A、电子设备B和电子设备C分别与应用A对应的服务器进行通信。图14所示网络架构为内容分发网络(Content Delivery Network,CDN)架构。
在具体实现时,还可以通过其他网络架构形式实现通信。参见图15,为本申请实施例提供的另一网络架构。
该图示中,在图14所示的网络架构的基础上,多个电子设备之间也可以进行通信。例如,电子设备A和电子设备B之间可以通信,电子设备B和电子设备C之间也可以通信,电子设备A和电子设备C之间也可以通信。其中,电子设备之间通信的架构为点对点(peer topeer,P2P)架构。即图15所示的网络架构包含CDN架构和P2P架构。
采用图14所示的CDN架构,每个电子设备可以将各自存储的数据上传到服务器,若电子设备A需要获取数据A,则电子设备A需要向服务器发送数据A的查询请求,服务器基于该数据A的查询请求将电子设备B预先上传到服务器上的数据A传输到电子设备A。
采用图15所示的P2P架构,每个电子设备可以将各自存储的数据的列表上传至服务器,若电子设备A需要获取数据A,则电子设备A需要向服务器发送数据A的查询请求,服务器基于该数据A的查询请求返回数据A所在的电子设备B的地址,电子设备A基于接收到的地址向电子设备B请求获取数据A,电子设备B向电子设备A返回数据A。
在实际应用中,尤其是视频类应用的视频业务场景中,若采用CDN架构,则可能会出现多个电子设备中的应用A同时和服务器进行通信以请求视频流数据,会造成服务器负载过重,甚至会导致服务器瘫痪。因此,通常会在CDN架构的基础上,采用P2P技术改善上述问题。为便于描述,可以将电子设备通过CDN架构接收到的视频流记为CDN流,将电子设备通过P2P架构接收到的视频流记为P2P流。
为对P2P流具有更清晰的理解,通过以下场景描述P2P流。
电子设备A准备共享视频文件A时,电子设备A通过BitTorrent协议(例如,客户端软件BitTorrent、BitComet和BitSpirit,这些软件可以作为浏览器应用的插件存在)将视频文件A分片并将视频文件A的分片信息以及下载地址上传到服务器。
电子设备A作为视频文件A的种子节点可以供其他电子设备下载。电子设备B可以在服务器上获取到视频文件A的下载地址,然后基于该下载地址从电子设备A这个种子节点下载视频文件A,在下载过程中,电子设备B可能下载了部分视频分片,同时电子设备B中已经下载的部分视频分片也可以共享给其他电子设备(例如,后面的电子设备C)。若电子设备C也需要下载视频文件A,则电子设备C在服务器上可以获取到视频文件A的下载地址(电子设备A和电子设备B),然后基于该下载地址从电子设备A这个种子节点下载视频文件A或从电子设备B下载视频分片;同时电子设备C已经下载的视频分片也可以共享给其他电子设备下载。若电子设备D也需要下载视频文件A,则电子设备D在服务器上可以获取到视频文件A的下载地址(电子设备A和电子设备B和电子设备C),然后基于该下载地址从电子设备A这个种子节点下载视频文件A的视频分片或从电子设备B下载视频分片或从电子设备C下载视频分片;同时电子设备D已经下载的视频分片也可以共享给其他电子设备下载。在该过程中,越多的电子设备进行下载,相应的,可共享的下载地址越多,下载速率反而更快。
当然,上述示例中,无论电子设备B在从电子设备A下载视频文件A的视频分片的过程中,还是从电子设备A下载视频文件A结束以后,电子设备A若未删除已经下载的视频文件(或视频分片)且处于联网状态,电子设备A均可以提供下载地址供其他电子设备下载。
需要说明,使用BitTorrent协议的方式传输P2P流仅用于一种示例,实际应用中,采用了P2P技术原理的任一方式传输P2P流的方法均可以应用在本申请实施例中用于电子设备之间传输P2P流。
上述示例中,若以用户的视角,用户1通过用户1的电子设备A上的某客户端软件上传视频文件A的相关信息,用户2在用户2的电子设备B上的该客户端软件上看到视频文件A的相关信息后,点击下载,用户2的电子设备B从用户1的电子设备A下载视频文件A。用户3在用户3的电子设备C上的该客户端软件上看到视频文件A的相关信息后,点击下载,用户3的电子设备C从用户1的电子设备A或用户2的电子设备B下载视频文件A。需要说明,用户3的电子设备C可以从用户1的电子设备A下载视频文件A的视频分片,从用户2的电子设备B下载视频文件A的另一部分视频分片。用户4在用户4的电子设备D上的该客户端软件上看到视频文件A的相关信息后,点击下载,用户4的电子设备D从用户1的电子设备A或用户2的电子设备B或用户3的电子设备C下载视频文件A。需要说明,用户4的电子设备D可以从用户1的电子设备A下载视频文件A的一部分视频分片,从用户2的电子设备B下载视频文件A的一部分视频分片,从用户3的电子设备C下载视频文件A的一部分视频分片,最终用户4的电子设备D得到完整的视频文件A。
当然,上述过程中,用户1、用户2和用户3也可以同时进行下载,例如,用户1下载视频文件A的视频分片1,用户2下载了视频文件A的视频分片2,用户3下载了视频文件A的视频分片3。用户1可以从用户2的电子设备B中下载视频分2,从用户3的电子设备C中下载视频分3。用户2可以从用户1的电子设备A中下载视频分1,从用户3的电子设备C中下载视频分3。用户3可以从用户1的电子设备A中下载视频分1,从用户2的电子设备B中下载视频分2。其他可能存在的情况将不再一一举例。
上述过程中,若某个下载过视频文件A(或视频分片)的电子设备(例如,电子设备B)下载视频文件A(或视频分片)之后,删除了下载的视频文件A或视频分片(当然,还可能存在其他情况,例如,该客户端软件关闭状态,电子设备处于未联网状态等),则其他电子设备(例如,电子设备C和电子设备D)下载该视频文件A(或视频分片)的过程中,无法从电子设备B下载视频文件A的视频分片,但是可以从其他已经下载了视频文件A或视频分片的电子设备下载视频文件A的视频分片。
当然,电子设备之间传输P2P流时并不是两个电子设备之间直接进行的通信(例如,蓝牙通信等),而是可以通过各个电子设备各自连接的网络进行的通信。即只要各个电子设备具有联网功能,即使电子设备之间未处于可以直接连接通信的同一空间中,也可以实现P2P流的传输。
在采用上述表2提供的网络加速方法时,通常采用数据流的特征(例如,协议、端口等)识别数据流,并对该数据流进行传输质量评估,在确定该数据流的传输质量较差,需要提升该数据流的传输质量时,通常也是基于该数据流的特征(例如,IP地址、端口等),将该数据流切换到备用网络(或将该数据流在多个网络通道上并发传输)。CDN流通常具有固定的特征,然而,P2P流通常不具有固定的特征,例如,种类多、无固定服务端口。
换言之,本申请实施例虽然能够识别到P2P流,且识别P2P流时可以基于数据流的原始数据、协议和源端口确定当前流为P2P流。然而,在对数据流的流级切换时,通常基于数据流的IP地址和端口进行控制,以将数据流切换到其他网络通道上。而一个电子设备接收到的P2P流可能是当前电子设备与多个其他电子设备传输的数据流;并且,在不同时间段,传输给本电子设备P2P流的其他电子设备也不固定,这就导致P2P流无固定的IP地址(源IP地址和目的IP地址)和端口(源端口和目的端口),所以无法将单独的P2P流切换到其他网络通道上。
这就导致在电子设备传输的数据流中既包含CDN流,又包含P2P流的情况下,可能需要基于具有CDN流特征的数据流确定传输质量,在传输质量较差的情况下,只能对具有CDN流特征的数据流执行相关的传输质量提升策略,例如,将CDN流切换到备用网络上。相当于当应用中同时存在CDN流和P2P流的情况下,识别了CDN流,未识别P2P流,在切换CDN流到备用网络上后,P2P流仍然在原网络上传输,导致无法解决卡顿问题。
本申请实施例针对CDN流和P2P流的特点,分别针对CDN流和P2P流的特点设置识别特征。
作为示例,可以设置某个视频类应用具有以下特征的数据流为CDN流:http通过URL发送请求,且请求的后缀中包含字符串ts;http响应的第一个数据包的文件扩展名(content-type)包含video;采用http的hls流媒体协议,数据流的目的端口为80。
可以设置该视频类应用具有以下特征的数据流为P2P流:数据流中记录信息的原始数据(payload data)以020000或000000开头;采用UDP协议,源端口相同。
上述示例仅以某视频类应用的CDN流和P2P流的特征作为示例。实际应用中,针对不同应用,需要基于该应用的CDN流和P2P流的特征重新设置:该应用的数据流中是否存在CDN流的特征和该应用的数据流中是否存在P2P流的特征。
本申请实施例的重点不在于采用何种特征分别识别CDN流和P2P流,实际应用中,还可以采用其他特征以识别数据流中的CDN流和P2P流,在此不再一一举例。
在应用A的数据流中存在CDN流不存在P2P流(通过预先设置的CDN流的特征和P2P流的特征判断)的情况下,通过预先设置的网络质量评估算法1评估应用A的数据流(CDN流)的传输质量,在应用A的CDN流的传输质量较差(例如,满足网络质量评估算法中设置的提升传输质量的条件)需要提升传输质量的情况下,将应用A的CDN流切换到备用网络上传输。
在应用A的数据流中既存在CDN流又存在P2P流的情况下,通过表4中的网络质量评估算法2评估应用A的数据流的传输质量,在应用的数据流的传输质量较差需要提升传输质量的情况下,将电子设备的所有数据流(包括应用A的所有数据流)切换到备用网络上传输。
需要说明,网络质量评估算法1和网络质量评估算法2可以相同,也可以不同。
表4视频类应用的网络质量评估算法和传输质量提升策略
表4中所示的网络质量评估算法2仅用于示例。实际应用中,可以将应用A的CDN流和P2P流作为一类数据流评估该类数据流的传输质量,具体可参照表5。
表5应用A的数据流包含P2P流和不包含P2P流的算法评估示例
在应用A的数据流既存在CDN流又存在P2P流的情况下,可以采用表5中的网络质量评估算法2评估应用A的CDN流和P2P流,即将CDN流和P2P流作为一类数据流同时评估应用A的数据流的传输质量,在传输质量满足表5中的设置的提升传输质量的条件的情况下,将电子设备的所有数据流(包括应用A的所有数据流)切换到备用网络上。
当然,实际应用中,也可以采用网络质量评估算法2分别评估应用A的CDN流的传输质量和P2P流的传输质量。在应用A的CDN流的传输质量和P2P流的传输质量中的任一满足表6中设置的提升传输质量的条件的情况下,将电子设备的所有数据流(包括应用A的所有数据流)切换到备用网络上。即表6中的算法2-1和算法2-2可以相同。
表6应用A的数据流包含P2P流和不包含P2P流的算法评估另一示例
当然,实际应用中,还可以针对CDN流和P2P流分别设置不同的网络质量评估算法,作为示例,为CDN流设置网络质量评估算法2-1,为P2P流设置网络质量评估算法2-2。采用算法2-1评估CDN流的传输质量,采用算法2-2评估P2P流的传输质量。在CDN流的传输质量满足算法2-1设置的提升传输质量的条件和/或P2P流的传输质量满足算法2-2设置的提升传输质量的条件的情况下,将电子设备的所有数据流(包括应用A的所有数据流)切换到备用网络上。即表6中的算法2-1和算法2-2可以不同。
另外,表4至表6中的传输质量提升策略中的WLAN+通道切换的目的将应用A的全部数据流(至少包括CDN流和P2P流)切换到备用网络上。
由于P2P流的特征并不完全固定,虽然可以识别到P2P流,然而,无法精准的将具有P2P流特征的数据流切换到备用网络上。因此,可以将整个电子设备的应用的所有数据流切换到备用网络上。上述实施例中,以主用网络为Wi-Fi网络为例,则备用网络可以为蜂窝网络。
上述实施例仅用于举例,实际应用中,可以由任一主用网路切换到备用网络,并不局限于上述实施例中的由主Wi-Fi切换到蜂窝网络。
通过上述示例也可以理解,表4至表6中的传输质量提升策略为通道级切换,表2中传输质量提升策略为流级切换。
执行传输质量提升策略时,可以将电子设备上所有应用的数据请求均切换到备用网络上传输。应用A的数据流(CDN流和P2P流)自然也通过备用网络传输。
为对上述实施例具有更清晰的理解,参照图16所示的一种针对含有P2P流的网络加速方法的时序图。
图16所示时序图和图8所示时序图的区别包括:执行的传输质量提升策略不同。具体实现过程参照下面的描述。
步骤B2至步骤B10的描述参照上述实施例中的描述,在此不再赘述。
步骤P1,流量感知组件接收到流量上报组件上报的数据流之后,根据接收到的数据流匹配预先设置的各个特征,匹配的结果包括:接收到的数据流包含P2P流。
步骤B11,当接收到的数据流满足预先设置的包含P2P流的特征的情况下,得到满足预先设置的包含P2P流的特征对应的网络质量评估算法。图16中的算法B可以是上述实施例中的算法2(或算法2-2)。
在实际应用中,也可以不包含步骤P1,即可以预先设置包含P2P流的特征,当接收到的数据流满足预先设置的包含P2P流的特征的情况下,得到算法B。算法B用来评估满足设置的包含P2P流的特征的数据流,该数据流为P2P流。
步骤B12和步骤B13的内容可参照上述实施例中的描述,在此不再赘述。
当然,步骤B13中发送的也可以是数据流特征的标识(采用不同标识表示不同的数据流特征)和评估结果标识(采用不同标识表示是否满足传输质量提升条件,或者采用不同标识表示传输质量优劣)。
步骤B14,流级策略管理组件接收到数据流特征和评估结果后,若评估结果为需要提升传输质量,则基于数据流特征确定请求通道切换。
在具体实现时,在数据流特征为预先设置的包含P2P流的特征、且评估结果为满足预先设置的传输质量提升的条件的情况下,得到通道切换的策略。
步骤B15,流级策略管理组件向流级路径管理组件发送表示请求通道切换的信息。
步骤B16,流级路径管理组件接收到表示请求通道切换的信息后,查看未存储备用网络,则向通道级路径管理组件发送表示请求通道切换的信息。
在步骤B16之后,执行步骤B17至步骤B23,步骤B17至步骤B23的内容参照上述实施例中的描述,在此不再赘述。
步骤P2,在步骤B23确定质量最优的网络为主卡网络之后,通道级路径管理组件向网络连接管理组件发送主卡网络的启动请求和切换请求。
步骤P3,网络连接管理组件唤醒主卡网络,并将系统所有数据请求(当前应用A的P2P资源的请求、CDN资源的请求,其他应用的其他网络请求)切换到主卡网络。
步骤P4,网络连接组件在完成备用网络的唤醒和通道切换之后,向通道级路径管理组件返回表示主卡网络已被唤醒并完成通道切换的信息。
步骤P5,通道级路径管理组件接收到表示主卡网络已被唤醒并完成通道切换的信息之后,向流级路径管理组件发送主卡网络的路径。
步骤P6,流级路径管理组件将主卡网络的路径存储为主用网络的路径。
图16所示实施例中,在评估的数据流满足算法设置传输质量提升条件(表5所示实施例的评估方式或表6所示实施例的评估方式)的情况下,再确定备用网络;在确定了备用网络之后,将系统所有数据请求切换到备用网络上;最后,将确定的备用网络更新为当前的主用网络。
实际应用中,在确定存在P2P流的情况下,也可以预先确定备用网络;在评估的数据流满足算法设置传输质量提升条件(表5所示实施例的评估方式或表6所示实施例的评估方式)的情况下,再将系统所有数据请求切换到备用网络上;最后,将确定的备用网络更新为当前的主用网络。具体可参照图17所示实施例。
图17为本申请实施例提供的另一种针对P2P流的网络加速方法的时序图。
步骤B2至步骤P1可参照图16所示实施例中的描述。
步骤J1,流量感知组件在根据数据流特征确定存在P2P流的情况下,向通道级路径管理组件发送备用路径的请求信息。
该请求信息用于请求唤醒并存储备用网络的路径,以在流量感知组件评估数据流的传输质量时,在数据流满足算法设置传输质量提升条件(表5所示实施例的评估方式或表6所示实施例的评估方式)的情况下,切换到唤醒并存储的备用网络上。
步骤B17至步骤F1的内容可参照上述实施例中的描述,在此不再赘述。
步骤J1可以在步骤P1之后,也可以在步骤B11之后。本申请实施例对此不做限定。
在步骤B10之后,电子设备执行步骤B11至步骤B13。具体可参照上述实施例中的描述,在此不再赘述。
由于流量上报组件持续向流量感知组件上报应用A的数据流,流量感知组件也在持续的得到评估结果,并持续的向流级策略管理组件发送数据流特征和评估结果。
步骤B14,若在评估结果为满足传输质量提升的条件的情况,则基于数据流特征确定请求通道切换。
步骤B15,流级策略管理组件向流级路径管理组件发送表示请求通道切换的信息。
步骤B16,流级路径管理组件接收到表示请求通道切换的信息后,查看存储有备用网络,则向通道级路径管理组件发送表示请求通道切换的信息。
步骤P2至步骤P6可参照上述实施例中的描述。只是备用网络已经被唤醒,无需唤醒备用网络,而是将系统所有数据请求切换到备用网络上。
图16和图17仅为实现上述表4至表6中应用的数据流包含P2P流的情况下的两种具体实现方式。在实际应用中,还可以采用其他方式实现表4至表6中应用的数据流包含P2P流的情况下,在数据流的传输质量较差的情况下如何提升应用的数据流的传输质量。
上述实施例以P2P流作为示例,描述难以实现流级切换时,或者流级切换效果较差时(例如,将某个数据流切换到其他网络质量更好的网络通道上的过程中卡顿时间较长,用户体验较差),可以通过数据流的特征确定网络质量评估算法,在通过网络质量评估算法确定需要切换该数据流时,将电子设备的所有应用的数据流切换到备用网络(该备用网络可以为当前使用的主用网络之外的网络中网络质量最好的一个网络)上,实现通道级切换。
即可以根据数据流的特征确定网络质量评估算法,在通过网络质量评估算法确定需要提升该数据流的传输质量时,在不同的应用场景中,可以选择不同的切换方式,以使得用户获得更好的使用体验。例如,可以选择流级切换(单个数据流,或,单个数据流以及与该单个数据流相关的数据流),应用级切换(单个数据流所在应用的全部数据流)或通道级切换(电子设备中所有的数据流)。
当然,在实际应用中,还可以将上述实施例中部分步骤组合以实现网络加速方法。例如,请求并唤醒备用网络的时机可以不同,具体实现时,可以为网络质量评估算法设置两种判断条件,一种判断条件用于请求并唤醒备用网络,一种判断条件用于将电子设备所有应用的数据请求切换到已经唤醒的备用网络上。
上述实施例可以应用在以下场景中,在电子设备通过无线局域网网卡用于联网服务时,在电子设备的无线局域网网卡接收到的无线路由器的信号具有第一强度的情况,电子设备运行一个应用(记为第一应用),电子设备可以通过无线局域网网卡传输第一应用的数据流。第一应用的数据流可以包括多个类型的数据流(例如,第一数据流和第二数据流),即具有多个不同特征的数据流。例如,可能同时包含视频流(为第一数据流)和会话流(为第二数据流)。
当电子设备远离无线路由器,电子设备的无线局域网网卡接收到的无线路由器的信号可能降低为第二强度,这种情况下,若无线局域网已经不能满足第一数据流对网络的要求(例如,第一数据流的流质量参数满足预先设置的第一条件),但是满足第二数据流对网络的要求(例如,第二数据流的流质量参数不满足预先设置的第二条件)),这种情况下,电子设备通过其他网卡(可以记为第二网卡)传输第一数据流,仍然通过无线局域网卡传输第二数据流。该场景中,第一应用的数据流中不包括P2P流。
在另一场景中,参见图18,在电子设备(例如,手机1)通过无线局域网网卡(图示中的无线网卡)用于联网服务时,在电子设备的无线局域网网卡接收到的无线路由器的信号具有第一强度的情况,电子设备运行另一个应用(记为第二应用,图示中的视频应用A),电子设备可以通过无线局域网网卡传输第二应用的数据流。第二应用的数据流可以包括一个类型或多个类型的数据流。以第二应用的数据流包括P2P流(与手机2之间传输的数据流,第四数据流)和CDN流(与应用的服务器之间传输的数据流,第三数据流)为例。
当电子设备远离无线路由器,电子设备的无线局域网网卡接收到的无线路由器的信号可能降低为第二强度,这种情况下,若无线局域网已经不能满足P2P流对网络的要求(P2P流的流质量参数满足预先设置的第四条件),则电子设备通过其他网卡(可以记为第二网卡,图示中的数据业务网卡)传输电子设备的所有数据流(包括CDN流和P2P流)。
上述场景中,不同类型的数据流对应于不同的特征(具体参照表2所示),第一数据流可以为具有第一特征的数据流,不同类型的数据流对应于不同的提升传输质量的条件,第一数据流可以对应于第一条件,第一条件为判断是否通过第一数据流当前所在的网卡以外的其他网卡传输第一数据流的条件。第一条件规定了第一数据流的流质量参数应该满足的条件。流质量参数包括以下至少一项:时延、速率、丢包率、重传率和报文响应是否超时。当第一数据流的流质量参数满足第一条件表示第一数据流当前所在的网络已经不能满足第一数据流的传输要求。同理,第二数据流可以为具有第二特征的数据流,第二数据流可以对应于第二条件,第二条件为判断是否通过第二数据流当前所在的网卡以外的其他网卡传输第二数据流的条件。第二条件规定了第二数据流的流质量参数应该满足的条件。当第二数据流的流质量参数满足第二条件表示第二数据流当前所在的网络已经不能满足第二数据流的传输要求。
第一网卡接收到的所述无线路由器的信号具有第一强度时,网络质量较好,第一数据流的流质量参数不满足所述第一条件,第二数据流的流质量参数不满足所述第二条件。
所述第一网卡接收到的所述无线路由器的信号具有第二强度时,网络质量较差,所述第一数据流的流质量参数满足所述第一条件,所述第二数据流的流质量参数不满足所述第二条件。
当然,所述第一网卡接收到的所述无线路由器的信号具有第三强度时,网络质量更差,所述第一数据流的流质量参数满足所述第一条件,所述第二数据流的流质量参数满足所述第二条件。
如前描述可以理解,第三数据流具有第三特征,可以对应第三条件,第四数据流具有第四特征,可以对应第四条件,所述第三条件为所述第三数据流到所述第二网卡上传输的条件,或所述第三数据流和所述第四数据流到所述第二网卡上传输的条件,所述第四条件为所述第三数据流和所述第四数据流到所述第二网卡上传输的条件;
所述第一网卡接收到的所述无线路由器的信号具有第一强度时,网络质量较好,所述第三数据流的流质量参数不满足所述第三条件,所述第四数据流的流质量参数不满足所述第四条件;
若所述第三条件为所述第三数据流到所述第二网卡上传输的条件,则所述第一网卡接收到的所述无线路由器的信号具有第二强度时,网络质量较差,所述第四数据流的流质量参数满足所述第四条件;
若所述第三条件为所述第三数据流和所述第四数据流到所述第二网卡上传输的条件,则所述第一网卡接收到的所述无线路由器的信号具有第二强度时,网络质量较差,所述第三数据流的流质量参数满足所述第三条件或所述第四数据流的流质量参数满足所述第四条件。
所述第一网卡接收到的所述无线路由器的信号具有第三强度时,网络质量更差,所述第三数据流的流质量参数满足所述第三条件,同时所述第四数据流的流质量参数满足所述第四条件,此时,电子设备的所有数据流通过第二网卡传输。
第一应用和第二应用可以是相同的应用也可以是不同的应用。在第一应用和第二应用为相同的应用的情况下,传输的数据流不同(有时包含P2P流,有时不包含P2P流)是由于业务场景不同导致。第三条件和第四条件可以相同也可以不同。当然,第一条件和第三条件也可以相同,也可以不同。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时可实现上述各个方法实施例中的步骤。
本申请实施例还提供了一种计算机程序产品,当计算机程序产品在第一设备上运行时,使得第一设备可实现上述各个方法实施例中的步骤。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质至少可以包括:能够将计算机程序代码携带到第一设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
本申请实施例还提供了一种芯片系统,芯片系统包括处理器,处理器与存储器耦合,处理器执行存储器中存储的计算机程序,以实现本申请任一方法实施例的步骤。芯片系统可以为单个芯片,或者多个芯片组成的芯片模组。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (17)
1.一种网络加速方法,其特征在于,包括:
电子设备运行第一应用,所述电子设备通过第一网卡传输所述第一应用的第一数据流和第二数据流,所述第一网卡为无线局域网网卡,所述第一网卡用于连接无线路由器,所述第一网卡接收到的所述无线路由器的信号具有第一强度,所述第一数据流和所述第二数据流均不为P2P流;
在所述第一网卡接收到的所述无线路由器的信号具有第二强度时,所述电子设备通过第二网卡传输所述第一数据流,所述电子设备通过所述第一网卡传输所述第二数据流,所述第二强度小于所述第一强度,所述第二网卡的网络质量高于所述第一网卡的网络质量;
所述电子设备运行第二应用,所述电子设备通过所述第一网卡传输所述第二应用的第三数据流和第四数据流,所述第一网卡接收到的所述无线路由器的信号具有第一强度,所述第三数据流不为P2P流,第四数据流为P2P流;
在所述第一网卡接收到的所述无线路由器的信号具有第二强度时,所述电子设备通过所述第二网卡传输所述第三数据流和第四数据流。
2.如权利要求1所述的方法,其特征在于,所述第一数据流为具有第一特征的数据报文组成的数据流,所述第二数据流为具有第二特征的数据报文组成的数据流,所述第一特征和所述第二特征中的以下至少一个参数不同:所述数据报文的传输协议、传输端口和头部特征。
3.如权利要求2所述的方法,其特征在于,所述电子设备通过第一网卡传输所述第一应用的第一数据流和第二数据流的过程中,所述方法包括:
所述电子设备获取所述第一特征对应的第一条件和所述第二特征对应的第二条件,所述第一条件为所述第一数据流到所述第二网卡上传输的条件,所述第二条件为所述第二数据流到所述第二网卡上传输的条件;
所述电子设备判断所述第一数据流的流质量参数是否满足所述第一条件,判断所述第二数据流的流质量参数是否满足所述第二条件,所述流质量参数包括以下至少一项参数:时延、速率、丢包率、重传率和报文响应是否超时。
4.如权利要求3所述的方法,其特征在于,所述第一网卡接收到的所述无线路由器的信号具有第一强度时,所述第一数据流的流质量参数不满足所述第一条件,所述第二数据流的流质量参数不满足所述第二条件;
所述第一网卡接收到的所述无线路由器的信号具有第二强度时,所述第一数据流的流质量参数满足所述第一条件,所述第二数据流的流质量参数不满足所述第二条件。
5.如权利要求1至4任一项所述的方法,其特征在于,所述第三数据流为具有第三特征的数据流,所述第四数据流为具有第四特征的数据流;所述第三特征和所述第四特征中的以下至少一个参数不同:所述数据报文的传输协议、传输端口和头部特征。
6.如权利要求5所述的方法,其特征在于,所述电子设备通过所述第一网卡传输所述第二应用的第三数据流和第四数据流的过程中,所述方法包括:
所述电子设备获取所述第三特征对应的第三条件和所述第四特征对应的第四条件,所述第三条件为所述第三数据流到所述第二网卡上传输的条件,或所述第三数据流和所述第四数据流到所述第二网卡上传输的条件,所述第四条件为所述第三数据流和所述第四数据流到所述第二网卡上传输的条件;
所述电子设备判断所述第三数据流的流质量参数是否满足所述第三条件,判断所述第四数据流的流质量参数是否满足所述第四条件,所述流质量参数包括以下至少一项参数:时延、速率、丢包率、重传率和报文响应是否超时。
7.如权利要求6所述的方法,其特征在于,所述第一网卡接收到的所述无线路由器的信号具有第一强度时,所述第三数据流的流质量参数不满足所述第三条件,所述第四数据流的流质量参数不满足所述第四条件;
若所述第三条件为所述第三数据流到所述第二网卡上传输的条件,则所述第一网卡接收到的所述无线路由器的信号具有第二强度时,所述第四数据流的流质量参数满足所述第四条件;
若所述第三条件为所述第三数据流和所述第四数据流到所述第二网卡上传输的条件,则所述第一网卡接收到的所述无线路由器的信号具有第二强度时,所述第三数据流的流质量参数满足所述第三条件或所述第四数据流的流质量参数满足所述第四条件。
8.如权利要求1至7任一项所述的方法,其特征在于,所述电子设备通过所述第二网卡传输所述第三数据流和第四数据流包括:
所述电子设备查看所述电子设备是否存储有备用网络;
在所述电子设备存储有所述备用网络的情况下,所述电子设备通过所述备用网络传输所述第三数据流和所述第四数据流,其中,所述备用网络包括所述第二网卡对应的第二网络。
9.如权利要求8所述的方法,其特征在于,所述方法还包括:
在所述电子设备未存储有所述备用网络的情况下,所述电子设备获取所述电子设备的第三网卡对应的网络的网络质量参数,所述第三网卡为所述电子设备中除所述第一网卡以外的其他网卡,所述网络质量参数包括以下至少一项:带宽、时延和空口速率;
在所述第二网卡为所述第三网卡中网络质量最优的网卡的情况下,所述电子设备将所述第二网卡对应的所述第二网络作为所述备用网络存储,所述网络质量由所述网络质量参数确定。
10.如权利要求9所述的方法,其特征在于,所述电子设备将所述第二网卡对应的所述第二网络作为所述备用网络存储之前,所述方法还包括:
所述电子设备唤醒所述第二网卡对应的所述第二网络。
11.如权利要求9所述的方法,其特征在于,所述电子设备将所述第二网卡对应的所述第二网络作为所述备用网络存储之前,所述方法还包括:
所述电子设备获取所述第一网卡对应的第一网络的网络质量参数;
相应的,所述电子设备将所述第二网卡对应的所述第二网络作为所述备用网络存储包括:
在所述第二网卡对应的所述第二网络的网络质量优于所述第一网卡对应的所述第一网络的网络质量的情况下,所述电子设备将所述第二网卡对应的所述第二网络作为所述备用网络存储。
12.如权利要求11所述的方法,其特征在于,所述电子设备运行第二应用包括:
所述电子设备在前台运行所述第二应用;
相应的,所述方法还包括:
所述电子设备检测到所述第一应用在前台运行后,所述电子设备按照所述电子设备的网卡的优先级顺序依次执行主用网络确定步骤,直到得到所述电子设备的主用网络;
其中,所述主用网络确定步骤包括:
所述电子设备获取第四网卡对应的网络的网络状态,所述第四网卡为所述电子设备的一个网卡;
在所述第四网卡的网络状态为可用的情况下,所述电子设备获取所述第四网卡的网络质量参数;在所述第四网卡的网络状态为不可用的情况下,结束本轮主用网络确定步骤;
在所述第四网卡的网络质量参数在预设范围内的情况下,将所述第四网卡作为所述电子设备的主用网络存储;在所述第四网卡的网络质量参数不在所述预设范围内的情况下,结束本轮所述主用网络确定步骤。
13.如权利要求12所述的方法,其特征在于,所述电子设备获取所述第一网卡对应的第一网络的网络质量参数包括:
在得到所述电子设备的主用网络之后,所述电子设备以第一周期监测所述主用网络的网络质量参数。
14.如权利要求11所述的方法,其特征在于,所述电子设备获取所述第一网卡对应的第一网络的网络质量参数包括:
所述电子设备获取传输所述第三数据流和所述第四数据流的网络,所述传输所述第三数据流和所述第四数据流的网络为所述第一网卡对应的所述第一网络;
所述电子设备以第一周期监测所述第一网络的网络质量参数。
15.一种电子设备,其特征在于,所述电子设备包括处理器,所述处理器用于运行存储器中存储的计算机程序,以使得所述电子设备实现如权利要求1至14任一项所述的方法。
16.一种芯片系统,其特征在于,包括处理器,所述处理器与存储器耦合,所述处理器执行存储器中存储的计算机程序,以实现如权利要求1至14任一项所述的方法。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储计算机程序,所述计算机程序在处理器上运行时实现如权利要求1至14任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111383410.5A CN116137730A (zh) | 2021-11-18 | 2021-11-18 | 一种网络加速方法、电子设备、芯片系统及存储介质 |
EP22894392.4A EP4344302A1 (en) | 2021-11-18 | 2022-09-05 | Network acceleration method, electronic device, chip system and storage medium |
PCT/CN2022/117088 WO2023087852A1 (zh) | 2021-11-18 | 2022-09-05 | 一种网络加速方法、电子设备、芯片系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111383410.5A CN116137730A (zh) | 2021-11-18 | 2021-11-18 | 一种网络加速方法、电子设备、芯片系统及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116137730A true CN116137730A (zh) | 2023-05-19 |
Family
ID=86333214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111383410.5A Pending CN116137730A (zh) | 2021-11-18 | 2021-11-18 | 一种网络加速方法、电子设备、芯片系统及存储介质 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4344302A1 (zh) |
CN (1) | CN116137730A (zh) |
WO (1) | WO2023087852A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113795040B (zh) * | 2021-06-16 | 2022-10-18 | 荣耀终端有限公司 | 通道切换方法、电子设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105792289B (zh) * | 2014-12-23 | 2019-06-25 | 中国移动通信集团公司 | 一种数据传输方法、相关节点及系统 |
JP6540892B2 (ja) * | 2015-07-03 | 2019-07-10 | 日本電気株式会社 | 無線ピアツーピアネットワーク内のデバイス、無線通信システム及び制御方法 |
CN108307432B (zh) * | 2017-09-29 | 2020-08-25 | 济南龙超信息技术有限公司 | WiFi控制方法、移动终端及计算机可读存储介质 |
CN113037624A (zh) * | 2019-12-25 | 2021-06-25 | 华为技术有限公司 | 一种数据流控制的方法和装置 |
-
2021
- 2021-11-18 CN CN202111383410.5A patent/CN116137730A/zh active Pending
-
2022
- 2022-09-05 EP EP22894392.4A patent/EP4344302A1/en active Pending
- 2022-09-05 WO PCT/CN2022/117088 patent/WO2023087852A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
EP4344302A1 (en) | 2024-03-27 |
WO2023087852A1 (zh) | 2023-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4404773B2 (ja) | データ・リンク・リソースの使用を管理するための方法および装置 | |
WO2021047390A1 (zh) | 一种降低功耗的方法及移动终端 | |
CN112291366B (zh) | 数据传输方法、装置、存储介质及电子设备 | |
CN109274596B (zh) | 数据传输方法及相关装置 | |
WO2019245670A1 (en) | Low-latency audio streaming with communication coexistence | |
CN109121126B (zh) | 电子设备、消息推送方法及相关产品 | |
EP4216501A1 (en) | Method for switching channels, electronic device, and storage medium | |
WO2021007823A1 (zh) | 信息指示、确定方法及装置、通信设备及存储介质 | |
WO2020019533A1 (zh) | 一种数据传输方法及电子设备 | |
CN111527767B (zh) | 一种网络性能提升的方法及设备 | |
WO2023087852A1 (zh) | 一种网络加速方法、电子设备、芯片系统及存储介质 | |
CN116137676B (zh) | 一种网络加速方法、电子设备、芯片系统及存储介质 | |
CN113840269B (zh) | 一种多媒体数据传输方法、装置、电子设备和存储介质 | |
US8605612B2 (en) | Method and apparatus for extracting QoS parameters in mobile device | |
CN116709442A (zh) | 一种无线网络切换方法和电子设备 | |
WO2023087850A1 (zh) | 网络加速方法、电子设备、芯片系统及可读存储介质 | |
JP2021527351A (ja) | ネットワーク容量に制約のあるシナリオにおける共同メディア制作のためのネットワーク制御上りリンクメディア伝送 | |
WO2022028293A1 (zh) | 联网方法及联网系统、电子设备 | |
JP6990736B2 (ja) | データ伝送方法、データ伝送装置、ユーザ装置及び基地局 | |
CN116709369A (zh) | 一种网络加速方法及电子设备 | |
CN115567505B (zh) | 网络加速效果的显示方法、设备和存储介质 | |
WO2022228234A1 (zh) | 一种无线局域网中传输报文的方法及电子设备 | |
CN116744329A (zh) | 一种网络加速方法和电子设备 | |
WO2024082811A1 (zh) | 一种网络加速方法和装置 | |
WO2024109221A1 (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 |