CN116137676B - Network acceleration method, electronic equipment, chip system and storage medium - Google Patents

Network acceleration method, electronic equipment, chip system and storage medium Download PDF

Info

Publication number
CN116137676B
CN116137676B CN202111373990.XA CN202111373990A CN116137676B CN 116137676 B CN116137676 B CN 116137676B CN 202111373990 A CN202111373990 A CN 202111373990A CN 116137676 B CN116137676 B CN 116137676B
Authority
CN
China
Prior art keywords
network
period
quality
average
application
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.)
Active
Application number
CN202111373990.XA
Other languages
Chinese (zh)
Other versions
CN116137676A (en
Inventor
张忠伟
王金香
李锦波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202111373990.XA priority Critical patent/CN116137676B/en
Priority to PCT/CN2022/117100 priority patent/WO2023087853A1/en
Publication of CN116137676A publication Critical patent/CN116137676A/en
Application granted granted Critical
Publication of CN116137676B publication Critical patent/CN116137676B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • 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
    • 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/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)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

The application provides a network acceleration method, electronic equipment, a chip system and a storage medium, relates to the technical field of network communication, and can reduce the clamping phenomenon when the electronic equipment plays videos. The method comprises the following steps: and under the condition that the rate of the video stream is 0, determining the transmission quality of the video stream according to the average rate of a period of time before the video stream is 0, wherein under the condition that the average rate is larger than a first value, the transmission quality of the video stream is satisfied, the video stream can be kept to be transmitted on the current network card, and under the condition that the average rate is smaller than or equal to the first value, the transmission quality of the video stream is not satisfied, and the video stream can be switched from the current network card to other network cards for transmission.

Description

