CN116709369A - Network acceleration method and electronic equipment - Google Patents

Network acceleration method and electronic equipment Download PDF

Info

Publication number
CN116709369A
CN116709369A CN202211297054.XA CN202211297054A CN116709369A CN 116709369 A CN116709369 A CN 116709369A CN 202211297054 A CN202211297054 A CN 202211297054A CN 116709369 A CN116709369 A CN 116709369A
Authority
CN
China
Prior art keywords
network
application
network quality
quality
electronic device
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
CN202211297054.XA
Other languages
Chinese (zh)
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 CN202211297054.XA priority Critical patent/CN116709369A/en
Publication of CN116709369A publication Critical patent/CN116709369A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/02Arrangements for optimising operational condition
    • 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/08Testing, supervising or monitoring using real traffic
    • 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
    • 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

The application provides a network acceleration method and electronic equipment, which are used for solving the problem that the electronic equipment is easy to recognize the real quality of a network in a current data stream which needs to be transmitted by using the network under different application scenes. The method is applied to the electronic equipment and comprises the following steps: the electronic equipment operates a first application and acquires the data flow characteristics of the first application when the first application transmits the current data flow through a first network. The electronic equipment acquires a first network quality parameter of a first network; the first network quality parameter is used to indicate a network quality of the first network. If the electronic equipment determines that the network quality of the first network does not meet the first network quality condition corresponding to the data flow characteristic according to the first network quality parameter, the electronic equipment performs network acceleration processing. Wherein the first network quality condition is used for indicating a lowest network quality condition that ensures smoothness of a current data stream transmitting the first application; different data flows correspond to different network quality conditions.

Description

