CN116709368B - Network acceleration method and device - Google Patents

Network acceleration method and device Download PDF

Info

Publication number
CN116709368B
CN116709368B CN202211268271.6A CN202211268271A CN116709368B CN 116709368 B CN116709368 B CN 116709368B CN 202211268271 A CN202211268271 A CN 202211268271A CN 116709368 B CN116709368 B CN 116709368B
Authority
CN
China
Prior art keywords
application
module
network
scene
qoe
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
CN202211268271.6A
Other languages
Chinese (zh)
Other versions
CN116709368A (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 CN202211268271.6A priority Critical patent/CN116709368B/en
Publication of CN116709368A publication Critical patent/CN116709368A/en
Application granted granted Critical
Publication of CN116709368B publication Critical patent/CN116709368B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

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

Landscapes

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

Abstract

The embodiment of the application provides a network acceleration method and device, relates to the field of terminals, and aims to reduce the problem of network blocking and improve user experience. The method comprises the following steps: the electronic equipment runs a first application, and the data stream of the first application is transmitted through a first network channel; acquiring a flow quality parameter of a data flow of a first application, wherein the flow quality parameter comprises at least one of the following parameters: time delay, transmission rate, packet loss rate, retransmission rate and whether message response is overtime; if the current service scene of the first application is the first scene, if the flow quality parameter of the data flow of the first application meets the first condition, acquiring the first state information generated by the first application, and switching the data flow of the first application to the second network channel; the first state information is used for indicating that the first application is in a blocking state, and the network quality of the second network channel is better than that of the first network channel.

Description

Network acceleration method and device
Technical Field
The present application relates to the field of terminals, and in particular, to a network acceleration method and apparatus.
Background
With the development of electronic devices and the increase of user demands, 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.
Disclosure of Invention
The embodiment of the application provides a network acceleration method and device, which can reduce the problem of network blocking and improve the user experience.
In a first aspect, an embodiment of the present application provides a network acceleration method, which is applied to an electronic device, and includes: the electronic equipment runs a first application, and the data stream of the first application is transmitted through a first network channel; acquiring a flow quality parameter of a data flow of a first application, wherein the flow quality parameter comprises at least one of the following parameters: time delay, transmission rate, packet loss rate, retransmission rate and whether message response is overtime; if the current service scene of the first application is the first scene, if the flow quality parameter of the data flow of the first application meets the first condition, acquiring the first state information generated by the first application, and switching the data flow of the first application to the second network channel; the first state information is used for indicating that the first application is in a blocking state, and the network quality of the second network channel is better than that of the first network channel.
Based on the network acceleration method provided by the embodiment of the application, if the electronic device determines that the flow quality parameter of the data flow of the first application meets the first condition (the flow quality of the data flow of the first application is poor, the first application may be in a stuck state) and obtains the first state information for indicating that the first application is in a stuck state, the data flow of the first application can be switched from the first network channel to the second network channel, and the network quality of the second network channel is better than that of the first network channel. The electronic equipment can cooperatively evaluate the network quality by combining the service katon information reported by the foreground application program (first application) and the flow quality parameters of the data flow, determine whether to switch the network channel based on the judging result, and avoid that whether to switch the network to cause slight fluctuation of the network only according to the flow quality parameters of the data flow so as to influence the user experience, so that the user can have smooth Internet surfing experience.
In one possible implementation, the method further includes: and under the condition that the current service scene of the first application is a second scene, if the flow quality parameter of the data flow of the first application meets the first condition, switching the data flow of the first application to a second network channel, wherein the second scene is different from the first scene. In the second scenario, whether to switch the network channel can be determined only according to the flow quality parameters of the data flow without according to the state information (for example, the first state information) of the application, so that the response speed of the electronic equipment is faster, the network channel can be switched faster, and the network access of the user is avoided.
In one possible implementation, the method further includes: the first scene and the second scene are determined by the first application. The first scene is a business scene which is determined by the first application and needs to cooperatively judge QoE, and the second scene is a business scene which is determined by the first application and does not need to cooperatively judge QoE. The collaborative judgment QoE refers to that the electronic device collaborative judges the QoE of the applied data stream according to the communication parameters collected by the electronic device and the service jamming information reported by the foreground application, and determines whether the service is jammed according to the collaborative judged QoE, if the service is considered to be jammed, a network channel with better quality than the network channel currently being used can be selected, and the data stream of the first application is switched to the better network channel, so that the user can have smooth internet surfing experience.
In one possible implementation, the first state information includes a timestamp of the first application generating the click event (click time stamp) and current scene information (click traffic scene), the current scene information being used to indicate the first scene. The first state information may be service katon information, and the service katon information may include a katon timestamp, a katon service scene (for example, when the first application is a short video application, the katon service scene is a short video play scene), and so on.
In one possible implementation manner, if the current service scene of the first application is the first scene, if the flow quality parameter of the data flow of the first application meets the first condition, and the second state information generated by the first application is obtained, continuing to transmit the data flow of the first application through the first network channel; the second state information is used for indicating that the first application is in a pause state. It should be noted that, when the flow quality parameter of the data flow of the first application meets the first condition (indicating that the QoE measurement result of the first application is poor/stuck), and when the service suspension notification from the first application is received, it may be determined that the QoE measurement result reflected by the flow quality parameter is inaccurate, and in fact, it is not the network quality degradation that results in the QoE measurement result being poor (stuck), the network quality of the network channel where the data flow of the first application is located is not poor, but the user only suspends the current service (short video playing service), and the electronic device does not currently have a requirement of downloading the data flow from other electronic devices (e.g., a server), so that the rate in a plurality of consecutive periods is 0, so that the QoE measurement result reflected by the flow quality parameter is poor. At the moment, the network channel does not need to be switched, and the situation that the network channel is switched to cause network blocking is avoided.
In one possible implementation, the first condition includes at least one of: the continuous M time delays of the data stream of the first application in N periods are longer than preset time length, N and M are integers greater than or equal to 1, and N is greater than M; the packet loss rate of the data stream of the first application in N periods is larger than the preset packet loss rate; the retransmission rate of the data stream of the first application in N periods is larger than the preset retransmission rate; the transmission rate of the data stream of the first application in the continuous S periods in the Q periods is smaller than the preset transmission rate; q and S are integers greater than or equal to 1, Q is greater than S; the message response of the data flow of the first application in the continuous P periods in T periods overtime, T and P are integers greater than or equal to 1, and T is greater than P. It may be appreciated that the flow quality parameter of the data flow of the first application indicates that the QoE measurement of the first application is poor/stuck when the first condition is satisfied.
In one possible implementation, the electronic device includes a perception module, the method further comprising: the sensing module senses that the first application is started and inquires whether the first application supports network acceleration; the sensing module comprises an application configuration library, information of whether a plurality of application programs support network acceleration is stored in the application configuration library, and the plurality of application programs comprise a first application.
In one possible implementation, the plurality of applications in the application configuration library are applications requiring network acceleration determined based on user traffic consumption and/or user usage preferences for the applications; or the plurality of application programs in the application configuration library are applications that require network acceleration that are manually set by the user.
In one possible implementation, the electronic device further includes a decision module, and the method further includes: if the first application is determined to support network acceleration, the sensing module sends a network quality assessment request to the decision module, wherein the network quality assessment request comprises an application identifier of the first application, configuration information of the application and a standard of network quality assessment, and the configuration information of the application comprises a header feature of a data packet when the first application transmits a data stream.
In one possible implementation manner, the kernel layer of the electronic device further includes a traffic reporting module, and the method further includes: the decision module registers a message monitoring hook to the flow reporting module, wherein the message monitoring hook is used for periodically monitoring communication parameters and statistical information of a data flow transmitted by a first network channel used by a first application; the communication parameters comprise at least one of protocol type, source internet protocol IP address and port/destination IP address and port, and message characteristics, and the statistical information comprises at least one of round trip time RTT, packet loss rate, number of receiving bytes and rate.
In one possible implementation, the electronic device further includes a traffic management module, and the method further includes: the traffic reporting module periodically reports communication parameters and statistical information of the data stream of the first application to the traffic management module; the flow management module periodically carries out network quality assessment according to the communication parameters and the statistical information to obtain a quality of experience QoE measurement result; and the flow management module periodically reports QoE measurement results to the decision module.
In one possible implementation, the electronic device further includes a network acceleration service module, and the method further includes: the first application sends a registration request to the network acceleration service module, wherein the registration request is used for requesting to acquire QoE of the network; the network acceleration service module sends a registration request to the sensing module; after the sensing module receives the registration request, if the first application is determined to support network acceleration, the first application runs in the foreground, the first application has enhanced network sensing authority, application information of the first application is recorded, a registration result is sent to the sensing module, and the registration result is successful; the sensing module sends a registration result to the network acceleration service module; the network acceleration service module sends a registration result to the first application.
In one possible implementation, the method further includes: the sensing module inquires a service scene which corresponds to the first application and needs to cooperatively judge QoE, and the sensing module stores the service scene which corresponds to a plurality of application programs supporting network acceleration and needs to cooperatively judge QoE; the perception module informs the decision module of the business scene which is corresponding to the application program and needs to cooperatively judge QoE; the decision module records a business scene which corresponds to the first application and needs to cooperatively judge QoE.
In a possible implementation manner, the service scenario corresponding to the first application and requiring the collaborative decision QoE includes a short video playing scenario, and the method further includes: the first application informs the network acceleration service module that the first application enters a short video playing scene; the network acceleration service module informs the perception module that the first application enters a short video playing scene; the perception module informs the decision-making module that the first application enters a short video playing scene; the decision module records that the current service scene of the first application is a short video playing scene; the first application informs the network acceleration service module that the short video pauses to play; the network acceleration service module informs the perception module of the pause play of the short video of the first application; the perception module informs the decision-making module that the short video of the first application is paused; and the decision module corrects the QoE measurement result reported by the flow management module to be not stuck when determining that the QoE measurement result reported by the flow management module is stuck under the condition of determining that the short video of the first application is paused, and determines to continue transmitting the data flow of the first application through the first network channel according to the corrected QoE measurement result.
In one possible implementation, the method further includes: the first application informs the network acceleration service module that the short video of the first application resumes playing; the network acceleration service module informs the perception module of the short video resume play of the first application; the perception module informs the decision module that the short video of the first application resumes playing; and under the condition that the short video of the first application is determined to resume playing, if the QoE measurement result reported by the flow management module is determined to be stuck and the first state information is not reported by the first application, the QoE evaluation period of the data flow of the first application is prolonged.
In one possible implementation, the method further includes: if the first application reports the first state information in the prolonged QoE evaluation period, switching the data flow of the first application to a second network channel; if the first application does not report the first state information in the extended QoE evaluation period and the QoE measurement result reported by the traffic management module is a stuck, switching the data flow of the first application to the second network channel.
In one possible implementation, the method further includes: the first application informs the network acceleration service module of the short video play katon of the first application; the network acceleration service module informs the perception module of the short video play blocking of the first application; the perception module informs the decision-making module of the blocking of the short video play of the first application; and the decision module switches the data flow of the first application to the second network channel if the QoE measurement result reported by the flow management module is determined to be the stuck state under the condition that the short video of the first application is played.
In one possible implementation, the method further includes: the first application informs the network acceleration service module that the first application exits the short video playing scene; the network acceleration service module informs the perception module that the first application exits the short video playing scene; the perception module informs the decision-making module that the first application exits the short video playing scene; after the decision module determines that the first application exits the short video playing scene, a more optimal path request is sent to the path management module, wherein the more optimal path request is used for requesting a network channel with better quality than the current network channel; the path management module activates and detects the network quality of each network channel, determines that a network channel with better quality than the current network channel exists, and informs the decision module of the better network channel; the decision module instructs the policy execution module to switch the data stream of the first application to a better network channel; the policy enforcement module switches the data flow of the first application to a more optimal network channel.
In one possible implementation, when the first application is switched to the background or closed, the method further includes: the first application sends a deregistration request to the network acceleration service module, wherein the deregistration request is used for requesting to stop network acceleration and QoE measurement for the first application; the network acceleration service module sends a registration request to the sensing module; the sensing module informs the decision module of stopping QoE measurement of the first application; the decision module informs the policy execution module of the QoE measurement stopping the first application; the policy enforcement module stops QoE measurement of the first application.
In a second aspect, the present application provides a computer-readable storage medium comprising computer instructions. When executed on an electronic device (such as a mobile phone) the computer instructions cause the electronic device to perform the method as described in the first aspect and any one of its possible designs.
In a third aspect, the application provides a computer program product which, when run on a computer, causes the computer to carry out the method according to the first aspect and any one of its possible designs.
In a fourth aspect, an embodiment of the present application provides a network acceleration device, including a processor, and a memory coupled to the processor, where the memory stores program instructions, and the program instructions stored in the memory, when executed by the processor, cause the device to implement the method described in the first aspect and any one of the possible design manners of the first aspect. The apparatus may be an electronic device; or may be an integral part of an electronic device, such as a chip.
In a fifth aspect, an embodiment of the present application provides a network acceleration device, where the device may be functionally divided into different logic units or modules, and each unit or module performs a different function, so that the device performs the method described in the first aspect and any possible design manner thereof.
In a sixth aspect, the present application provides a chip system comprising one or more interface circuits and one or more processors. The interface circuit and the processor are interconnected by a wire.
The chip system described above may be applied to an electronic device including a communication module and a memory. The interface circuit is for receiving signals from a memory of the electronic device and transmitting the received signals to the processor, the signals including computer instructions stored in the memory. When executed by a processor, the electronic device may perform the method as described in the first aspect and any one of its possible designs.
It will be appreciated that the benefits achieved by the computer readable storage medium according to the second aspect, the computer program product according to the third aspect, the apparatus according to the fourth aspect, the apparatus according to the fifth aspect, and the chip system according to the sixth aspect provided above may refer to the benefits as in the first aspect and any one of the possible designs thereof, and will not be repeated here.
Drawings
Fig. 1A is a schematic diagram of a network channel according to an embodiment of the present application;
fig. 1B is a schematic hardware structure of an electronic device according to an embodiment of the present application;
Fig. 2 is a schematic software architecture diagram of an electronic device according to an embodiment of the present application;
FIG. 3 is a schematic view of a display according to an embodiment of the present application;
FIG. 4 is a schematic view of another embodiment of the present application;
FIG. 5 is a schematic diagram of module interaction according to an embodiment of the present application;
FIG. 6 is a schematic view of another embodiment of the present application;
FIG. 7 is a schematic diagram of message monitoring according to an embodiment of the present application;
FIG. 8 is a schematic diagram of a data flow rate characteristic of a short video application according to an embodiment of the present application;
FIG. 9 is a schematic diagram illustrating a rate characteristic of a data stream of another short video class application according to an embodiment of the present application;
FIG. 10 is a schematic view of another embodiment of the present application;
FIG. 11 is a schematic view of another embodiment of the present application;
FIG. 12 is a schematic view of another embodiment of the present application;
Fig. 13 is a schematic view of another display provided in an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be described below with reference to the accompanying drawings in the embodiments of the present application. Wherein, in the description of the application, unless otherwise indicated, "at least one" means one or more, and "a plurality" means two or more. In addition, in order to facilitate the clear description of the technical solution of the embodiments of the present application, in the embodiments of the present application, the words "first", "second", etc. are used to distinguish the same item or similar items having substantially the same function and effect. It will be appreciated by those of skill in the art that the words "first," "second," and the like do not limit the amount and order of execution, and that the words "first," "second," and the like do not necessarily differ.
For clarity and conciseness in the description of the embodiments below, a brief introduction to related concepts or technologies is first given:
quality of user experience (quality of experience, qoE) is the subjective perception by the end user of the performance of the services provided by the mobile network. QoE may represent the end-user experience and feel of the traffic and network by a near-quantitative approach, and reflect the gap between the quality of the current traffic and network and the user's expectations.
From the mobile communication network perspective, the best solution to achieve better QoE is to provide a good end-to-end quality of service QoS (Quality of Service). The broad QoS is "a comprehensive effect of service performance determining user satisfaction", and includes a plurality of contents having a wide range of levels. The narrow QoS is a performance index of the underlying packet data transmission, such as delay, jitter, bandwidth, error code, etc. The QoS mechanism is mainly responsible for traffic management and providing traffic differentiation from a network perspective, and the network entity handles different traffic according to different quality requirements. Experiencing QoS from the end user's perspective is a broader, more subjective problem, namely the category defined by QoE.
HOOK (HOOK): the HOOK is actually a program segment for processing a message, and is suspended into the system by a system call. Whenever a particular message is sent, the hooking program captures the message before the destination window is reached, i.e., the hooking function gains control first. The hook function can process (change) the message, can continue to transmit the message without processing, and can forcedly end the transmission of the message.
Data flow: in the embodiment of the application, the data sequence transmitted between two electronic devices is recorded as a data stream. The data flow may also be referred to as a traffic flow. In practical applications, the data stream may be a video stream, an audio stream, a download stream, a session stream, etc., based on the traffic scenario of the data stream.
Network channel: and a channel for data interaction between the two electronic devices. 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.
Taking an electronic device as a mobile phone as an example, referring to fig. 1A, a user plays a short video by using an application a (short video application) in the mobile phone, wherein the application a in the mobile phone establishes a network connection with a server a of the application a through a data service 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 playing the short video) is transmitted through a Wi-Fi network between a wireless network card and a wireless router on the mobile phone. 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 process of using the application software by the user, if the quality of the network used when the application software communicates with the corresponding server is poor, a blocking phenomenon can occur, for example, the user frequently blocks when watching video or voice chat, so that the use experience of the user is affected.
To solve the above problem, the operating system of the electronic device may set a corresponding network acceleration policy. For example, the network acceleration policy set by the operating system may be to evaluate the quality of the currently used network based on the signal strength, uplink and downlink air interface rate, transmission control protocol/internet protocol (transmission control protocol/internet protocol, TCP/IP) retransmission times, and other communication parameters of the currently used network, where the quality of the currently used network is poor, and a network with better quality is used.
However, such network traffic jam assessment based on communication parameters is often inconsistent with the actual experience perception of the user, and when the operating system assesses that the network quality is poor, the user may not feel the jam, and at this time, switching the network may cause multiple consumption of user traffic, and switching the network itself may cause network jam, so that the user experience is poor.
The embodiment of the application provides a network acceleration method, a foreground application program can inform an operating system of own business cartoon information in real time, and the business cartoon information can comprise a cartoon timestamp, a current business scene and the like. After receiving the service blocking information reported by the foreground application program, the operating system fuses the service blocking information with the communication parameters acquired by the operating system, and carries out QoE judgment by using the fused result, if the service is considered to be blocked indeed, a network channel with better quality than the network channel currently in use can be selected, and the data flow of the application program is switched to the better network channel. Therefore, the network quality is evaluated cooperatively through the operating system and the application program, so that the network switching operation and other operations are not performed under the condition that the slight fluctuation of the network does not influence the user experience, the user can still have smooth Internet surfing experience, and the Internet surfing experience of the user is better improved.
The network acceleration method provided by the embodiment of the application can be applied to electronic equipment. Fig. 1B is a schematic structural diagram of an electronic device 100 according to an embodiment of the present application.
As shown in fig. 1B, 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, an indicator 192, A camera 193, A display 194, A subscriber identity module (subscriber identification module, SIM) card interface 195, and the like.
The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, and the like.
It is to be understood that the structure illustrated in the present embodiment does not constitute a specific limitation on the electronic apparatus 100. In other embodiments, 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 (NPU), etc. Wherein the different processing units may be separate devices or may be integrated in one or more processors.
The controller may be a neural hub and command center of the electronic device 100. 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 can be called directly from the memory. Repeated accesses are avoided and the latency of the processor 110 is reduced, thereby improving the efficiency of the system.
In some embodiments, the processor 110 may include one or more interfaces. The interfaces may include an integrated circuit (inter-INTEGRATED CIRCUIT, I2C) interface, an integrated circuit built-in audio (inter-INTEGRATED CIRCUIT SOUND, I2S) interface, a pulse code modulation (pulse code modulation, PCM) interface, a universal asynchronous receiver transmitter (universal asynchronous receiver/transmitter, UART) interface, a mobile industry processor interface (mobile industry processor interface, MIPI), a general-purpose input/output (GPIO) interface, a subscriber identity module (subscriber identity module, SIM) interface, and/or a universal serial bus (universal serial bus, USB) interface, among others.
It should be understood that the connection relationship between the modules illustrated in this embodiment is only illustrative, and does not limit the structure of the electronic device 100. In other embodiments, the electronic device 100 may also employ different interfaces in the above embodiments, or a combination of interfaces.
The charge management module 140 is configured to receive a charge input from a charger. The charging management module 140 may also supply power to the electronic device through the power management module 141 while charging the battery 142.
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.
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 modem processor may include a modulator and a demodulator. The modulator is used for modulating the low-frequency baseband signal to be transmitted into a medium-high frequency signal. The demodulator is used for demodulating the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low frequency baseband signal to the baseband processor for processing. The low frequency baseband signal is processed by the baseband processor and then transferred to the application processor. The application processor outputs sound signals through an audio device (not limited to the speaker 170A, the receiver 170B, etc.), or displays images or video through the display screen 194.
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 communication (NEAR FIELD communication, NFC), infrared (IR), etc., 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 wireless communication techniques can include the Global System for Mobile communications (global system for mobile communications, GSM), general packet radio service (GENERAL PACKET radio service, GPRS), code division multiple access (code division multiple access, CDMA), wideband code division multiple access (wideband code division multiple access, WCDMA), time division code division multiple access (time-division code division multiple access, TD-SCDMA), long term evolution (long term evolution, LTE), BT, GNSS, WLAN, NFC, FM, and/or IR techniques, among others. The GNSS may include a global satellite positioning system (global positioning system, GPS), a global navigation satellite system (global navigation SATELLITE SYSTEM, GLONASS), a beidou satellite navigation system (beidou navigation SATELLITE SYSTEM, BDS), a quasi zenith satellite system (quasi-zenith SATELLITE SYSTEM, QZSS) and/or a satellite based augmentation system (SATELLITE BASED AUGMENTATION SYSTEMS, SBAS).
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. The display 194 includes a display panel. The display panel may employ a Liquid Crystal Display (LCD) screen (liquid CRYSTAL DISPLAY), a light-emitting diode (LED), an organic light-emitting diode (OLED), an active matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (flex-emitting diode), miniled, microLed, micro-oLed, a quantum dot LIGHT EMITTING diodes (QLED), or the like.
The electronic device 100 may implement photographing functions through an ISP, a camera 193, a video codec, a GPU, a display screen 194, an application processor, and the like. The ISP is used to process data fed back by the camera 193. The camera 193 is used to capture still images or video. The digital signal processor is used for processing digital signals, and can process other digital signals besides digital image signals. Video codecs are used to compress or decompress digital video. The electronic device 100 may support one or more video codecs. In this way, the electronic device 100 may play or record video in a variety of encoding formats, such as: dynamic picture experts group (moving picture experts group, MPEG) 1, MPEG2, MPEG3, MPEG4, etc.
The camera 193 may include 1 to N. For example, the electronic device may include 2 front cameras and 4 rear cameras.
The NPU is a neural-network (NN) computing processor, and can rapidly process input information by referencing a biological neural network structure, for example, referencing a transmission mode between human brain neurons, and can also continuously perform self-learning. Applications such as intelligent awareness of the electronic device 100 may be implemented through the NPU, for example: image recognition, face recognition, speech recognition, text understanding, etc.
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 including 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. For example, in an embodiment of the present application, the processor 110 may include a storage program area and a storage data area by executing instructions stored in the internal memory 121. The storage program area may store an application program (such as a sound playing function, an image playing function, etc.) required for at least one function of the operating system, etc. The storage data area may store data created during use of the electronic device 100 (e.g., audio data, phonebook, etc.), and so on. 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 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 information into an analog audio signal output and also to convert an analog audio input into a digital audio signal. The audio module 170 may also be used to encode and decode audio signals. The speaker 170A, also referred to as a "horn," is used to convert audio electrical signals into sound signals. A receiver 170B, also referred to as a "earpiece", is used to convert the audio electrical signal into a sound signal. Microphone 170C, also referred to as a "microphone" or "microphone", is used to convert sound signals into electrical signals. The earphone interface 170D is used to connect a wired earphone.
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 indicator 192 may be an indicator light, may be used to indicate a state of charge, a change in charge, a message indicating a missed call, a notification, etc. 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 SIM card interface 195 may support Nano SIM cards, micro SIM cards, and the like.
The methods in the following embodiments may be implemented in the electronic device 100 having the above-described hardware structure.
The software system of the electronic device 100 may employ a layered architecture, an event driven architecture, a micro-core architecture, a micro-service architecture, or a cloud architecture. In the embodiment of the invention, taking an Android system with a layered architecture as an example, a software structure of the electronic device 100 is illustrated. The layered architecture divides the software into several layers, each with distinct roles and branches. The layers communicate via interfaces.
In some embodiments, the technical architecture of the electronic device 100 includes: an application layer, a service layer, a policy layer and a kernel layer. It should be understood that only some of the layers and some of the components related to the embodiments of the present application are shown in fig. 2, and in practical applications, layers and components (modules) not shown in fig. 2 may be included. Of course, only some of the components shown in fig. 2 may be included.
Among these are various applications in the application layer, such as, for example, video-type applications, game-type applications, etc.
The service layer is provided with a network acceleration service module, a perception module and a path management module.
The network acceleration service module is a channel for the application program to interact with the sensing module, and the network acceleration service module can forward a message (for example, a registration request) for the application program and the sensing module based on a Binder mechanism. Wherein, binder is a communication mechanism between processes, can realize the communication between different processes.
The sensing module is used for detecting various events of the upper layer application. As an example, the awareness module may detect the opening, exiting, and may also detect applications currently switching to foreground/background, and may also detect the installation, uninstallation, etc. of applications. When the sensing module detects that the application is opened or the application is switched to the foreground, the lower layer module (decision module) can be informed to start the network acceleration function and enable the monitoring function of the data flow.
The path management module may be used to detect the status (on or off, etc.) of Wi-Fi networks and cellular networks supported by the electronic device. As an example, if the electronic device is provided with the wireless network card 1 in the 2.4GHz band and the wireless network card 2 in the 5.0GHz band. The path management module can detect whether a wireless network in the 2.4GHz frequency band 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. If the electronic device is provided with the data service network card 1 of the operator A and the data service network card 2 of the operator B. The path management module can detect whether the data service of the operator A is in an on or off state; it is also possible to detect whether the data traffic of operator B is on or off.
The path management module is also used for evaluating the quality of the network channel. As an example, the path management module may evaluate the quality of Wi-Fi networks in the 2.4GHz band and may also evaluate the quality of Wi-Fi networks in the 5.0GHz band. The quality of the cellular network of operator a may also be assessed, as well as the quality of the cellular network of operator B.
The path management module may also store paths for multiple network channels, and illustratively, may store paths for network channels currently used by the application (e.g., a primary network channel) and for backup network channels. The path management module can also be used for updating the selection of the network channel according to the strategy change of the decision module, triggering the quality detection of the network channel and dynamically selecting the optimal channel. The path management module can start the selected optimal channel, namely, the network channel is converted from the dormant state to the wake state, and the network channel in the wake state can be directly used. The path management module may close the non-optimal channel, i.e. switch the network channel from the awake state to the dormant state, where the network channel in the dormant state is temporarily unavailable.
The policy layer is provided with a flow management module and a decision module.
The flow management module is used for counting the data flows reported by the kernel layer and evaluating the network quality of each data flow.
The decision module stores QoE evaluation strategies (QoE evaluation conditions) of data flows of different service scenes in the application program so as to execute the corresponding QoE evaluation strategies according to the current service scene of the application program. For example, when the current service scenario of the application program is the first scenario, the QoE of the data stream needs to be determined together according to the katon information reported by the application program and the communication parameters and the statistical information of the data stream acquired by the operating system, so as to determine the QoE of the data stream more accurately. When the current service scene of the application program is the second scene, the QoE of the data flow can be determined according to the communication parameters and the statistical information of the data flow acquired by the operating system. If the QoE indicates that the data flow is stuck, the path management module may be requested to select a network channel with better quality than the network channel currently being used, so as to switch the data flow of the application program to the better network channel.
The first scene is a business scene which is determined by the application program and needs to cooperatively judge QoE, and the second scene is a business scene which is determined by the application program and does not need to cooperatively judge QoE. The collaborative judgment QoE refers to that an operating system of the electronic device collaborative judges QoE of a data stream of an application according to a communication parameter collected by the operating system and service jamming information reported by a foreground application, determines whether the service is jammed according to the collaborative judged QoE, and if the service is considered to be jammed, can select a network channel with better quality than a network channel currently in use, and switch the data stream of an application program to the better network channel.
The kernel layer is provided with a strategy executing module and a flow reporting module. The traffic reporting module is used for collecting data flow information and reporting the collected data flow information. The policy execution module is used for executing the switching of the network channel.
In another embodiment of the present application, one module (component) in the above embodiment may be split into two or more modules, or two or more modules located at the same level may be combined into the same module.
As an example, the path management module of the service layer may be split into a path detection module and a path control module, and the path detection module may be used to detect the status and quality of Wi-Fi networks and cellular networks supported by the electronic device. The path control module can be used for updating the selection of the network channel according to the strategy change of the decision module, triggering the quality detection of the network channel and dynamically selecting the optimal channel.
For easy understanding, the network acceleration method provided by the embodiment of the application is specifically described below with reference to the accompanying drawings.
Before the operating system of the electronic device executes the network acceleration policy, a user is required to start the network acceleration function in advance. The following describes a UI interface and user operation for a user to start a network acceleration function in advance.
Illustratively, as shown in fig. 3 (a), the cell phone displays a desktop 201. In response to a user clicking on the icon 202 of the setting application on the desktop 201, the handset may display a setting interface 203 as shown in (b) of fig. 3. The setting interface 203 may include WLAN options 204, and may further include a search box and functional options such as personal account number, bluetooth, mobile network, desktop, wallpaper, etc. In response to a user clicking on the control corresponding to WLAN option 204, the handset may display WLAN interface 205 as shown in fig. 3 (c). WLAN switch 206 may be included in WLAN interface 205. The WLAN switch 206 is on, indicating that the handset can connect to the WLAN for surfing the internet. The WLAN interface 205 may also include a network acceleration option 207, as well as further WLAN setup options and a list of available WLANs, which may include names (e.g., honr 1, honr 2, honr 3, etc.) and signal strength identifications of the multiple WLAN networks currently scanned by the handset, etc. In response to a user clicking on the control corresponding to the web acceleration option 207, the handset may display a web acceleration interface 208, as shown in fig. 3 (d). The network acceleration interface 208 may include a text description 209 of the network acceleration function, where the text description 209 indicates that the network acceleration function is "evaluate current network quality, intelligently use WLAN and mobile data to enhance the internet experience, and this process may network and consume part of the mobile data traffic". Alternatively, if the user turns on glowing wisdom, network acceleration will provide more intelligent services. The user can click on the link "statement of glowing wisdom ability and privacy" to view a description of glowing wisdom ability. After the glowing intelligent capability is started, the operating system can collect the habit of the user for using the mobile phone, and personalized service is provided for the user according to the habit of the user. The network acceleration interface 208 may also include a corresponding switch 210 for network acceleration (LINK Trubo). Switch 210 is on, indicating that the user agrees to turn on the network acceleration function so that the handset can evaluate the current network quality and intelligently use WLAN and mobile data to enhance the internet experience. Of course, the user may choose to turn off the switch 210, i.e., turn off the network acceleration function. Below the switch 210, a text box 211 may be displayed, with text in the text box 211 being used to illustrate to the user the effect of the network acceleration function and the traffic usage. For example, after the network acceleration function is started, the downloading speed is increased by 35%, and the use flow is 100M; network blocking is reduced by 40 times, and traffic 40M is used. It should be noted that the network acceleration function may include a concurrency acceleration function 212 and a collaborative acceleration function 214. The concurrency acceleration function 212 includes a multi-channel download mode 213 that a user can enter through a control 217 into a setup interface of the multi-channel download mode, turning on or off. When the multi-channel download mode 213 is turned on, the electronic device may use multiple network channels to download simultaneously when connecting the WLAN and the mobile network, so as to obtain a faster download experience. The multi-channel download mode 213 in fig. 3 (d) is an off state. The collaborative acceleration function 214 includes a smart mode 215 and a custom mode 216. In the intelligent mode 215, applications requiring network acceleration may be intelligently opened based on user traffic consumption and application usage preferences. The user can turn the smart mode on or off via control 218. In fig. 3 (d), control 218 is in the selected state and the smart mode is on. In custom mode 216, the user may manually open an application that requires network acceleration. The user can turn the custom mode on or off via control 219. When the control 219 in (d) of fig. 3 is in the unselected state, the custom mode is turned off. When the user selects the intelligent mode 215 or the custom mode 216 of the collaborative acceleration function 214, when the corresponding application program (the application requiring network acceleration which is intelligently started in the intelligent mode 215 or the application requiring network acceleration which is manually selected by the user in the custom mode 216) runs in the foreground, if network blocking occurs, the electronic device can switch the blocked network channel to the network channel with better communication quality, so as to obtain better internet surfing experience.
In response to the user selecting control 219 to open custom mode 216, as shown in fig. 4 (a), the handset may display information (icons, names, etc.) of various applications installed by the handset and their corresponding switches, as shown in fig. 4 (b). For example, the cell phone may display the corresponding switch 221,/> the corresponding switch 222, the video application corresponding switch 223,/> the corresponding switch 224, the music application corresponding switch 225, and so on. The user can manually select the application program needing acceleration according to the own requirement. For example, the user may turn on the switch 221 corresponding to/> , the switch 222 corresponding to/> , the switch 223 corresponding to the video application, and the switch 224 corresponding to the/> , which indicates that when the user uses the/> video application and the/> , the mobile phone may turn on network acceleration to ensure the user's use experience.
Referring to fig. 5, a timing diagram of a network acceleration method implemented based on each module shown in fig. 2 according to an embodiment of the present application includes:
301. In response to a user operation to open application a, application a is started.
Application a is an application program of the application layer and may be, for example, a short video application. In response to a user opening application a, application a starts, and the electronic device may display a relevant interface of application a. At this time, application a is a foreground application, i.e., the program code of application a is running in the CPU.
Taking application a as a short video application (e.g., tremble) as an example, as shown in fig. 6 (a), in response to a user clicking on an icon 402 of the tremble application on a desktop 401, the tremble application is started, as shown in fig. 6 (b), and the tremble application may display a short video playback interface 403 by default.
Or step 301 may be that application a switches from the background to the foreground, while application a is still the foreground application.
302. The sensing module senses that the application A is started and inquires whether the application A supports network acceleration.
Illustratively, the awareness module may monitor the current foreground application (e.g., application A) by A function RunningProcess, activityLifecycleCallbacks, usageStatsManager or the like and obtain an identification of the foreground application. Or if the terminal equipment is an Android system, the current foreground application can be monitored through the barrier-free function of the Android system, and the identification of the foreground application is obtained. Or if the terminal equipment is a Linux system, the process information stored in the kernel/proc directory of the Linux system can be read to monitor the current foreground application, and the identification of the foreground application is obtained. The specific judging process can refer to the prior art, and is not described herein. The application identifier is used for uniquely identifying an application, and can be in one-to-one correspondence with the package name of the application, or can be the package name of the application.
The sensing module may include an application configuration library, where information about whether a plurality of application programs including application a support network acceleration is stored. As shown in table 1, information of whether a part of the application supports network acceleration is exemplarily shown.
TABLE 1
Or the application configuration library may store only information (network acceleration list) of applications supporting network acceleration. As shown in table 2, information of an application program partially supporting network acceleration is exemplarily shown.
TABLE 2
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.
In one possible implementation, as shown in (d) of fig. 3, if the user selects the intelligent mode 215 of the collaborative acceleration function 214, the plurality of applications in the application configuration library may be intelligently determined applications that require network acceleration based on the user traffic consumption and application usage preferences.
In another possible implementation, as shown in fig. 4 (a), if the user selects the custom mode 216 of the collaborative acceleration function, the plurality of applications in the application configuration library may be applications that require network acceleration, which are determined based on the user's manual settings. For example, as shown in (b) of fig. 4, if the user turns on the switch 221 corresponding to , the switch 222 corresponding to/> , the switch 223 corresponding to the video application, and the switch 224 corresponding to/> , the plurality of application programs in the application configuration library may include/> video application and/>
303. If the application A is determined to support network acceleration, the perception module sends a network quality assessment request to the decision module.
If the perception module determines that the application A supports network acceleration by querying an application configuration library, a network quality assessment request can be sent to the decision-making module. After the decision module receives the network quality assessment request, step 304 may be performed.
The network quality evaluation request is used for requesting the decision module to evaluate the network quality. The network quality assessment request may include an application identification, configuration information of the application, and criteria for network quality assessment. The configuration information of the application refers to the message characteristics of the application when the application performs service, and the message characteristics are the header characteristics of the data packet when the application transmits the data stream.
Or the sensing module senses that the application a is switched to the foreground, and can inform the decision module, the decision module can query the application configuration library to determine whether the application a supports network acceleration, and if it is determined that the application a supports network acceleration, step 304 can be executed.
304. The decision module registers a message monitoring hook to the flow reporting module of the kernel layer.
The message monitoring hook can periodically detect the path of the network channel currently used by the application A, and monitor the communication parameters and statistical information of the data stream transmitted by the network channel used by the application A.
Application a may generate one or more data streams when performing a function. If the generation of multiple data streams is detected, the communication parameters and statistics of each data stream of application a may be periodically detected.
The following describes in detail how the message monitoring hook monitors communication parameters and statistics of the data flow of the application a, and sends the monitored communication parameters and statistics of the data flow to the traffic management module.
There is a Netfilter component (hook function management component) in the system of the electronic device through which the data flow of the application corresponding to the specific application identifier can be obtained. The traffic reporting module may obtain a message of the data flow of the application a by calling the Netfilter component. In specific implementation, the information reported to the flow management module by the flow reporting module not only includes the message of the data flow of the application A, but also includes some communication parameters and statistical information of the message of the data flow of the application A.
Referring to fig. 7, the traffic reporting module may pre-register a message monitoring hook (e.g., nf_hook function). After the Netfilter assembly is called by the flow reporting module, the Netfilter assembly reports the message of the data flow of the application A, and after the flow reporting module receives the message of the data flow reported by the Netfilter assembly, a pre-registered nf_hook function is called.
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 the message analysis is performed, whether the application identifier exists in the message and the quadruple (or quintuple) of the message can be checked to obtain an analysis result. If the application identifier exists, an application program 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. In addition, the message (packet) itself carries the header characteristics. The parameters of the message of the data stream, such as the four-tuple (or five-tuple) and the header characteristics of the message, can be collectively called as the communication parameters of the data stream.
After the message analysis is carried out, 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 the total number of messages, the number of receiving and transmitting bytes (including the number of receiving bytes and the number of transmitting bytes), the number of error packets and the like of each data flow. Further, whether the downlink has no response can be determined according to the total number of the messages, for example, if the total number of the messages received in two consecutive periods is the same, the downlink has no response is determined. The transmission rate may be determined according to the number of bytes received and transmitted, for example, the ratio of the difference between the number of bytes received in the previous period and the current period to the period is the downlink rate of the current period. The packet loss condition may be determined according to the sequence number carried in the packet, for example, a loss tolerance (loss tolarance) or packet loss rate may be a ratio of the number of missing sequence numbers to the number of existing sequence numbers. 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 information such as the total number of messages, the number of error packets, the packet loss rate, the number of bytes received and transmitted, the rate (uplink rate, downlink rate) and the like of the data stream can be collectively called as statistical information of the data stream.
In practical applications, the statistical information of each flow may also include other information, for example, flow distribution information of the data flow changing with time, delay information of a packet of the data flow, and so on.
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 time elapsed in total from when the mobile phone starts sending the heartbeat request message to the server until the mobile phone receives the heartbeat response message fed back by the server).
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 above processing, the obtained filtered partial message is stored in a Socket-Buffer (SKB) queue (queues).
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 module checks the queue in time and reports the message in the queue to the flow management module in time.
If the message is reported regularly, a timer is set in the flow reporting module, 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 management module.
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 module checks the queue in time and reports the message needing immediate reporting in the queue to the flow management module in time. The flow reporting module 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 management module.
When the message is reported, the statistical information related to the message can be reported together.
Based on the above understanding, the traffic reporting module does not report all messages sent by the Netfilter component to the traffic management module. Instead, the message satisfying the specific characteristic (may carry the communication parameter and the statistical information of the message satisfying the specific characteristic) is reported to the traffic management module. And reporting the communication parameters and the statistical information related to the message meeting the characteristics.
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 management module. 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 management module. I.e. although part of the message is reported, the statistics are based on all messages in the data stream.
305. The flow reporting module periodically reports communication parameters and statistical information of the data flow to the flow management module.
The communication parameters of the data flow may include protocol type, source IP address and port/destination IP address and port, message characteristics, and message information (payload). The protocol type is the protocol type when the application transmits the data stream, the source IP address and the port are the IP address and the port used when the data stream is transmitted, the destination IP address and the port are the IP address and the port used when the data stream is received, and the message characteristic is the head characteristic of the data packet when the application transmits the data stream. The communication parameters of the data stream may be obtained from a quad or a quintuple of the messages of the data stream.
For example, when a social communication class is applied to an audio/video call, the header of a data packet corresponding to a data stream is characterized by 97 head, namely data [0] =97, UDP protocol is adopted when the data packet is transmitted, the source IP address and the port are 221.11.6.Xx and 8080 respectively, and the destination IP address and the port are 221.14.4.Xx and 5050 respectively.
The statistical information (flow quality parameter) of the data flow may include Round Trip Time (RTT), packet loss rate, number of bytes transmitted and received, rate (uplink rate, downlink rate), etc. Where the number of transceiving bytes includes the number of transmit bytes (i.e., upload traffic) and the number of receive bytes (i.e., download traffic). The packet loss rate is the ratio of the number of lost packets to the transmitted packets. The uplink rate is the rate at which the data stream is transmitted, and the downlink rate is the rate at which the data stream is received. RTT means a total time period from when an electronic device (transmitting end) transmits data to when an acknowledgement from an opposite end (receiving end) is received (the opposite end immediately transmits acknowledgement after receiving data), which is elapsed.
For example, when a certain social communication application performs audio/video call, the number of receiving bytes is 10MB/8MB, the uplink rate and the downlink rate are 200kbit/180kbit, and the RTT is 50ms.
Of course, in practical application, the flow reporting module may also report other parameters of the application network packet, such as the flow interval time, the packet size, and the flow distribution, to the flow management module, which is not limited in the present application.
Optionally, the traffic reporting module may report the communication parameters and the statistical information of the application network packet through one message, or may report the communication parameters and the statistical information of the application network packet through a plurality of messages respectively.
306A, the flow management module periodically performs network quality assessment according to the communication parameters and the statistical information of the data flow to obtain a current QoE measurement result.
After receiving the communication parameters and the statistical information of the data stream of the application a, the flow management module may query a stream feature library of the application a, for example, may identify a service scene of the application running in the foreground (for example, identify a short video playing scene that is jittering) according to the protocol type, the port, the packet protocol header and other features of the packet, and record the service scene in the stream table. The flow characteristics library of the application a stores various information of the data flow of the application a, for example, the protocol characteristics of the protocol adopted when the application a uses the current network, the header characteristics of the data packet transmitted when the application a uses the current network, and the like. Of course, the flow characteristics of the application a when using the current network may also be included, which is not limited herein.
The traffic management module may periodically perform QoE assessment on the data flows of the applications running in the foreground. In practical applications, qoE evaluation conditions corresponding to different applications may be the same or different. The QoE evaluation condition may refer to a condition that statistical information of the data flow satisfies in consecutive periods. QoE evaluation conditions corresponding to different traffic scenarios of the same application may be the same or different. For example, qoE evaluation conditions of a fight scene and a running map scene of a game application may be different, and for example, a video selection scene, a video playing scene in the video application, qoE evaluation conditions of a small window playing scene may be different, and designing different QoE evaluation conditions based on different service scenes may make QoE evaluation more accurate. Different service scenes can be distinguished through communication parameters, and when the conditions met by the communication parameters are different, the service scenes corresponding to the communication parameters are also different. The same business scenario of the same application may correspond to one or more QoE evaluation conditions. Each QoE evaluation condition corresponds to one QoE measurement (which may also be referred to as a QoE evaluation result). The plurality of QoE evaluation conditions may correspond to the same QoE measurement result, and when any of the plurality of QoE evaluation conditions is satisfied, the same QoE measurement result may be obtained.
Taking the tremble short video play scene as an example, the QoE evaluation condition corresponding to the tremble short video play scene may be that the blocking condition of the short video play is evaluated according to the condition that the packet loss rate and/or the time delay are satisfied. For example, if the packet loss rate in the short video playing scene satisfies the condition that 2 times of packet loss continuously occurs for 20% in 3s, and/or the time delay of the short video playing scene satisfies the condition that 2 times of time delay continuously occurs for more than 200ms in 4s, the QoE measurement result of the jittered short video playing scene can be considered as poor, i.e. the jittering occurs in the short video playing process.
For example, the QoE measurement may include: excellent (fluent without jamming), medium (possibly jammed) and poor (jammed). For example, the indication that the QoE measurement is good may be 00, the indication in the QoE measurement may be 10, and the indication that the QoE measurement is bad may be 11.
As shown in table 3, the current traffic scenario of the application running in the foreground can be distinguished according to the condition satisfied by the communication parameters of the data stream. Further, the QoE measurement results of the corresponding service scenarios may be determined according to different QoE evaluation conditions corresponding to the different service scenarios. QoE measurement results are different when the communication parameters and the statistics of the data flows of the application respectively satisfy different conditions.
TABLE 3 Table 3
In table 3, com.tent.mm is a West packet name, com.ss.android.ugc.aweme is a tremble packet name, and com.tent.tmgp.sgame is a wander glory packet name. One entry in table 3 indicates that when the communication parameters and the statistical information of the data flow of the application program respectively meet the corresponding conditions, a corresponding QoE measurement result may be obtained. For example, when the udp protocol+any port+0x10 packet header is used for the data stream that the principals are glowing, and the data stream is delayed by more than 150ms in 3 consecutive periods within 5 periods or lost by more than 20% in 3 consecutive periods within 4 periods, the QoE measurement result is poor.
Table 3 lists QoE evaluation conditions and QoE measurement results for data flows of only part of the applications, and is only for example. In practical application, other different QoE evaluation conditions can be adopted to obtain QoE measurement results.
In some cases, misjudgment may occur based on the QoE measurement results obtained in table 3. For example, when the user uses the short video application, if the user brushes a certain short video, the short video application starts to download the short video through the network channel and caches a part of data frames of the downloaded short video, and then obtains the data frames of the short video from the cache and starts to play. 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 in table 3 are adopted, if it is determined that the delay of the data stream of the end video application for a plurality of periods continuously exceeds 350ms or the downlink rate (average value) of the data stream for a plurality of periods continuously is less than 51kb/s, the QoE measurement result of the data stream is poor. In the above example, during the 5 th to 15 th seconds, the rate (average value) in the consecutive periods is 0, and it may be determined that the current data stream is stuck, that is, the transmission quality on the current network channel is poor.
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. In view of this, the embodiment of the present application provides another method for evaluating QoE measurement results for short video class applications. The data stream for short video class applications is characterized 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.
Referring to fig. 8, 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 good. 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. 8, 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.
Referring to fig. 9, 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 part in the fourth time period is smaller than or equal to the first value, which indicates that the transmission quality of the video stream does not meet the requirement, network quality needs to be improved, and the electronic device transmits the video stream through the second network card of the electronic device in the sixth time period, so that the duration of the second part and the duration of the first part can be set to be equal for uniform evaluation criteria.
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. 8 and the rate characteristics shown in fig. 9: 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. 8 and 9, 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 (for example, 500 ms) is obtained periodically, 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 a single average period, if the average rate is not 0, determining that the periodic transmission quality of the current average period is poor when the average rate is less than or equal to a threshold value a (which may be equal to a first value or not); and under the condition that the average rate is greater than the threshold value A, judging that the period transmission quality of the current average period is excellent. If the average rate is 0, the period transmission quality (poor or excellent) corresponding to the last average period is extended in the case of extending the average rate of the last average period. Therefore, when the period transmission quality of the previous average period is poor, the period transmission quality of the current average period is considered to be poor, and when the previous average period is excellent, the period transmission quality of the current average period is considered to be excellent. 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:
preferably: the average speed of the present mean period is greater than or equal to a threshold A (e.g., 50 kb/s); or the average rate is equal to 0, and the period transmission quality of the last average period is good.
The difference is: the average speed is less than threshold a and not equal to 0; or the average rate is equal to 0 and the period transmission quality of the last average period is poor.
After the period transmission quality of each average period is determined, the period transmission quality of the current average period and the period transmission quality of M-1 continuous average periods before the current average period can be checked, and if the period transmission quality of at least N average periods is poor in the period transmission quality of the continuous M average periods, the data stream transmission quality of the data stream is judged to be poor. Wherein N is less than or equal to M. If the period transmission quality of less than N average periods is poor, the data stream transmission quality of the data stream is judged to be good.
306B, periodically reporting the current QoE measurement result to the decision module by the flow management module.
It should be noted that, after the application a is started, the traffic reporting module may periodically detect the network quality of the network used by the application a, and periodically report the communication parameters and the statistical information of the application network packet. And the flow management module periodically evaluates the network quality according to the communication parameters and the statistical information of the application network message to obtain a QoE measurement result, and periodically informs the decision module of the current QoE measurement result until the application A is closed.
That is, during the start-up (or foreground operation) of the application a, the traffic reporting module is periodically detecting the network quality of the network used by the application a, and the traffic management module is periodically evaluating the network quality to obtain QoE measurement results, and periodically notifying the decision module of the current QoE measurement results.
That is, steps 305-306 b may be performed periodically during application A startup (or foreground run-time).
In addition, after the application a is started, the method may further include the following steps:
307. the application A sends a registration request to the network acceleration service module.
The registration request is used to register QoE collaborative assessment capabilities. After the application A registers the QoE collaborative assessment capability, the network quality condition perceived by the application A can be sent to a decision module, and the decision module can carry out QoE collaborative assessment according to the network quality condition sent by the application A and the network quality condition perceived by an operating system so as to determine whether to switch network channels.
308. The network acceleration service module sends a registration request to the awareness module.
309. The sensing module sends a registration result to the network acceleration service module, and the registration result is successful.
After the sensing module receives the registration request of the application A, the following judgment can be performed: (1) Querying an application configuration library to determine whether the application A supports network acceleration; (2) determining whether application a is running in the foreground; (3) It is determined whether application a possesses enhanced network awareness rights. It should be noted that, if the application a needs to register QoE collaborative evaluation capability, first, a developer may register on a developer website (e.g., glowing developer website), and after the registration developer succeeds, the authority of appid and the network acceleration service kit may be applied. kit is a software development kit (software development kit, SDK) for providing basic services to (applications of) the application layer. The subsequent awareness module checks if application a is a legitimate user registered on the glowing developer website and checks if application a has the right to network acceleration service kit. The network acceleration service kit rights comprise enhanced network perception rights and enhanced multi-network concurrency rights. The application with the enhanced network perception authority can send the network quality condition perceived by the application to an operating system of the electronic equipment, and the operating system can carry out QoE collaborative evaluation according to the network quality condition sent by the application and the network quality condition perceived by the operating system so as to determine whether to switch network channels.
If the sensing module determines that the application A supports network acceleration, the application A runs in the foreground and has enhanced network sensing authority, and the application A is determined to be successfully registered. The sensing module can send a registration result to the application A through the network acceleration service module, and the registration result is successful.
310. The network acceleration service module sends the registration result to the application a.
It should be noted that, there is no necessary execution sequence between the steps 302-306 b and 307-310, and the steps 302-306 b may be executed first, and then the steps 307-310 may be executed; or step 307-step 310 may be performed first, and then step 302-step 306b may be performed; it is also possible to perform steps 302-306 b and steps 307-310 simultaneously; the execution sequence of the steps is not particularly limited in this embodiment.
311. The perception module inquires a business scene which corresponds to the application A and needs to cooperatively judge QoE.
The sensing module senses that the application program is started/switched to the foreground, determines that the application program is an application program supporting network acceleration, and can inquire a service scene which corresponds to the application program and needs to cooperatively judge QoE.
It should be noted that, the application program supporting network acceleration may include two types of service scenarios, where one type of service scenario is a service scenario that does not require a collaborative decision of QoE, and the other type of service scenario is a service scenario that requires a collaborative decision of QoE. The collaborative judgment QoE refers to that an operating system of the electronic device collaborative judges QoE of a data stream of an application according to a communication parameter collected by the operating system and service jamming information reported by a foreground application, determines whether the service is jammed according to the collaborative judged QoE, and if the service is considered to be jammed, can select a network channel with better quality than a network channel currently in use, and switch the data stream of an application program to the better network channel.
When the current service scenario is a service scenario which does not need to cooperatively judge QoE, an operating system of the electronic equipment can determine the QoE of a data flow of the current service according to the communication parameters and the statistical information acquired by the operating system. When the current service scene is a service scene requiring cooperative QoE judgment, an operating system of the electronic equipment can acquire service cartoon information from an application, and the QoE of a data stream of the current service is judged in a cooperative mode according to the communication parameters acquired by the operating system, the statistical information and the service cartoon information reported by the operating system. If the QoE indicates that the traffic is blocked, a preset network acceleration policy is executed (e.g., the data flow corresponding to the current traffic scenario is switched from the network channel being used to the network channel with better network quality).
The sensing module can store business scenes which are corresponding to a plurality of application programs (application programs supporting network acceleration and need to cooperatively judge QoE. As shown in table 4, a service scenario corresponding to a part of application programs and requiring a collaborative decision QoE is exemplarily shown.
TABLE 4 Table 4
The sensing module can determine a service scenario corresponding to the application a and requiring a collaborative decision QoE through table lookup (e.g., table 4). For example, if the application a is , the service scenario in which the application a needs to cooperatively determine QoE includes a short video playing scenario. Table 4 is only an illustration, and the application may include other or more traffic scenarios requiring a collaborative decision QoE when actually implemented.
312. The perception module informs the decision module of the business scene which is corresponding to the application A and needs to cooperatively judge QoE.
313. The decision module records the business scene which is corresponding to the application A and needs to cooperatively judge QoE.
It can be appreciated that the application program can enter, switch, and exit various business scenarios during the running process. Taking application a as a short video application as an example, the short video application may include different types of service scenarios, such as a short video play scenario, a message view scenario, a shopping scenario, and the like. Taking application a as a game class application for example, the game class application may include different types of service scenarios, such as a login scenario, a running scenario, a fight scenario, a settlement scenario, a hall scenario, and the like. The following description will take application a as a short video application as an example.
314. The application A informs the network acceleration service module that it enters a short video play scene.
Taking application a as a short video application (e.g., tremble), after the user opens the tremble (i.e., in response to the user clicking an icon of the tremble application on the desktop), the tremble application defaults to enter a short video playback scenario. In response to a user's operation of clicking on the icon 402 of the tremble application on the desktop 401 as shown in fig. 6 (a), the tremble application is started, and the tremble application may display the short video playback interface 403 by default as shown in fig. 6 (b).
315. The network acceleration service module informs the perception module that the application A enters a short video playing scene.
316. The perception module informs the decision-making module that the application A enters a short video playing scene.
317. The decision module records that the current service scene of the application A is a short video playing scene.
318. The application a informs the network acceleration service module that the current traffic is suspended.
Taking the example that the application a is a short video application (e.g., tremble), if the current scene is a short video playing scene, as shown in (a) of fig. 10, in response to a clicking operation of the user on the short video playing interface 403, as shown in (b) of fig. 10, the tremble application may pause playing the current short video (i.e., pause the current service), and may display a pause control 404 on the short video playing interface 403.
After the application a determines that the current service is suspended, the service module may be accelerated towards the network.
It will be appreciated that after the current service of application a is suspended, no network request message (no network request message) is interacted between the electronic device and the server.
319. The network acceleration service module informs the perception module of the current service suspension of the application A.
320. The perception module informs the decision module of the current service suspension of the application A.
321. And the decision module determines the QoE measurement result of the current data flow according to the suspension condition of the application A service and the QoE measurement result reported by the flow management module.
When the decision module receives that the QoE measurement result under the short video playing scene reported by the flow management module is poor (stuck), inquiring whether the service scene which corresponds to the application A and needs to cooperatively judge QoE comprises the short video playing scene, if so, determining that the service pause notification from the application A is received, correcting the QoE measurement result reported by the flow management module by the decision module, changing the QoE measurement result into good (not stuck), and determining that network acceleration is not performed on the application A according to the modified QoE measurement result.
It should be noted that, when the decision module receives the QoE measurement result in the short video play scene reported by the traffic management module is bad (stuck), and receives the service suspension notification from the application a, it may be determined that the QoE measurement result reported by the traffic management module is inaccurate, and in fact, the QoE measurement result is not bad (stuck) due to the network quality degradation, the network quality of the network channel where the data stream of the application a is located is not bad, but the user suspends the current service (short video play service), and the electronic device does not currently have a requirement of downloading the data stream from other electronic devices (e.g., servers), so that the rate in a plurality of continuous periods is 0, so that the traffic management module determines that the QoE measurement result is bad. Therefore, when the decision module receives that the QoE measurement result in the short video play scene reported by the traffic management module is poor (stuck), and determines that the service suspension notification from the application a is received at the same time, the decision module corrects the QoE measurement result reported by the traffic management module, changes the QoE measurement result into good (not stuck), and determines that network acceleration (network channel switching) is not performed on the application a according to the corrected QoE measurement result, so as to avoid the situation that the network channel switching causes network stuck instead.
In addition, if the decision module does not receive the service suspension notification sent by the application a, the QoE evaluation condition may be modified, for example, the threshold of the evaluation condition is modified or the QoE evaluation period is lengthened, for example, the QoE evaluation period may be lengthened from 5 periods to 10 periods, as shown in table 5:
TABLE 5
In Table 5, com.tent.mm is a WeChat package name, and com.tent.tmgp.sgame is a wander glowing package name. One entry in table 5 indicates that when the communication parameters and the statistical information of the data flow of the application program respectively meet the corresponding conditions, a corresponding QoE measurement result may be obtained. For example, when the udp protocol+any port+0x10 packet header is used for the data stream that the principals are glowing, and the delay of the data stream is more than 150ms in 6 consecutive periods within 10 periods, or the packet loss is more than 20% in 8 consecutive periods within 10 periods, the QoE measurement result is poor.
322. The application A informs the network acceleration service module of the current service restoration.
Taking the example that the application a is a short video application (e.g., jittering), the current service may be a short video playing service, as shown in fig. 11, in response to a user clicking on the pause control 404 on the short video playing interface 403, the jittering application may continue playing the current short video (i.e., resume the short video that was paused).
It will be appreciated that after service restoration, the electronic device may interact with the server with a network request message.
323. The network acceleration service module informs the perception module of the current service restoration of the application A.
324. The perception module informs the decision module of the current service restoration of the application A.
325. And the decision module determines the QoE measurement result of the current data flow according to the service recovery condition of the application A and the QoE measurement result reported by the flow management module.
When the decision module receives that the QoE measurement result in the short video play scene reported by the traffic management module is poor (stuck), the decision module determines that the service of the application a is recovered, and the application a does not report the stuck information, so that the QoE evaluation period can be prolonged, for example, the QoE evaluation period can be prolonged from 5 periods to 10 periods, as shown in table 5, which is not described herein.
It should be noted that, when the decision module receives that the QoE measurement result in the short video play scene reported by the traffic management module is bad (stuck), and receives the service restoration notification from the application a, since the short video play scene is the service scene corresponding to the application a and requiring the cooperative QoE judgment, it cannot be determined whether to perform network acceleration only according to the QoE measurement result reported by the traffic management module, and the QoE measurement result required to be combined with the QoE measurement result reported by the traffic management module and the state information (for indicating the short video play stuck information or the short video play suspended information) reported by the application a together determine the QoE measurement result, so as to determine whether to perform network acceleration according to the commonly determined QoE measurement result. Therefore, the evaluation period of QoE can be prolonged, and the state information reported by the application a is waited for in the prolonged period. If the application A reports the state information, the QoE measurement result is determined by combining the QoE measurement result reported by the flow management module and the state information reported by the application A, so that whether network acceleration is performed is determined.
If the application a does not report the status information, whether to perform network acceleration can be directly determined according to the QoE measurement result reported by the traffic management module. If the decision module determines that the result of the application quality Qoe in the short video playing scene reported by the flow management module is still stuck in the prolonged period, the system acceleration is performed. For example, a network channel of better quality than the network channel currently being used may be selected and the data stream of the application may be switched to the better network channel. Steps 335-339 may be performed.
326. And the application A sends the business card information to the network acceleration service module.
Taking the application a as a tremble application, and taking the current service scene as a short video playing scene as an example, as shown in fig. 12, a short video playing interface of the tremble application displays a loading prompt 405, which is used for prompting that the application is loading, please be later, the short video playing is considered to be blocked (i.e. the current service is blocked), and the tremble application can send service blocking information to the network acceleration service module. The traffic jam information may include a jam time stamp, a jam traffic scene (e.g., a short video play scene), and the like.
The loading prompt is not limited to the mode shown in fig. 12, but may also be an icon, a progress bar or other text to prompt the user that the application is currently being loaded, which is not limited by the present application.
327. The network acceleration service module sends business card information to the sensing module.
328. The perception module sends business card information to the decision module.
329. The decision module jointly determines QoE measurement results of the current data flow according to the service cartoon information notified by the application A and the QoE measurement results reported by the flow management module, and performs network acceleration according to the jointly determined QoE measurement results.
After receiving the service traffic information notified by the application a, the decision module queries that the service scenario is a service scenario requiring collaborative judgment of QoE according to the service scenario carried in the service traffic information, and the network acceleration policy of the application a is collaborative acceleration, and if the QoE of the current data stream is determined to be poor according to the service traffic information notified by the application a and the QoE measurement result reported by the traffic management module, the decision module can notify the path management module to determine a better network channel so as to switch the data stream of the application program onto the better network channel.
For example, assuming that the application a is a tremble application, the service scenario carried in the business card information of the tremble notification is a short video play scenario, and the decision module queries the service scenario needing to cooperatively determine QoE shown in table 4, so as to determine that the short video play scenario corresponding to the tremble application is the service scenario needing to cooperatively determine QoE, that is, determine whether network card occurs in the short video play scenario, and determine the QoE measurement result of the current data stream according to the business card information notified by the application a and the QoE measurement result reported by the traffic management module. In addition, as shown in fig. 4 (a) and (b), the user selects the tremble application in the custom mode of the collaborative acceleration function, which indicates that the network acceleration policy of tremble is collaborative acceleration, that is, when tremble is running in the foreground, if network blocking occurs, the data flow of tremble can be switched from the network channel of the current blocking to the better network channel. If the QoE measurement result jointly determined according to the service traffic jam information notified by the application a and the QoE measurement result reported by the traffic management module is bad (jam), the jittering data stream can be switched from the current jammed network channel to a better network channel.
330. The application A exits the short video playing scene and notifies the network acceleration service module of exiting the short video playing scene.
After the application a exits the short video playing scene, other scenes (secret scenes) may be entered, however, the application a may not want to expose the secret scenes to the system, so the network acceleration service module may be only notified that it exits the short video playing scene. Or after the application A exits the short video playing scene, the application A enters other scenes (for example, a message viewing scene), namely, the application A switches from the short video playing scene to the message viewing scene, and can directly inform the network acceleration service module of the switching to the message viewing scene.
Taking application a as a tremble, for example, as shown in fig. 13 (a), in response to a user clicking on the message option 410 on the short video playback interface 403, the electronic device may display the message interface 411, as shown in fig. 13 (b), i.e., the tremble application switches from the short video playback scenario to the message viewing scenario.
331. The network acceleration service module informs the perception module that the application A exits the short video playing scene.
Or the network acceleration service module informs the perception module that the application A is switched to the message viewing scene.
332. The perception module informs the decision-making module that the application A exits the short video playing scene.
Or the awareness module may inform the decision module that application a switches to the message view scenario.
333. After determining that the application A exits the short video playing scene, if the QoE measurement result reported by the flow management module is poor, the decision module executes a system acceleration strategy and requests a new network channel for tuning.
After the decision module determines that the application a exits the short video play scene, considers that the current service scene (the secret scene or the message viewing scene entered after exiting the short video play scene) is a service scene which does not need to cooperatively judge QoE, it can determine whether to perform network acceleration according to the QoE measurement result reported by the flow management module, if the QoE measurement result reported by the flow management module is poor, it can request a new network channel to perform tuning, and steps 334-339 can be executed.
In addition, if the decision module determines that the application a reenters another scenario (for example, a message view scenario), it determines whether the other scenario is a service scenario requiring a collaborative decision QoE, and if the other scenario is a service scenario requiring a collaborative decision QoE, it needs to jointly determine the QoE of the data flow according to the katon information reported by the application program and the QoE measurement result reported by the traffic management module, so as to more accurately determine the QoE of the data flow, and determine whether to perform network acceleration (collaborative acceleration) according to the jointly determined QoE measurement result. If the other scenario is a service scenario that does not require a collaborative decision on QoE, it may be determined whether to perform network acceleration (collaborative acceleration) only according to the QoE measurement result reported by the traffic management module.
334. The decision module sends a better path request to the path management module.
The preferred path request is used to request a network channel of better quality than the current network channel.
335. The path management module activates and detects network quality, determining that a better network path exists.
When the path management module receives the better path request sent by the decision module, the path management module can activate and detect the network quality to determine whether a better network channel exists.
In practical application, if the electronic device is provided with a wireless network card 1 in the 2.4GHz band, a wireless network card 2 in the 5.0GHz band, a data service network card 1 of the operator a, and a data service network card 2 of the operator B. One of the wireless network card 1 or the wireless network card 2 can be defaulted to be the main Wi-Fi, and the other wireless network card is the auxiliary Wi-Fi; one of the data service network card 1 of the default operator A and the data service network card 2 of the operator B is a main card, and the other data service network card is a sub card.
As an example, the network channel of the 2.4GHz band is a main Wi-Fi network, the network channel of the 5.0GHz band is an auxiliary Wi-Fi network, the network channel corresponding to the data service network card 1 is a main cellular network, and the network channel corresponding to the data service network card 2 is an auxiliary cellular network.
And under the condition that the main Wi-Fi network is unavailable, the system defaults the electronic device or the foreground to apply the current main network as the main card cellular network. And under the condition that the secondary Wi-Fi network is unavailable, the system defaults the current primary network of the electronic equipment or the foreground application to be the secondary card cellular network.
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.
The path management module may request in order of the primary Wi-Fi, primary card network, secondary Wi-Fi, and secondary card network until a network is found that is available and of a quality that meets the requirements (network quality is better than the network channel currently being used).
336. The path management module informs the decision module of the better network path.
The path management module may notify the decision module of the network paths of the available network channels with quality meeting the requirements.
337. And after the decision module receives the better network path determined by the path management module, the decision module determines that the current QoE measurement result is still poor.
338. The decision module informs the policy execution module of the kernel layer to switch the data stream of the application A to a better network channel.
I.e. the decision module triggers a switch to switch the data flow of application a onto a better network channel.
339. The policy enforcement module switches the data flow of application a to a better network channel.
Therefore, the application A can surf the internet through a better network channel, and the user experience can be improved.
In some embodiments, the decision module may inform the policy enforcement module of the kernel layer to switch the data flow of application a onto a plurality of better quality (network quality better than the network channel currently being used) network channels. The policy execution module switches the data stream of the application A to a plurality of network channels with better quality so that the application A can surf the internet through the network channels with better quality, and user experience can be improved.
When application a stops running or switches to the background, the following steps may be performed:
340. The application A sends a registration request to the network acceleration service module, requesting to stop network acceleration and QoE measurement for the application A.
341. The network acceleration service module sends a de-registration request to the awareness module.
342. The awareness module informs the decision module of network acceleration and QoE measurement to stop application a.
And after the sensing module senses that the application A stops running or is switched to the background or receives a de-registration request sent by the application A, stopping accelerating the network of the application, recovering the data flow and releasing the requested network. The QoE measurement is not subsequently sent to application a.
343. The decision module informs the policy enforcement module to stop the network acceleration and QoE measurement of application a.
344. The policy enforcement module stops applying the network acceleration and QoE measurements of a.
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.
Based on the network acceleration method provided by the embodiment of the application, the foreground application program can inform the operation system of the business card information of the foreground application program in real time, and the business card information can comprise a card time stamp, a current business scene and the like. After receiving the service blocking information reported by the foreground application program, the operating system fuses the service blocking information with the communication parameters acquired by the operating system, and carries out QoE judgment by using the fused result, if the service is considered to be blocked indeed, a network channel with better quality than the network channel currently in use can be selected, and the data flow of the application program is switched to the better network channel. Therefore, the network quality is evaluated cooperatively through the operating system and the application program, so that the network switching operation and other operations are not performed under the condition that the slight fluctuation of the network does not influence the user experience, the user can still have smooth Internet surfing experience, and the Internet surfing experience of the user is better improved.
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 telecommunications 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 (20)

1. A network acceleration method, applied to an electronic device, the electronic device including a network acceleration service module and a perception module, the method comprising:
The electronic equipment runs a first application, and the first application sends a registration request to the network acceleration service module, wherein the registration request is used for requesting to acquire quality of experience QoE of a network;
the network acceleration service module sends the registration request to the sensing module;
after the sensing module receives the registration request, if the first application is determined to support network acceleration, the first application runs in the foreground, the first application has enhanced network sensing authority, application information of the first application is recorded, a registration result is sent to the network acceleration service, and the registration result is successful;
The network acceleration service module sends the registration result to the first application;
The data stream of the first application is transmitted through a first network channel;
Acquiring a flow quality parameter of a data flow of the first application, wherein the flow quality parameter comprises at least one of the following parameters: time delay, transmission rate, packet loss rate, retransmission rate and whether message response is overtime;
if the current service scene of the first application is a first scene, if the flow quality parameter of the data flow of the first application meets a first condition, acquiring first state information generated by the first application, and switching the data flow of the first application to a second network channel; the first state information is used for indicating that the first application is in a cartoon state, and the network quality of the second network channel is better than that of the first network channel.
2. The method according to claim 1, wherein the method further comprises:
And under the condition that the current service scene of the first application is a second scene, if the flow quality parameter of the data flow of the first application meets a first condition, switching the data flow of the first application to the second network channel, wherein the second scene is different from the first scene.
3. The method according to claim 2, wherein the method further comprises:
the first scene and the second scene are determined by the first application.
4. A method according to claim 1 or 2, characterized in that,
The first state information includes a timestamp of the first application generating a stuck event and current scene information, the current scene information being used to indicate the first scene.
5. A method according to claim 1 or 2, characterized in that,
If the current service scene of the first application is the first scene, if the flow quality parameter of the data flow of the first application meets a first condition, and second state information generated by the first application is obtained, continuing to transmit the data flow of the first application through the first network channel; wherein the second state information is used for indicating that the first application is in a suspended state.
6. The method according to claim 1 or 2, wherein the first condition comprises at least one of:
the continuous M time delays of the data stream of the first application in N periods are longer than a preset duration, N and M are integers greater than or equal to 1, and N is greater than M;
the packet loss rate of the data stream of the first application in N periods is larger than a preset packet loss rate;
the retransmission rate of the data stream of the first application in N periods is larger than a preset retransmission rate;
The transmission rate of the data stream of the first application in the continuous S periods in the Q periods is smaller than the preset transmission rate; q and S are integers greater than or equal to 1, Q is greater than S;
And the message response of the data flow of the first application in the continuous P periods within T periods is overtime, T and P are integers which are larger than or equal to 1, and T is larger than P.
7. The method of claim 1 or 2, wherein the electronic device comprises a perception module, the method further comprising:
The sensing module senses that the first application is started and inquires whether the first application supports network acceleration;
The sensing module comprises an application configuration library, information of whether a plurality of application programs support network acceleration is stored in the application configuration library, and the plurality of application programs comprise the first application.
8. The method of claim 7, wherein the step of determining the position of the probe is performed,
The plurality of application programs in the application configuration library are application programs which are determined based on user traffic consumption conditions and/or user use preference of the application programs and need network acceleration; or alternatively
The plurality of application programs in the application configuration library are applications that require network acceleration that are manually set by a user.
9. The method of claim 7 or 8, wherein the electronic device further comprises a decision module, the method further comprising:
If it is determined that the first application supports network acceleration, the sensing module sends a network quality evaluation request to the decision module, where the network quality evaluation request includes an application identifier of the first application, configuration information of the application, and a criterion for network quality evaluation, and the configuration information of the application includes a header feature of a data packet when the first application transmits a data stream.
10. The method of claim 9, wherein the kernel layer of the electronic device further comprises a traffic reporting module, the method further comprising:
The decision module registers a message monitoring hook to the flow reporting module, wherein the message monitoring hook is used for periodically monitoring communication parameters and statistical information of a data flow transmitted by the first network channel used by the first application;
the communication parameters comprise at least one of protocol type, source internet protocol IP address and port/destination IP address and port, and message characteristics, and the statistical information comprises at least one of Round Trip Time (RTT), packet loss rate, number of receiving bytes and rate.
11. The method of claim 10, wherein the electronic device further comprises a traffic management module, the method further comprising:
The flow reporting module periodically reports communication parameters and statistical information of the data flow of the first application to the flow management module;
the flow management module periodically carries out network quality assessment according to the communication parameters and the statistical information to obtain a quality of experience QoE measurement result;
And the flow management module periodically reports the QoE measurement result to the decision module.
12. The method of claim 11, wherein the method further comprises:
The sensing module inquires a service scene which corresponds to the first application and needs to cooperatively judge QoE, and the sensing module stores service scenes which correspond to a plurality of application programs supporting network acceleration and need to cooperatively judge QoE;
the perception module informs the decision module of a service scene which corresponds to the application program and needs to cooperatively judge QoE;
And the decision module records a business scene which corresponds to the first application and needs to cooperatively judge QoE.
13. The method of claim 12, wherein the service scenario corresponding to the first application for which the collaborative decision QoE is required includes a short video play scenario, and further comprising:
The first application informs the network acceleration service module that the first application enters a short video playing scene;
The network acceleration service module informs the perception module that the first application enters a short video playing scene;
The perception module informs the decision-making module that the first application enters a short video playing scene;
the decision module records that the current service scene of the first application is a short video playing scene;
the first application informs the network acceleration service module of pausing playing of the short video;
The network acceleration service module informs the perception module that the short video of the first application is paused;
the perception module informs the decision module that the short video of the first application is paused;
and the decision module corrects the QoE measurement result reported by the flow management module to be not stuck when determining that the QoE measurement result reported by the flow management module is stuck under the condition of determining that the short video of the first application is paused, and determines to continue transmitting the data stream of the first application through the first network channel according to the corrected QoE measurement result.
14. The method of claim 13, wherein the method further comprises:
The first application informs the network acceleration service module that the short video of the first application resumes playing;
the network acceleration service module informs the perception module that the short video of the first application resumes playing;
The perception module informs the decision module that the short video of the first application resumes playing;
And under the condition that the short video of the first application is determined to resume playing, if the QoE measurement result reported by the flow management module is determined to be cartoon, and the first application does not report the first state information, the QoE evaluation period of the data flow of the first application is prolonged.
15. The method of claim 14, wherein the method further comprises:
if the first application reports the first state information in an extended QoE evaluation period, switching the data flow of the first application to a second network channel;
And if the first application does not report the first state information in the prolonged QoE evaluation period and the QoE measurement result reported by the flow management module is a cartoon, switching the data flow of the first application to a second network channel.
16. The method according to claim 13 or 14, characterized in that the method further comprises:
the first application informs the network acceleration service module of the short video play blocking of the first application;
the network acceleration service module informs the perception module of the short video play stuck of the first application;
the perception module informs the decision module of the short video play katon of the first application;
and the decision module switches the data flow of the first application to a second network channel if the QoE measurement result reported by the flow management module is determined to be stuck under the condition that the short video of the first application is played and stuck.
17. The method of any of claims 13-15, wherein the electronic device further comprises a path management module and a policy enforcement module, the method further comprising:
The first application informs the network acceleration service module that the first application exits the short video playing scene;
the network acceleration service module informs the perception module that the first application exits the short video playing scene;
The perception module informs the decision-making module that the first application exits the short video playing scene;
After the decision module determines that the first application exits the short video playing scene, sending a better path request to the path management module, wherein the better path request is used for requesting a network channel with better quality than the current network channel;
the path management module activates and detects the network quality of each network channel, determines that a network channel with better quality than the current network channel exists, and informs the decision module of the better network channel;
the decision module instructs the policy enforcement module to switch the data flow of the first application onto the better network channel;
The policy enforcement module switches the data flow of the first application onto the better network channel.
18. The method of claim 17, wherein when the first application switches to background or closes, the method further comprises:
the first application sends a deregistration request to a network acceleration service module, wherein the deregistration request is used for requesting to stop network acceleration and QoE measurement for the first application;
the network acceleration service module sends the registration request to a sensing module;
The perception module informs the decision module of stopping QoE measurement of the first application;
the decision module informs the policy enforcement module of stopping QoE measurement of the first application;
the policy enforcement module stops QoE measurement of the first application.
19. 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 18.
20. A computer readable storage medium, characterized in that it stores a computer program which, when run on a processor, implements the method according to any one of claims 1 to 18.
CN202211268271.6A 2022-10-17 2022-10-17 Network acceleration method and device Active CN116709368B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211268271.6A CN116709368B (en) 2022-10-17 2022-10-17 Network acceleration method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211268271.6A CN116709368B (en) 2022-10-17 2022-10-17 Network acceleration method and device

Publications (2)

Publication Number Publication Date
CN116709368A CN116709368A (en) 2023-09-05
CN116709368B true CN116709368B (en) 2024-04-16

Family

ID=87834526

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211268271.6A Active CN116709368B (en) 2022-10-17 2022-10-17 Network acceleration method and device

Country Status (1)

Country Link
CN (1) CN116709368B (en)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3041254A1 (en) * 2014-12-30 2016-07-06 Telefonica Digital España, S.L.U. Method for providing information on network status from telecommunication networks
WO2019042294A1 (en) * 2017-08-31 2019-03-07 Oppo广东移动通信有限公司 Resource allocation method and related product
CN109474528A (en) * 2018-09-28 2019-03-15 Oppo广东移动通信有限公司 Communication connecting method, device, terminal device and computer-readable storage medium
CN109921941A (en) * 2019-03-18 2019-06-21 腾讯科技(深圳)有限公司 Network servicequality evaluates and optimizes method, apparatus, medium and electronic equipment
CN111970683A (en) * 2020-09-04 2020-11-20 Oppo(重庆)智能科技有限公司 Method and device for switching SIM (subscriber identity Module) card, terminal equipment and storage medium
WO2021057429A1 (en) * 2019-09-27 2021-04-01 华为技术有限公司 Data transmission method and electronic device
CN112996042A (en) * 2019-12-13 2021-06-18 华为技术有限公司 Network acceleration method, terminal device, server and storage medium
CN114011057A (en) * 2021-11-17 2022-02-08 深圳Tcl新技术有限公司 Cloud game wireless network optimization method, device, equipment and storage medium
CN114071627A (en) * 2021-11-10 2022-02-18 重庆传音通讯技术有限公司 Network switching method, intelligent terminal and storage medium
CN114172791A (en) * 2021-06-16 2022-03-11 荣耀终端有限公司 Channel switching method, electronic device and storage medium
WO2022127605A1 (en) * 2020-12-15 2022-06-23 华为技术有限公司 Network switching method and apparatus
CN116709442A (en) * 2022-10-17 2023-09-05 荣耀终端有限公司 Wireless network switching method and electronic equipment

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10685034B2 (en) * 2017-10-17 2020-06-16 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing concurrent dataflow execution with write conflict protection within a cloud based computing environment

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3041254A1 (en) * 2014-12-30 2016-07-06 Telefonica Digital España, S.L.U. Method for providing information on network status from telecommunication networks
WO2019042294A1 (en) * 2017-08-31 2019-03-07 Oppo广东移动通信有限公司 Resource allocation method and related product
CN109474528A (en) * 2018-09-28 2019-03-15 Oppo广东移动通信有限公司 Communication connecting method, device, terminal device and computer-readable storage medium
CN109921941A (en) * 2019-03-18 2019-06-21 腾讯科技(深圳)有限公司 Network servicequality evaluates and optimizes method, apparatus, medium and electronic equipment
WO2021057429A1 (en) * 2019-09-27 2021-04-01 华为技术有限公司 Data transmission method and electronic device
CN112996042A (en) * 2019-12-13 2021-06-18 华为技术有限公司 Network acceleration method, terminal device, server and storage medium
CN111970683A (en) * 2020-09-04 2020-11-20 Oppo(重庆)智能科技有限公司 Method and device for switching SIM (subscriber identity Module) card, terminal equipment and storage medium
WO2022127605A1 (en) * 2020-12-15 2022-06-23 华为技术有限公司 Network switching method and apparatus
CN114172791A (en) * 2021-06-16 2022-03-11 荣耀终端有限公司 Channel switching method, electronic device and storage medium
CN114071627A (en) * 2021-11-10 2022-02-18 重庆传音通讯技术有限公司 Network switching method, intelligent terminal and storage medium
CN114011057A (en) * 2021-11-17 2022-02-08 深圳Tcl新技术有限公司 Cloud game wireless network optimization method, device, equipment and storage medium
CN116709442A (en) * 2022-10-17 2023-09-05 荣耀终端有限公司 Wireless network switching method and electronic equipment

Also Published As

Publication number Publication date
CN116709368A (en) 2023-09-05

Similar Documents

Publication Publication Date Title
US11736224B2 (en) Data transmission method and electronic device
EP3982641A1 (en) Screen projection method and device
EP4135405A1 (en) Channel switching method, and electronic device and storage medium
CN114172791B (en) Channel switching method, electronic device and storage medium
CN113810938B (en) Channel switching method, electronic device and storage medium
US11412437B2 (en) Data transmission method and electronic device
CN115484648B (en) Channel switching method, electronic device and storage medium
CN113890905A (en) Channel switching method, electronic device and storage medium
CN116709368B (en) Network acceleration method and device
CN113810965B (en) Channel switching method, electronic device and storage medium
CN116709442A (en) Wireless network switching method and electronic equipment
CN117915356A (en) Network acceleration method and device
CN116744328B (en) Network acceleration method and device
CN116709367B (en) Network acceleration method and device
RU2802678C1 (en) Channel switching method, electronic device and storage medium
CN116709367A (en) Network acceleration method and device
CN116709432B (en) Cache queue adjusting method and electronic equipment
CN116744329A (en) Network acceleration method and electronic equipment
CN116405960B (en) Network quality detection method and related electronic equipment
CN116709369A (en) Network acceleration method and electronic equipment
CN117729588A (en) Cache queue adjusting method and electronic equipment
CN118075847A (en) Method for reducing power consumption and electronic equipment
CN116456405A (en) Network switching method and electronic equipment
CN117354876A (en) Data migration method, electronic equipment and networking system

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