Network acceleration method, electronic equipment, chip system and storage medium
Technical Field
The present application relates to the field of network communications, and in particular, to a network acceleration method, an electronic device, a chip system, and a storage medium.
Background
As the degree of intellectualization of electronic devices is higher, more and more application software is installed and run in the electronic devices. Many applications require communication with a corresponding server over a network during operation to implement the various functions provided by the application.
In the process of using the application software by the user, if the quality of the network used when the application software is communicated with the corresponding server is poor, a clamping phenomenon can occur, and the use experience of the user is affected. Currently, the quality of the currently used network can be evaluated based on the signal strength of the currently used network, and in the case that the quality of the currently used network is poor, a network with better network quality is used for network acceleration. However, when such a method of evaluating signal strength of a currently used network for network acceleration is applied in a video play scene, a jam phenomenon often occurs.
Disclosure of Invention
The application provides a network acceleration method, electronic equipment, a chip system and a storage medium, which can reduce the clamping phenomenon when the electronic equipment plays videos.
In order to achieve the above purpose, the application adopts the following technical scheme:
in a first aspect, the present application provides a network acceleration method, the method comprising:
the method comprises the steps that the electronic equipment runs a first application, the first application comprises a video stream, the electronic equipment transmits the video stream through a first network card of the electronic equipment, the rate distribution of the video stream comprises a first time period, a second time period and a third time period which are continuous, a fourth time period, a fifth time period and a sixth time period which are continuous, wherein the rates of the first time period, the third time period, the fourth time period and the sixth time period are not 0, and the rates of the second time period and the fifth time period are 0;
Determining that the average rate of the first part of the video stream in the first time period is greater than a first value, and transmitting the video stream by the electronic equipment through the first network card in the third time period;
and determining that the average rate of the second part of the video stream in the fourth time period is smaller than or equal to the first value, and transmitting the video stream by the electronic device through a second network card of the electronic device in the sixth time period, wherein the duration of the second part is equal to the duration of the first part.
When judging the network quality through the signal strength, in order to avoid the phenomenon that the power consumption is too high caused by frequently waking up other network switching, the signal strength threshold value is usually required to be set lower, and the phenomenon that the current network cannot meet the data stream transmission and is not switched to other networks, so that the phenomenon of blocking often occurs is likely. The application can determine the transmission quality of the data stream through the rate of the data stream, and is a more accurate distinguishing mode compared with the method for determining the network quality through the signal strength of the network. When the transmission quality is improved, the channel level switching is not relied on, and the stream level switching is adopted; in addition, in the short video scene, there may be a case where the rate of the longer-time video stream is 0 (for example, a period of time from the end of the previous video buffering to the start of the next video buffering), resulting in a judgment error. The application judges the transmission quality of the video stream according to the average rate value of a period of time before the rate of the video stream is 0, thereby determining whether to improve the transmission quality of the video stream by switching the video stream to other networks, and reducing the occurrence of the blocking phenomenon in the video playing process.
As an implementation manner of the first aspect of the present application, the end time of the first portion in the first period is the same as the end time of the first period, and the end time between the ends of the second portion in the fourth period is the same as the end time of the fourth period.
In the present application, in order to more accurately determine whether the rate is 0, that is, the end of buffering is caused or the network quality is poor, a part of the time period closest to the second time period in the first time period may be taken. I.e. taking a part of the time near the end of the first time period.
As an implementation manner of the first aspect of the present application, the rate distribution of the video stream further includes a seventh period of time with a rate other than 0, and the method further includes:
and determining that the average speed of the seventh time period is smaller than or equal to the first value, and transmitting the video stream by the electronic device through the second network card in the eighth time period, wherein the starting time of the eighth time period is the ending time of the seventh time period, and the duration of the seventh time period is equal to the duration of the first part.
Of course, if the average rate of the seventh period is less than or equal to the first value, the electronic device transmits the video stream through the first network card in the eighth period. The method and the device can be applied to the scene with the rate of 0, and can judge the transmission quality of the video stream based on the average rate value of a period of time in the scene with the rate of not 0, thereby reducing the occurrence of the clamping phenomenon.
As an implementation manner of the first aspect of the present application, in a process that an electronic device transmits a video stream through a first network card of the electronic device, the method includes:
the electronic equipment acquires the average speed of the video stream in the average period according to the average period, and the duration of the first part and the second part is longer than the duration of the average period.
To more finely determine the transmission quality of a video stream of an electronic device, the rate of the video stream may be acquired with a capture period (e.g., 10ms, 50ms, 100ms, etc.) that is less than the average period (e.g., 500 ms). The average rate over the mean period is then calculated. The average rate of the first portion of the first time period is replaced with the average rate over 1 or more average periods of the first time period.
As an implementation manner of the first aspect of the present application, the first period is one period in the average value periods, and in a case that an average rate in the first period is greater than the second value, the period transmission quality in the first period is the first identifier;
in the case that the average rate in the first period is less than or equal to the second value and is not equal to 0, the periodic transmission quality in the first period is the second identifier;
in the case that the average rate in the first period is equal to 0, the period transmission quality in the first period is determined by the identification of the period transmission quality in the historical average period, wherein the historical average period is L average periods before the first period, when the first period is positioned in the second period, the starting time of the earliest average period in the historical average periods of the first period is later than the starting time of the first period, when the first period is positioned in the fifth period, the starting time of the earliest average period in the historical average periods of the first period is later than the starting time of the fourth period, and L is a natural number greater than or equal to 1;
If the period transmission quality of at least N average value periods exists in the continuous M average value periods is the second identifier, the rate of the video stream meets a first condition, otherwise, the rate of the video stream meets a second condition, N is an integer smaller than or equal to M, and the first condition comprises: the average rate of the second portion of the video stream in the fourth period is less than or equal to the first value and the average rate in the seventh period is less than or equal to the first value, the second condition comprising: the average rate of the first portion of the video stream over the first period of time is greater than the first value.
As an implementation manner of the first aspect of the present application, if the historical average period is one average period before the first period, the identifier of the periodic transmission quality in the first period is the same as the identifier of the periodic transmission quality in one average period before the first period;
if the historical average period is an odd number of average periods before the first period, the identification of the periodic transmission quality in the first period is the mode of the identification of the periodic transmission quality of the odd number of average periods before the first period.
As an implementation manner of the first aspect of the present application, the video stream is a data stream composed of data packets having a first characteristic, and the first characteristic is determined by the following parameters: transmission protocol, transmission port and head characteristic of data message;
In the process that the electronic equipment transmits the video stream through the first network card of the electronic equipment, the method comprises the following steps:
the electronic equipment acquires a first condition corresponding to the first feature.
As an implementation manner of the first aspect of the present application, the transmitting, by the electronic device, the video stream through the second network card of the electronic device includes:
the electronic device checks whether the electronic device stores a standby network;
and under the condition that the electronic equipment stores a standby network, the electronic equipment transmits the video stream through the standby network, wherein the standby network comprises a second network corresponding to the second network card.
In the application, in order to timely switch the data stream meeting the corresponding stream quality evaluation condition to other networks, the standby network can be obtained in advance and stored, so that when the stream quality parameters of the data stream meet the corresponding conditions, the data stream meeting the corresponding evaluation conditions is timely switched to the standby network.
As an implementation manner of the first aspect of the present application, the method further includes:
under the condition that the electronic equipment does not store a standby network, the electronic equipment acquires network quality parameters of a network corresponding to a third network card of the electronic equipment, wherein the third network card is other network cards except the first network card in the electronic equipment, and the network quality parameters comprise at least one of the following: bandwidth, latency, and air interface rate;
And under the condition that the second network card is the network card with the optimal network quality in the third network card, the electronic equipment stores the second network corresponding to the second network card as a standby network, and the network quality is determined by the network quality parameters.
In the application, the data stream can be switched to the standby network for transmission under the condition that the standby network is not stored and then the stream quality parameters of the data stream are judged to meet the corresponding evaluation conditions next time.
As an implementation manner of the first aspect of the present application, before the electronic device stores the second network corresponding to the second network card as a standby network, the method further includes:
the electronic equipment wakes up a second network corresponding to the second network card.
As an implementation manner of the first aspect of the present application, before the electronic device stores the second network corresponding to the second network card as a standby network, the method further includes:
the electronic equipment acquires network quality parameters of a first network corresponding to the first network card;
correspondingly, the electronic device storing the second network corresponding to the second network card as the standby network includes:
and under the condition that the network quality of the second network corresponding to the second network card is better than that of the first network corresponding to the first network card, the electronic equipment stores the second network corresponding to the second network card as a standby network.
In the present application, it is also necessary to determine whether or not the network quality of the network of which the quality is optimal among other networks than the primary network is superior to the network quality of the primary network. And under the condition that the network quality is superior to that of the main network, the main network can be used as a standby network, so that the data stream is prevented from being switched from the main network with the network quality which does not meet the requirement of the current data stream to the network with poorer network quality.
As an implementation manner of the first aspect of the present application, the running the first application by the electronic device includes:
the electronic equipment runs a first application in the foreground;
correspondingly, the method further comprises the steps of:
after the electronic equipment detects that the first application runs in the foreground, the electronic equipment sequentially executes the main network determining step according to the priority order of the network cards of the electronic equipment until the main network of the electronic equipment is obtained;
the primary network determining step comprises the following steps:
the electronic equipment acquires a network state of a network corresponding to a fourth network card, wherein the fourth network card is one network card of the electronic equipment;
under the condition that the network state of the fourth network card is available, the electronic equipment acquires the network quality parameter of the fourth network card; ending the main network determining step of the round under the condition that the network state of the fourth network card is unavailable;
Under the condition that the network quality parameter of the fourth network card is within a preset range, the fourth network card is used as a main network of the electronic equipment to be stored; and ending the primary network determining step of the round under the condition that the network quality parameter of the fourth network card is not in the preset range.
In the application, when the electronic device sets the network card priority, the available network card with the network quality meeting the preset requirement (for example, the network quality parameter is in the preset range) is selected as the data stream of the application operated by the foreground of the main network card according to the network card priority order. Therefore, after the application is switched to the foreground, the main network card of the electronic device, that is, the network card for transmitting the data stream of the first application, can be obtained according to the same logic.
As an implementation manner of the first aspect of the present application, the electronic device obtaining a network quality parameter of a first network corresponding to the first network card includes:
after the primary network of the electronic device is obtained, the electronic device monitors network quality parameters of the primary network in a second period.
In the application, in order to facilitate the comparison between the network quality of the standby network and the network quality of the obtained standby network at any time, the network quality parameters of the main network need to be monitored regularly.
As an implementation manner of the first aspect of the present application, the electronic device obtaining a network quality parameter of a first network corresponding to the first network card includes:
the electronic equipment acquires a network for transmitting the video stream, wherein the network for transmitting the video stream is a first network corresponding to a first network card;
the electronic device monitors a network quality parameter of the first network in a second period.
The application can also determine the active network through the network transmitting the data stream of the current foreground application. Thus, a diversified mode is provided to acquire the network quality parameters of the main network, so that the quality (or the quality) of the network is compared when the standby network is determined.
In a second aspect, there is provided an electronic device comprising a processor for executing a computer program stored in a memory, implementing the method of any one of the first aspects of the application.
In a third aspect, there is provided a system on a chip comprising a processor coupled to a memory, the processor executing a computer program stored in the memory to implement the method of any of the first aspects of the application.
In a fourth aspect, there is provided a computer readable storage medium storing a computer program which when executed by one or more processors performs the method of any of the first aspects of the application.
In a fifth aspect, the application provides a computer program product for causing a device to perform the method of any of the first aspects of the application when the computer program product is run on the device.
It will be appreciated that the advantages of the second to fifth aspects may be found in the relevant description of the first aspect, and are not described here again.
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 an application scenario provided in an embodiment of the present application;
FIG. 3 is a schematic diagram of a network acceleration method according to an embodiment of the present application;
fig. 4 is a schematic diagram of another application scenario provided in an embodiment of the present application;
FIG. 5 is a schematic diagram of another 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 schematic diagram of a technical architecture provided in an embodiment of the present application;
fig. 8 is a timing chart of a network acceleration method according to an embodiment of the present application;
FIG. 9 is a timing diagram of another network acceleration method according to an embodiment of the present application;
FIG. 10 is a timing diagram of another network acceleration method according to an embodiment of the present application;
FIG. 11 is a timing diagram of another network acceleration method according to an embodiment of the present application;
FIG. 12 is a timing diagram of another network acceleration method according to an embodiment of the present application;
fig. 13 is a schematic diagram of a data flow reported to a flow sensing component by a flow reporting component according to an embodiment of the present application;
fig. 14 is a velocity distribution diagram of a video stream in a short video scene according to an embodiment of the present application;
FIG. 15 is a graph showing a rate distribution of a video stream in another scenario according to an embodiment of the present application;
fig. 16 is a flow chart of a network acceleration method in the case that an average rate is 0 according to an embodiment of the present application.
Detailed Description
In the following description, for purposes of explanation and not limitation, specific details are set forth such as the particular system architecture, techniques, etc., in order to provide a thorough understanding of the embodiments of the present application. It will be apparent, however, to one skilled in the art that the present application may be practiced in other embodiments that depart from these specific details.
It should be understood that the terms "comprises" and/or "comprising," when used in this specification and the appended claims, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
It should also be understood that in embodiments of the present application, "one or more" means one, two, or more than two; "and/or", describes an association relationship of the association object, indicating that three relationships may exist; for example, a and/or B may represent: a alone, a and B together, and B alone, wherein A, B may be singular or plural. The character "/" generally indicates that the context-dependent object is an "or" relationship.
Furthermore, in the description of the present specification and the appended claims, the terms "first," "second," "third," "fourth," and the like are used merely to distinguish between descriptions and are not to be construed as indicating or implying relative importance.
Reference in the specification to "one embodiment" or "some embodiments" or the like means that a particular feature, structure, or characteristic described in connection with the embodiment is included in one or more embodiments of the application. Thus, appearances of the phrases "in one embodiment," "in some embodiments," "in other embodiments," and the like in the specification are not necessarily all referring to the same embodiment, but mean "one or more but not all embodiments" unless expressly specified otherwise. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless expressly specified otherwise.
The network acceleration method provided by the embodiment of the application can be applied to 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 180K, 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 180K, also referred to as a "touch panel". The touch sensor 180K may be disposed on the display screen 194, and the touch sensor 180K and the display screen 194 form a touch screen, which is also called a "touch screen". The touch sensor 180K is for detecting 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 180K 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 embodiment of the present application is not particularly limited to a specific structure of an execution subject of a network acceleration method, as long as processing can be performed by a network acceleration method provided according to the embodiment of the present application by running a code recorded with the network acceleration method of the embodiment of the present application. For example, the execution body of the network acceleration method provided by the embodiment of the application may be a functional module in the electronic device, which can call a program and execute the program, or a processing device, such as a chip, applied to the electronic device.
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.
Referring to fig. 2, a user plays a game using an application a (game-like 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, and a data stream a generated between the application a and the server a (for example, a data stream generated when a game is on a battle) is transmitted through a Wi-Fi network between the wireless network card on the mobile phone and a wireless router. The user uses application B (chat application) in the mobile phone to chat, wherein the application B in the mobile phone establishes a network connection with a server B of the application B through a wireless network card of the mobile phone, and a data stream B generated between the application B and the server B (for example, a data stream generated during chat) is transmitted through a Wi-Fi network between the wireless network card on the mobile phone and a wireless router.
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.
If the user uses the application a in the mobile phone and the application B in the mobile phone in the same location (the distance between the wireless network card and the wireless router is the same) and the same time range (for example, within half an hour), the Wi-Fi network quality is not greatly different theoretically. However, since data stream a generates a larger amount of data per unit time than data stream B, data stream a has a higher quality requirement for Wi-Fi networks than data stream B. The user uses the application B smoothly, however, a click phenomenon may occur when the user uses the application a, resulting in poor user experience.
Thus, the quality requirements of the network channels are different for different applications (or different classes of applications). The embodiment of the application can set different network quality evaluation algorithms for different applications (or different types of applications). In the case where it is assessed that the network channel currently used by an application is insufficient to carry the data stream generated by the application (e.g., where the user carries a cell phone away from the wireless router, etc.), a transmission quality promotion policy is set to accelerate data stream transmission.
Referring to fig. 3, in case that the transmission quality of the data stream a of the application a is estimated to be poor by the network quality estimation algorithm, the data stream a may be switched from the current Wi-Fi network to other network channels. As shown in fig. 3, the handset may switch data stream a onto a cellular network between the data service network card of the handset and the base station to communicate data stream a with server a over the cellular network.
In addition, even when a user handles different traffic using the same application, the requirements on the quality of the network channel used by the application may be different.
Referring to fig. 4, a download stream A1 is generated when a user downloads using an application a, and a session stream A2 is generated when a user performs a session using the application a. Both the download stream A1 and the session stream A2 may be transmitted over a Wi-Fi network between the wireless network card and the 2.4GHz wireless router.
If the user uses the application a in the mobile phone to download and session respectively in the same location (the distance between the wireless network card and the wireless router is the same) and the same time range (for example, within half an hour), theoretically, the quality difference of the network channels is not large. However, since the data stream A1 generates a larger amount of data per unit time than the data stream A2, the data stream A1 has a higher quality requirement for the network channel than the data stream B. The user may have a smooth conversation using application a, however, the user may feel that the download rate is too slow when using application a for downloading, resulting in a poor user experience.
Thus, the quality requirements of the network channels are different for different traffic scenarios of the same application. The embodiment of the application can set different network quality evaluation algorithms aiming at different service scenes of the same application. In case it is estimated that the network channel currently used by an application is not sufficient to carry a certain data stream generated by the application, a transmission quality improvement policy is set to accelerate the data stream transmission.
Referring to fig. 5, in the case where the transmission quality of the data stream A1 of the application a is estimated to be poor by the network quality estimation algorithm, the data stream A1 may be distributed to a plurality of network channels for parallel transmission. As shown in fig. 3, a wireless network card 1 is arranged on the mobile phone to support 2.4GHz receiving and transmitting; the wireless network card 2 is also arranged to support the receiving and transmitting of 5.0 GHz; and a data service network card is also arranged. The data stream A1 may include a plurality of sub-data streams, which may be divided into 3 groups of data streams: data stream A1-1, data stream A1-2 and data stream A1-3. The 3 data streams are distributed to 3 network channels for transmission.
The wireless router in fig. 5 may be one wireless router supporting both 2.4GHz and 5.0GHz, or may be two routers supporting both 2.4GHz and 5.0 GHz.
As can be appreciated from fig. 3 and 5, different transmission quality promotion policies (e.g., switching in fig. 3, concurrency in fig. 5) may also be set to accelerate transmission of the data stream, thereby promoting the user experience.
In the embodiment of the application, the good (good) or bad (bad) of the network quality of a certain network channel or the good (good) or bad (bad) of the transmission quality of a certain data stream on a certain network channel can be evaluated by a plurality of parameters. In a specific implementation, some conditions may be set, for example, when condition 1 is satisfied, the evaluation result is considered to be good (excellent), and when condition 1 is not satisfied, the evaluation result is considered to be bad (bad); or when condition 2 is satisfied, the evaluation result is considered to be bad (bad), and when condition 2 is not satisfied, the evaluation result is considered to be good (excellent). The evaluation conditions of the network quality and the transmission quality in the embodiment of the application are not limited.
In view of the descriptions of fig. 2 to 5, an embodiment of the present application provides a network acceleration method. In the network acceleration method, a developer can set different network quality evaluation algorithms and different transmission quality improvement strategies for different applications (or different types of applications) in advance.
Of course, in practical application, different network quality evaluation algorithms and the same transmission quality improvement strategy can be set for different applications (or different types of applications); or the same network quality assessment algorithm and different transmission quality promotion policies are set for different applications (or different classes of applications).
Different network quality evaluation algorithms and different transmission quality promotion strategies can be set for different traffic scenarios of the same application.
Of course, in practical application, different network quality evaluation algorithms and the same network quality promotion strategy can be set for different service scenes of the same application; or the same network quality evaluation algorithm and different transmission quality improvement strategies are set for different service scenes of the same application.
In view of the above description, a network acceleration method as shown in table 1 may be obtained, in which network acceleration policies may be considered to be set for different application categories and/or different traffic scenarios. Different network quality assessment algorithms and/or different transmission quality promotion policies may be employed when setting the network acceleration policies.
Table 1 multiple network acceleration methods
Method Application class Business scenario Evaluation algorithm Promotion strategy
1 Consider Irrespective of Different from Identical to
2 Consider Irrespective of Identical to Different from
3 Consider Irrespective of Different from Different from
4 Irrespective of Consider Different from Identical to
5 Irrespective of Consider Identical to Different from
6 Irrespective of Consider Different from Different from
7 Consider Consider Different from Identical to
8 Consider Consider Identical to Different from
9 Consider Consider Different from Different from
Taking the network acceleration method 9 in table 1 as an example, different network quality assessment algorithms can be set under different traffic scenarios (for example, determined by the characteristics of the applied data stream) for different types of applications, and in the case that the network quality assessed by the network quality assessment algorithm is poor (or some parameters for assessing the network quality meet a certain condition), different network quality promotion strategies are adopted to achieve network acceleration. Other network acceleration methods are not exemplified one by one.
Referring to fig. 6, a flow chart of a network acceleration method according to an embodiment of the present application is shown. This flow chart corresponds to the network acceleration method 9 in table 1 described above.
In step A1, the electronic device detects that the application a is running in the foreground.
In the embodiment of the application, the application A can be any application program capable of networking and using a network in the electronic equipment. The electronic device detecting that the application A runs in the foreground may be that the electronic device detects that the application A is started and then runs in the foreground, or that the application A is switched from the background to the foreground is monitored.
In step A2, the electronic device determines whether the application a supports network acceleration.
In the embodiment of the application, the application configuration library is stored in the electronic equipment, and can be preset by a developer or set or added by a user in the process of using the electronic equipment. The application configuration library stores an identification of applications supporting network acceleration.
After the electronic equipment detects that the application A is switched to the foreground, the application identification of the application A can be obtained, whether the application identification of the application A exists or not is inquired in an application configuration library, and if the application identification of the application A exists, the application A is indicated to support network acceleration.
Of course, the above-described manner of determining whether application A supports network acceleration is for example only. In practical application, the application configuration library may also store a plurality of application identifiers, each application identifier representing whether the application represented by the application identifier supports network acceleration by using a different character. As an example, a "1" may be used to indicate that network acceleration is supported, and a "0" may be used to indicate that network acceleration is not supported. Other ways of determining whether an application supports network acceleration are not exemplified.
And A3, under the condition that the application A supports network acceleration, the electronic equipment inquires the data flow characteristics of the application A to obtain a network quality evaluation algorithm corresponding to the data flow characteristics of the application A.
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 data streams generated by different traffic scenarios may be different. Thus, it is not necessary to determine the current traffic scenario of application a, and the network quality assessment algorithm that should be currently used may be determined according to the characteristics of the current data flow of application a. Various information of the data flow of application a may be stored in the flow characteristics library of application a.
In a specific implementation, a Netfilter component exists in a system of the electronic device, through which a data stream of an application corresponding to a specific application identifier can be obtained.
As an example, if the data flow network channel carrying application a is network channel 1, the Netfilter component may obtain a packet of the data flow of application a on network channel 1. If the data flow network channels carrying the application a are the network channel 1 and the network channel 2, the Netfilter component may obtain the packets of the data flow of the application a on the network channel 1 and the network channel 2.
Of course, in practical application, the message of the data stream may also be obtained by other modes. The acquired set of messages of the data stream is a stream feature library.
In determining the network quality assessment algorithm from the characteristics of the applied data stream, the network quality assessment algorithm may be determined using the protocol, port and message characteristics of the applied data stream as characteristics. The protocol is a protocol type when the application transmits the data stream, the port is a port used when the data stream is transmitted, and the message characteristic is a header characteristic of a data packet when the application transmits the data stream.
As an example, when a certain social communication class application performs an audio/video call, the header feature of a data packet corresponding to a data stream is 97 head, that is, data [0] =97, and the UDP protocol is adopted when the data packet is transmitted, and the 8080 port is used to transmit the data packet. If a certain data stream satisfies the above feature in the obtained data stream, a network quality evaluation algorithm matching the feature may be obtained as follows: if the delay of data in 3 consecutive periods in 5 periods (for example, each period is 500 ms) exceeds 300ms, or the packet loss rate exceeds 20%, the evaluation result is that: and (5) clamping.
The above examples of determining the network quality assessment algorithm are only examples, and in practical applications, the network quality assessment algorithm may be determined by other features besides the protocol, port and message features.
Of course, when an application performs a function, multiple data streams may be generated, and if network quality evaluation algorithms are determined for the characteristics of the multiple data streams, the transmission quality of the corresponding data streams is evaluated by using the corresponding network quality evaluation algorithms.
As an example, an application may produce data stream 1, data stream 2, and data stream 3 when performing a function.
Determining a network quality evaluation algorithm 1 according to the characteristics of the data stream 1, and determining whether the data stream 1 meets the transmission quality improvement condition set by the algorithm 1;
determining a network quality evaluation algorithm 2 according to the characteristics of the data stream 2, and determining whether the data stream 2 meets the transmission quality improvement condition set by the algorithm 2;
if the characteristics of the data stream 3 do not meet any condition capable of determining the network quality evaluation algorithm, the transmission quality of the data stream 3 does not need to be evaluated, and the transmission quality of the data stream 3 does not need to be improved.
And step A4, the electronic equipment judges whether the related parameters of the data stream of the application A meet the transmission quality improvement conditions set by the algorithm.
In practical application, the transmission quality evaluation result (for example, a quality score or a quality grade may be obtained) of the data stream of the application a may be obtained according to the algorithm model and the related parameters of the data stream of the application a, and whether to improve the transmission quality of the data stream is determined according to the transmission quality evaluation result. Of course, in practical application, the algorithm may preset a condition for determining that the transmission quality of the data stream needs to be improved, acquire a transmission quality improvement policy under the condition that the condition is satisfied, and execute the transmission quality improvement policy.
As an example of the network quality evaluation algorithm in step A3, it is required to obtain the delay, the packet loss rate, etc. of each data stream of the application a.
As before, the flow characteristics library of the application a stores various information of the data flow of the application a, for example, protocol characteristics of a protocol employed when the application uses the current network, header characteristics of a data packet transmitted when the application uses the current network, and the like. Of course, the traffic characteristics of the application when using the current network may also be included.
The flow characteristics of the application may include: uplink rate, downlink rate, flow interval time, packet size, traffic distribution, etc. Of course, some of the above information, or other information than the above information may be included.
The time delay condition, the packet loss condition, the downlink rate, the uplink rate and the like can be obtained through the flow characteristics. These traffic characteristics can thus be used as evaluation parameters for the network quality evaluation algorithm. Of course, in practical applications, parameters for evaluating network quality obtained by different network quality evaluation algorithms may be different, for example, one or more of the above parameters may be included, and other parameters besides the above parameters may be included. Thus, the class of parameters that are encompassed by the traffic characteristics of the application may be determined from the evaluation parameters of the network quality evaluation algorithm.
And step A5, under the condition that the related parameters of the data flow of the application A meet the condition of algorithm setting, determining a transmission quality improvement strategy according to the data flow characteristics of the application A.
As before, different transmission quality promotion policies may be preset for different traffic scenarios (determined by the characteristics of the data stream) of different applications, and a plurality of transmission quality promotion policies are stored in a promotion policy library. Of course, in practical application, the corresponding relation between the characteristics of the data stream and the transmission quality improvement policy may be set, and after the characteristics of the data stream are determined, the transmission quality improvement policy corresponding to the characteristics of the data stream may be obtained. The transmission quality promotion policy matched with the feature can be queried from the promotion policy library through the feature of the data flow.
And step A6, executing a transmission quality improvement strategy.
In the embodiment of the application, one application can generate a plurality of data streams under a certain service scene. In practical application, if the characteristics of partial data streams in the plurality of data streams meet the preset conditions for improving the transmission quality, the data streams meeting the preset conditions for improving the transmission quality can be switched to other network channels; of course, the data stream satisfying the preset condition for improving the transmission quality and the data stream related to the data stream satisfying the preset condition for improving the transmission quality may be switched to other network channels, and the correlation between the data streams may be preset, for example, a plurality of download streams having the same source address and destination address in the download class application may be set as related data streams, and a video stream and an audio stream having the same source address and destination address in the chat class application may also be set as related data streams; the entire data flow of the application may also be switched to other network channels.
As another example, in practical application, if the characteristics of part of the data streams satisfy the preset condition that needs to improve transmission quality, the data streams satisfying the preset condition that needs to improve transmission quality may be distributed to a plurality of network channels supported by the electronic device; the data stream satisfying the preset condition for improving the transmission quality and the data stream related to the data stream satisfying the preset condition for improving the transmission quality can be distributed to a plurality of network channels. Of course, the entire data stream of the application may also be distributed over multiple network channels supported by the electronic device.
As another example, in practical application, if the characteristics of part of the data streams satisfy the preset concurrency condition, the data streams satisfying the concurrency condition may be first distributed to the plurality of network channels. And switching the data stream meeting the preset condition needing to improve the transmission quality to the network channel with better quality under the condition that the characteristic of a certain data stream meets the preset condition needing to improve the transmission quality in a plurality of data streams on a plurality of network channels.
As another example, a corresponding network quality assessment algorithm and a corresponding transmission quality promotion policy may be determined based on the characteristics of the data streams in table 2.
Table 2 multiple flow characteristics, network quality assessment algorithms and transmission quality promotion policies for multiple applications of multiple traffic scenarios
In table 2, com.tent.mm may be a WeChat package name, and com.tent.tmgp.sgame may be a wang glory package name. The characteristics of the data flow can be protocol, port and message characteristics. An entry in table 2 may be set for the characteristic conditions, network quality assessment algorithm, and network quality promotion policy of the data stream for a traffic scenario of an application. In addition, table 2 only lists the protocols, ports and message characteristics corresponding to the partial service scenarios of the partial applications, and is only used for example.
The network quality assessment algorithm and the transmission quality improvement policy in table 2 are only used as examples, and other different manners of determining the network quality assessment algorithm and different transmission quality improvement policies may be used in practical applications. "handover" in the transmission quality improvement policy may mean any form of handover in the above embodiments; "concurrency" may mean concurrency in any of the forms of the embodiments described above.
As another example, when the mobile phone panning application browses commodity text images and views commodity video service scenes, only flows with poor quality of the evaluation network can be switched to other networks, or all flows under the application can be switched to other networks under the condition that the number (or proportion) of the flows with poor quality is larger than a preset value (or preset proportion).
For example, the application may generate 10 flows in a certain traffic scenario, if only 1 flow or 2 flows have poor quality, the flows with poor quality are switched to other networks, and if 3 or more flows have poor quality, all flows (10 flows) under the application are switched to the standby network.
In addition, in specific implementation, different application identifiers can be set for different applications, the condition for improving the transmission quality set by the network quality evaluation algorithm can be obtained when the characteristics of the data stream meet the characteristic conditions, the transmission quality improvement strategy is obtained when the related parameters of the data stream meet the condition for improving the transmission quality, and the transmission quality improvement strategy is executed.
In practical applications, only the characteristics of the partial data streams of the partial applications, and the corresponding network quality assessment algorithms and transmission quality improvement policies are listed in table 2. In practical applications, other network quality assessment algorithms and transmission quality promotion strategies may also be employed. As an example, the network quality assessment algorithm illustrated in table 3 may also be employed.
Table 3 network quality assessment algorithm
Of course, in practical application, the network quality transmission algorithm in table 3 is only used as an example, and in practical application, other algorithms than the network quality transmission algorithm shown in table 3 may be used, which is not limited in the embodiment of the present application.
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 technical architecture diagram of a network acceleration method according to an embodiment of the present application is provided.
The technical architecture comprises: an application layer, a service layer, a policy layer and a kernel layer. Only some of the layers and components associated with embodiments of the present application are shown in fig. 7, and in practice, layers and components not shown in fig. 7 may be included. Of course, only some of the components shown in fig. 7 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 service layer comprises an environment detection component, a network detection component, a channel-level path management component, an application-level policy management component, a channel and application quality evaluation component and a network connection management component.
The environment detection component 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 examples. The network detection component is configured to detect a state (on or off, etc.) of a Wi-Fi network supported by the electronic device, and may also detect a state of a data service network supported by the electronic device. As an example, a wireless network card 1 of a 2.4GHz band and a wireless network card 2 of a 5.0GHz band are provided in the electronic device. The network detection component can detect whether a wireless network with the frequency band of 2.4GHz is in an on state or an off state; the wireless network in the 5.0GHz frequency band can be detected to be in an on or off state. The electronic equipment is provided with a data service network card 1 of an operator A and a data service network card 2 of an operator B. The network detection component can detect whether the data service of the operator A is in an on state or an off state; it is also possible to detect whether the data traffic of operator B is on or off.
The channel and application quality assessment component is used to assess the quality of the network channel. By way of example, the channel and application quality assessment component may assess the quality of Wi-Fi networks in the 2.4GHz band, and may also assess 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 network connection management component is configured to initiate a network channel, i.e., transition the network channel from a dormant state to an awake state. Wherein the network channel in the awake state can be directly used.
The channel-level path management component 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 component is used to turn on the network acceleration function and enable the monitoring function of the data flow.
The policy layer is provided with a flow level policy management component, a flow level path management component and a flow sensing component. The flow sensing component is used for counting the reported data flows and evaluating the network quality of each flow. The stream level policy management component stores a transmission quality promotion policy for the stream in the application and is further configured to instruct execution of the transmission quality promotion policy. The flow-level path management component is used for updating the selection of network channels according to the policy change of an upper layer, triggering network channel quality detection, dynamically selecting an optimal channel, and also can be used for storing paths of different network channels, and can be used for storing paths of a network channel (for example, a main network channel) and a standby network channel which are currently used by an application.
The kernel layer has a policy execution component and a traffic reporting component. The traffic reporting component is used for collecting data flow information and reporting the collected data flow information. The policy enforcement component is configured to enforce the switching of network channels.
As another embodiment of the present application, one component in the above embodiment may be split into two or more components, and two or more components located at the same level may be combined into the same component.
As an example, the stream level policy management component and the stream level path management component of the policy layer may be combined into the same component; the application level policy management component and the channel level path management component may be combined into the same component.
In order to more clearly understand the above architecture diagram, referring to fig. 8, a timing diagram of a network acceleration method implemented based on the components shown in fig. 7 is provided in an embodiment of the present application.
And step B1, the user starts the application A or switches the application A from the background to the foreground.
And B2, detecting that the application A is started or the application A is switched from the background to the foreground by the environment detection component, and acquiring the identification of the application A.
And step B3, the environment detection component sends the identification of the application A to the application level policy management component.
The 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 adopt the package name of the application.
And B4, the application level policy management component 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 B5, under the condition that the query result is that network acceleration is supported, the application level policy management component transmits information for representing that the application A starts network acceleration to the flow level path management component.
In a specific implementation, the message may carry an identification of application a.
And step B6, the flow-level path management component transmits a message showing that the application A starts network acceleration to the flow reporting component.
In specific implementation, the message may also carry the identifier of the application a, and the message sent in step B6 may be the same as or different from the message sent in step B5.
And B7, after receiving the information indicating that the application A starts the network acceleration, the flow reporting component registers a message monitoring hook.
The message monitoring hook can monitor related information of the data flow of the application A, wherein the related information is information stored in a flow characteristic library of the application A. The data stream carries path information of a network carrying the data stream.
After step B4, the path of the network currently used by application a may be detected and the network quality of the network currently used by application a may be periodically detected.
As before, the path of the network currently used by application a may be determined by the data flow monitored by the message monitoring hook.
As another example, the logic that selects the active network in the presence of multiple available networks according to the system settings may also determine the path of the network currently used by application a.
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 electronic equipment or the foreground to apply the current primary network to be the secondary 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. Reference is specifically made to steps C1 to C8.
And step C1, after receiving the information which is sent by the application level policy management component and used for indicating that the application A starts the network acceleration, the flow level path management component sends the information for requesting the active network to the channel level path management component.
And after the channel-level path management component receives the request information, sequentially requesting according to the sequence of the main Wi-Fi, the main card network, the auxiliary Wi-Fi and the auxiliary card network until a network which is available and meets the quality requirement is found, wherein the network is the main network of the application A.
In step C2, the channel-level path management component sends request information of the state of the main Wi-Fi to the network probe component, where the request information is used to request the state of the main Wi-Fi.
In step C3, the network probing component determines that the primary Wi-Fi is available.
Step C4, the network detection component returns the state of the main Wi-Fi to the channel-level path management component: can be used.
And step C5, in the case that the channel-level path management component receives that the state of the main Wi-Fi is available, sending a detection request of the quality of the main Wi-Fi to the channel and application quality evaluation component, wherein the detection request is used for detecting the quality of the main Wi-Fi.
In the embodiment of the present application, the network quality of any network may be determined by a network quality parameter, where the network quality parameter includes at least one of the following: bandwidth, latency, and air interface rate.
And step C6, after the channel and application quality evaluation component evaluates the quality of the main Wi-Fi, returning the quality monitoring result of the main Wi-Fi to the channel-level path management component.
In a specific implementation, step D1 may also be performed after step C3, i.e. after the network probing component determines that the primary Wi-Fi is available.
Step D1, the network detection component sends a monitoring message of the quality of the main Wi-Fi to the channel and application quality evaluation component, wherein the monitoring message is used for requesting the channel and application quality evaluation component to monitor the network quality of the main Wi-Fi.
And D2, after the channel and application quality evaluation component receives the message, starting to monitor the network quality of the main Wi-Fi and returning the quality of the main Wi-Fi to the channel-level path management component.
In the case that the network quality of the main Wi-Fi is good (for example, the network quality parameter is in a preset range), the main Wi-Fi can be determined to be the main network of the application a, and the network quality of the main Wi-Fi can be monitored periodically.
It should be noted that the quality of the network channel monitored in step D2 is different from the monitoring algorithm used in the above embodiment, which is determined according to the characteristics of the data stream. The monitoring algorithm employed at this step may be referred to as algorithm a for ease of description.
As an example of algorithm a, the quality of the network channel may be evaluated according to parameters such as delay, packet loss rate, bandwidth, and rate of the channel as references.
According to the method of the step D1 and the step D2, the channel and application quality evaluation component can start to monitor the network quality of the main Wi-Fi before receiving the detection request sent by the step C5, so that the quality of the main Wi-Fi can be obtained quickly, and after the quality of the main Wi-Fi is obtained, the quality monitoring result of the main Wi-Fi can be returned to the channel-level path management component in time.
In practical applications, after the channel and application quality evaluation component receives the monitoring request sent in step D1, it may be before receiving the probe request sent in step C5, or after receiving the probe request sent in step C5.
And step C7, when the channel-level path management component determines that the network quality of the main Wi-Fi meets the requirement, the main Wi-Fi is used as a path of the main network to be sent to the stream-level path management component.
Step C8, the flow-level path management component stores the path of the main Wi-Fi as the path of the main network.
As another example of the present application, if in step C3, the state of the master Wi-Fi obtained by the network probing component is unavailable, the network probing component does not execute step D1 any more, and correspondingly, the channel and application quality evaluation component does not execute step D2 any more. After the channel-level path pipe component receives the message that the main Wi-Fi is not available sent by the network detection component, the step C5 is not executed any more, and correspondingly, the channel and application quality evaluation component is not executed any more in the step C6.
After the channel-level path pipe component receives the message that the main Wi-Fi is not available sent by the network probe component, the channel-level path pipe component continues to request the main card network (i.e. the next priority network of the currently requested network) in the manner of step C2 to step C6 (may include step D1 and step D2 or may not include step D1 and step D2). And if the obtained result is that the main card network is available and the network quality meets the requirement, the path of the main card network is used as the path of the main network to be sent to the flow-level path management component, and the flow-level path management component stores the path of the main card network as the path of the main network. Similarly, in the case that the network quality of the main card network meets the requirement, the channel and application quality evaluation component also needs to evaluate the quality of the main card network periodically.
In the process of determining the active network, steps C2 to C6 need to be executed in a loop until the active network of the electronic device is obtained. In this example, in the process of executing steps C2 to C6 each time, the detected network is a network corresponding to one network card of one electronic device, and in this process, the network corresponding to each request may be denoted as a fourth network card.
The electronic equipment sequentially executes the main network determining step according to the priority order of the network cards of the electronic equipment until the main network of the electronic equipment is obtained;
The primary network determining step comprises the following steps:
the electronic equipment acquires a network state of a network corresponding to a fourth network card, wherein the fourth network card is one network card of the electronic equipment;
under the condition that the network state of the fourth network card is available, the electronic equipment acquires the network quality parameter of the fourth network card; ending the primary network determining step of the round under the condition that the network state of the fourth network card is unavailable, and entering the next primary network determining step of the next priority network card;
under the condition that the network quality parameter of the fourth network card is within a preset range, the fourth network card is used as a main network of the electronic equipment to be stored; and under the condition that the network quality parameters of the fourth network card are not in the preset range, ending the primary network determining step of the round, and entering the next primary network determining step of the next priority network card.
In practical application, the channel and application quality evaluation component can determine whether the network quality of the network meets the requirement, and under the condition of meeting the requirement, the network quality of the network is evaluated periodically; the channel-level path management component can also determine whether the network quality of the network meets the requirement after receiving the quality monitoring result of the network sent by the channel and application quality assessment component, and send a request message to the channel and application quality assessment component to request to assess the network quality of the network periodically under the condition that the network quality meets the requirement. The notification level path management component can periodically acquire the network quality of the network of the data flow of the current bearing application a, and send the acquired network quality of the network of the data flow of the current bearing application a to the flow level path management component.
As can be appreciated from the above examples, the logic to select the active network in the presence of multiple available networks according to the system settings may result in a path for the network currently being used by application a.
After the application level policy management component executes the step B4, that is, after it is determined that the application a corresponding to the identifier supports acceleration, the first aspect transmits a message for starting acceleration to the lower layer traffic reporting component through the flow level path management component, so that the traffic reporting component registers a message monitoring hook. The second aspect may also obtain a network path of the active network and a network quality of the active network. The third aspect transmits, through the flow sensing component, a message for starting data flow monitoring to the underlying flow reporting component, so that the flow reporting component monitors the data flow of the application a through the registered message monitoring hook (refer to step B8 for details).
And step B8, the application level policy management component sends a request message for starting the monitoring of the service flow to the flow sensing component.
In particular implementations, the application level policy management component may perform step B5 and step B8 simultaneously after performing step B4. The application level policy management component may also execute step B5 first after executing step B4, and execute step B8 after executing step B5 for a preset time (the specific value may be set according to the actual situation).
And step B9, after receiving the request message sent in the step B8, the flow sensing component sends a message representing flow monitoring to the flow reporting component.
And step B10, after receiving the flow monitoring message sent in the step B9, the flow reporting component reports the monitored data flow to the flow sensing module.
After step B7, the message monitoring hook in the traffic reporting component starts to monitor the data flow. And B9, after receiving the flow monitoring message sent in the step, reporting the monitored data flow to a flow sensing module. And, the monitored data stream can be continuously reported to the flow sensing component.
And step B11, the flow sensing component receives the data flow reported by the flow reporting component and determines a network quality evaluation algorithm based on the characteristics of the data flow.
It should be noted that the network quality evaluation algorithm in step B11 is different from the algorithm for evaluating the network channel in step D2. For ease of description, the algorithm in step B11 is denoted as algorithm B. Algorithm a is a general algorithm for each network channel, and evaluates the network quality of the entire network channel. The algorithm B is an algorithm based on the feature determination of the data stream currently opening the application of network acceleration, and evaluates the transmission quality of the data stream transmitted through the network channel, which satisfies the preset feature.
In step B12, the flow sensing component starts to evaluate the transmission quality of each data flow of the application a based on 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, in table 2 above, to evaluate the conditions of the jam, in practical application, the conditions evaluated as possible jams may also be set.
Condition 1: and if the continuous 3 time delays in 5 periods are more than 300ms or the packet loss is more than 20%, the evaluation result is that the card is in a stuck state.
Condition 2: and if the continuous 2 time delays in 5 periods exceed 200ms or the packet loss rate exceeds 10%, the evaluation result is that the possibility of jamming exists.
If the two conditions do not occur, the evaluation result is good.
Based on the above understanding, it can be determined that the network quality assessment algorithm obtained according to the characteristics of the data flow not only includes the judgment conditions of the jamming defined in table 2, but also includes the judgment conditions of the possible jamming in practical application.
As another example, condition 1 and condition 2 may be preset, and the evaluation result may also include: condition 1 is satisfied, condition 2 is satisfied, condition 1 is not satisfied, and condition 2 is not satisfied.
In specific implementation, the specific form of the evaluation result is not limited.
And step B13, the flow sensing component sends the evaluation result to the flow level policy management component.
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.
Alternatively, the evaluation result may be: the condition 1 is satisfied, the condition 2 is satisfied, the condition 1 is not satisfied, the identification of the condition 2 is not satisfied, and the characteristics (or the characteristic identification) of the data stream can be carried.
In step B14, after receiving the evaluation result, the flow level policy management component determines that the standby network is requested if the evaluation result is likely to be stuck (condition 2 is satisfied).
As another example, in practical application, although the conditions 1 and 2 are satisfied, the transmission quality improvement policies are: and (5) switching. However, when the condition 2 is satisfied, the request information of the backup path is transmitted to the flow-level path management component, and when the condition 1 is satisfied, the switching information of the backup path is transmitted to the flow-level path management component.
By adopting the above arrangement, in the case that the transmission quality of the pre-determined data stream may be poor (for example, the condition 2 is satisfied), the standby network is determined in advance, and the standby network is awakened, so that the data stream with poor transmission quality can be quickly switched to the standby network in the case that the transmission quality of the data stream is indeed poor (for example, the condition 1 is satisfied). This is because the transmission quality of the data stream is generally gradually deteriorated, so that in the case of possible deterioration, the standby network is selected and awakened, and in the case of the transmission quality of the data stream is actually deteriorated, the data stream with poor transmission quality is switched to the already awakened standby network. Therefore, the method and the device can quickly respond to the switching of the data stream, so that a user does not feel the switching of the data stream, and the problem of high power consumption caused by waking up the standby network too early can be avoided.
In step B15, the flow level policy management component sends request information of the backup path to the flow level path pipe component if it is determined that the condition 2 is satisfied.
In step B16, the flow level path management component sends a request message for a backup path to the channel level path management component if it is determined that no backup network currently exists.
After receiving the request message of the standby path, the channel-level path management component starts to search other available and best-quality networks except the currently used active network. Reference is specifically made to the description of step B17 to step B23.
In step B17, the channel-level path management component sends a query request for the status of network B to the network probe component.
In the embodiment of the present application, the network B may be any network other than the current active network. The current active network may be denoted as network a. The network B may be denoted as a network corresponding to the third network card.
In step B18, the network probing component queries network B for network status availability.
Step B19, the network probing component sends the status of network B to the channel-level path management component: can be used.
In step B20, the channel-level path management component sends a probe request for the quality of network B to the channel and application quality assessment component if the network status of network B is received as available.
In practical applications, in order to quickly obtain the network quality of the network B, in the case that the network probing component determines that the network of the network B is available in step B18, the network probing component may perform step B19 and step E1.
In step E1, the network probing component sends a request to the channel and application quality assessment component to monitor the quality of network B.
And E2, under the condition that the channel and application quality evaluation component receives a request for monitoring the quality of the network B sent by the network detection component, starting to monitor the quality of the network B by adopting an A algorithm.
And step B21, the channel and application quality evaluation component obtains the quality monitoring result of the network B.
In the embodiment of the application, the network quality parameter is adopted when the quality of the network channel is evaluated, and the stream quality parameter is adopted when the transmission quality of the data stream is evaluated.
In step B22, the channel-level path management component obtains the status of each network channel except the primary network and the network quality of the available network if the status is available in the manner of steps B17 to B21.
In step B23, the path management component at channel level determines that the network with the optimal network quality is the master card network according to the states and network qualities of other networks except the master network. Of course, in practical application, a range may be set, and all network cards in the range of the network quality parameters in the third network card are used as standby networks.
The algorithm used in step E2 to detect the quality of the network B is the same as the algorithm used in step D2.
The embodiment of the application takes the network with the optimal quality (such as the maximum signal strength, larger bandwidth and the like) as the standby network, and is applied practically. Of course, in practical applications, other conditions for determining the standby network may be set. As an example, the standby network priority conditions may also be set as: the network which is available outside the primary network, meets the requirement of network quality and does not generate extra cost is taken as the standby network, wherein the network which does not generate extra cost can be: wi-Fi networks, data traffic networks with unlimited traffic packages, or data traffic networks with limited traffic packages but currently used traffic is less than the current monthly plan traffic (total traffic/total days of the month x current days). Of course, the standby network may be one of the networks satisfying the priority condition other than the primary network, which is the best in network quality.
And under the condition that the other networks except the primary network do not meet the priority condition at present, selecting the network meeting the secondary priority condition as a standby network, wherein the secondary priority condition is as follows: the network which is available outside the primary network and meets the requirement of network quality is used as a standby network. Of course, the standby network may be one of the networks satisfying the secondary priority condition other than the primary network, which is the best in network quality.
In the case where the secondary priority condition is not satisfied by other networks than the primary network at present, the available network other than the primary network is selected as the standby network. Of course, the standby network may be the one of the networks available outside the primary network that is the best in network quality.
The above-mentioned method of selecting the standby network is merely used as an example, and other methods are also possible in practical application, and are not limited herein.
Step B24, after determining that the network with the optimal quality is the main card network, the channel-level path management component sends a request for enabling the main card network to the network connection management component.
And step B25, after the network connection management component receives the starting request of the main card network, the main card network is switched from the dormant state to the awakening state.
In step B26, the network connection management component sends a message to the channel-level path management component that the main card network has been awakened.
And step B27, the channel-level path management component transmits the path and the quality of the currently determined main card network with the optimal quality to the stream-level path management component.
As before, the channel-level path management component may periodically obtain the network quality of the active network of the electronic device. Of course, the channel-level path management component may periodically send the network quality of the active network of the resulting electronic device to the stream-level path management component.
Thus, the flow level path management component may periodically obtain the network quality of the active network (active Wi-Fi).
And F1, the flow-level path management component stores the network path of the main network, and after receiving the path and the network quality of the main card network sent by the channel-level path management component, the flow-level path management component can compare the latest received quality parameters corresponding to the stored network path of the main card network with the received quality parameters of the main card network to determine the network path with better quality.
In a specific implementation, if the network path with better quality is the pre-stored primary network path, the quality of the standby network is worse, and even if the primary network is worse, no switching is necessary. There is no need to store the network path of the standby network. If the network path with better quality is not the pre-stored main network path, the network path with better quality of the standby network is indicated, and the network path of the standby network is needed to be stored, so that the standby network is switched to under the condition that the transmission quality of the data stream using the main network is worse.
And F1, storing a network path of the main card as a standby network when the quality of the main card is better as a result of the comparison in the step F1.
As another example, after step B26, the channel-level path management component may request periodic monitoring of the network quality of the primary card network and periodic transmission to the stream-level path management component.
Of course, in practical application, the network quality of other networks except the main network can be monitored regularly, and if the network quality is optimal and is not the currently stored standby network, the standby network can be replaced by the current main network and other networks except the current standby network with better quality. If one network is awakened as a standby network and then is not the standby network or the active network, the network can be switched from the awakened state to the dormant state again so as to avoid excessive power consumption of the electronic equipment.
As before, the traffic reporting component is continuously monitoring the data stream and continuously reporting the monitored data stream.
And step B29, the flow reporting component continuously reports the monitored data flow to the flow sensing component.
In step B30, the flow sensing component has determined a network quality evaluation algorithm (algorithm B) for each data flow, and continues to use algorithm B to obtain an evaluation result.
In step B31, the flow aware component continues to send the evaluation result to the flow level policy management component.
Step B32, the flow level policy management component determines that a handover to the standby network is required based on the evaluation result.
As an example, in the case where condition 1 in the above example is satisfied, it is determined to switch to the standby network.
Step B33, the flow level policy management component sends an instruction to the flow level path management component to indicate a switch to the standby network after determining to switch to the standby network.
And step B34, after receiving the instruction of switching the standby network, the stream level path management component checks the path (the path of the main card network) stored with the standby network, and then sends the instruction of switching to the main card network to the stream level policy management component.
It should be noted that the flow level policy management component stores the transmission quality promotion policy, and thus, the flow level policy management component can determine whether to switch a single flow, or a partial flow, or a full flow. In practical applications, the identifier of the data stream to be switched may be carried in step B33, and at the same time, the identifier of the data stream to be switched may also be carried in the instruction transmitted by B34. The two steps may also send instructions without carrying the identification of the data stream to be switched.
And step B35, the stream level policy management component sends an instruction to the policy execution component, wherein the instruction carries a data stream identifier and a main card network path, and the data stream identifier is a data stream identifier of which the evaluation result meets the condition 1, or a data stream of which the evaluation result meets the condition 1 and related data stream identifiers, or all data stream identifiers of an application A of which the evaluation result meets the data stream of the condition 1.
And step B36, the policy execution component executes the switching of the data flow represented by the data flow identifier carried in the received instruction to the main card network represented by the network path carried in the instruction.
In the embodiment of the application, the network path can also be the network identification for distinguishing different networks.
As another embodiment of the present application, in practical applications, the network quality may not be gradually degraded, but may also be suddenly degraded. For example, if the evaluation result received by the flow level policy management component in step B14 is determined to be a switched standby network, then in step B15, the flow level policy management component sends a switched standby path to the flow level path management component. However, at this point the flow level path management component has not stored the path of the standby network. In this case, it is necessary to determine the standby network (step B16 to step B27) first, and then in the case of determining the standby network, directly perform step B34 to switch the data flow to the standby network.
Of course, in the case where the evaluation result received by the flow level policy management component at step B14 is determined to be switching the standby network, and the flow level path management component receives the switching standby path and has stored the path of the standby network, step B16 to step F1 may not be performed any more, but step B34 may be performed directly to switch the data flow to the standby network.
As an example, application a currently has data stream C and data stream D, and in one period, the electronic device requests and stores a backup path according to the transmission quality evaluation result (possibly stuck) of data stream C, and the transmission quality evaluation result of data stream D is excellent. The transmission quality evaluation result of the data stream C is excellent in the next period, and the transmission quality evaluation result of the data stream D determines to switch the standby path. At this point, the electronic device has stored the alternate path, and the electronic device can switch the data stream onto the alternate network.
In the above examples, the characteristics of the data flow are used as the conditions for determining and waking up the standby network, and in practical applications, other manners may also be used as the conditions for determining and waking up the standby network. I.e. table 2 can be further augmented with one column: conditions for the standby network are determined and awakened. When different applications (or different service scenes of the same application) run in the foreground, the conditions for determining and waking up the standby network can be the same or different, or can be partially the same or partially different.
As an example, for different traffic scenarios of each application, conditions related to traffic characteristics of data flows of the traffic scenario of the application may be set as conditions for determining and waking up the standby network; the same conditions may be set for all traffic scenarios for all applications: signal strength gradually becomes smaller, etc. This example is for illustration only and is not intended to be limiting in any way.
As another embodiment of the present application, in the embodiment shown in fig. 8, if all or part of the flows of the application a are switched to the master card, after the application a is switched from the foreground to the background, all the data flows of the application a return to the default master network: such as a host Wi-Fi. The determination of the active network may be made as described in the above embodiments. After application a switches again from background to foreground, the entire data flow of the application is still in the active network: and if the Wi-Fi is the master Wi-Fi, continuing to implement the network acceleration method provided by the embodiment of the application.
As another embodiment of the present application, in a specific implementation, other manners may be adopted to obtain a path of the active network currently used by the application a, and monitor the network quality of the active network currently used in the case of determining the path of the active network currently used by the application a.
Referring to fig. 9, a timing chart of another network acceleration method according to an embodiment of the present application is provided.
The traffic reporting component, while listening to a data stream, may determine the network carrying the data stream. After the preset application A is switched from the background to the foreground again, all data flows of the application still determine the currently used network channel according to the default mode of the system. Therefore, after the application A is switched from the background to the foreground again or the application A is started, the network channel where the data flow monitored by the flow reporting component is located is the main network of the application A. Because, the path of the active network can be determined by the data flow reported by the traffic reporting component.
After step B10, i.e. after the flow sensing component receives the reported data flow, steps G1 to G6 may be performed to store the path and quality monitoring results of the active network.
And G1, determining a network channel carrying the data flow by the flow sensing component according to the reported data flow.
In step G2, in case of determining a network channel (primary Wi-Fi), the traffic awareness component sends a message to the channel-level path management component indicating the primary network primary Wi-Fi.
And G3, the channel-level path management component sends a quality detection request of the main Wi-Fi to the channel and application quality evaluation component.
And G4, periodically monitoring the quality of the main Wi-Fi by adopting an algorithm A by using a channel and application quality evaluation component.
And G5, the channel and application quality evaluation component returns a quality monitoring result of the main Wi-Fi to the channel-level path management component.
And G6, the channel-level path management component sends the path and quality monitoring result of the main Wi-Fi to the stream-level path management component.
And G7, the flow-level path management component stores the path of the main Wi-Fi as a main path and stores the quality monitoring result of the main Wi-Fi.
Since the quality of the active network (the active Wi-Fi) is monitored periodically in step G4, the flow-level path management component receives the quality of the active network (the active Wi-Fi) periodically. In the process of the electronic device performing steps G1 to G7, the electronic device may also perform steps B11 and B13. That is, the execution order of the steps G1 and B11 is not limited.
If the flow level policy management component determines that the standby network needs to be requested according to the data flow characteristics and the evaluation result when executing B14, the following steps (step B15 to step B36) are continued, and the following steps may refer to the description of the embodiment shown in fig. 8, which is not repeated herein.
As described above, when determining the path of the active network, when requesting the standby path, another network other than the active network may be requested. In the case of periodically monitoring the quality of the active network, after the standby network is determined, the standby network and the active network may be compared to switch the data stream of poor transmission quality to the standby network in the case where the standby network is of better quality than the active network. Of course, in practical application, when the standby network with the best quality is determined, the data stream with poor transmission quality may be directly switched to the standby network.
Referring to fig. 10, another network acceleration method according to an embodiment of the present application is provided.
After step B4, steps B8 and B9 are performed.
The flow reporting component is triggered to execute step H1 after receiving the flow monitoring request sent by the flow sensing component in step B9, and the registration message monitors the hook.
After registering the message monitoring hook, the message monitoring hook can monitor the data flow of the application A. The subsequent steps begin to be performed after the data stream of application a is monitored.
It should be noted that, since a network channel carrying the data flow is available in the data flow, the flow aware component may determine the network channel currently used by the application a, and may send the identification (active network) of the currently used network channel to the flow level policy management component through step B13.
In step B14, the flow level policy management component determines to request a standby network based on the data flow characteristics and the evaluation result.
In step B15, when the flow level policy management component sends the request information of the backup path to the flow level path management component, the request information may carry the identifier of the primary network (or the path of the primary network).
In step B16, the flow level path management component sends the request information of the backup path to the channel level path management component, and may also carry the identifier of the primary network (or the path of the primary network).
After the channel-level path management component receives the request information carrying the identifier of the main network and sent by the stream-level path management component, the channel-level path management component can sequentially request the states of other network channels except the main network in the network channels supported by the electronic equipment, and when the states are available, request to monitor the quality monitoring result of the available network channels, and finally wake up the available network channels with optimal quality and send the network channels to the stream-level path management component as a standby network. Reference is specifically made to the description of step B17 to step B27. Reference may be made to the description of the above embodiments, and no further description is given here.
In step 28, the flow level path management component does not need to compare the quality of the received backup network with the quality of the primary network in case it determines that the primary network is not stored, but directly stores the received network channel as a backup path.
The following description of step B29 to step B36 may be made specifically with reference to the description in the above embodiments.
As another embodiment of the present application, as shown in table 2, the transmission quality improvement policy further includes: and concurrent. In the embodiment of the application, when the uploading and downloading type (storage type) application is used for downloading the large file, the data stream is firstly divided into a plurality of available network channels of the electronic equipment. After being divided into a plurality of network channels, if any data stream meets the switching condition (for example, the transmission rate is slower) specified by the network quality evaluation algorithm, the data stream meeting the switching condition specified by the network quality evaluation algorithm is switched to other network channels with better quality. Reference is made in particular to the description of the embodiment shown in fig. 11.
The description of the steps before step B11 may refer to the description in the above embodiment, and will not be repeated here.
In step B11, the flow aware component determines that the data flow needs to be distributed to a plurality of network channels based on the data flow characteristics.
For example, in table 2, when a certain upload/download application performs a large file download, it is necessary to split a data stream satisfying a certain characteristic into a plurality of network channels.
In step J1, the flow aware component sends information to the channel level path management component requesting all standby networks.
And step B17, after the channel-level path management component receives the request information of all the standby paths, starting to execute the steps B17 to B26 on other networks except the main network in the network channels supported by the electronic equipment.
It should be noted that in the embodiment of the present application, all available network channels except the active network need to be awakened. Thus, following step B21, step B24 is performed directly to request wake-up of the currently available network channels. Each available network channel outside the active network is awakened according to the procedure described above.
Step B27, the channel-level path management component sends the path and quality monitoring results (which may be represented by quality parameters) of each standby network that wakes up to the stream-level path management component.
In step B28, the flow level path management component stores the path and quality parameters for each standby network.
It should be noted that, during the process of executing steps J1 and B17 to step B28, the traffic reporting component always reports the data stream, and the traffic sensing component always transmits the identifier of the currently monitored data stream to the flow level path management component.
Step K3, after the flow level path management component receives the path of the primary network, the path of the backup network, and the identification of the plurality of data flows, the plurality of data flows are distributed to the plurality of network channels (primary network and backup network).
As an example, if the flow level path management component receives 1 path of the primary network and 3 paths of the backup network, and the number of received data flow identifiers is 5, the 5 data flow identifiers may be divided into 4 network channels.
When the data streams are distributed, the number of the data streams distributed to each network channel can be firstly different by less than 2 under the condition that the data streams cannot be uniformly distributed based on the principle that the number of the data streams and the number of the network channels are uniformly distributed. The allocation in step K3 allocates a plurality of data streams to a plurality of network channels as uniformly as possible.
Of course, in practical application, other allocation principles may be adopted, for example, according to the quality of each network channel, multiple data flows are allocated to multiple network channels, so that the network channels with better quality carry more data flows, and the network channels with poor quality carry fewer data flows. Other allocation principles are not exemplified.
Of course, the first allocation may be performed by using the number-sharing principle when the application is running in the foreground, and the next allocation after the first (for example, the allocation period may be set) may be performed by using other principles.
It should be noted that step K3 may be performed in the flow level policy management component or may be performed in the flow level path management component.
If implemented in the flow level path management component, the flow level policy management component is required to send the data flow identification to the flow level path management component.
If implemented in the flow level policy management component, the flow level path management component is required to send the plurality of network paths to the flow level policy management component and cancel step K2.
And step K4, the flow-level path management component sends the path of the network channel corresponding to each data flow identifier to the flow-level policy management component.
And step K5, the flow level policy management component sends the path of the network channel corresponding to each received data flow identifier to the policy management component.
And step K6, the policy management component switches the data flow corresponding to the data flow identifier to the corresponding network channel according to the received data flow identifier and the path of the corresponding network channel.
As before, the message monitoring hook is always monitoring the data stream, and also always reporting the monitored data stream, see step B29.
After distributing the plurality of data streams from the main network channel to the plurality of network channels, the data streams monitored by the message monitoring hooks bear on the network channels corresponding to the data streams. Therefore, after the flow sensing component receives the data flow reported by the flow reporting component, it can determine that a plurality of data flows have been distributed to a plurality of network channels according to the monitored data flow.
In step K7, after the flow sensing component determines that a plurality of data flows have been allocated to a plurality of network channels, the characteristics of each data flow may be used to obtain an evaluation algorithm C corresponding to each data flow.
And step B30, the flow sensing component obtains the transmission quality evaluation result of each data flow according to the evaluation algorithm C for determining each data flow.
The steps B31 to B36 may refer to the description of the above embodiments, and are not repeated here.
In the embodiment of the application, under the condition that the evaluation result of a certain data stream meets the switching condition specified by the set evaluation algorithm, the data stream needs to be switched to other network channels with better quality.
As before, in the event of a determination of concurrency, the network quality of each network channel may be monitored periodically and sent to the flow level path management component.
In step K8, the flow-level path management component switches the data flow (the data flow that does not meet the conditions set by algorithm C) onto the network channel with the best quality (e.g., the fastest transmission rate) according to the quality of each network channel that is received periodically.
This example switches onto a more quality network channel with a data stream that does not meet the conditions set by algorithm C. In practical application, other switching modes can be set. As an example, switching is performed to the network channel with the least number of current bearer data flows. Or if a certain data service of the user is an unlimited flow package, preferentially switching the data flow which is currently on the Wi-Fi network and does not meet the condition set by the algorithm C to the data service network of the unlimited flow package. Of course, under the condition that the data service of the user is limited to the traffic package, the data stream which does not meet the condition set by the algorithm C and is currently on one Wi-Fi network is preferentially switched to the other Wi-Fi network.
The above switching manner is only used for example, and in practical application, the switching manner can be set according to practical situations, and the principle is as follows: and on the premise of generating no extra flow cost as much as possible, the data stream conforming to the specific characteristics under the current application is transmitted fastest.
As another embodiment of the present application, referring to fig. 12, another network acceleration method is provided in an embodiment of the present application.
The differences from the one shown in fig. 11 include:
(1) The manner of triggering the flow reporting component to register the message monitoring hooks is different, fig. 11 is triggered by the flow level path management component, and fig. 12 is triggered by the flow sensing component.
(2) Instead of requesting paths of the primary network separately, the flow aware component performs step J1 to request all network paths if it determines that the current data flow needs to be distributed to multiple network channels first according to the characteristics of the data flow.
And then waking up network channels available to the electronic device through steps B17 to B26, and sending the path and quality monitoring result of each network channel after waking up to the flow-level path management component. The flow level path management component distributes the data flow over a plurality of network channels. Step B28 to step B36 may refer to the description of the embodiment shown in fig. 11, and will not be described herein. Network C in fig. 12 is any network channel supported by the electronic device.
In the above embodiments, the description is given by taking the example that the message monitoring hook in the traffic reporting component monitors the data flow of the application a, and how the message monitoring hook monitors the data flow of the application a will be described below, and the monitored data flow is sent to the traffic sensing component.
As before, there is a Netfilter component in the system of the electronic device through which the data flow of the application corresponding to the particular application identification can be obtained. The traffic reporting component may obtain the message of the data flow of application a by invoking Netfilter component. In particular, the information reported to the flow sensing component by the flow reporting component not only includes the message of the data flow of the application a, but also includes some statistical information of the message of the data flow of the application a. Reference is made in particular to the description of the embodiment shown in fig. 13.
Referring to fig. 13, the traffic reporting component may pre-register a message snoop hook (e.g., nf_hook function).
After the Netfilter component is called by the traffic reporting component, the Netfilter component reports the message of the data stream of the application A, and after the traffic reporting component receives the message of the data stream reported by the Netfilter component, a pre-registered nf_hook function is called by the traffic reporting component.
The nf_hook function performs the following operations on the received message of the data stream: message analysis, flow table checking, message analysis and other operations.
When resolving, it can check if the message has application identification and the four-element group (or five-element group) of the message to obtain resolving result. If the application identifier exists, the application corresponding to the message can be determined. The quadruple comprises a source IP, a destination IP, a source port and a destination port; the five-tuple comprises: source IP, destination IP, source port, destination port, and protocol number. That is, the four-tuple or five-tuple of the message carries part of the characteristics of the data stream in table 2. In addition, the header feature is carried in the message (packet) itself.
After the analysis, the flow table is inquired according to the analysis result, and the statistical information of the flow table is updated. The flow table stores identification information of data flows in each application and statistical information of each data flow. The statistics of the individual streams include: the number of messages, total bytes, number of error packets, etc. received for the data stream.
In practical applications, the statistical information of each flow may be determined according to parameters set in the network quality assessment algorithm. Thus, the statistics of the individual flows may also include other information, such as, for example, traffic distribution information of the data flow in which the data packet is located, which is generated according to the size of the data packet received at the time point, over time.
Of course, if the identification information or the related statistical information of a certain data flow does not exist in the flow table, the identification of the data flow and the related statistical information may be added to the flow table.
After looking up the flow table and updating the flow table information, the message may be analyzed. For example, the message is filtered, thereby obtaining all or part of the message.
As an example, the filtering process may be filtering heartbeat packet messages for a certain data stream. And obtaining the heartbeat packet message of the data flow after filtering. The filtering process may be: by presetting certain characteristics, the messages meeting the characteristics are reserved. That is, the message meeting certain preset characteristics is the filtered message.
The heartbeat packet message is a message existing in the data stream according to a certain time interval. The heartbeat packet message has a fixed characteristic (e.g., 0x64 or 0x 65) at a fixed location (e.g., byte 6). Since the heartbeat packet message is a message existing according to a certain time, the time delay can be obtained based on the calculation of the heartbeat packet message (for example, the mobile phone starts sending a heartbeat request message to the server, and the mobile phone receives a heartbeat response message fed back by the server, which is total time). The delay information is used to determine whether the data stream satisfies the conditions for improving transmission quality set in table 2.
The above examples are described by taking the filtering heartbeat packet as an example, and in practical application, the filtering processing may also be performed to obtain a data packet message meeting other characteristics.
As another example, the filtering conditions may further include: a packet message of a specific length is selected to be reserved. In specific implementation, determining whether the length of the data packet message is a preset specific length, if so, reserving the message, and if not, filtering the message.
After the processing, the obtained filtered partial message is stored in the SKB queue.
The strategies for reporting the messages of the data streams stored in the SKB queue comprise the following steps: immediately reporting and periodically reporting.
If the message is immediately reported, a specific thread in the flow reporting component checks the queue in time and reports the message in the queue to the flow sensing component in time.
If the message is reported regularly, a timer is set in the flow reporting component, messages in the SKB queue are checked in a certain period based on the time set by the timer, and part or all of the messages in the queue are reported to the flow sensing component.
Of course, in practical applications, some messages of the data stream stored in the SKB queue need to be reported immediately, and some messages need to be reported periodically. The same principle is that a specific thread in the flow reporting component checks the queue in time and reports the message needing immediate reporting in the queue to the flow sensing component in time. The flow reporting component is also provided with a timer, and based on the time set by the timer, messages in the SKB queue are checked in a certain period, and the messages needing to be reported regularly in the queue are reported to the flow sensing component.
When the message is reported, statistical information related to the message can be reported.
Based on the above understanding, the traffic reporting component does not report all messages sent by the Netfilter component to the traffic sensing component. Instead, the message satisfying the specific characteristic (may carry statistical information of the message satisfying the specific characteristic) is reported to the flow sensing component. And meanwhile, the statistical information related to the messages meeting the characteristics is reported.
As an example, if both the message 1 and the message 2 belong to the same data stream. When the flow table is checked after receiving the message 1, the statistical information about the data flow in the flow table is updated according to the message 1, however, the message 1 does not meet the specific characteristics, so the message 1 is filtered and cannot be reported to the flow sensing component. When the flow table is checked after the message 2 is received, the message 2 meets specific characteristics according to the statistical information about the data flow in the flow table updated by the message 2, so the message 2 is not filtered, and the message 2 is reported to the flow sensing component. I.e. although part of the message is reported, the statistics are based on all messages in the data stream.
The reported message and the associated statistics in the above example are used by the flow aware component to determine the characteristics of the data stream represented by the message and the transmission quality of the data stream. After describing how the flow reporting component reports the data flow message to the flow sensing component, how to determine the characteristic condition of the data flow set in table 2 and the condition for improving the transmission quality set by the network quality evaluation algorithm based on the data flow message reported to the flow sensing component by the flow reporting component will be described below.
As an example, the messages (packets) of the same quadruple (source address, source port, destination address, destination port) belong to the same data stream. If a plurality of messages with the same four-tuple are transmitted through the network channel, the plurality of messages with the same four-tuple belong to one data stream, which can be also understood as: there may be multiple messages in one data stream. Meanwhile, a message in one data stream carries the serial number of the message in the data stream. Because these messages have the same characteristics, the identifier of the data stream to which the message belongs can be generated according to the same characteristics, and as an example, the identifier of the data stream to which the message belongs can be generated according to the quadruple of the message.
After the flow reporting component receives the message, the application to which the message belongs can be determined according to the application identifier carried by the message. And generating the identification of the data flow to which the message belongs according to the quadruple of the message.
Of course, after the flow uploading component uploads the message to the flow sensing component, the flow sensing component may also determine, based on the received message, an identifier of the application to which the message belongs and an identifier of the data flow to which the message belongs. The flow reporting component can determine the protocol in the data flow characteristic according to the protocol number in the five-tuple of the message, and can determine the port in the data flow characteristic through the destination port in the four-tuple or the five-tuple. The header features of the message can be used to determine the message features in the data stream features. That is, the characteristics of the data stream in which the message is located can be determined based on the message reported by the flow reporting component.
Of course, the above-mentioned determination method of the characteristics of the data stream is only used as an example, and in practical application, the characteristics of the data stream where the message is located may also be determined by other manners.
After the electronic device can determine the characteristics of the data stream to which the received message belongs, the condition for improving the transmission quality set by the corresponding network quality assessment algorithm can be determined based on the characteristics of the data stream.
Of course, in practical application, in order to ensure that the conditions for improving the transmission quality set by the obtained network quality evaluation algorithm are accurate, the limiting conditions may be further increased: and the application identification, namely, the condition for improving the transmission quality, which is set by the corresponding network quality assessment algorithm, is determined together according to the application identification and the characteristics of the data stream.
After determining the conditions for improving the transmission quality set by the network quality assessment algorithm, the conditions for improving the transmission quality set by the network quality assessment algorithm are only used for assessing the transmission quality of data streams having the same data stream characteristics (the same application identity and/or the same data stream identity may also be added).
In evaluating the transmission quality, one or more of the following parameters may be employed: delay, packet loss rate, whether there is a response and rate.
As before, the delay may be determined by the heartbeat packet under a certain data stream. Because the message carries the sequence number of the message in the data stream, the packet loss condition can be determined according to the sequence number. And determining whether the downlink is unresponsive or not according to the total number of the messages in the statistical information in the example, and determining that the downlink is unresponsive if the total number of the messages received in two continuous periods is the same as the example. The transmission rate is determined by the total number of bytes in the statistics information in the above example, and as an example, the ratio of the difference between the total number of bytes received in the previous period and the current period to the period is the downlink rate of the current period.
Of course, the above-mentioned determination method of the parameters is only used as an example, and in practical application, the above-mentioned parameters may be determined by other methods.
The active network in the above example may be denoted as a first network corresponding to the first network card, and the standby network may be denoted as a second network corresponding to the second network card.
As described above, when the flow sensing component evaluates the transmission quality of the data stream, it can be determined whether the related parameters (such as delay, packet loss rate or downlink rate) of the data stream meet the conditions for improving the transmission quality set by the network quality evaluation algorithm in table 2. However, the condition for improving the transmission quality set based on the network quality evaluation algorithm in table 2 often occurs in the case of erroneous judgment.
As an example, when a user uses a short video application, if the user brushes a short video, the application starts downloading the short video through a network channel and caches a part of data frames of the downloaded short video; the application obtains the data frame of the short video from the buffer and starts playing. If the playing duration of the short video is 15 seconds, the user brushes the short video to be used as a time starting point, and the downloading rate in unit time is rapidly increased from the time starting point to the 2 nd second; from 2 nd to 5 th seconds, the download rate per unit time is rapidly reduced to 0; the download rate per unit time is maintained at 0 from 5 th to 15 th seconds when playback ends.
If the conditions of the transmission quality improvement policy set by the network quality assessment algorithm in table 2 are adopted, for example, the network quality assessment algorithm set by the short video service scenario of the jittering application in table 2 is adopted, the downlink rate (average value) of the network quality assessment algorithm if the delay of multiple consecutive periods exceeds 350ms or multiple consecutive periods is less than 51kb/s. It means that the transmission quality of the data stream is poor, and the current data stream needs to be switched to other network channels with better quality so as to improve the transmission quality of the current data stream. In the above example, during the period from 5 seconds to 15 seconds, the rate (average value) in a plurality of consecutive periods is 0, and it may be determined that the current data stream meets the condition for improving the transmission quality set by the network quality assessment algorithm, that is, the transmission quality of the current data stream on the current network channel is considered to be poor, and the data stream needs to be switched to other network channels.
However, in a specific application, during the 5 th to 15 th seconds, the network quality of the network channel where the data stream of the application is located is not poor, but there is no current need to download the data stream from other electronic devices, so the rate in consecutive periods is 0. Therefore, the conditions for improving the transmission quality set by the network quality assessment algorithm in table 2 are no longer applicable.
In view of this, embodiments of the present application provide another network quality assessment algorithm that can assess the transmission quality of a video stream. For ease of description, a network quality assessment algorithm that is subsequently applied to a data stream in a short video traffic scenario in a short video application may be denoted as algorithm E.
In particular implementations, it may be determined whether the data stream is suitable for use with algorithm E as a network quality assessment algorithm for assessing the data stream by the following features. The characteristics are as follows: the http protocol is used, video content is requested from the server through the get, and the mp4 field is carried in the get packet. Namely, the captured data stream corresponding to the http get request packet carrying the mp4 field is the algorithm E provided by the embodiment of the application.
Referring to fig. 14, the rate characteristics of the data stream of the short video application are provided for the embodiment of the present application when the quality of the network channel is better. The rate of the video stream is periodically distributed, and each period includes a period of a rate other than 0 and a period of a rate of 0.
For example, in fig. 14, the rate distribution of the video stream includes: and a first time period, a second time period and a third time period which are continuous, wherein the rates of the first time period and the third time period are not 0, and the rate of the second time period is 0.
The average rate of the first portion in the first time period is greater than the first value, which indicates that the transmission quality of the video stream meets the requirement, the network quality does not need to be improved, and the electronic device transmits the video stream through the first network card in the third time period.
Of course, referring to fig. 15, the rate distribution of the video stream may further include: the fourth period, the fifth period, and the sixth period are consecutive, the rates of the fourth period and the sixth period are not 0, and the rate of the fifth period is 0.
The average rate of the second portion in the fourth time period is less than or equal to the first value, which indicates that the transmission quality of the video stream does not meet the requirement, the network quality needs to be improved, the electronic device transmits the video stream through the second network card of the electronic device in the sixth time period,
for uniform evaluation criteria, the duration of the second portion and the duration of the first portion may be set to be equal.
In order to make the criterion more accurate in the case of a rate of 0, it is also possible to set the end time of the first part in the first period to be the same as the end time of the first period, and the end time between the ends of the second part in the fourth period to be the same as the end time of the fourth period.
As can be understood from the rate characteristics shown in fig. 14 and the rate characteristics shown in fig. 15: the case of rate 0 is quite special and needs to be considered separately when evaluating the transmission quality of the video stream for short video class applications.
And in a period of time with the rate not being 0, a part of time (for example, the same duration as that of the first part) can be selected in the period of time, and can be recorded as a seventh period of time, the average rate of the seventh period of time is determined to be less than or equal to the first value, and the electronic device transmits the video stream through the second network card in the eighth period of time, wherein the starting time of the eighth period of time is the ending time of the seventh period of time. Of course, it is determined that the average rate of the seventh time period is greater than the first value, and the electronic device transmits the video stream through the first network card in the eighth time period.
In a specific implementation, a case where the rate is 0 and a case where the rate is not 0 may be separately considered. The rates in the embodiments of the present application all represent the average downlink rate of the video stream obtained periodically (e.g., 300ms, 400ms, 500ms, 600ms, 700ms, etc.) during the period. The period at this time is different from the period in the periodic distribution in which the rate is not 0 and 0 in fig. 14 and 15, and when the average downlink rate of the downlink rate values acquired at the acquisition period (for example, 10ms, 50ms, 100ms, etc.) in the period is obtained periodically (for example, 500 ms), the period in which the average downlink rate is obtained is used to obtain the average value of the acquired downlink rate may be referred to as the average period. The periods in the subsequent embodiments each represent a mean period. The values of the rate associated with the periodicity in the subsequent embodiments each represent the average downlink rate value over the period.
The average rate is not 0: the average rate over multiple (e.g., 2, 3, 4, 5, etc.) average periods is small and the transmission quality of the data stream is poor. Of course, the average rate value in 1 average period may be smaller, so that the transmission quality of the data stream is poor.
The average rate is 0: for network reasons, the average rate is 0, and usually, before the average rate is 0, the average rate has started to be smaller (in specific implementation, the average rate can be taken for a period of time, and the ending time of the period of time can be the time when the rate becomes 0), so that the transmission quality needs to be improved; since the end of the short video buffer currently played results in the situation that the average rate is 0, the average rate is still larger before the average rate is 0, and the transmission quality does not need to be improved in this situation. Therefore, when the average rate appears to be 0, it is necessary to trace back to the average rate one average period (the average period of the last non-0 rate) before the average period in which the average rate first becomes 0; in particular implementations, the average rate of the periods in which the average rate appears to be 0 may be extended by the average rate of the last average period (the last non-0 rate average period) when the average rate first becomes 0. Of course, it is also understood that the average rate of the last average period is extended each time an average rate of 0 occurs. Then, when the average rate is smaller in a plurality of average periods, the transmission quality of the data stream is poor.
In view of the above description, an average rate with a plurality of average periods may be set as a reference. The method comprises the steps of firstly determining the period transmission quality of a current average value period according to the average rate of a single average value period (which can be recorded as a first period), and then determining the data stream transmission quality of a current data stream according to the period transmission quality of a plurality of average value periods.
When determining the periodic transmission quality of the single average period, if the average rate is not 0, determining that the periodic transmission quality of the current average period is a second identifier (e.g., bad) if the average rate is less than or equal to a threshold a (which may be equal to the first value or not); in the case where the average rate is greater than the threshold a, the cycle transmission quality of the current average cycle is determined to be a first identification (e.g., good). If the average rate is 0, the average rate of the last average period is extended, which corresponds to the period transmission quality (good or bad) of the last average period. Therefore, when the previous average period is bad, the period transmission quality of the current average period is considered to be bad, and when the previous average period is good, the period transmission quality of the current average period is considered to be good. The embodiment of the application does not limit whether the period transmission quality of the last average period is adopted or the rate of the last average period is adopted under the condition that the average rate is 0. Of course, in practical applications, when the average rate is 0, the transmission quality may be determined according to the periodic transmission quality of the past multiple average periods (for example, 3,5,7, etc.), for example, the mode in the identification of the transmission quality of the multiple average periods may be determined.
In summary, the results of the periodic transmission quality of a single average period include the following:
good: the average speed of the present mean period is greater than or equal to a threshold A (e.g., 50 kb/s); the average rate is equal to 0 and the period transmission quality of the last average period is good.
Bad: the average speed is less than threshold a and not equal to 0; the average rate is equal to 0 and the period transmission quality of the last average period is bad.
After determining the period transmission quality of each average period, checking the period transmission quality of the average period and M-1 continuous average periods before the average period in the current average period, and if the period transmission quality of at least N average periods is bad (can be recorded as meeting the first condition) in the period transmission quality of the continuous M average periods, determining that the data stream transmission quality of the data stream is bad, and improving the transmission quality of the data stream. Wherein N is less than or equal to M. If the period transmission quality of less than N average periods is bad (which can be recorded as meeting the second condition), the data stream transmission quality of the data stream is determined to be good, and the transmission quality of the data stream is not required to be improved.
As can be understood from the above example, the second condition is satisfied in the case where the rate of the video stream satisfies the rate distribution of the example shown in fig. 14. I.e. the second condition comprises: the average rate of the video stream in fig. 14 for a first portion of the first period of time is greater than a first value. The first condition includes: the average rate of the video stream in fig. 15 in the second portion of the fourth period is less than or equal to the first value, and the average rate of the seventh period in the above-described examples of the seventh period and the eighth period is less than or equal to the first value.
A flow chart of a network acceleration method when the average rate of the video stream appears to be 0 as shown in fig. 16 can be obtained according to the above method, and as shown in the figure, the method includes:
s1, the electronic equipment detects that the average rate of the video stream in the ith average period is 0.
S2, the electronic equipment checks the periodic transmission quality of the video stream in the i-1 average period.
S3, the electronic equipment assigns the periodic transmission quality of the ith average value period to the periodic transmission quality of the ith average value period.
S4, the electronic equipment determines that the video stream is switched to the standby network for transmission under the condition that N bad exist in the identification of the period transmission quality from the ith-M+1th average period to the ith average period, otherwise, the average rate of the ith+1th average period is continuously detected.
In the embodiment of the application, good and bad are taken as examples, and in practical application, different identifiers can be used for respectively representing good and bad, or different identifiers can be used for respectively representing bad and non-bad.
As one example, within one averaging period: and when judging the data stream transmission quality of the data stream, if the period transmission quality of at least 3 average value periods is bad in 4 continuous average value periods, judging the data stream transmission quality bad of the current data stream. In case the data stream transmission quality of the data stream is bad, the current data stream is switched onto the standby network in case the standby network is present or the standby network is requested and awakened in case the standby network is not present.
Based on the above description, short video applications (e.g., jitter) may set flow characteristics, network quality assessment algorithms, and transmission quality improvement policies according to table 4.
Table 4 flow characteristics, network quality assessment algorithm and transmission quality promotion policy for short video service scenarios for short video applications
Of course, in the embodiment of the present application, taking a short video service scenario with a jittering (application packet name com.ss.android.ugc.aweme) as an example, in practical application, any application that can be networked and has a short video service scenario can determine whether to execute a corresponding transmission quality improvement policy based on a condition for improving transmission quality set by the network quality assessment algorithm illustrated in table 4. Of course, there may be differences in the characteristic conditions of the data streams applied in the short video scene, and there may also be differences in the network quality promotion policy. The embodiment of the application mainly describes the conditions for improving the transmission quality set by the network quality assessment algorithm, and the characteristic conditions and the network quality improvement strategy of the data flow are not limited.
For a clearer understanding of the above examples, refer to table 5.
Table 5 an application scenario (threshold A is 50 kb/s) is provided in an embodiment of the present application
Average period 1 2 3 4 5 6 7
Average rate (kb/s) 100 70 40 20 30 20 20
Periodic transmission quality Good Good Bad Bad Bad Bad Bad
Data stream transmission quality Good Bad Bad Bad
And in the 1 st average period, the average rate is 100 (greater than the threshold A), and the period transmission quality of the average period is good.
And in the 2 nd average period, the average rate is 70 (greater than the threshold A), and the period transmission quality of the average period is good.
And in the 3 rd average period, the average rate is 40 (less than the threshold A), and is not equal to 0, and the period transmission quality of the average period is bad.
The 4 th average period, the average rate is 20 (less than the threshold A), and is not equal to 0, the period transmission quality of the average period is bad; at this time, in the latest 4 consecutive average periods, the period transmission quality of 2 average periods is bad, and the data stream transmission quality is good.
The 5 th average period, the average rate is 30 (less than the threshold A), and is not equal to 0, the period transmission quality of the average period is bad; at this time, in the latest 4 consecutive average periods, the period transmission quality of 3 average periods is bad, and the data stream transmission quality is bad.
The 6 th average period, the average rate is 20 (less than the threshold A), and is not equal to 0, the period transmission quality of the average period is bad; at this time, in the latest 4 consecutive average periods, the period transmission quality of the 4 average periods is bad, and the data stream transmission quality is bad.
And in the 7 th average period, the average rate is 20 (less than the threshold A) and is not equal to 0, the period transmission quality of the average period is bad, at this time, in the latest 4 continuous average periods, the period transmission quality of the 4 average periods is bad, and the data stream transmission quality is bad.
Among the scenes described in table 5, the scene in which 0 appears at the average rate is exemplified by the scene in which 0 appears at the average rate, see table 6.
Table 6 shows another application scenario (threshold A is 50 kb/s) provided by an embodiment of the present application
Average period 1 2 3 4 5 6 7
Average rate (kb/s) 40 60 30 10 0 0 0
Periodic transmission quality Bad Good Bad Bad Bad Bad Bad
Data stream transmission quality Bad Bad Bad Bad
The 1 st average period has an average rate of 40 (less than the threshold a) and is not equal to 0, and the period transmission quality of the present average period is bad.
And in the 2 nd average period, the average rate is 60 (greater than the threshold A), and the period transmission quality of the average period is good.
And in the 3 rd average period, the average rate is 30 (less than the threshold A), and is not equal to 0, and the period transmission quality of the average period is bad.
And in the 4 th average period, the average rate is 10 (less than the threshold A) and is not equal to 0, the periodic transmission quality of the average period is bad, at this time, in the latest 4 continuous average periods, the periodic transmission quality of 3 average periods is bad, and the transmission quality of the data stream is bad.
The 5 th average period, the average rate is 0, and the period transmission quality obtained in the last average period is bad, and the period transmission quality of the average period is bad; in the 4 latest continuous average periods, the period transmission quality of 3 average periods is bad, and the data stream transmission quality is bad.
And in the 6 th average period, the average rate is 0, and the transmission quality of the period obtained in the last average period is bad, the transmission quality of the period of the average period is bad, at the moment, in the 4 latest continuous average periods, the transmission quality of the period of the 4 average periods is bad, and the transmission quality of the data stream is bad.
And in the 7 th average period, the average rate is 0, and the transmission quality of the average period obtained in the last average period is bad, the period transmission quality of the average period is bad, at this time, in the 4 latest continuous average periods, the transmission quality of the average period of the 4 periods is bad, and the transmission quality of the data stream is bad.
In this example, in the case where the average rate of the data stream occurs 0, it can be understood that the average rate of several average periods before the average rate occurs 0: the transmission quality of the data stream in the scene shown in table 6 is poor, not because the average rate becomes 0 due to the end of buffering of the video, but because the quality of the network channel itself may be deteriorated.
A scene in which the average rate becomes 0 after the video buffering is finished will be described as an example, see table 7.
Table 7 shows another application scenario (threshold A is 50 kb/s) provided by an embodiment of the present application
Average period 1 2 3 4 5 6 7
Average rate (kb/s) 200 200 100 60 0 0 0
Periodic transmission quality Good Good Good Good Good Good Good
Data stream transmission quality Good Good Good Good
And in the 1 st average period, the average rate is 200 (greater than the threshold A), and the period transmission quality of the average period is good.
And in the 2 nd average period, the average rate is 200 (greater than the threshold A), and the period transmission quality of the average period is good.
And in the 3 rd average period, the average rate is 100 (greater than the threshold A), and the period transmission quality of the average period is good.
And in the 4 th average period, the average rate is 60 (greater than the threshold A), and the period transmission quality of the average period is good. At this time, no period transmission quality in the last 4 consecutive average periods is bad, and the data stream transmission quality is good.
The 5 th average period, the average rate is 0, and the period transmission quality obtained in the last average period is good, and the period transmission quality of the average period is good; at this time, the transmission quality of the data stream is good if the aperiodic transmission quality of the latest 4 consecutive average periods is bad.
The 6 th average period, the average rate is 0, and the period transmission quality obtained in the last average period is good, and the period transmission quality of the average period is good; at this time, the transmission quality of the data stream is good if the aperiodic transmission quality of the latest 4 consecutive average periods is bad.
The 7 th average period, the average rate is 0, and the period transmission quality obtained in the last average period is good, and the period transmission quality of the average period is good; at this time, the transmission quality of the data stream is good if the aperiodic transmission quality of the latest 4 consecutive average periods is bad.
In the above example, a situation may also occur where the average rate is reduced from around threshold a (e.g., slightly less than threshold a) to 0, possibly when the short video buffer is about to end at a fast rate. That is, when the average rate is 0, there may be misjudgment on the periodic transmission quality only through the previous average period, and when the average rate is 0, the embodiment of the present application may also determine the periodic transmission quality of the current average period through the periodic transmission quality of at least two previous average periods.
Bad: the average speed is less than threshold a and not equal to 0; the average rate is equal to 0 and the periodic transmission quality of the previous two average periods is bad.
Table 8 illustrates that if the average rate is equal to 0 and the period transmission quality of the previous average period is bad, it is determined that the period transmission quality of the current average period is bad, if the average rate of the average period before the average rate will be 0 is less than 50kb/s, for example, 49kb/s. There may be a misjudgment phenomenon according to the previous judgment manner.
Table 8 shows another application scenario (threshold A is 50 kb/s) provided by an embodiment of the present application
Average period 1 2 3 4 5 6 7
Average rate (kb/s) 200 200 100 49 0 0 0
Periodic transmission quality Good Good Good Bad Bad Bad Bad
Data stream transmission quality Good Good Bad Bad
Table 9 illustrates that when the rate is equal to 0 and the period transmission quality of the previous two average periods is bad, it is determined that the period transmission quality of the current average period is bad: if the average rate of the averaging period before the average rate will be 0 is less than 50kb/s, e.g., 49kb/s. And avoiding the prior misjudgment phenomenon according to the current judgment mode.
Table 9 shows another application scenario (threshold A is 50 kb/s) provided by an embodiment of the present application
Average period 1 2 3 4 5 6 7
Average rate (kb/s) 200 200 100 49 0 0 0
Periodic transmission quality Good Good Good Bad Good Good Good
Data stream transmission quality Good Good Good Good
As can be understood from a comparison of tables 8 and 9, if the threshold value a is set reasonably enough, when determining the periodic transmission quality of a certain average period, the periodic transmission quality of an average period with an average rate equal to 0 and the periodic transmission quality of the last average period being the average period of bad can be set as bad. To avoid that the threshold a is set unreasonably or that it is difficult to find a reasonable value as the threshold a, the periodic transmission quality of the average period in which the average rate is equal to 0 and the periodic transmission quality of the previous two (or more) average periods is bad may be set to bad.
In addition, since the duration of one average period is a time value set by human, in a specific implementation, if the average period duration is set to be smaller, the period transmission quality of an average period with an average rate equal to 0 and a period transmission quality of more previous average periods being bad needs to be set to bad.
In other words, in practical applications, a time value may be set, when the rate (may be the rate value at the acquisition time or the average rate value of a certain period at the time) is changed from non-0 to 0, if the average rate value of a preset time period (time period corresponding to time t2 to time t 1) before the rate is changed to 0 (time rate at time t1 is changed from non-0 to 0), where t2=t1+ty, and ty is the preset time is smaller than the threshold B, it is necessary to execute the transmission quality improvement policy when the rate is lower before the rate is changed to 0, the network quality is poor, and the current rate is changed to 0. When the rate is changed from non-0 to 0, if the average rate value of the preset time period (time period corresponding to time t2 to time t1, where t2=t1+ty, and ty is the preset time) before the rate is changed from non-0 to 0 (time period from time t1 to time t 0) is greater than or equal to the threshold B, it means that the rate before the rate is changed to 0 is higher, the network quality is better, and the current rate is changed to 0 to end the short video buffering, then the transmission quality improvement strategy does not need to be executed.
As described above, in the case where it is judged that the transmission quality of the data stream is poor (bad), the current data stream is switched onto the standby network in the case where the standby network exists or the standby network is requested and awakened in the case where the standby network does not exist. Of course, in practical applications, other conditions for pulling up the standby network may be set, for example, the standby network is pulled up when the period transmission quality of N-1 average periods is bad in the M consecutive average periods, and the current data stream is switched to the standby network when the period transmission quality of N average periods is bad in the M consecutive average periods.
It should be understood that the sequence number of each step in the foregoing embodiment does not mean that the execution sequence of each process should be determined by the function and the internal logic, and should not limit the implementation process of the embodiment of the present application.
The embodiments of the present application also provide a computer readable storage medium storing a computer program, which when executed by a processor, implements the steps of the above-described method embodiments.
Embodiments of the present application also provide a computer program product enabling a first device to carry out the steps of the method embodiments described above, when the computer program product is run on the first device.
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 computer readable storage medium. Based on such understanding, the present application may implement all or part of the flow of the method of the above-described embodiments, and may be implemented by a computer program to instruct related hardware, and the computer program may be stored in a computer readable storage medium, where the computer program, when executed by a processor, may implement the steps of each of the method embodiments described above. Wherein the computer program comprises computer program code, which may be in the form of source code, object code, executable files or in some intermediate form, etc. The computer readable medium may include at least: any entity or device capable of carrying computer program code to a first device, a recording medium, a computer Memory, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), an electrical carrier signal, a telecommunication signal, and a software distribution medium. Such as a U-disk, removable hard disk, magnetic or optical disk, etc. In some jurisdictions, computer readable media may not be electrical carrier signals and telecommunications signals in accordance with legislation and patent practice.
The embodiment of the application also provides a chip system, which comprises a processor, wherein the processor is coupled with the memory, and the processor executes a computer program stored in the memory to realize the steps of any method embodiment of the application. The chip system can be a single chip or a chip module composed of a plurality of chips.
In the foregoing embodiments, the descriptions of the embodiments are emphasized, and in part, not described or illustrated in any particular embodiment, reference is made to the related descriptions of other embodiments.
Those of ordinary skill in the art will appreciate that the elements and method steps of the examples described in connection with the embodiments disclosed herein can be implemented as electronic hardware, or as a combination of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
The above embodiments are only for illustrating the technical solution of the present application, and are not limiting; although the application has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit and scope of the technical solutions of the embodiments of the present application, and are intended to be included in the scope of the present application.