Network acceleration method and electronic equipment
Technical Field
The present application relates to the field of network technologies, and in particular, to a network acceleration method and an electronic device.
Background
When a user uses an application needing networking, if the quality of the currently used network is poor, an application blocking phenomenon may occur, and the use experience of the user is affected. To address this problem, the operating system of the electronic device may set a corresponding network acceleration policy. For example, the network acceleration policy set by the operating system may be to evaluate the quality of the currently used network based on network quality parameters of the currently used network. In the case where the quality of the currently used network is poor and may lead to a stuck, the operating system may choose to use a better quality network.
In the related art, when determining whether the quality of the currently used network is poor or not, which may cause a jam, the determination is generally uniformly performed by the same criteria. However, the requirements for network quality are inconsistent for the electronic device under different application scenarios, such as playing video with different resolutions. In this way, under different application scenarios, the electronic device is easy to generate a problem that the true quality of the network cannot be accurately identified for the data stream which is required to be transmitted by using the network at present.
Disclosure of Invention
The embodiment of the application provides a network acceleration method and electronic equipment, which are used for solving the problem that the electronic equipment is easy to recognize the real quality of a network in a current data stream which needs to be transmitted by using the network under different application scenes.
In order to achieve the above purpose, the embodiment of the present application adopts the following technical scheme:
in a first aspect, a network acceleration method is provided, where the method is applied to an electronic device, and the electronic device is provided with a first application. The method comprises the following steps:
the electronic device runs the first application and obtains the data stream characteristics of the first application when the first application transmits the current data stream through the first network, wherein the data stream characteristics can be used for indicating the encoding and decoding information used in the data stream transmission. In the embodiment of the application, the electronic equipment can acquire the first network quality condition corresponding to the current data stream according to the data stream characteristics of the current data stream. The first network quality condition is a minimum requirement for network quality when ensuring that the electronic device is capable of smoothly transmitting the current data stream. Then, the electronic device obtains a first network quality parameter of the first network, and determines whether the network quality of the first network meets a first network quality condition corresponding to the data flow characteristic according to the first network quality parameter. If the network quality of the first network is determined not to meet the requirement of the current transmitted data stream on the network quality, the first application cannot guarantee smooth transmission of the current data stream by using the first network, so that the electronic equipment performs network acceleration processing.
In this scheme, the current network quality is evaluated to determine whether network acceleration is required in combination with the network quality requirement of the current electronic device for the data stream itself that needs to be transmitted using the network. The electronic device performs the network acceleration processing only when it is determined that the network quality of the currently used network does not meet the network quality requirement of the currently transmitted data stream. Therefore, the electronic equipment can more accurately identify the real quality of the network under different application scenes.
The data stream may include a video stream, and in this scenario, when the electronic device is guaranteed to be capable of smoothly transmitting video streams with different resolutions, requirements on network quality are different. For example, fluent transmission of lower resolution video streams requires lower network quality; and when a video stream with higher resolution is smoothly transmitted, the required network quality is higher.
In some possible embodiments, the first network quality parameter may specifically include a network transmission rate. In this embodiment, the determining, by the electronic device, that the network quality of the first network does not meet the first network quality condition corresponding to the data flow feature according to the first network quality parameter may specifically include: the electronic equipment determines a first clamping threshold according to the data flow characteristics; the first jamming threshold is used for the electronic equipment to evaluate whether the first network is jammed or not according to the first jamming threshold; the first network quality condition includes a first stuck threshold; the first stuck threshold is a network transmission rate threshold. Then, when the first network quality parameter is less than the first click-through threshold, the electronic device determines that the network quality of the first network does not satisfy the first network quality condition.
In the scheme, the network quality of the network is represented by the network transmission rate, and the scene of transmitting the data stream can be quickly assisted in identifying the quality of the current network.
In some possible embodiments, the electronic device stores data flow characteristics corresponding to the data flows of the plurality of preset gears respectively, and a click threshold corresponding to the plurality of preset gears respectively. In this embodiment, the determining, by the electronic device, the first click-through threshold according to the data flow characteristic may specifically include: the electronic equipment determines a target gear to which the current data stream belongs according to the data stream characteristics; the target gear comprises a plurality of preset gears; the electronic equipment acquires a jamming threshold corresponding to the target gear as a first jamming threshold.
In some possible implementations, the electronic device includes at least a first network card and a second network card. In this embodiment, the electronic device performs network acceleration processing, which may specifically include: the electronic device switches a network used to transmit a current data stream of the first application from the first network to the second network. Wherein the network quality of the second network is better than the network quality of the first network; the first network is a network corresponding to the first network card, and the second network is a network corresponding to the second network card.
In this way, when the network quality of the first network does not meet the first network quality condition, the electronic device switches the currently used network to the second network with better network quality, so that the possibility of blocking when the electronic device transmits the current data stream of the first application can be avoided or reduced.
In some possible embodiments, the above method further comprises: the electronic equipment acquires a second network quality parameter of a second network; the electronic equipment compares the first network quality parameter with the second network quality parameter and determines the quality of the network quality of the first network and the second network. In this way, the network quality of the second network to be switched to is better than the network quality of the first network, so that the possibility of blocking when the electronic equipment transmits the current data stream of the first application is avoided or reduced.
In some possible embodiments, the electronic device switches a network used for transmitting the current data stream of the first application from the first network to the second network, and may specifically include: the electronic equipment determines whether the network quality of the second network meets the first network quality condition according to the second network quality parameter; if the network quality of the second network meets the first network quality condition, the electronic device switches the network used for transmitting the current data stream of the first application from the first network to the second network. The currently used network is switched from the first network to the second network only if it is determined that the network quality of the second network meets the first network quality condition. Therefore, after the first application of the electronic equipment is switched to the second network for transmitting the current data stream, transmission blocking cannot occur, and video transmission fluency is improved.
In some possible implementations, the priority of the first network is the same as the priority of the second network. In this embodiment, the network quality parameters of the networks of the same priority are acquired simultaneously by the electronic devices at the same time. Thus, the electronic equipment monitors the network quality parameters of the currently used network and the standby network in real time, and can quickly discover the network change condition. The method is convenient for the electronic equipment to quickly perform network acceleration processing when the first application transmits the current data stream to be blocked or the current data stream is possibly blocked.
In some possible implementations, after the electronic device switches the network used to transmit the current data stream of the first application from the first network to the second network, the method further includes: the electronic equipment periodically judges whether the network quality of the second network meets the first network quality condition according to the second network quality parameter; if the network quality of the second network does not meet the first network quality condition, the electronic equipment judges whether the network quality of the first network meets the first network quality condition according to the first network quality parameter. If the network quality of the first network at this time satisfies the first network quality condition, the electronic device switches the network used for transmitting the current data stream of the first application from the second network back to the first network. In this scheme, if the priorities of the first network and the second network are the same, the electronic device acquires the network quality parameters of the two networks at the same time, so that when the network quality currently used is found to be poor (the first network quality condition is not satisfied), the network quality of the electronic device can be quickly estimated through the network quality parameters of the other network. So that the network used for transmitting the current data stream of the first application is switched quickly when the current network quality does not meet the requirements and the network quality of the other network meets the requirements.
In some possible embodiments, the priority of the first network is higher than the priority of the second network, indicating that the first network should be used preferentially when transmitting the current data flow of the first application. In this embodiment, the electronic device periodically obtains the first network quality parameter. And, the electronic device may specifically acquire the second network quality parameter of the second network after determining that the network quality of the first network does not meet the first network quality condition. Therefore, when the first network with higher priority can meet the related conditions, the electronic equipment cannot judge the network quality of the second network, and the workload of the electronic equipment is reduced.
In some possible implementations, the electronic device periodically detects whether the network quality of the first network meets the first network quality condition based on the first network quality parameter if the first network is higher priority than the currently used second network. And after detecting that the network quality of the first network meets the first network quality condition, the electronic device switches the network used for transmitting the current data stream from the second network to the first network with higher priority even if the network quality of the second network meets the first network quality condition. Therefore, when the first network can ensure that the first application can smoothly transmit the current data stream, the first network with higher priority is preferentially used, so that the selected network is more suitable.
In some possible embodiments, after the electronic device runs the first application, before the electronic device obtains the data flow characteristics of the first application when transmitting the current data flow through the first network, the method further includes: the electronic equipment inquires whether the first application supports network acceleration; the electronic equipment comprises an application configuration library, information of whether a plurality of application programs support network acceleration is stored in the application configuration library, and the plurality of application programs comprise a first application. In the scheme, the application supporting the network acceleration can be predefined in the mobile phone, and the mobile phone only accelerates the network when the application supporting the network acceleration meets the condition in actual use.
In a second aspect, there is provided an electronic device comprising: a processor and a memory; the memory is configured to store computer-executable instructions that, when executed by the electronic device, cause the electronic device to perform the network acceleration method of any one of the first aspects described above.
In a third aspect, there is provided a computer readable storage medium having instructions stored therein which, when run on a computer, cause the computer to perform the network acceleration method of any one of the above-described first aspects.
In a fourth aspect, there is provided a computer program product comprising instructions which, when run on an electronic device, enable the electronic device to perform the network acceleration method of any one of the first aspects above.
In a fifth aspect, there is provided an apparatus (e.g. the apparatus may be a system-on-a-chip) comprising a processor for supporting an electronic device to implement the functions referred to in the first aspect above. In one possible design, the apparatus further includes a memory for storing program instructions and data necessary for the electronic device. When the device is a chip system, the device can be formed by a chip, and can also comprise the chip and other discrete devices.
The technical effects of any one of the design manners of the second aspect to the fifth aspect may be referred to the technical effects of the different design manners of the first aspect, and will not be repeated here.
Drawings
Fig. 1 is a schematic hardware structure of an electronic device according to an embodiment of the present application;
fig. 2 is a schematic diagram of a network channel according to an embodiment of the present application;
fig. 3 is a software architecture diagram of an electronic device according to an embodiment of the present application;
FIG. 4A is a schematic diagram of a display according to an embodiment of the present application;
FIG. 4B is a schematic view of another embodiment of the present application;
fig. 5 is a flow chart of a network acceleration method according to an embodiment of the present application;
fig. 6 is a flow chart of a network acceleration method according to an embodiment of the present application;
fig. 7 is a timing chart of a network acceleration method according to an embodiment of the present application;
FIG. 8 is a diagram of an overall architecture of a network acceleration method according to an embodiment of the present application;
fig. 9 is a schematic structural diagram of a chip system according to an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be described below with reference to the accompanying drawings in the embodiments of the present application. Wherein, in the description of the application, unless otherwise indicated, "at least one" means one or more, and "a plurality" means two or more. In addition, in order to facilitate the clear description of the technical solution of the embodiments of the present application, in the embodiments of the present application, the words "first", "second", etc. are used to distinguish the same item or similar items having substantially the same function and effect. It will be appreciated by those of skill in the art that the words "first," "second," and the like do not limit the amount and order of execution, and that the words "first," "second," and the like do not necessarily differ.
The following presents a simplified summary of related concepts or technologies that may be incorporated into an embodiment of the application:
quality of experience (quality of experience, qoE): subjective perception of the performance of the service provided by the mobile network by the end user. QoE may represent the end-user experience and feel of the traffic and network by a near-quantitative approach, and reflect the gap between the quality of the current traffic and network and the user's expectations.
From the mobile communication network perspective, the best solution to achieve better QoE is to provide a good end-to-end quality of service (quality of service, qoS). The broad QoS is "a comprehensive effect of service performance determining user satisfaction", and includes a plurality of contents having a wide range of levels. The narrow QoS is a performance index of the underlying packet data transmission, such as delay, jitter, bandwidth, error code, etc. The QoS mechanism is mainly responsible for traffic management and providing traffic differentiation from a network perspective, and the network entity handles different traffic according to different quality requirements. Experiencing QoS from the end user's perspective is a broader, more subjective problem, namely the category defined by QoE.
Code rate: the size of the data amount encoded by the encoder per second. The data flow used by a video file in units of time determines the quality and size of the video, in kilobits per second (kb/s) or megabits per second (Mb/s).
Frame Per Second (FPS), the number of video frames played per second. The frame rate influences the fluency of the picture, and the higher the frame rate is, the greater the fluency is; the lower the frame rate, the stronger the picture skip feeling. Assuming that the resolution of each frame is fixed (i.e., the amount of data required for each frame can be considered to be constant), increasing the frame rate (i.e., the need for multiple pictures per second) increases the code rate per unit time.
Resolution ratio: the number of pixels contained in a unit inch. The resolution contains the length and width of the picture, defining the size of the picture. Typically the resolution represents the size of the picture, the higher the resolution, the larger the picture, the smaller the resolution, and the smaller the picture.
If the code rate is not limited, the higher the resolution is, the finer the image quality is; the higher the frame rate, the smoother. The more greatly the code rate increases because a high code rate is required to support high resolution and smoothness. However, in reality, the code rate is not infinitely given, and is often limited by bandwidth, and the code rate needs to be allocated in real time according to the bandwidth and the buffer condition of the client.
When a user uses an application needing networking, if the quality of the currently used network is poor, an application blocking phenomenon may occur, and the use experience of the user is affected. To address this problem, the operating system of the electronic device may set a corresponding network acceleration policy. For example, the network acceleration policy set by the operating system may be to evaluate the quality of the currently used network based on network quality parameters of the currently used network. In the case where the quality of the currently used network is poor and may lead to a stuck, the operating system may choose to use a better quality network.
In the related art, when determining whether the quality of the currently used network is poor or not, which may cause a jam, it is generally uniform to determine whether the quality of the currently used network is poor or not according to the same criteria. However, the requirements of the electronic device on network quality are inconsistent in different application scenarios, such as playing video with different resolutions. In this way, under different application scenarios, the electronic device is easy to generate a problem that the true quality of the network cannot be accurately identified for the data stream which is required to be transmitted by using the network at present.
Based on the above, the application provides a network acceleration method. The network acceleration method can be applied to the electronic equipment. The electronic device may be a tablet computer, a cell phone, a wearable device, a notebook computer, an ultra-mobile personal computer (UMPC), a netbook, a personal digital assistant (personal digital assistant, PDA), or the like. The embodiment of the application does not limit the specific type of the electronic equipment.
Fig. 1 shows a schematic structural diagram of an electronic device. The electronic device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (universal serial bus, USB) interface 130, a charge management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, keys 190, a motor 191, a camera 193, a display 194, and a subscriber identity module (subscriber identification module, SIM) card interface 195, etc. Among other things, the sensor module 180 may include a pressure sensor 180A, a touch sensor 180B, and the like.
It should be understood that the illustrated structure of the embodiment of the present application does not constitute a specific limitation on the electronic device 100. In other embodiments of the application, electronic device 100 may include more or fewer components than shown, or certain components may be combined, or certain components may be split, or different arrangements of components. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
The processor 110 may include one or more processing units, such as: the processor 110 may include an application processor (application processor, AP), a modem processor, a graphics processor (graphics processing unit, GPU), an image signal processor (image signal processor, ISP), a controller, a memory, a video codec, a digital signal processor (digital signal processor, DSP), a baseband processor, and/or a neural network processor (neural-network processing unit, NPU), etc. Wherein the different processing units may be separate devices or may be integrated in one or more processors. For example, the processor 110 is configured to perform a network acceleration method in an embodiment of the present application.
The controller may be a neural hub and a command center of the electronic device 100, among others. The controller can generate operation control signals according to the instruction operation codes and the time sequence signals to finish the control of instruction fetching and instruction execution.
A memory may also be provided in the processor 110 for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. The memory may hold instructions or data that the processor 110 has just used or recycled. If the processor 110 needs to reuse the instruction or data, it may be called directly from memory. Repeated accesses are avoided and the latency of the processor 110 is reduced, thereby improving the efficiency of the system.
The USB interface 130 is an interface conforming to the USB standard specification, and may specifically be a Mini USB interface, a Micro USB interface, a USB Type C interface, or the like. The USB interface 130 may be used to connect a charger to charge the electronic device 100, and may also be used to transfer data between the electronic device 100 and a peripheral device.
The external memory interface 120 may be used to connect an external memory card, such as a Micro SD card, to enable expansion of the memory capabilities of the electronic device 100. The external memory card communicates with the processor 110 through an external memory interface 120 to implement data storage functions. For example, files such as music, video, etc. are stored in an external memory card.
The internal memory 121 may be used to store computer-executable program code that includes instructions. The processor 110 executes various functional applications of the electronic device 100 and data processing by executing instructions stored in the internal memory 121. The internal memory 121 may include a storage program area and a storage data area. The storage program area may store application programs (such as a sound playing function, an image playing function, etc.) required for at least one function of the operating system.
In addition, the internal memory 121 may include a high-speed random access memory, and may further include a nonvolatile memory such as at least one magnetic disk storage device, a flash memory device, a universal flash memory (universal flash storage, UFS), and the like.
The charge management module 140 is configured to receive a charge input from a charger. The charger can be a wireless charger or a wired charger. In some wired charging embodiments, the charge management module 140 may receive a charging input of a wired charger through the USB interface 130.
The power management module 141 is used for connecting the battery 142, and the charge management module 140 and the processor 110. The power management module 141 receives input from the battery 142 and/or the charge management module 140 and provides power to the processor 110, the internal memory 121, the external memory, the display 194, the camera 193, the wireless communication module 160, and the like.
In other embodiments, the power management module 141 may also be provided in the processor 110. In other embodiments, the power management module 141 and the charge management module 140 may be disposed in the same device.
The wireless communication function of the electronic device 100 may be implemented by the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, a modem processor, a baseband processor, and the like.
The antennas 1 and 2 are used for transmitting and receiving electromagnetic wave signals. Each antenna in the electronic device 100 may be used to cover a single or multiple communication bands. Different antennas may also be multiplexed to improve the utilization of the antennas. For example: the antenna 1 may be multiplexed into a diversity antenna of a wireless local area network. In other embodiments, the antenna may be used in conjunction with a tuning switch.
The mobile communication module 150 may provide a solution for wireless communication including 2G/3G/4G/5G, etc., applied to the electronic device 100. The mobile communication module 150 may include at least one filter, switch, power amplifier, low noise amplifier (low noise amplifier, LNA), etc. The mobile communication module 150 may receive electromagnetic waves from the antenna 1, perform processes such as filtering, amplifying, and the like on the received electromagnetic waves, and transmit the processed electromagnetic waves to the modem processor for demodulation. The mobile communication module 150 can amplify the signal modulated by the modem processor, and convert the signal into electromagnetic waves through the antenna 1 to radiate.
The wireless communication module 160 may provide solutions for wireless communication including wireless local area network (wireless local area networks, WLAN) (e.g., wireless fidelity (wireless fidelity, wi-Fi) network), bluetooth (BT), global navigation satellite system (global navigation satellite system, GNSS), frequency modulation (frequency modulation, FM), near field wireless communication technology (near field communication, NFC), infrared technology (IR), etc., as applied to the electronic device 100. The wireless communication module 160 may be one or more devices that integrate at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, modulates the electromagnetic wave signals, filters the electromagnetic wave signals, and transmits the processed signals to the processor 110. The wireless communication module 160 may also receive a signal to be transmitted from the processor 110, frequency modulate it, amplify it, and convert it to electromagnetic waves for radiation via the antenna 2.
In some embodiments, antenna 1 and mobile communication module 150 of electronic device 100 are coupled, and antenna 2 and wireless communication module 160 are coupled, such that electronic device 100 may communicate with a network and other devices through wireless communication techniques.
The electronic device 100 may implement audio functions through an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, an application processor, and the like. Such as music playing, recording, etc.
The audio module 170 is used to convert digital audio signals to analog audio signal outputs and also to convert analog audio inputs to digital audio signals. The audio module 170 may also be used to encode and decode audio signals. In some embodiments, the audio module 170 may be disposed in the processor 110, or a portion of the functional modules of the audio module 170 may be disposed in the processor 110.
The speaker 170A, also referred to as a "horn," is used to convert audio electrical signals into sound signals. The electronic device 100 may listen to music, or to hands-free conversations, through the speaker 170A.
A receiver 170B, also referred to as a "earpiece", is used to convert the audio electrical signal into a sound signal. When electronic device 100 is answering a telephone call or voice message, voice may be received by placing receiver 170B in close proximity to the human ear.
Microphone 170C, also referred to as a "microphone" or "microphone", is used to convert sound signals into electrical signals. When making a call or transmitting voice information, the user can sound near the microphone 170C through the mouth, inputting a sound signal to the microphone 170C. The electronic device 100 may be provided with at least one microphone 170C. In other embodiments, the electronic device 100 may be provided with two microphones 170C, and may implement a noise reduction function in addition to listening to voice information. In other embodiments, the electronic device 100 may also be provided with three, four, or more microphones 170C to enable collection of sound signals, noise reduction, identification of sound sources, directional recording functions, etc.
The earphone interface 170D is used to connect a wired earphone. The headset interface 170D may be a USB interface 130 or a 3.5mm open mobile electronic device platform (open mobile terminal platform, OMTP) standard interface, a american cellular telecommunications industry association (cellular telecommunications industry association of the USA, CTIA) standard interface.
The pressure sensor 180A is used to sense a pressure signal, and may convert the pressure signal into an electrical signal. In some embodiments, the pressure sensor 180A may be disposed on the display screen 194. The pressure sensor 180A is of various types, such as a resistive pressure sensor, an inductive pressure sensor, a capacitive pressure sensor, and the like. The capacitive pressure sensor may be a capacitive pressure sensor comprising at least two parallel plates with conductive material. The capacitance between the electrodes changes when a force is applied to the pressure sensor 180A. The electronic device 100 determines the strength of the pressure from the change in capacitance. When a touch operation is applied to the display screen 194, the electronic apparatus 100 detects the touch operation intensity according to the pressure sensor 180A. The electronic device 100 may also calculate the location of the touch based on the detection signal of the pressure sensor 180A.
The touch sensor 180B, also referred to as a "touch panel". The touch sensor 180B may be disposed on the display 194, and the touch sensor 180B and the display 194 form a touch screen, which is also referred to as a "touch screen". The touch sensor 180B is used to detect a touch operation acting thereon or thereabout. The touch sensor may communicate the detected touch operation to the application processor to determine the touch event type. Visual output related to touch operations may be provided through the display 194. In other embodiments, the touch sensor 180B may also be disposed on the surface of the electronic device 100 at a different location than the display 194.
The keys 190 include a power-on key, a volume key, etc. The keys 190 may be mechanical keys. Or may be a touch key. The electronic device 100 may receive key inputs, generating key signal inputs related to user settings and function controls of the electronic device 100.
The motor 191 may generate a vibration cue. The motor 191 may be used for incoming call vibration alerting as well as for touch vibration feedback.
The electronic device 100 implements display functions through a GPU, a display screen 194, an application processor, and the like. The GPU is a microprocessor for image processing, and is connected to the display 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. Processor 110 may include one or more GPUs that execute program instructions to generate or change display information.
The display screen 194 is used to display images, videos, and the like. In some embodiments, the electronic device 100 may include 1 or N display screens 194, N being a positive integer greater than 1.
The camera 193 is used to capture still images or video. In some embodiments, electronic device 100 may include 1 or N cameras 193, N being a positive integer greater than 1.
The SIM card interface 195 is used to connect a SIM card. The SIM card may be inserted into the SIM card interface 195, or removed from the SIM card interface 195 to enable contact and separation with the electronic device 100. The electronic device 100 may support 1 or N SIM card interfaces, N being a positive integer greater than 1.
The network acceleration methods in the following embodiments may be implemented in the electronic device 100 having the above-described hardware configuration.
An electronic device as shown in fig. 1 may be installed to run a plurality of applications, for example: social communication applications, gaming applications, audio video applications, news applications, and the like. These applications may establish network connections with other electronic devices (e.g., servers to which the applications correspond) through the resident electronic device.
As an example, the application a may establish a network connection with a server corresponding to the application a through a wireless network card (also referred to as a Wi-Fi network card) in the located electronic device; the application A can also establish network connection with a server corresponding to the application A through a data service network card in the electronic equipment. The wireless network card is a device supporting the Internet surfing of a wireless local area network (Wireless Local Area Network, WLAN); the data service network card is a device supporting mobile communication technologies such as packet radio service (General packet radio service, GPRS), enhanced data rates for GSM evolution (Enhanced Data Rate for GSM Evolution, EDGE), time Division-synchronization code Division multiple access (Time Division-Synchronous Code Division Multiple Access, TD-SCDMA), high speed downlink packet access (High Speed Downlink Packet Access, HSDPA), wideband code Division multiple access (Wideband Code Division Multiple Access, WCDMA), long term evolution (Long Term Evolution, LTE), and fifth generation mobile communication technology (5th Generation Mobile Communication Technology,5G).
For convenience of description, a network channel established between one electronic device and other electronic devices through a wireless network card may be referred to as a Wi-Fi network; and a network channel established between one electronic device and other electronic devices through the data service network card is recorded as a cellular network.
In practical applications, different applications (or different classes of applications) have different requirements on the quality of the network channels used. Alternatively, the requirements of different application scenarios of the same application on the quality of the network channel used may also be different.
In the embodiment of the application, the data sequence transmitted between two electronic devices is recorded as a data stream. In practical applications, the data stream may be a video stream, an audio stream, a download stream, a session stream, etc., based on an application scenario of the data stream.
Referring to fig. 2, a user browses a video using an application a (video-class application) in a mobile phone, wherein the application a in the mobile phone establishes a network connection with a server a of the application a through a wireless network card in the mobile phone. The data stream a generated between the application a and the server a may be transmitted (e.g., a video data stream acquired by the handset from the server while browsing video) through a Wi-Fi network between a wireless network card on the handset and a wireless router. When a user browses a video by using an application A in a mobile phone, if Wi-Fi network signals are poor, the data flow A is further caused to be smaller, and the phenomenon of clamping and stopping easily occurs when the user uses the application A, so that the user experience is poor.
In order to solve the above-mentioned problem, in the embodiment of the present application, in the case where it is estimated that the network channel currently used by a certain application is insufficient to carry the data stream for transmitting the application (for example, the location where the user carries the handset away from the wireless router, etc.), a network acceleration policy is set to accelerate the data stream transmission. For example, referring to fig. 2, the mobile phone may switch the data stream a to the cellular network between the data service network card of the mobile phone and the base station, so as to transmit the data stream a through the cellular network and the server a, thereby reducing or avoiding the problem of video browsing stuck due to poor Wi-Fi network signal.
The following embodiments will be described by taking the example in which the data stream is a video stream. In other embodiments, if the data stream is another data stream, the mobile phone may perform network acceleration according to the embodiment of the present application.
When a user browses videos using the application a, the user can select the resolution of the video to be browsed. Common video resolutions include 360P, 480P, 540P, 720P, 1080P, and the like. In practical applications, the resolution options provided by the video application to the user may be options of definition such as super definition, high definition, standard definition, etc., where the user selects different video definition, and actually selects video with different resolution. Where the standard Definition refers to standard resolution, the High Definition refers to High Definition (HD), and the ultra-High Definition refers to ultra-High resolution (Super High Definition, SHD).
When the mobile phone loads or plays the video with higher resolution, the mobile phone can be ensured to keep smoothly loading or playing the video due to higher network transmission speed because the data volume contained in one frame of video image is larger. When the mobile phone loads or plays the video with lower resolution, the data volume contained in one frame of video image is smaller, so that the mobile phone can be ensured to smoothly load and play the video only by a lower network transmission speed. Therefore, when the mobile phone can smoothly load and play videos with different resolutions, the required network transmission speeds are different.
Thus, when a mobile phone transmits video streams with different video stream characteristics in the same application, the quality requirements for the network channel may be different. In the embodiment of the application, corresponding network quality conditions are respectively set for transmitting different video streams with different video stream characteristics by the mobile phone.
The video streams transmitted by the mobile phone in different applications may have the same video stream characteristics; if the mobile phone transmits the video stream with the resolution of 360P through the first application, the mobile phone transmits the video stream with the resolution of 360P through the second application. Aiming at video streams with the same video stream characteristics transmitted by the mobile phone in different applications, the mobile phone can set the same network quality conditions, and can also set different network quality conditions according to the corresponding applications.
The application provides a network acceleration method, which is used for determining whether a currently used network meets the requirement of the currently transmitted video stream on network quality (namely, the first network quality condition of the application) according to the video stream characteristics when the video stream is transmitted and the network quality parameters of the currently used network when the video stream is transmitted by a first application in a mobile phone through the network. If the currently used network does not meet the network quality condition of the currently transmitted video stream, the electronic equipment performs network acceleration processing. In the scheme, by setting different network quality conditions for video streams with different video stream characteristics, the mobile phone can more accurately identify whether the current network quality is worse than the current transmitted data stream.
The software system of the electronic device 100 may employ a layered architecture, an event driven architecture, a micro-core architecture, a micro-service architecture, or a cloud architecture. In the embodiment of the present application, taking an Android system with a layered architecture as an example, a software structure of the electronic device 100 shown in fig. 1 is illustrated. The layered architecture divides the software into several layers, each with distinct roles and branches. The layers communicate via interfaces. As shown in fig. 3, the technical architecture includes: an application layer, a service layer, a policy layer and a kernel layer. Only some of the layers and some of the modules associated with embodiments of the present application are shown in fig. 3, and in practical applications, levels and modules not shown in fig. 3 may be included. Of course, only some of the modules shown in fig. 3 may be included.
There are various applications in the application layer, for example, video-type applications as before, game-type applications, and the like. The application layer comprises a setting application, wherein a network acceleration switch is arranged in the setting application and can be used for controlling whether the electronic equipment starts a network acceleration function of the application. It should be understood that, after the network acceleration switch is turned on, the electronic device executes a corresponding network acceleration policy when detecting that the network quality is poor.
The service layer is provided with a system environment sensing module, a channel-level path management module, an application-level policy management module and a network management module.
The system environment sensing module is used for detecting various events of an upper application, and can detect the opening and the exiting of the application, detect the application currently switched to a foreground, detect the installation and the uninstallation of the application and the like as an example.
The network management module is used for starting the network channel, namely, converting the network channel from the dormant state to the awakening state. Wherein the network channel in the awake state can be directly used. For example, the network management module may control the state of dual Wi-Fi and dual cards in the electronic device.
The channel-level path management module stores paths of a plurality of network channels, and is used for requesting or closing any network channel, so that the state change of any network channel can be perceived, and the quality of any network channel can also be perceived. The application level policy management module is used for starting a network acceleration function and enabling a monitoring function of the data flow.
The policy layer is provided with a stream level policy management module, a stream level path management module, a flow sensing module and a media frame.
The Flow sensing module may be divided into a QoE evaluation module and a Flow Identification (FI) module. The stream identification module is used for counting the reported data streams. The QoE evaluation module is configured to evaluate network quality of each flow. As an example, the QoE evaluation module may evaluate the quality of Wi-Fi networks in the 2.4GHz band, and may also evaluate the quality of Wi-Fi networks in the 5.0GHz band. The quality of the cellular network of operator a may also be assessed, as well as the quality of the cellular network of operator B.
The flow level policy management module stores network acceleration policies for flows in the application and is further configured to instruct execution of the network acceleration policies.
The flow-level path management module is used for updating the selection of the network channel according to the policy change of the upper layer, triggering the network channel quality detection, dynamically selecting the optimal channel, and storing the paths of different network channels, and illustratively storing the paths of the network channel (e.g. the main network channel) and the standby network channel which are currently used by the application.
The media framework is used to decode the transmitted video stream. And the media framework will record video stream characteristics (such as resolution, code rate, frame rate, etc.) after decoding the video stream is completed.
The kernel layer is provided with a policy execution module, an MPFLOW binding interface, a closing or resetting interface and a traffic reporting module. The traffic reporting module is used for collecting data flow information and reporting the collected data flow information. The policy execution module is used for executing the switching of the network channel. The MPFLOW binding interface is used for binding with a target network channel to be switched to when the network is switched. The socket/RST is closed for releasing the network channel used before the handover when the network handover is performed.
As another embodiment of the present application, one module in the above embodiment may be split into two or more modules, and two or more modules located at the same level may be combined into the same module.
As an example, the stream level policy management module and the stream level path management module of the policy layer may be combined into the same module; the application level policy management module, the channel level path management module and the integrated QoE module may be combined into the same module.
For easy understanding, the network acceleration method provided by the embodiment of the application is specifically described below with reference to the accompanying drawings.
Before the network acceleration method is executed by the operating system of the electronic equipment, a user is required to start the network acceleration function in advance. The following describes a UI interface and user operation for a user to start a network acceleration function in advance.
Illustratively, as shown in (a) of fig. 4A, the handset displays a desktop 201. In response to a user's operation of clicking on the icon 202 of the setting application on the desktop 201, the handset may display a setting interface 203 as shown in (b) of fig. 4A. The setting interface 203 may include WLAN options 204, and may further include a search box and functional options such as personal account number, bluetooth, mobile network, desktop, wallpaper, etc. In response to a user clicking on the control corresponding to WLAN option 204, the handset may display WLAN interface 205 as shown in fig. 4A (c). WLAN switch 206 may be included in WLAN interface 205. The WLAN switch 206 is on, indicating that the handset can connect to the WLAN for surfing the internet. The WLAN interface 205 may also include a network acceleration option 207, as well as further WLAN setup options and a list of available WLANs, which may include names (e.g., WLAN1, WLAN2, WLAN3, etc.) and signal strength identifications of the plurality of WLAN networks currently scanned by the handset, etc. In response to a user clicking on the control corresponding to the network acceleration option 207, the handset may display a network acceleration interface 208, as shown in fig. 4A (d). The network acceleration interface 208 may include a text description 209 of the network acceleration function, where the text description 209 indicates that the network acceleration function is "evaluate current network quality, intelligently use WLAN and mobile data to enhance the internet experience, and this process may network and consume part of the mobile data traffic". Alternatively, if the user turns on the intelligent capability, network acceleration will provide more intelligent services. The user may click on the link "statement of wisdom ability and privacy" to view a description of wisdom ability. After the intelligent capability is started, the operating system can collect the habit of the user for using the mobile phone, and personalized service is provided for the user according to the habit of the user. The network acceleration interface 208 may also include a corresponding switch 210 for network acceleration (LINK Trubo). Switch 210 is on, indicating that the user agrees to turn on the network acceleration function so that the handset can evaluate the current network quality and intelligently use WLAN and mobile data to enhance the internet experience. Of course, the user may choose to turn off the switch 210, i.e., turn off the network acceleration function. Below the switch 210, a text box 211 may be displayed, with text in the text box 211 being used to illustrate to the user the effect of the network acceleration function and the traffic usage. For example, after the network acceleration function is started, the downloading speed is increased by 35%, and the use flow is 100M; network blocking is reduced by 40 times, and traffic 40M is used. It should be noted that the network acceleration function may include a concurrency acceleration function 212 and a collaborative acceleration function 214. The concurrency acceleration function 212 includes a multi-channel download mode 213 that a user can enter through a control 217 into a setup interface of the multi-channel download mode, turning on or off. When the multi-channel download mode 213 is turned on, the electronic device may use multiple network channels to download simultaneously when connecting the WLAN and the mobile network, so as to obtain a faster download experience. The multi-channel download mode 213 in (d) of fig. 4A is an off state. The collaborative acceleration function 214 includes a smart mode 215 and a custom mode 216. In the intelligent mode 215, applications requiring network acceleration may be intelligently opened based on user traffic consumption and application usage preferences. The user can turn the smart mode on or off via control 218. The control 218 in (d) of fig. 4A is in the selected state and the smart mode is on. In custom mode 216, the user may manually open an application that requires acceleration (network acceleration). The user can turn the custom mode on or off via control 219. When the control 219 in (d) of fig. 4A is in the unselected state, the custom mode is turned off.
In response to the user selecting control 219 to open custom mode 216, as shown in fig. 4B (a), the handset may display information (icons, names, etc.) of various applications installed by the handset and their corresponding switches, as shown in fig. 4B (B). For example, the handset may displayCorresponding switches 221, ">Corresponding switch 222, video application corresponding switch 223, < >>A corresponding switch 224, a switch 225 corresponding to the music application, etc.The user can manually select the application program needing acceleration according to the own requirement. For example, the user may turn on +.>Corresponding switches 221, ">Corresponding switch 222, video application corresponding switch 223, < >>A corresponding switch 224 indicating that the user is using +.>Video applicationWhen the mobile phone is used, the network acceleration needs to be started to ensure the use experience of the user.
Fig. 5 is a schematic flow chart of a network acceleration method according to an embodiment of the present application. In this embodiment, an electronic device is described as an example of a mobile phone. The method comprises S501-S507, wherein:
s501, detecting that a first application runs in the foreground by the mobile phone.
In the embodiment of the application, the first application can be an application program capable of networking and transmitting video streams by using a network in the electronic equipment. The mobile phone detects that the first application runs in the foreground after detecting that the first application is started, or monitors that the first application is switched from the background to the foreground.
S502, the mobile phone determines whether the first application supports network acceleration.
In some embodiments, the mobile phone stores an application configuration library, which may be preset by a developer, or may be set or added by a user during the use of the mobile phone. The application configuration library stores application identifiers of applications supporting network acceleration. In some embodiments, the application configuration library is stored in a system context awareness module of the mobile phone, and the system context awareness module queries whether the first application supports network acceleration.
After detecting that the first application is switched to the foreground, the mobile phone can obtain the application identifier of the first application, inquire whether the application identifier of the first application exists in the application configuration library, and if the application identifier of the first application exists, the mobile phone indicates that the first application supports network acceleration.
In some embodiments, the application configuration library stores information whether a plurality of applications supports network acceleration, the plurality of applications including a first application; wherein, part of the application programs support network acceleration, and part of the application programs do not support network acceleration. In other embodiments, only information of the application program supporting the network acceleration may be stored in the application configuration library, including the first application.
Of course, the above-described manner of determining whether the first application supports network acceleration is for example only. In practical application, the application configuration library may also store a plurality of application identifiers and identifiers corresponding to the application identifiers, where each application identifier uses a different identifier to indicate whether the application indicated by the application identifier supports network acceleration. As an example, the identifier may be binary bits 1, 0, with a "1" indicating that network acceleration is supported and a "0" indicating that network acceleration is not supported. Other ways of determining whether an application supports network acceleration are not exemplified.
In one possible implementation, as shown in (d) of fig. 4A, if the user selects the intelligent mode 215 of the collaborative acceleration function 214, the plurality of applications in the application configuration library may be intelligently determined applications that require network acceleration based on user traffic consumption and application usage preferences.
In another possible implementation, as shown in (a) of fig. 4B, if the user selects the custom mode 216 of the collaborative acceleration function, the plurality of applications in the application configuration library may be applications that require network acceleration determined based on the user's manual settings. For example, as shown in (B) of fig. 4B, if the user turns on Corresponding switches 221, ">Corresponding switch 222, video application corresponding switch 223, < >>The corresponding switch 224, the plurality of applications in the application configuration library may include +.> Video application and->
Further, after determining that the first application supports network acceleration, the mobile phone may perform feature analysis on a video stream currently transmitted by the first application, as shown in S503.
S503, the mobile phone acquires video stream characteristics of the current video stream transmitted by the first application through the first network.
The first network represents a network used by a first application of the mobile phone to currently transmit video streams. As can be seen from the above description, the first network may be a network corresponding to a wireless network card, such as a Wi-Fi network, as shown in fig. 2, or may be a cellular network corresponding to a data service network card.
The current video stream represents a video stream being transmitted by a first application of the current handset over the first network. Wherein the currently transmitted video stream may be selected by the user. If the user switches the currently selected video stream, the current video stream of the first application transmitted by the mobile phone changes. Thus, in some embodiments, the handset may periodically obtain the video stream characteristics of the current video stream that transmitted the first application. Further, the mobile phone can determine whether the currently played video stream changes by analyzing the video stream characteristics, if so, the mobile phone needs to acquire the updated video stream characteristics to judge whether network acceleration is needed. Alternatively, in other embodiments, the mobile phone re-acquires the video stream characteristics of the current video stream transmitted by the first application through the first network when the mobile phone detects the first event. The first event is used for indicating the first application of the mobile phone to generate a video stream switching event.
For example, when the first application of the mobile phone is playing a video stream with a resolution of 720P, during the playing process, the user selects to switch to playing the video stream with a resolution of 1080P, and then the current video stream of the first application transmitted by the mobile phone changes. At this time, the mobile phone needs to evaluate whether network acceleration is needed according to the updated video stream.
In some embodiments, the video stream feature may specifically refer to codec information or the like when transmitting video. By way of example, the video stream characteristics may include at least one of resolution, code rate, and frame rate, among others.
In the process of transmitting video streams by the mobile phone, the transmitted video streams are encoded and decoded by a codec in a media framework of the mobile phone, and then encoding and decoding information in the encoding and decoding process is stored by the media framework. In some embodiments, the mobile phone obtains the video stream feature, specifically, may obtain the codec information from the media frame.
S504, inquiring a first network quality condition corresponding to the video stream characteristic of the first application by the mobile phone.
In some embodiments, the step S503 may specifically be that the mobile phone queries a network quality evaluation algorithm corresponding to the video stream feature of the first application, and reads a network quality condition specified in the network quality evaluation algorithm, and records the network quality condition as the first network quality condition. The network quality evaluation algorithm refers to an algorithm for evaluating network quality according to network quality parameters by the mobile phone, and the network quality evaluation algorithms corresponding to different applications can be the same or different. For example, in the embodiment of the present application, the network evaluation algorithm may specifically determine whether the network quality parameter satisfies the network quality condition.
In the implementation of the application, setting different service scenes is convenient for understanding the effect of setting different network quality evaluation algorithms on one hand; on the other hand, the network quality evaluation algorithm can be determined based on different service scenes. However, in practical applications, the characteristics of the video streams transmitted by different application scenarios of the first application may be different. Thus, it is not necessary to determine the current traffic scenario of the first application, and the network quality assessment algorithm that should be currently used may be determined according to the characteristics of the current video stream of the first application. The various information of the video stream of the first application may be stored in a stream characteristics library of the first application.
When the network quality assessment algorithm is determined by the video stream characteristics of the first application, the corresponding network quality condition may be determined using the codec information of the applied video stream as the video stream characteristics. The coding and decoding information of the video stream can specifically include resolution, code rate and frame rate.
In some embodiments, the correspondence between each video stream feature and the network quality condition is pre-stored in the mobile phone. When the mobile phone determines the corresponding network quality condition according to the video stream feature, the mobile phone may specifically search the first network quality condition corresponding to the video stream feature of the current video stream based on the corresponding relationship between the video stream feature and the network quality condition.
As can be seen from the above description, when the first application transmits the video stream at different time, the resolution of the video stream may be different. Such as 360P, 480P, … 1080P, etc. In order to solve the problem that inaccurate identification easily occurs when video streams with different resolutions are transmitted by adopting the same network quality condition to evaluate the transmission quality of the video streams, in the embodiment of the application, the network quality condition is respectively determined aiming at the characteristics of the video streams with each resolution. The mobile phone adopts the network quality condition corresponding to the video stream characteristics of the current transmitted video stream to evaluate the transmission quality of the corresponding video stream.
The network quality condition represents the minimum network quality condition that the mobile phone can smoothly transmit the current video stream. If the mobile phone detects that the network quality of the currently used network is higher than the specification in the network quality condition, the mobile phone can smoothly transmit the current video stream by using the network; if the mobile phone detects that the network quality of the currently used network is lower than the specification in the network quality condition, the mobile phone is not capable of smoothly transmitting the current video stream by using the network.
In some embodiments, the network quality condition may include a stuck threshold. Illustratively, the stuck threshold may specifically refer to a network transmission rate threshold. It should be appreciated that the above examples of the stuck threshold are merely examples, and in other embodiments, the stuck threshold may be a threshold of other parameters. In other embodiments, the stuck threshold may also be a threshold for other network quality parameters.
As an example, when the handset transmits the video stream of the first application, it is possible to transmit video stream 1, video stream 2 and video stream 3. Wherein, the resolution corresponding to the video stream 1 is 360P, the resolution corresponding to the video stream 2 is 480P, and the resolution corresponding to the video stream 3 is 1080P.
If the video stream currently transmitted by the first application of the mobile phone is video stream 1, the video stream characteristics of video stream 1 are obtained in S503. The handset determines a network quality condition 1 according to the characteristics of the video stream 1 and determines whether the first network satisfies the condition 1.
If the video stream of the first application transmitted by the mobile phone is video stream 2, the video stream feature of video stream 2 is obtained in S503. The handset determines the network quality condition 2 according to the characteristics of the video stream 2 and determines whether the first network satisfies the condition 2.
If the current video stream of the first application transmitted by the mobile phone is video stream 3, the video stream characteristics of video stream 3 are obtained in S503. The handset determines a network quality condition 3 based on the characteristics of the video stream 3 and determines whether the first network satisfies the condition 3.
When setting corresponding network quality conditions for video streams with different video stream characteristics, the video streams corresponding to part of the video stream characteristics can be set to the same network quality condition. For example, for video streams with resolutions of 360P, 480P, and 540P, the network quality conditions may all be set to be the same. By way of example, the network quality condition may be set to a network transmission rate threshold of 80KBps; when the mobile phone detects that the network transmission rate is greater than or equal to the network transmission rate threshold value 80KBps, the mobile phone determines that the network quality is smooth and is not stuck.
In some embodiments, the mobile phone stores video stream features corresponding to video streams of a plurality of preset gears, and a click threshold corresponding to each of the preset gears. Further, in this embodiment, the determining, by the mobile phone, the first network quality condition (i.e. the first katon threshold) according to the video stream feature may specifically include: and the mobile phone determines the target gear of the current video stream in a plurality of preset gears according to the video stream characteristics. Then, the mobile phone acquires a jamming threshold corresponding to the target gear as a first jamming threshold.
With the stuck threshold being an absolute low rate threshold, the aspect ratio of the video picture is 16:9 is an example, table 1 shows absolute low rate thresholds corresponding to video streams of a plurality of preset gears (1-4 gears) in the mobile phone, respectively.
TABLE 1
If the acquired pixel does not correspond to the pixel listed in the table, gear mapping is performed according to the rule of rounding down. For example, 1152 x 648 is below 720P, above 540P, and is designated as 540P, gear 1.
S505, the mobile phone acquires a first network quality parameter of the first network.
Wherein the first network quality parameter is used to indicate the network quality of the first network. In some embodiments, the first network quality parameter may specifically include a network transmission rate. Where the network transmission rate represents the network transmission rate, typically in units of bit rate (bps), which means the number of bits per second of binary number transmitted. In some embodiments, the network transmission rate may be, in particular, an absolute low rate. The calculation of the absolute low rate may include the size of the data packet transmitted by the mobile phone in a preset time period, and the time corresponding to the preset time period is the absolute low rate in the preset time period.
In other embodiments, the first network quality parameter may also refer to other parameters such as a TCP transmission rate Round Trip Time (RTT), a packet loss rate, and a number of bytes received and transmitted. Where the number of transceiving bytes includes the number of transmit bytes (i.e., upload traffic) and the number of receive bytes (i.e., download traffic). The packet loss rate is the ratio of the number of lost packets to the transmitted packets. RTT means a total time period from when an electronic device (transmitting end) transmits data to when an acknowledgement from an opposite end (receiving end) is received (the opposite end immediately transmits acknowledgement after receiving data), which is elapsed.
Because the network quality of the network may vary at different times, in some embodiments, the mobile phone may periodically obtain the first network quality parameter. For example, the mobile phone may acquire the first network quality parameter at intervals of a first preset period. The first preset period may be set according to practical situations, which is not limited in the embodiment of the present application.
S506, the mobile phone judges whether the network quality of the first network meets the first network quality condition corresponding to the video stream feature according to the first network quality parameter.
The first network quality condition is used for guaranteeing that the smoothness of the current video stream is met. If the network quality of the first network meets the first network quality condition, the mobile phone is indicated to transmit the current video stream of the first application by using the first network, so that smoothness and no jamming can be ensured.
In some embodiments, taking the example that the first network quality parameter includes an absolute low rate and the first threshold included in the network quality condition is an absolute low rate threshold, S506 may specifically be that the mobile phone determines whether the first network quality parameter is less than the first threshold.
In some embodiments, the step S506 may also be referred to as obtaining the current QoE measurement result according to whether the first network quality parameter satisfies the first network quality condition. For example, the QoE measurement may include: excellent/fluent no-stuck (e.g., marker 00), medium/likely stuck (e.g., marker 10), and bad/stuck (e.g., marker 11). In some embodiments, when the mobile phone determines that the first network quality parameter is less than the first catton threshold, the mobile phone obtains that the current QoE measurement result is poor, that is, the first application uses the first network to transmit the current video stream, and catton occurs. In other embodiments, if the first network quality parameter is equal to the first threshold, the mobile phone may obtain that the current QoE measurement result is not equal, i.e. that the first application may have a jam when transmitting the current video stream using the network. If the first network quality parameter is greater than the first jamming threshold, the mobile phone obtains that the current QoE measurement result is excellent, namely that the first application is smooth and not jammed when transmitting the current video stream by using the first network.
Specifically, after S506, if the mobile phone determines that the network quality of the first network meets the first network quality condition, it means that the first application of the mobile phone uses the first network to transmit the current video stream, which can keep smooth without blocking, and therefore does not need to perform network acceleration processing. If the mobile phone determines that the network quality of the first network does not meet the first network quality condition according to the first network quality parameter, the mobile phone indicates that the first application uses the first network to transmit the current video stream and is blocked. At this time, in order to avoid or mitigate the video loading or playing jam of the first application, the mobile phone needs to perform network acceleration processing, as in S507.
S507, the mobile phone executes network acceleration processing.
As can be seen from the above description, when the mobile phone determines that the network quality of the currently used network is poor, the mobile phone can execute the network acceleration policy to accelerate data stream transmission. In some embodiments, the network acceleration policy may specifically be: the mobile phone switches a network used for transmitting the current video stream of the first application from the first network to other networks with better network quality, so that the first application can transmit the current video stream more smoothly, and the phenomenon of blocking during video stream transmission is avoided.
In the technical scheme provided by the embodiment of the application, in the scene that the first application of the mobile phone starts network acceleration, the current network quality is evaluated by combining the requirement of the video stream itself needing to be transmitted by using the network on the network quality in the current mobile phone so as to determine whether the network acceleration is needed. The electronic device performs the network acceleration processing only when it is determined that the network quality of the currently used network does not meet the network quality requirement of the currently transmitted data stream. Therefore, the electronic equipment can more accurately identify the real quality of the network under different service scenes.
Illustratively, as shown in fig. 6, the above S507 specifically includes S507a.
S507a, the mobile phone switches the network used for transmitting the current video stream of the first application from the first network to the second network.
Wherein the network quality of the second network is better than the network quality of the first network. The second network may be a network corresponding to the wireless network card as shown in fig. 2, such as a Wi-Fi network, or may be a cellular network corresponding to a data service network card. In some embodiments, the mobile phone includes only one wireless network card and one data service network card, and when the first network is a Wi-Fi network, the second network is a cellular network; if the first network is a cellular network, the second network is a Wi-Fi network. Alternatively, in other embodiments, the mobile phone includes only two wireless network cards (or two data service cards), and the first network and the second network are networks corresponding to the two wireless network cards (two data service cards), respectively.
In the technical scheme provided by the embodiment of the application, when the mobile phone accelerates the network, the network used for transmitting the current video stream of the first application is switched from the first network to the second network. Because the network quality of the second network is better than that of the first network, the possibility of blocking when the mobile phone transmits the current video stream of the first application can be avoided or reduced after the mobile phone is switched to the second network.
The mobile phone is required to perform network acceleration processing after judging that the network quality of the current first network is insufficient to support the mobile phone to smoothly transmit the current video stream of the first application. Therefore, when the mobile phone switches networks in the process of accelerating the networks, the currently used network must be switched from a network with poor network quality to a network with better network quality. Only if the network currently used is switched to a network with better network quality, the possibility of the mobile phone transmitting the current video stream of the first application being blocked can be avoided or reduced. Therefore, in order to avoid the problem that the mobile phone switches to a network with poor network quality when performing network acceleration processing to switch to the network, the mobile phone may detect the network quality of the second network before switching from the first network to the second network. After the mobile phone determines that the network quality of the second network is better than the network quality of the first network, the mobile phone performs the step of switching the network used for transmitting the current video stream of the first application from the first network to the second network.
In some embodiments, referring to fig. 6, after determining in S506 that the network quality of the first network does not meet the first network quality condition, before S507a, the method further includes S601 and S602, where:
s601, the mobile phone acquires a second network quality parameter of a second network.
Wherein the second network quality parameter is used to indicate the network quality of the second network. In some embodiments, the second network quality parameter may be, in particular, a network transmission rate, similar to the first network quality parameter.
In some embodiments, the mobile phone may periodically obtain the second network quality parameter. The mobile phone may acquire the second network quality parameter at intervals of a second preset period. The second preset period may be set according to practical situations, which is not limited in the embodiment of the present application.
S602, comparing the first network quality parameter and the second network quality parameter by the mobile phone, and determining the advantages and disadvantages between the network quality of the first network and the network quality of the second network.
As can be seen from the above description of the embodiments, the network quality parameter may indicate the network quality of the network, so in the embodiment of the present application, the mobile phone may determine the network with better network quality in the two networks (the first network and the second network) by comparing the network quality parameters of the two networks.
Taking the example that the network quality parameter is an absolute low rate, the step S602 may specifically include: if the absolute low rate of the first network is smaller than the absolute low rate of the second network, the mobile phone judges that the network quality of the second network is better than that of the first network.
Further, in some embodiments, after determining that the network quality of the second network is better than the network quality of the first network, the handset may perform S507a.
In the technical scheme provided by the embodiment of the application, before the mobile phone switches the network used for transmitting the current video stream of the first application from the first network to the second network, the mobile phone compares the acquired second network quality parameter with the first network quality parameter to determine the quality of the network between the first network and the second network. Therefore, when the mobile phone switches the network, the network is switched to the network with better network quality, and the possibility of blocking when the mobile phone transmits the current video stream of the first application is avoided or reduced.
In some embodiments, if the network quality of the second network is better than the network quality of the first network, but the difference between the network quality of the second network and the network quality of the first network is smaller, then the mobile phone may not support smooth transmission of the current video stream of the first application by the mobile phone when switching from the first network to the second network. In order to avoid this, the mobile phone may execute S507a only when the network quality of the second network is better than that of the first network and the network quality of the second network satisfies a certain condition.
In some embodiments, the mobile phone may switch from the first network to the second network upon determining that the network quality of the second network is better than the network quality of the first network, and that the difference between the network quality of the second network and the network quality of the first network is greater than a preset threshold. If the network quality of the second network is better than that of the first network and the gap is larger, the network speed of the current video stream of the first application can be improved after the second network is switched to, the transmission smoothness is improved, and the possibility of blocking is reduced on the basis of using the original network.
Or after the mobile phone determines that the network quality of the first network does not meet the first network quality condition, the mobile phone can also evaluate the network quality of the second network, determine whether the network quality of the second network meets the first network quality condition required for transmitting the current video stream, and then determine whether to switch from the first network to the second network.
In some embodiments, S507a may specifically include: and the mobile phone determines whether the network quality of the second network meets the first network quality condition according to the second network quality parameter, and if so, the mobile phone switches the network used for transmitting the current video stream of the first application from the first network to the second network.
It should be understood that, as can be seen from the description of the above embodiments, the mobile phone determines that the network quality of the first network does not meet the first network quality condition according to the first network quality transmission, and if the mobile phone determines that the network quality of the second network meets the first network quality condition, it also indicates that the network quality of the second network is better than the network quality of the first network. It should be noted that, since the network quality of the network may change at different times, the network quality of the second network may be better than the network quality of the first network at a certain time, and the network quality of the first network may be better than the network quality of the second network at a next time. Therefore, the network quality of the first network and the second network compared by the mobile phone in the above embodiment is the network quality of the first network and the second network compared in the same time period.
In the technical scheme provided by the embodiment of the application, before the mobile phone switches the network used for transmitting the current video stream of the first application from the first network to the second network, the mobile phone evaluates the network quality of the second network through the acquired second network quality parameter, and determines whether the network quality of the second network meets the first network quality condition. If yes, the mobile phone executes the step of switching from the first network to the second network. Before switching the network, the network quality of the target network to be switched is determined to meet the first network quality condition, so that after the mobile phone switches the network, the possibility of blocking when the mobile phone transmits the current video stream of the first application can be avoided.
In the above embodiment, the mobile phone includes only one wireless network card and one data service network card, that is, the network capable of supporting the video stream of the first application in the mobile phone includes only the first network and the second network. In other embodiments, the mobile phone may also include more than two wireless network cards and more than two data service network cards, where the first network and the second network are networks corresponding to the two network cards respectively.
In this embodiment, the step S507 may specifically include: the mobile phone respectively acquires third network quality parameters of each third network, and the mobile phone determines a target network meeting preset conditions in each third network according to the third network quality parameters. The handset then switches the network used to transmit the current video stream of the first application from the first network to the target network.
Wherein the third network is a network other than the first network in the mobile phone.
In some embodiments, the preset conditions may specifically include: the network quality in each third network is optimal and is better than that of the first network. In this embodiment, after determining that the network quality of the first network does not meet the first network quality condition, the mobile phone may screen out one network with the best network quality and better network quality than the first network from other available networks of the mobile phone as the target network. Therefore, the mobile phone switches the network used for transmitting the current video stream of the first application into the target network, so that the first application can be ensured to transmit the current video stream more smoothly, and the possibility of blocking is avoided or reduced.
In other embodiments, the preset condition may also be: the network quality in each third network is better than that of the first network, and the priority of the network is highest. In this embodiment network priorities are set for each network in the handset. The network priority is used to indicate a priority usage level of the network. For example, the priority of the Wi-Fi network may be set to be higher than the priority of the cellular network.
In this embodiment, if there are a plurality of networks in the third network whose network quality is better than that of the first network, the selection may be made in combination with the priority of the networks when selecting the target network.
Further, if the mobile phone detects that the multiple networks in the third network, which satisfy the network quality better than the network quality of the first network, belong to the same priority, the mobile phone may select the third network with the best network quality in the priority as the target network. Therefore, the possibility of blocking the current video stream of the first application transmitted by the mobile phone after the mobile phone is switched to the network can be avoided or reduced, and the transmission smoothness is improved; the selected target network may also be made more suitable.
Because the network quality of the same network may also change at different moments, the mobile phone needs to continuously detect the network quality of the network used for transmitting the current video stream of the first application, and evaluate whether the network quality of the current network meets the first network quality condition. Taking the example that the mobile phone only comprises the first network card and the second network card, and the priority of the first network corresponding to the first network card and the priority of the second network corresponding to the second network card are the same, after the mobile phone performs network acceleration processing and switches to the second network and transmits the current video stream, the mobile phone can periodically evaluate whether the network quality of the second network can always meet the first network quality condition.
Further, in some embodiments, after S507a, the mobile phone periodically determines whether the network quality of the second network meets the first network quality condition according to the second network quality parameter. If not, the mobile phone judges whether the network quality of the first network meets the first network quality condition according to the first network quality parameter. If yes, the mobile phone switches the network used for transmitting the current video stream of the first application from the second network back to the first network.
Under the condition that the priorities of the first network and the second network are the same, the mobile phone can detect and evaluate the network quality of the first network and the second network at the same time periodically no matter which network is used by the mobile phone to transmit the current video stream of the first application. If it is detected that the network quality of the currently used network no longer satisfies the first network quality condition and the network quality of the other network satisfies the first network quality condition, the handset may switch the currently used network to the other network. The method ensures that the first application can always and smoothly transmit the current video stream, and avoids or reduces the possibility of blocking.
It should be understood that if the mobile phone periodically detects the network quality of the network used for transmitting the current video stream of the first application, and determines that the network quality of the currently used network meets the first network quality condition, it indicates that the first application always keeps smooth transmission using the network. That is, the handset does not need to perform network acceleration or network switching.
In the technical scheme provided by the embodiment, for different networks with the same priority, whether each network card meets the first network quality condition can be detected at any time, and when the currently used network does not meet the first network condition and other networks meeting the first network quality condition exist, the currently used network can be rapidly switched. Thereby ensuring that the first application can always and smoothly transmit video. If the user plays the video by using the first application, smooth browsing of the video by the user can be ensured, and the user experience is improved.
If the priorities of the first network and the second network are different, and the network used for transmitting the current video stream of the first application is a lower priority network (such as the second network), the mobile phone can detect the network quality of the first network with higher priority in real time during the process of using the second network. If it is detected that the network quality of the first network meets the first network quality condition, the mobile phone may switch the currently used network to the first network. Illustratively, the first network is a Wi-Fi network and the second network is a cellular network. Since the first application transmits the video stream through the network, the consumption of the network is large, and if the cellular network is used, more data traffic of the user may be consumed.
In other embodiments, the priority of the first network is higher than the priority of the second network, and the mobile phone performs S601 and S602 if it is determined that the network quality of the first network does not satisfy the first network quality condition. When the mobile phone determines that the first network does not meet the requirement, judging whether the network quality of the second network meets the requirement, and switching to the second network if the network quality of the second network meets the requirement. In this way, the mobile phone does not need to monitor the network quality of the second network at any time in the process of using the first network with higher priority.
Further, if the priority of the first network is higher than the priority of the second network, the mobile phone periodically acquires the first network quality parameter, and periodically determines whether the network quality of the first network meets the first network quality condition according to the first network quality parameter. After S507a, the mobile phone transmits the current video stream of the first application using the second network, and then switches the network used for transmitting the current video stream of the first application from the second network back to the first network if it is detected that the network quality of the first network is restored to satisfy the first network quality condition.
Taking the example that the first network is a Wi-Fi network and the second network is a cellular network, if the network quality of the Wi-Fi network is detected to be poor and the network quality of the cellular network is detected to be good, the mobile phone switches the network used for transmitting the current video stream of the first application from the Wi-Fi network to the cellular network. Because the Wi-Fi network has a higher priority than the cellular network, the mobile phone periodically detects and evaluates the network quality of the Wi-Fi network to determine whether the Wi-Fi network meets the first network quality condition. If the network quality of the Wi-Fi network is detected to meet the first network quality condition, the mobile phone switches the network used for transmitting the current video stream of the first application back to the Wi-Fi network regardless of whether the network quality of the current cellular network meets the condition. That is, in the case where the network quality satisfies the requirement, the Wi-Fi network with higher priority is preferentially used. Therefore, the first application of the mobile phone can be guaranteed to better transmit the current video stream, the transmission fluency is improved, and the blocking is avoided.
After describing the network acceleration method provided by the embodiment of the present application, technical implementation details for implementing the network acceleration method will be described below. Referring to fig. 7, a timing chart of a network acceleration method implemented based on the modules shown in fig. 3 is provided in an embodiment of the present application. In the diagram shown in fig. 7, the flow level policy management module and the channel level policy management module in fig. 3 are policy management modules, and the flow level path management module and the channel level path management module are path management modules. The channel quality management module shown in fig. 7 represents the QoE evaluation module in fig. 3, and the flow sensing module shown in fig. 7 represents the flow identification module in fig. 3.
In step A1, the user starts application a (the first application described above), or the user switches application a from the background to the foreground.
The system environment sensing module detects that the application A is started or the application A is switched from the background to the foreground, and the identification of the application A is obtained.
And step A2, the system environment awareness module sends the application identifier of the application A to the policy management module.
The application identifier of the application is used for uniquely identifying the application, and can have a one-to-one correspondence with the package name of the application, or can be the package name of the application.
And step A3, the policy management module queries whether the application A corresponding to the received identifier supports network acceleration from the application configuration library based on the received identifier of the application A. The results queried from the application configuration library are: network acceleration is supported.
And step A4, under the condition that the query result is supporting network acceleration, the policy management module issues information for indicating that the application A starts network acceleration to the path management module.
In a specific implementation, the message may carry an identification of application a.
Step A5, the path management module requests the network from the network management module.
After step A5, the handset may probe the path of the network currently used by application a and periodically detect the network quality of the network currently used by application a.
As an example, the handset may determine the path of the network currently used by application a according to the logic set by the system to select the active network in the presence of multiple available networks.
In practical application, if the electronic device is provided with a wireless network card 1 in the 2.4GHz band, a wireless network card 2 in the 5.0GHz band, a data service network card 1 of the operator a, and a data service network card 2 of the operator B. One of the wireless network card 1 or the wireless network card 2 can be defaulted to be the main Wi-Fi, and the other wireless network card is the auxiliary Wi-Fi; one of the data service network card 1 of the default operator A and the data service network card 2 of the operator B is a main card, and the other data service network card is a sub card.
As an example, the network channel of the 2.4GHz band is a main Wi-Fi network, the network channel of the 5.0GHz band is an auxiliary Wi-Fi network, the network channel corresponding to the data service network card 1 is a main cellular network, and the network channel corresponding to the data service network card 2 is an auxiliary cellular network.
And under the condition that the main Wi-Fi network is unavailable, the system defaults the electronic device or the foreground to apply the current main network as the main card cellular network. And under the condition that the secondary Wi-Fi network is unavailable, the system defaults the current primary network of the electronic equipment or the foreground application to be the secondary card cellular network. In the embodiment of the present application, the first network is taken as the main Wi-Fi network, and the second network is taken as the main card cellular network.
When the application A runs in the foreground after being started, the application A uses the active network according to the rule; even if the application A is in the foreground, the system switches part of the data flow in the application A to other networks, and after the application A is switched to the background, the data flow in the application A resumes the use of the default active network of the system; after application a switches from background to foreground, application a continues to use the system's default active network.
Therefore, in the embodiment of the present application, each network in the electronic device may be sequentially requested according to the rule: a primary Wi-Fi, a primary card network, a secondary Wi-Fi, a secondary card network, etc. Until a request is made to an available network with quality meeting the requirements. The network that is available and of satisfactory quality can be understood as the network currently used by application a.
Taking the primary Wi-Fi network (first network) as an example:
step A6, the network management module sends a message to the channel quality management module indicating that the first network is available.
Step A7, the network management module informs the path management module of the network state.
In step A8, the path management module records the network status available to the first network.
Step A9, the path management module requests the channel quality management module to detect the current network quality.
As an example, the path management module periodically requests the channel quality management module to probe the current network quality.
In step a10, the channel quality management module periodically detects the network quality of the first network.
In the embodiment of the application, the network quality of any network can be determined by the network quality parameters, and the network quality parameters comprise the network transmission rate.
Step A11, the channel quality management module periodically informs the path management module of the current network state of the first network.
Step A12, the policy management module sends a request message for starting the monitoring of the service data flow to the flow sensing module.
In a specific implementation, the policy management module may perform step A4 and step a12 simultaneously after performing step A3. The policy management module may execute step a12 after step A3 is executed, and execute step a12 after a preset time (a specific value may be set according to actual situations) after step A4 is executed.
And step A13, after receiving the request message sent in the step A12, the flow sensing module sends a message representing flow monitoring to the flow reporting module.
And step A14, after receiving the flow monitoring message sent in the step A13, the flow reporting module reports the monitored data flow to the flow sensing module.
And monitoring data flow in a flow reporting module in the kernel. And B, after receiving the flow monitoring message sent in the step A13, reporting the monitored data flow to a flow sensing module. And, the monitored data stream can be continuously reported to the flow sensing module.
And step A15, the flow sensing module receives the data flow reported by the flow reporting module, inquires an application flow feature library and identifies the video flow.
In step a16, the traffic awareness module requests the media framework to acquire the video stream characteristics of the currently transmitted video stream.
Step A17, after the media framework receives the request sent in step A16, the media framework sends the video stream characteristics of the video stream currently transmitted to the flow sensing module.
In step a18, the flow sensing module determines a network quality assessment algorithm (i.e. QoE algorithm, including the first network quality condition described above) according to the video flow characteristics.
And step A19, the flow sensing module starts to evaluate the transmission quality of the current video stream transmitted by the application A according to the network quality evaluation algorithm to obtain an evaluation result.
It should be noted that the evaluation result may include: advantage (e.g., identifier 00), possible stuck (e.g., identifier 10), and stuck (e.g., identifier 11).
As an example, the network transmission rate threshold in table 1 above may also set a condition evaluated as possible to be stuck in an actual application in order to evaluate a condition of the current video stream to transmit the first application to be stuck.
If the video stream of 360P, 480P or 540P is currently transmitted, if the network transmission rate of the first network is lower than 80KBps, the evaluation result is a katon. If the current transmission is 720P video stream, if the network transmission rate of the first network is lower than 120KBps, the evaluation result is a stuck. If 1080P video stream is currently transmitted, if the network transmission rate of the first network is lower than 250KBps, the evaluation result is that the video stream is stuck. And so on.
In specific implementation, the specific form of the evaluation result is not limited.
And step A20, the flow sensing module sends an evaluation result to the path management module, wherein the evaluation result is that the jamming occurs or the jamming is possible to occur.
It should be noted that, the evaluation result sent in this step may be an identifier indicating a click, a possible click, and a preference, and may also carry a feature (or a feature identifier) of the data stream.
Step A21, the path pipeline module sends a notification message for switching network channels to the network management module.
The handset may perform step a22 on the premise that a second network (the host card cellular network) is available. The specific process of determining whether the second network is available is similar to the process of determining whether the first network is available.
And step A22, the network management module switches all the requests of the application A for transmitting the current video stream to a second network corresponding to the second network card.
In step a23, the network management module notifies the path management module of the switched network state (the host card cellular network).
Compared with the related art, the network acceleration method provided by the embodiment of the application dynamically selects the thresholds of different perceived network katon algorithms according to the video stream characteristics such as the resolution of the transmitted video stream scene, so as to achieve the purpose of flexibly switching network channels under the scenes with different resolutions, and the network acceleration method is not limited by the fixed thresholds before, thereby providing a user with more intelligent and smooth video watching experience.
Fig. 8 is a diagram of an overall framework involved in the network acceleration method provided by the present application, where the overall framework includes three parts, namely an application, a media framework and a network acceleration module. In the embodiment of the application, the application is a video application, including the first application. The media framework is used for encoding, decoding, recording codec information, etc. of the video stream when the first application transmits the video stream. The network acceleration module is used for evaluating the network quality, and carrying out network acceleration processing when the network quality of the current network is detected to not meet the relevant conditions under the condition that the first application supports network acceleration. The following is an overall flow description of the network acceleration method:
1. When a user browses video using a video application, the media framework may perform video decoding.
2. After the media framework finishes decoding, the coding and decoding information (the video stream characteristics, the resolution, the code rate, the frame rate and the like) is recorded, and is reported to the media software upgrading tool kit (Software Development Kit, SDK) through the framework layer.
3. The network acceleration module acquires the coding and decoding information of the current video stream from the media SDK;
4. the network acceleration module dynamically adjusts the stuck threshold for identifying the network quality according to the current coding and decoding information.
5. The network acceleration module acquires real-time network transmission rate, and identifies whether the currently used network quality is blocked or not according to a blocking threshold corresponding to the current video stream. If yes, switching network cards.
Other embodiments of the present application provide an electronic device, which may be a mobile phone as described above. The electronic device may include: a memory and one or more processors. The memory is coupled to the processor. The memory is also used to store computer program code, which includes computer instructions. When the processor executes the computer instructions, the electronic device may perform the functions or steps performed by the mobile phone in the above-described method embodiments. The structure of which may refer to the structure of the electronic device 100 shown in fig. 1.
The embodiment of the present application also provides a chip system, as shown in fig. 9, the chip system 90 includes at least one processor 901 and at least one interface circuit 902. The processor 901 and the interface circuit 902 may be interconnected by wires. For example, the interface circuit 902 may be used to receive signals from other means (e.g., a memory of a computer device). For another example, interface circuitry 902 may be used to send signals to other devices (e.g., processor 901). The interface circuit 902 may, for example, read instructions stored in a memory and send the instructions to the processor 901. The instructions, when executed by the processor 901, may cause a computer device to perform the various steps of the embodiments described above. Of course, the system-on-chip may also include other discrete devices, which are not particularly limited in accordance with embodiments of the present application.
The embodiment of the application also provides a computer readable storage medium, which comprises computer instructions, when the computer instructions are run on the electronic device, the electronic device is caused to execute the functions or steps executed by the mobile phone in the embodiment of the method.
The embodiment of the application also provides a computer program product, which when run on a computer, causes the computer to execute the functions or steps executed by the mobile phone in the method embodiment. The computer may be an electronic device, such as a cell phone.
It will be apparent to those skilled in the art from this description that, for convenience and brevity of description, only the above-described division of the functional modules is illustrated, and in practical application, the above-described functional allocation may be performed by different functional modules according to needs, i.e. the internal structure of the apparatus is divided into different functional modules to perform all or part of the functions described above.
In the several embodiments provided by the present application, it should be understood that the disclosed apparatus and method may be implemented in other manners. For example, the apparatus embodiments described above are merely illustrative, e.g., the division of modules or units is merely a logical function division, and there may be additional divisions when actually implemented, e.g., multiple units or components may be combined or integrated into another apparatus, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and the parts shown as units may be one physical unit or a plurality of physical units, may be located in one place, or may be distributed in a plurality of different places. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in the embodiments of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional units.
The integrated units, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a readable storage medium. Based on such understanding, the technical solution of the embodiments of the present application may be essentially or a part contributing to the prior art or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium, including several instructions for causing a device (may be a single-chip microcomputer, a chip or the like) or a processor (processor) to perform all or part of the steps of the methods of the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read Only Memory (ROM), a random access memory (random access memory, RAM), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
The foregoing is merely illustrative of specific embodiments of the present application, but the scope of the present application is not limited thereto, and any changes or substitutions within the technical scope of the present application should be covered by the scope of the present application. Therefore, the protection scope of the application is subject to the protection scope of the claims.