Claims (17)

1. A network acceleration method, comprising:
the method comprises the steps that an electronic device runs a first application, the first application comprises a video stream, the electronic device transmits the video stream through a first network card of the electronic device, the rate distribution of the video stream comprises a first time period, a second time period and a third time period which are continuous, a fourth time period, a fifth time period and a sixth time period which are continuous, wherein the rates of the first time period, the third time period, the fourth time period and the sixth time period are not 0, and the rates of the second time period and the fifth time period are 0;
determining that an average rate of the video stream in a first portion of the first time period is greater than a first value, the electronic device transmitting the video stream over the first network card in the third time period;
and determining that the average rate of the second part of the video stream in the fourth time period is smaller than or equal to the first value, and transmitting the video stream by the electronic equipment through a second network card of the electronic equipment in the sixth time period, wherein the duration of the second part is equal to the duration of the first part.
2. The method of claim 1, wherein an end time of a first portion of the first time period is the same as an end time of the first time period, and an end time of a second portion of the fourth time period is the same as an end time of the fourth time period.
3. The method of claim 1, wherein the rate profile of the video stream further includes a seventh time period having a rate other than 0, the method further comprising:
and determining that the average speed of the seventh time period is smaller than or equal to the first value, and transmitting the video stream through the second network card by the electronic device in an eighth time period, wherein the starting time of the eighth time period is the ending time of the seventh time period, and the duration of the seventh time period is equal to the duration of the first part.
4. The method of claim 3, wherein during the transmission of the video stream by the electronic device through the first network card of the electronic device, the method comprises:
the electronic equipment acquires the average speed of the video stream in the average period according to the average period, and the duration of the first part and the duration of the second part are both longer than the duration of the average period.
5. The method of claim 4, wherein the first period is one of the average periods,
in the case that the average rate in the first period is greater than the second value, the periodic transmission quality in the first period is a first identifier;
in the case that the average rate in the first period is less than or equal to the second value and is not equal to 0, the periodic transmission quality in the first period is a second identifier;
in the case that the average rate in the first period is equal to 0, determining the period transmission quality in the first period by the identification of the period transmission quality in a history average period, wherein the history average period is L average periods before the first period, when the first period is in the second period, the starting time of the earliest average period in the history average periods of the first period is later than the starting time of the first period, when the first period is in the fifth period, the starting time of the earliest average period in the history average periods of the first period is later than the starting time of the fourth period, and L is a natural number greater than or equal to 1;
If the period transmission quality of at least N average value periods in the continuous M average value periods is the second identifier, the rate of the video stream meets a first condition, otherwise, the rate of the video stream meets a second condition, N is an integer less than or equal to M, and the first condition comprises: the average rate of the second portion of the video stream in the fourth period of time is less than or equal to the first value, the average rate of the seventh period of time is less than or equal to the first value, the second condition comprising: the average rate of the video stream over a first portion of the first period of time is greater than a first value.
6. The method of claim 5, wherein if the historical average period is one average period before the first period, then the identity of the periodic transmission quality in the first period is the same as the identity of the periodic transmission quality in one average period before the first period;
and if the historical average period is an odd number of average periods before the first period, marking the period transmission quality in the first period as the mode of marking the period transmission quality of the odd number of average periods before the first period.
7. The method of claim 5, wherein the video stream is a data stream comprised of data packets having a first characteristic, the first characteristic being determined by: the transmission protocol, the transmission port and the head characteristic of the data message;
in the process that the electronic equipment transmits the video stream through a first network card of the electronic equipment, the method comprises the following steps:
and the electronic equipment acquires the first condition corresponding to the first characteristic.
8. The method of any of claims 1-7, wherein the electronic device transmitting the video stream over a second network card of the electronic device comprises:
the electronic device checks whether the electronic device stores a standby network;
and under the condition that the electronic equipment stores the standby network, the electronic equipment transmits the video stream through the standby network, wherein the standby network comprises a second network corresponding to the second network card.
9. The method of claim 8, wherein the method further comprises:
under the condition that the standby network is not stored in the electronic equipment, the electronic equipment acquires network quality parameters of a network corresponding to a third network card of the electronic equipment, wherein the third network card is other network cards except the first network card in the electronic equipment, and the network quality parameters comprise at least one of the following: bandwidth, latency, and air interface rate;
And under the condition that the second network card is the network card with the optimal network quality in the third network card, the electronic equipment stores the second network corresponding to the second network card as the standby network, and the network quality is determined by the network quality parameters.
10. The method of claim 9, wherein before the electronic device stores the second network corresponding to the second network card as the standby network, the method further comprises:
and the electronic equipment wakes up the second network corresponding to the second network card.
11. The method of claim 9, wherein before the electronic device stores the second network corresponding to the second network card as the standby network, the method further comprises:
the electronic equipment acquires network quality parameters of a first network corresponding to the first network card;
correspondingly, the electronic device storing the second network corresponding to the second network card as the standby network includes:
and under the condition that the network quality of the second network corresponding to the second network card is better than that of the first network corresponding to the first network card, the electronic equipment stores the second network corresponding to the second network card as the standby network.
12. The method of claim 9, wherein the electronic device running the first application comprises:
the electronic equipment runs the first application in the foreground;
correspondingly, the method further comprises the steps of:
after the electronic equipment detects that the first application runs in the foreground, the electronic equipment sequentially executes a main network determining step according to the priority order of the network cards of the electronic equipment until a main network of the electronic equipment is obtained;
wherein the active network determining step includes:
the electronic equipment acquires a network state of a network corresponding to a fourth network card, wherein the fourth network card is one network card of the electronic equipment;
the electronic equipment acquires network quality parameters of the fourth network card under the condition that the network state of the fourth network card is available; ending the primary network determining step of the round under the condition that the network state of the fourth network card is unavailable;
storing the fourth network card as a main network of the electronic equipment under the condition that the network quality parameter of the fourth network card is in a preset range; and ending the main network determining step of the round under the condition that the network quality parameter of the fourth network card is not in the preset range.
13. The method of claim 12, wherein the electronic device obtaining the network quality parameter of the first network corresponding to the first network card comprises:
after the active network of the electronic device is obtained, the electronic device monitors network quality parameters of the active network in a second period.
14. The method of claim 11, wherein the electronic device obtaining the network quality parameter of the first network corresponding to the first network card comprises:
the electronic equipment acquires a network for transmitting the video stream, wherein the network for transmitting the video stream is the first network corresponding to the first network card;
the electronic device monitors a network quality parameter of the first network at a second period.
15. An electronic device comprising a processor for executing a computer program stored in a memory to cause the electronic device to implement the method of any one of claims 1 to 14.
16. A system on a chip, comprising a processor coupled to a memory, the processor executing a computer program stored in the memory to implement the method of any of claims 1 to 14.
17. A computer readable storage medium, characterized in that the computer readable storage medium stores a computer program which, when run on a processor, implements the method according to any one of claims 1 to 14.
CN202111373990.XA 2021-11-18 2021-11-18 Network acceleration method, electronic equipment, chip system and storage medium Active CN116137676B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111373990.XA CN116137676B (en) 2021-11-18 2021-11-18 Network acceleration method, electronic equipment, chip system and storage medium
PCT/CN2022/117100 WO2023087853A1 (en) 2021-11-18 2022-09-05 Network acceleration method, electronic device, chip system, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111373990.XA CN116137676B (en) 2021-11-18 2021-11-18 Network acceleration method, electronic equipment, chip system and storage medium