Claims (14)

1. A network acceleration method, wherein the method is applied to an electronic device, the electronic device is provided with a first application, and the first application transmits a data stream through a network; the method comprises the following steps:
the electronic equipment runs the first application;
the electronic equipment acquires the data flow characteristics of the first application when transmitting the current data flow through a first network;
the electronic equipment acquires a first network quality parameter of the first network; the first network quality parameter is used for indicating the network quality of the first network;
if the electronic equipment determines that the network quality of the first network does not meet the first network quality condition corresponding to the data flow characteristic according to the first network quality parameter, the electronic equipment performs network acceleration processing; the first network quality condition is used for ensuring that the smoothness of the current data stream is met when the current data stream is transmitted.
2. The method of claim 1, wherein the first network quality parameter comprises a network transmission rate; the electronic device determining, according to the first network quality parameter, that the network quality of the first network does not meet a first network quality condition corresponding to the data flow feature includes:
the electronic equipment determines a first blocking threshold according to the data flow characteristics; the first jamming threshold is used for the electronic equipment to evaluate whether the first network is jammed or not according to the first jamming threshold; the first network quality condition includes the first stuck threshold; the first blocking threshold is a network transmission rate threshold;
and when the first network quality parameter is smaller than the first clamping threshold value, the electronic equipment determines that the network quality of the first network does not meet the first network quality condition.
3. The method of claim 2, wherein the electronic device stores data flow characteristics corresponding to data flows of a plurality of preset gears, respectively, and a stuck threshold corresponding to the plurality of preset gears, respectively;
the electronic device determining a first click threshold according to the data flow characteristics includes:
The electronic equipment determines a target gear to which the current data stream belongs according to the data stream characteristics; the target gear is included in the plurality of preset gears;
and the electronic equipment acquires a blocking threshold corresponding to the target gear as the first blocking threshold.
4. The method of any of claims 1-3, wherein the electronic device comprises at least a first network card and a second network card; the electronic equipment performs network acceleration processing, including:
the electronic device switching a network used for transmitting the current data stream of the first application from the first network to a second network; the network quality of the second network is better than the network quality of the first network; the first network is a network corresponding to the first network card, and the second network is a network corresponding to the second network card.
5. The method according to claim 4, wherein the method further comprises:
the electronic equipment acquires a second network quality parameter of the second network;
the electronic equipment compares the first network quality parameter with the second network quality parameter and determines the quality of the network quality of the first network and the second network.
6. The method of claim 5, wherein the electronic device switching a network used to transmit the current data stream of the first application from the first network to a second network, comprising:
the electronic equipment determines whether the network quality of the second network meets the first network quality condition according to the second network quality parameter;
and if the network quality of the second network meets the first network quality condition, the electronic equipment switches the network used for transmitting the current data flow of the first application from the first network to the second network.
7. The method according to claim 5 or 6, wherein the priority of the first network is the same as the priority of the second network;
the network quality parameters of the networks with the same priority are simultaneously acquired by the electronic equipment at the same time.
8. The method of claim 7, wherein after the electronic device switches a network used to transmit the first application of the current data stream from the first network to a second network, the method further comprises:
the electronic equipment periodically judges whether the network quality of the second network meets the first network quality condition according to the second network quality parameter;
If the network quality of the second network does not meet the first network quality condition, the electronic equipment judges whether the network quality of the first network meets the first network quality condition according to the first network quality parameter;
if the network quality of the first network meets the first network quality condition, the electronic device switches the network used for transmitting the current data stream of the first application from the second network back to the first network.
9. The method according to claim 5 or 6, wherein the first network has a higher priority than the second network; the electronic device obtaining a first network quality parameter of the first network includes:
the electronic equipment periodically acquires the first network quality parameter;
the electronic device obtaining a second network quality parameter of the second network includes:
and after the electronic equipment determines that the network quality of the first network does not meet the first network quality condition corresponding to the data flow characteristic according to the first network quality parameter, the electronic equipment acquires the second network quality parameter.
10. The method of claim 9, wherein after the electronic device switches a network used for transmitting the current data stream of the first application from the first network to a second network, the method further comprises:
The electronic equipment periodically judges whether the network quality of the first network meets the first network quality condition according to the first network quality parameter;
if the network quality of the first network meets the first network quality condition, the electronic device switches the network used for transmitting the current data stream of the first application from the second network back to the first network.
11. The method of any of claims 1-10, wherein after the electronic device runs the first application, before the electronic device obtains a data flow characteristic of the first application when transmitting a current data flow over a first network, the method further comprises:
the electronic equipment inquires whether the first application supports network acceleration; the electronic equipment comprises an application configuration library, wherein information whether a plurality of application programs support network acceleration is stored in the application configuration library, and the plurality of application programs comprise the first application.
12. The method according to any one of claims 1 to 11, wherein,
the current data stream comprises a current video stream; the video stream characteristics of the current video stream include: at least one of resolution, code rate, and frame rate.
13. An electronic device, the electronic device comprising: a processor and a memory; the memory has stored therein computer program code comprising computer instructions which, when executed by the processor, cause the electronic device to perform the method of any of claims 1-12.
14. A computer readable storage medium comprising computer instructions which, when run on an electronic device, cause the electronic device to perform the method of any of claims 1-12.
CN202211297054.XA 2022-10-21 2022-10-21 Network acceleration method and electronic equipment Pending CN116709369A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211297054.XA CN116709369A (en) 2022-10-21 2022-10-21 Network acceleration method and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211297054.XA CN116709369A (en) 2022-10-21 2022-10-21 Network acceleration method and electronic equipment