Publications (2)

Publication Number Publication Date
CN116137676A CN116137676A (en) 2023-05-19
CN116137676B true CN116137676B (en) 2023-10-20

Family

ID=86326816

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111373990.XA Active CN116137676B (en) 2021-11-18 2021-11-18 Network acceleration method, electronic equipment, chip system and storage medium

Country Status (2)

Country Link
CN (1) CN116137676B (en)
WO (1) WO2023087853A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116437409B (en) * 2023-06-13 2023-08-22 微网优联科技(成都)有限公司 Channel switching method and device for wireless router

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101510998A (en) * 2009-02-24 2009-08-19 山东大学 Self-adapting flow control method for data transmission of wireless video monitoring system
CN106851337A (en) * 2017-02-21 2017-06-13 聚好看科技股份有限公司 Video buffer control method and device
CN107635266A (en) * 2017-08-30 2018-01-26 努比亚技术有限公司 A kind of method for switching network, terminal and computer-readable recording medium
CN111010617A (en) * 2019-11-05 2020-04-14 网宿科技股份有限公司 Transmission quality detection method, system and equipment
CN111385616A (en) * 2018-12-28 2020-07-07 华为技术有限公司 Method and device for determining video transmission quality
WO2020143380A1 (en) * 2019-01-08 2020-07-16 华为技术有限公司 Data transmission method and electronic device
WO2021012869A1 (en) * 2019-07-25 2021-01-28 广州市百果园信息技术有限公司 Transmission rate determination method and device, apparatus, and storage medium

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104349411B (en) * 2013-07-29 2019-07-02 中兴通讯股份有限公司 A kind of method for switching network, device and terminal
CN106162768B (en) * 2015-05-21 2020-10-13 北京小米移动软件有限公司 Wireless access point switching method and device
US9832716B2 (en) * 2015-08-12 2017-11-28 Google Llc Switching between networks based on quality of available networks
CN107484217B (en) * 2017-09-20 2018-11-27 广东欧珀移动通信有限公司 Method, mobile terminal and the storage medium of switching registration IP multimedia subsystem
CN108449771B (en) * 2018-06-29 2020-08-11 Oppo(重庆)智能科技有限公司 Network switching method, device, terminal and storage medium
CN111316604B (en) * 2018-07-23 2021-07-09 华为技术有限公司 Data transmission method and electronic equipment
CN110225562B (en) * 2019-07-09 2021-02-26 杭州叙简安智信息技术有限公司 Method for automatically adjusting internet surfing according to actual scene
CN110572208B (en) * 2019-09-16 2021-07-16 Oppo广东移动通信有限公司 Network switching method and related equipment
CN111182595B (en) * 2019-12-30 2021-08-24 Oppo广东移动通信有限公司 Network switching method and device, storage medium and electronic equipment
CN111836300B (en) * 2020-08-20 2022-02-18 珠海格力电器股份有限公司 Network switching method and communication terminal

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101510998A (en) * 2009-02-24 2009-08-19 山东大学 Self-adapting flow control method for data transmission of wireless video monitoring system
CN106851337A (en) * 2017-02-21 2017-06-13 聚好看科技股份有限公司 Video buffer control method and device
CN107635266A (en) * 2017-08-30 2018-01-26 努比亚技术有限公司 A kind of method for switching network, terminal and computer-readable recording medium
CN111385616A (en) * 2018-12-28 2020-07-07 华为技术有限公司 Method and device for determining video transmission quality
WO2020143380A1 (en) * 2019-01-08 2020-07-16 华为技术有限公司 Data transmission method and electronic device
WO2021012869A1 (en) * 2019-07-25 2021-01-28 广州市百果园信息技术有限公司 Transmission rate determination method and device, apparatus, and storage medium
CN111010617A (en) * 2019-11-05 2020-04-14 网宿科技股份有限公司 Transmission quality detection method, system and equipment

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Li Nan.Optimal FPGA implementation of high speed scale space generator.《2015 34th Chinese Control Conference (CCC)》.2015,全文. *
冯小琴.多场景视频智能处理系统及调度管理算法研究.《中国优秀硕士学位论文全文数据库》.2020,全文. *