Publications (1)

Publication Number Publication Date
CN116709369A true CN116709369A (en) 2023-09-05

Family

ID=87842074

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211297054.XA Pending CN116709369A (en) 2022-10-21 2022-10-21 Network acceleration method and electronic equipment

Country Status (1)

Country Link
CN (1) CN116709369A (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3041254A1 (en) * 2014-12-30 2016-07-06 Telefonica Digital España, S.L.U. Method for providing information on network status from telecommunication networks
CN112469098A (en) * 2020-10-28 2021-03-09 深圳市微网力合信息技术有限公司 Communication network switching method and device, intelligent robot and storage medium
CN113795040A (en) * 2021-06-16 2021-12-14 荣耀终端有限公司 Channel switching method, electronic device and storage medium
CN114172791A (en) * 2021-06-16 2022-03-11 荣耀终端有限公司 Channel switching method, electronic device and storage medium
CN114449599A (en) * 2021-07-30 2022-05-06 荣耀终端有限公司 Network link switching method based on electronic equipment position and electronic equipment
WO2022127605A1 (en) * 2020-12-15 2022-06-23 华为技术有限公司 Network switching method and apparatus

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3041254A1 (en) * 2014-12-30 2016-07-06 Telefonica Digital España, S.L.U. Method for providing information on network status from telecommunication networks
CN112469098A (en) * 2020-10-28 2021-03-09 深圳市微网力合信息技术有限公司 Communication network switching method and device, intelligent robot and storage medium
WO2022127605A1 (en) * 2020-12-15 2022-06-23 华为技术有限公司 Network switching method and apparatus
CN113795040A (en) * 2021-06-16 2021-12-14 荣耀终端有限公司 Channel switching method, electronic device and storage medium
CN114172791A (en) * 2021-06-16 2022-03-11 荣耀终端有限公司 Channel switching method, electronic device and storage medium
CN114449599A (en) * 2021-07-30 2022-05-06 荣耀终端有限公司 Network link switching method based on electronic equipment position and electronic equipment

Similar Documents

Publication Publication Date Title
EP3917210B1 (en) Network card switching method and electronic device
EP3972262A1 (en) Screencasting display method, and electronic apparatus
WO2020014880A1 (en) Multi-screen interaction method and device
US20220148608A1 (en) Method for Automatically Switching Bluetooth Audio Coding Scheme and Electronic Device
CN114172791B (en) Channel switching method, electronic device and storage medium
WO2023273317A1 (en) Channel switching method, electronic device, and storage medium
JP7181990B2 (en) Data transmission method and electronic device
CN115484648B (en) Channel switching method, electronic device and storage medium
CN110913424B (en) Network connection control method and device, terminal and computer storage medium
US11540214B2 (en) Timer adjustment method and device
CN114727101A (en) Antenna power adjusting method and electronic equipment
US20220322170A1 (en) Monitoring method, instruction sending method and device, communication apparatus and storage
CN112866804B (en) Screen projection self-adaption method, mobile terminal and readable storage medium
CN109196936A (en) A kind of resource allocation indicating method and device, base station and terminal
EP3235258B1 (en) Adjusting quality level of media streaming
CN110546899B (en) Channel detection mode switching method, device and storage medium
CN116137676B (en) Network acceleration method, electronic equipment, chip system and storage medium
CN116709442A (en) Wireless network switching method and electronic equipment
WO2023087852A1 (en) Network acceleration method, electronic device, chip system and storage medium
CN116709369A (en) Network acceleration method and electronic equipment
CN111970668B (en) Bluetooth audio control method, device and computer readable storage medium
CN113810965A (en) Channel switching method, electronic device and storage medium
CN116709368B (en) Network acceleration method and device
CN116709367B (en) Network acceleration method and device
WO2024082811A1 (en) Network acceleration method and apparatus

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