Also Published As

Publication number Publication date
CN116137676A (en) 2023-05-19
WO2023087853A1 (en) 2023-05-25

Similar Documents

Publication Publication Date Title
WO2020164520A1 (en) Data packet distribution method and apparatus, mobile terminal, and storage medium
WO2021047390A1 (en) Method for reducing power consumption and mobile terminal
CN110784898B (en) Network switching method, mobile terminal and computer readable storage medium
CN109274596B (en) Data transmission method and related device
EP4216501A1 (en) Method for switching channels, electronic device, and storage medium
US11991631B2 (en) Monitoring method, signaling issuing method, and communication device
WO2021012130A1 (en) Monitoring and strategy issuing methods and apparatus, communication device and memory
CN116137676B (en) Network acceleration method, electronic equipment, chip system and storage medium
CN113840269B (en) Multimedia data transmission method and device, electronic equipment and storage medium
US20220322170A1 (en) Monitoring method, instruction sending method and device, communication apparatus and storage
WO2023087852A1 (en) Network acceleration method, electronic device, chip system and storage medium
CN112090065B (en) Network delay regulation and control method, equipment and computer readable storage medium
CN116709442A (en) Wireless network switching method and electronic equipment
CN116137722A (en) Network acceleration method, electronic device, chip system and readable storage medium
CN114423041A (en) Communication method, intelligent terminal and storage medium
CN114307136A (en) Game screen-throwing power consumption control method and device and computer readable storage medium
CN115567505B (en) Method, device and storage medium for displaying network acceleration effect
CN116709368B (en) Network acceleration method and device
CN116744329A (en) Network acceleration method and electronic equipment
CN116709369A (en) Network acceleration method and electronic equipment
WO2024082811A1 (en) Network acceleration method and apparatus
CN110786035A (en) Processing method and device for control resource set and computer storage medium
CN117915356A (en) Network acceleration method and device
CN113207114B (en) Bluetooth audio master device, bluetooth audio slave device, bluetooth communication method and Bluetooth communication system
CN113727181B (en) Screen-throwing time delay dynamic configuration method, equipment and computer readable storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant