CN115002797B - Network quality detection method and related electronic equipment - Google Patents

Network quality detection method and related electronic equipment Download PDF

Info

Publication number
CN115002797B
CN115002797B CN202111367405.5A CN202111367405A CN115002797B CN 115002797 B CN115002797 B CN 115002797B CN 202111367405 A CN202111367405 A CN 202111367405A CN 115002797 B CN115002797 B CN 115002797B
Authority
CN
China
Prior art keywords
network
message
application
channel
current period
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
CN202111367405.5A
Other languages
Chinese (zh)
Other versions
CN115002797A (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 CN202310358098.7A priority Critical patent/CN116405960B/en
Priority to CN202111367405.5A priority patent/CN115002797B/en
Publication of CN115002797A publication Critical patent/CN115002797A/en
Application granted granted Critical
Publication of CN115002797B publication Critical patent/CN115002797B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

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

Abstract

The application provides a network quality detection method and related electronic equipment, wherein the method comprises the following steps: responding to a first operation of a user, and starting a first application; periodically receiving message statistical information of a target flow; the message statistical information is statistical information of data flow between the first application and the server; under the condition that the first application is judged to be in the state of suspending downloading/stopping downloading based on the message statistical information of the current period, the network quality of the current period is not recorded; judging whether the uplink message is an ACK message or not based on the message statistical information of the current period; and recording the network quality of a period under the condition that the uplink message is not the ACK message.

Description

Network quality detection method and related electronic equipment
Technical Field
The present application relates to the field of network quality detection, and in particular, to a method for detecting network quality and a related electronic device.
Background
With the rapid development of electronic technology and internet technology, mobile devices such as mobile phones and the like are increasingly applied in daily life of people, for example, mobile payment, games and the like can be performed through the mobile phones. In order to ensure normal operation of common services (e.g., games, conversations, social software, etc.), a user's mobile phone is typically connected to a wireless network. Network acceleration is typically performed in the case of poor network quality. However, in the process of surfing the internet by a user, the network quality detection is often inaccurate, and under the condition of inaccurate network quality detection, the problem of network miscut can occur, which may cause the user to use a large amount of data traffic to accelerate the network, and under the condition of insufficient user data traffic package, the package limit of the user may be exceeded, so that the user needs to pay extra telephone charges, thereby reducing the internet experience of the user.
Disclosure of Invention
The embodiment of the application provides a network quality detection method, which solves the problem that a network channel is switched mistakenly in the network acceleration process due to inaccurate network quality detection results.
In a first aspect, an embodiment of the present application provides a method, including: responding to a first operation of a user, and starting a first application; periodically receiving message statistical information of a target flow; the message statistical information is statistical information of data flow between the first application and the server; under the condition that the first application is judged to be in the state of suspending downloading/stopping downloading based on the message statistical information of the current period, the network quality of the current period is not recorded; judging whether the uplink message is an ACK message or not based on the message statistical information of the current period; and recording the network quality of a period under the condition that the uplink message is not the ACK message. In the above embodiment, it is determined whether the uplink packet is an ACK packet, and if the uplink packet is an ACK packet, the electronic device detects the network quality according to the original state, for example, when the first application is in the download state, the electronic device detects the network quality based on the downlink network rate, and when the first application is in the download suspension/download completion state, the electronic device does not record the network quality. By the method, the problem that the electronic equipment mistakenly switches the network channel of the first application due to the fact that the electronic equipment mistakenly judges the uplink message as the downloading request message and continuously detects the network quality after the downloading is finished under the state that the first application pauses/finishes the downloading can be solved, the network quality detection result is inaccurate, the inaccurate network detection result is used as a reference factor for judging whether the network channel is switched or not by the electronic equipment, and the network channel of the first application is mistakenly switched by the electronic equipment.
In one possible implementation, the method further includes: and under the condition that the uplink message is the ACK message, judging whether the uplink message of the next period is the ACK message.
In a possible implementation manner, determining whether the uplink packet is an ACK packet based on the packet statistical information of the current period specifically includes: judging whether the network protocol of the uplink message is a GQUIC protocol or not based on the message statistical information; under the condition that the network protocol is not GQUIC protocol, determining that the uplink message is not ACK message; under the condition that the network protocol is a GQUIC protocol, detecting whether the length of a payload field of an uplink message is greater than or equal to a first threshold value; if the uplink message is larger than or equal to the first threshold value, determining that the uplink message is not an ACK message; and if the uplink message is smaller than the first threshold value, determining that the uplink message is an ACK message. Therefore, the electronic equipment can distinguish the uplink message as the ACK message or the download request message, so that the phenomenon that the electronic equipment wrongly judges the uplink message as the download request message and continuously detects the network quality after the download is finished to cause inaccuracy of a network quality detection result when the first application is in a state of suspending/finishing the download can be avoided, the inaccurate network quality detection result is used as a reference factor for judging whether to switch the network channel by the electronic equipment, and the network channel of the first application is wrongly switched by the electronic equipment.
In a possible implementation manner, determining whether a network protocol of the uplink packet is a GQUIC protocol based on packet statistics information includes: judging whether the uplink message has a CHLO field; if the CHLO field exists, determining that the network protocol of the uplink message is a GQUIC protocol; and if the CHLO field does not exist, determining that the network protocol of the uplink message is not the GQUIC protocol. Therefore, whether the network protocol of the uplink message is the GQUIC protocol or not is judged through the CHLO field, and whether the uplink message is the ACK message or not can be further judged under the condition that the network protocol is the GQUIC protocol.
In a possible implementation manner, the network quality is obtained based on the downlink network rate in the message statistical information of the current period; if the downlink network rate is less than or equal to a preset rate threshold, recording the network quality of the current period as poor; and if the downlink network rate is greater than the preset rate threshold, the network quality record of the current period is excellent. Therefore, the electronic equipment can judge whether to switch the network channel based on the network quality, so that the situation that the first application is blocked in service is avoided, and the internet experience of a user is reduced.
In a possible implementation manner, after the determining, based on the message statistical information of the current period, whether the uplink message is an ACK message, the method further includes: acquiring the network quality of M periods adjacent to the current period under the condition that the number of the current statistical period is greater than M; judging whether the network quality exceeding N periods is poor in the M periods; if the judgment result is yes, determining to switch the network channel of the first application; if not, determining not to switch the network channel of the first application; under the condition that the number of the current statistical periods is less than or equal to M, acquiring the network quality of all P periods adjacent to the current period; judging whether the network quality of the P periods exceeds (P x N)/M periods is poor; if yes, determining to switch the network channel of the first application; and if not, determining not to switch the network channel of the first application. Therefore, the electronic equipment can judge whether to switch the network channel based on the network quality, so that the situation that the first application is blocked in service is avoided, and the internet experience of a user is reduced.
In a possible implementation manner, after determining that the uplink packet is not the ACK packet based on the packet statistical information of the current period, before recording a period of network quality, the method further includes: and setting the downloading end mark as a second identifier, wherein the second identifier is used for representing that the first application is in a downloading starting state. Therefore, the electronic equipment can judge whether to record the network quality in the next period.
In a possible implementation manner, when it is determined that the first application is in the suspend/stop downloading state based on the message statistical information of the current period, the method does not record the network quality of the current period, and includes: under the condition that the downloading end mark is judged to be the first mark based on the message statistical information of the current period, the network quality of the current period is not recorded; the downloading end mark is used for representing the downloading state of the first application; the first identifier is used for indicating that the first application is in a pause downloading/stop downloading state.
In a possible implementation manner, when determining that the download ending flag is the first flag based on the packet statistical information of the current period, before not recording the network quality of the current period, the method further includes: the message statistical information of the current period judges whether the downloading end mark is set as the first mark; if the judgment result is yes, setting a downloading end mark as the first mark; and judging whether the downloading end mark is the first mark or not.
In a second aspect, an embodiment of the present application provides an electronic device, including: one or more processors and memory; the memory is coupled to the one or more processors, the memory for storing computer program code, the computer program code including computer instructions, the one or more processors invoking the computer instructions to cause the electronic device to perform: responding to a first operation of a user, and starting a first application; periodically receiving message statistical information of a target flow; the message statistical information is statistical information of data flow between the first application and the server; under the condition that the first application is judged to be in the state of suspending downloading/stopping downloading based on the message statistical information of the current period, the network quality of the current period is not recorded; judging whether the uplink message is an ACK message or not based on the message statistical information of the current period; and recording the network quality of a period under the condition that the uplink message is not the ACK message.
In one possible implementation, the one or more processors invoke the computer instructions to cause the electronic device to further perform: and under the condition that the uplink message is the ACK message, judging whether the uplink message of the next period is the ACK message.
In one possible implementation, the one or more processors invoke the computer instructions to cause the electronic device to perform: judging whether the network protocol of the uplink message is a GQUIC protocol or not based on the message statistical information; determining that the uplink message is not an ACK message under the condition that the network protocol is not a GQUIC protocol; under the condition that the network protocol is GQUIC protocol, detecting whether the length of a payload field of an uplink message is greater than or equal to a first threshold value; if the uplink message is larger than or equal to the first threshold value, determining that the uplink message is not an ACK message; and if the uplink message is smaller than the first threshold value, determining that the uplink message is an ACK message.
In one possible implementation, the one or more processors invoking the computer instructions may further cause the electronic device to perform: judging whether the network protocol of the uplink message is a GQUIC protocol or not based on message statistical information, wherein the judging step comprises the following steps: judging whether the uplink message has a CHLO field; if the CHLO field exists, determining that the network protocol of the uplink message is GQUIC protocol; and if the CHLO field does not exist, determining that the network protocol of the uplink message is not the GQUIC protocol.
In one possible implementation, the one or more processors invoking the computer instructions may further cause the electronic device to perform: acquiring the network quality of M periods adjacent to the current period under the condition that the number of the current statistical period is greater than M; judging whether the network quality exceeding N periods is poor in the M periods; if the judgment result is yes, determining to switch the network channel of the first application; if not, determining not to switch the network channel of the first application; acquiring the network quality of all P adjacent periods of the current period under the condition that the number of the current statistical periods is less than or equal to M; judging whether the network quality of the P periods exceeds (P x N)/M periods is poor; if the judgment result is yes, determining to switch the network channel of the first application; and if not, determining not to switch the network channel of the first application.
In one possible implementation, the one or more processors invoking the computer instructions may further cause the electronic device to perform: and setting the downloading end mark as a second mark, wherein the downloading end mark is used for representing the downloading state of the first application. Therefore, the electronic equipment can judge whether to record the network quality in the next period.
In one possible implementation, the one or more processors invoke the computer instructions to cause the electronic device to perform: under the condition that the first application is judged to be in the state of suspending/stopping downloading based on the message statistical information of the current period, the network quality of the current period is not recorded, and the method specifically comprises the following steps: under the condition that the downloading end mark is judged to be the first mark based on the message statistical information of the current period, the network quality of the current period is not recorded; the downloading end mark is used for representing the downloading state of the first application; the first identifier is used for indicating that the first application is in a pause downloading/stop downloading state.
In one possible implementation, the one or more processors invoking the computer instructions may further cause the electronic device to perform: the message statistical information of the current period judges whether the downloading end mark is set as the first mark; if the judgment result is yes, setting a downloading end mark as the first mark; and judging whether the downloading end mark is the first mark.
In a third aspect, an embodiment of the present application provides an electronic device, including: the system comprises a touch screen, a camera, one or more processors and one or more memories; the one or more processors are coupled to the touch screen, the camera, the one or more memories for storing computer program code comprising computer instructions that, when executed by the one or more processors, cause the electronic device to perform the method as set forth in the first aspect or any one of the possible implementations of the first aspect.
In a fourth aspect, the present application provides a chip system, which is applied to an electronic device, and the chip system includes one or more processors, and the processor is configured to invoke computer instructions to cause the electronic device to perform the method according to the first aspect or any one of the possible implementation manners of the first aspect.
In a fifth aspect, embodiments of the present application provide a computer program product containing instructions, which when run on an electronic device, cause the electronic device to perform the method according to the first aspect or any one of the possible implementation manners of the first aspect.
In a sixth aspect, embodiments of the present application provide a computer-readable storage medium, which includes instructions that, when executed on an electronic device, cause the electronic device to perform the method according to the first aspect or any one of the possible implementation manners of the first aspect.
Drawings
Fig. 1 is a schematic hardware structure diagram of an electronic device 100 provided in an embodiment of the present application;
fig. 2 is a diagram of an indoor network connection scenario provided in an embodiment of the present application;
3A-3F are exemplary interfaces provided by embodiments of the present application for a group of users to view videos online using electronic device 100;
fig. 4 is an architecture diagram of network switching performed by an electronic device according to an embodiment of the present application;
fig. 5 is a schematic diagram illustrating a first application performing data transmission with a server through a GQUIC protocol according to an embodiment of the present application;
fig. 6 is a flowchart of a network quality detection method provided in an embodiment of the present application;
fig. 7 is an architecture diagram of message monitoring provided in an embodiment of the present application;
fig. 8 is a flowchart of a traffic sensing component detecting network quality in units of one cycle according to an embodiment of the present application;
fig. 9 is a diagram of an uplink packet structure using GQUIC protocol according to an embodiment of the present application;
fig. 10 is a flowchart illustrating a flow sensing component determining whether an uplink packet is an ACK packet according to an embodiment of the present application;
fig. 11 is a schematic diagram illustrating a first application downloading process according to an embodiment of the present application;
fig. 12 is a flowchart illustrating a first application determining whether to switch a network channel according to an embodiment of the present application;
FIG. 13 is a system framework diagram of an electronic device provided in an embodiment of the present application;
fig. 14 is a software structure block diagram of an electronic device with an Android system according to an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application. It is to be understood that the embodiments described are only a few embodiments of the present application and not all embodiments. Reference herein to "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the present application. The appearances of the phrase in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Those skilled in the art will explicitly and implicitly appreciate that the embodiments described herein may be combined with other embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
The terms "first," "second," "third," and the like in the description and claims of this application and in the accompanying drawings are used for distinguishing between different objects and not necessarily for describing a particular order. Furthermore, the terms "include" and "have," as well as any variations thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, article, or apparatus that comprises a list of steps or elements, or alternatively, a list of steps or elements not expressly listed or inherent to such process, method, article, or apparatus may also be included.
Only some, but not all, of the material relevant to the present application is shown in the drawings. Before discussing exemplary embodiments in more detail, it should be noted that some exemplary embodiments are described as processes or methods depicted as flowcharts. Although a flowchart may describe the operations (or steps) as a sequential process, many of the operations can be performed in parallel, concurrently or simultaneously. In addition, the order of the operations may be re-arranged. The process may be terminated when its operations are completed, but may have additional steps not included in the figure. The processes may correspond to methods, functions, procedures, subroutines, and the like.
As used in this specification, the terms "component," "module," "system," "unit," and the like are intended to refer to a computer-related entity, either hardware, firmware, a combination of hardware and software, or software in execution. For example, a unit may be, but is not limited to being, a process running on a processor, an object, an executable, a thread of execution, a program, and/or a distribution between two or more computers. In addition, these units can execute from various computer readable media having various data structures stored thereon. The units may communicate by way of local and/or remote processes such as in accordance with a signal having one or more data packets (e.g., from a second unit of data interacting with another unit in a local system, distributed system, and/or across a network.
The terminology used in the embodiments of the present application is for the purpose of describing particular embodiments only and is not intended to be limiting.
1. Mobile Identity Module (SIM) card: an IC card held by a mobile subscriber of the GSM system is called a subscriber identity card. The GSM system identifies GSM users through SIM cards, the same SIM card can be used on different mobile phones, and the GSM mobile phone can be accessed to a network for use only after the SIM card is inserted.
2. Global System for Mobile Communications (GSM): a digital mobile communications standard formulated by the european telecommunications standards institute ETSI. Its air interface uses time division multiple access technology.
3. The Data service network card is a device supporting internet Access through Mobile Communication technologies such as General Packet Radio Service (GPRS), enhanced Data Rate GSM Evolution (EDGE), time Division-Synchronous Code Division Multiple Access (Time Division-Synchronous Code Division Multiple Access, TD-SCDMA), high Speed Downlink Packet Access (HSDPA), wideband Code Division Multiple Access (WCDMA), long Term Evolution (Long Term Evolution, LTE), and fifth Generation Mobile Communication technology (5 th Generation Mobile Communication technology,5 g).
4. The WIFI Network card is a device that supports internet access by a Wireless Local Area Network (WLAN) method.
5. Google fast UDP Internet connectivity (GQUIC) is a low-latency Internet application layer protocol based on the UDP protocol established by Google.
6. A network path refers to any route between two or more nodes in a network, or a route from a source address to a destination address in a network.
In the embodiment of the present application, the network channel of the electronic device refers to a route established between a device accessing the internet by using the WIFI network card or the data service network card, and other electronic devices, for example, a server. In the embodiment of the present application, a network channel established by using the WIFI network card is referred to as a WIFI network channel, and a network channel established by using the data service network card is referred to as a mobile data network channel.
A plurality of network channels may be preconfigured in the electronic device, and may include, for example, a main WIFI network channel, an auxiliary WIFI network channel, a main mobile data network channel, and an auxiliary mobile data network channel, where the main WIFI network channel and the auxiliary WIFI network channel may operate in a 2.4GHz frequency band or a 5GHz frequency band, and for example, if the main WIFI network channel operates in the 2.4GHz frequency band, the auxiliary WIFI network channel operates in the 5GHz frequency band; and if the main WIFI network channel works in the 5GHz frequency band, the auxiliary WIFI network channel works in the 2.4GHz frequency band. Furthermore, the primary mobile data network tunnel and the secondary mobile data network tunnel may correspond to an operator network, for example, the primary mobile data network tunnel may use SIM card 1 (the SIM card 1 belongs to operator a), and the secondary mobile data network tunnel may use SIM card 2 (the SIM card 2 belongs to operator B). In a general case, the priority of the main WIFI network channel is higher than that of the other three channels, and therefore, the main network channel is generally the main WIFI network channel. In a general case, the priority of the WIFI network channel is higher than that of the mobile data network channel in consideration of data traffic consumption of the electronic device. It is to be understood that the preset channels are only exemplary and are not meant to limit the embodiments of the present application, and in some embodiments, more or fewer channels may be included. In addition, taking the main WIFI network channel as the main network channel is also only a preferred scheme, and does not constitute a limitation to the embodiments of the present application, and in some embodiments, other network channels may also be selected as the main network channel.
The structure of the electronic device 100 will be described below. Referring to fig. 1, fig. 1 is a schematic diagram of a hardware structure of an electronic device 100 according to an embodiment of the present disclosure.
The electronic device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a Universal Serial Bus (USB) interface 130, a charging 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, a key 190, a motor 191, an indicator 192, a camera 193, a display screen 194, a Subscriber Identity 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 light 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 illustrated structure of the embodiment of the present invention does not specifically limit the electronic device 100. In other embodiments of the present application, electronic device 100 may include more or fewer components than shown, or some components may be combined, some components may be split, or a different arrangement of components. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
Processor 110 may include one or more processing units, such as: the processor 110 may include an Application Processor (AP), a modem processor, a Graphics Processing Unit (GPU), an Image Signal Processor (ISP), a controller, a memory, a video codec, a Digital Signal Processor (DSP), a baseband processor, and/or a neural-Network Processing Unit (NPU), etc. The different processing units may be separate devices or may be integrated into one or more processors.
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 can also be multiplexed to improve the utilization of the antennas. For example: the antenna 1 may be multiplexed as a diversity antenna of a wireless local area network. In other embodiments, the antenna may be used in conjunction with a tuning switch.
The mobile communication module 150 may provide a solution including 2G/3G/4G/5G wireless communication applied to the electronic device 100. The mobile communication module 150 may include at least one filter, a switch, a power amplifier, a Low Noise Amplifier (LNA), and the like. The mobile communication module 150 may receive the electromagnetic wave from the antenna 1, filter, amplify, etc. the received electromagnetic wave, and transmit the electromagnetic wave to the modem processor for demodulation. The mobile communication module 150 may also amplify the signal modulated by the modem processor, and convert the signal into electromagnetic wave through the antenna 1 to radiate the electromagnetic wave. In some embodiments, at least some of the functional modules of the mobile communication module 150 may be disposed in the processor 110. In some embodiments, at least some of the functional modules of the mobile communication module 150 may be disposed in the same device as at least some of the modules of the processor 110.
The wireless communication module 160 may provide a solution for wireless communication applied to the electronic device 100, including Wireless Local Area Networks (WLANs) such as Wi-Fi networks, blueTooth (BT), BLE broadcasting, global Navigation Satellite System (GNSS), frequency Modulation (FM), near Field Communication (NFC), infrared (IR), and the like. The wireless communication module 160 may be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, performs frequency modulation and filtering processing on 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, perform frequency modulation and amplification on the signal, and convert the signal into electromagnetic waves through the antenna 2 to radiate the electromagnetic waves.
The electronic device 100 implements display functions via the GPU, the display screen 194, and the application processor. The GPU is a microprocessor for image processing, connected to the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 may include one or more GPUs that execute program instructions to generate or alter display information.
The display screen 194 is used to display images, video, and the like. The display screen 194 includes a display panel. The display panel may adopt a Liquid Crystal Display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (active-matrix organic light-emitting diode, AMOLED), a flexible light-emitting diode (FLED), a miniature, a Micro-oeld, a quantum dot light-emitting diode (QLED), and the like. In some embodiments, the electronic device 100 may include 1 or N display screens 194, N being a positive integer greater than 1.
The electronic device 100 may implement a photographing function through the ISP, the camera 193, the video codec, the GPU, the display screen 194, and the application processor, etc.
The ISP is used to process the data fed back by the camera 193. For example, when a photo is taken, the shutter is opened, light is transmitted to the camera photosensitive element through the lens, the optical signal is converted into an electrical signal, and the camera photosensitive element transmits the electrical signal to the ISP for processing and converting into an image visible to naked eyes. The ISP can also carry out algorithm optimization on noise, brightness and skin color of the image. The ISP can also optimize parameters such as exposure, color temperature and the like of a shooting scene. In some embodiments, the ISP may be provided in camera 193.
The digital signal processor is used for processing digital signals, and can process digital image signals and other digital signals. For example, when the electronic device 100 selects a frequency bin, the digital signal processor is used to perform fourier transform or the like on the frequency bin energy.
The NPU is a neural-network (NN) computing processor, which processes input information quickly by referring to a biological neural network structure, for example, by referring to a transfer mode between neurons of a human brain, and can also learn by itself continuously. Applications such as intelligent recognition of the electronic device 100 can be realized through the NPU, for example: image recognition, face recognition, speech recognition, text understanding, and the like.
The electronic device 100 may implement audio functions via the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the headphone interface 170D, and the application processor. 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. In some embodiments, the audio module 170 may be disposed in the processor 110, or some functional modules of the audio module 170 may be disposed in the processor 110.
The speaker 170A, also called a "horn", is used to convert the audio electrical signal into a sound signal. The electronic apparatus 100 can listen to music through the speaker 170A or listen to a hands-free call.
The receiver 170B, also called "earpiece", is used to convert the electrical audio signal into an acoustic signal. When the electronic apparatus 100 receives a call or voice information, it can receive voice by placing the receiver 170B close to the ear of the person.
The microphone 170C, also referred to as a "microphone," is used to convert sound signals into electrical signals. When making a call or transmitting voice information, the user can input a voice signal to the microphone 170C by speaking near the microphone 170C through the mouth. The electronic device 100 may be provided with at least one microphone 170C. In other embodiments, the electronic device 100 may be provided with two microphones 170C to achieve a noise reduction function in addition to collecting sound signals. In other embodiments, the electronic device 100 may further include three, four or more microphones 170C to collect sound signals, reduce noise, identify sound sources, perform directional recording, and so on.
The pressure sensor 180A is used for sensing a pressure signal, and can convert the pressure signal into an electrical signal. In some embodiments, the pressure sensor 180A may be disposed on the display screen 194.
The air pressure sensor 180C is used to measure air pressure. In some embodiments, electronic device 100 calculates altitude, aiding in positioning and navigation, from barometric pressure values measured by barometric pressure sensor 180C.
The magnetic sensor 180D includes a hall sensor. The electronic device 100 may detect the opening and closing of the flip holster using the magnetic sensor 180D.
The acceleration sensor 180E may detect the magnitude of acceleration of the electronic device 100 in various directions (typically three axes). The magnitude and direction of gravity may be detected when the electronic device 100 is stationary. The method can also be used for recognizing the posture of the electronic equipment, and is applied to horizontal and vertical screen switching, pedometers and other applications.
The fingerprint sensor 180H is used to collect a fingerprint. The electronic device 100 can utilize the collected fingerprint characteristics to unlock the fingerprint, access the application lock, photograph the fingerprint, answer an incoming call with the fingerprint, and so on.
The touch sensor 180K is also referred to as a "touch panel". The touch sensor 180K may be disposed on the display screen 194, and the touch sensor 180K and the display screen 194 form a touch screen, which is also called a "touch screen". The touch sensor 180K is used to detect a touch operation acting thereon or nearby. The touch sensor may communicate the detected touch operation to the application processor to determine the touch event type. Visual output associated with the touch operation may be provided via the display screen 194. In other embodiments, the touch sensor 180K may be disposed on a surface of the electronic device 100, different from the position of the display screen 194.
The bone conduction sensor 180M may acquire a vibration signal. In some embodiments, the bone conduction sensor 180M may acquire a vibration signal of the human vocal part vibrating the bone mass.
Next, an application scenario of the network quality detection method provided in the embodiment of the present application is described in conjunction with fig. 2 to fig. 3F.
Fig. 2 is a diagram of an indoor network connection scenario provided in an embodiment of the present application, where the indoor scenario is a user living room. The router 101 is included in the user living room, the router 101 is connected with the network to send out WIFI signals, so that the electronic device 100, the television 103 and the intelligent air conditioner 104 in the living room can be connected with the network through the WIFI signals transmitted by the router 101, and the electronic device 100, the television 103 and the intelligent air conditioner 104 are located in the same local area network. Fig. 2 illustrates an example in which a user currently uses the electronic device 100 to connect to a network through WIFI and watch a video online, assuming that the coverage of the WIFI signal transmitted by the router 101 is only the living room, and the network quality of the electronic device 100 after connecting to WIFI deteriorates as the distance between the electronic device 100 and the router 101 increases.
Next, an application scenario of the electronic device performing network channel switching due to network quality degradation in a process of online watching a video by a user is described with reference to fig. 3A to 3F, where fig. 3A to 3F are exemplary interfaces for a group of users to online watch a video using the electronic device 100 according to an embodiment of the present application.
Fig. 3A is a user interface 10 of the electronic device 100, where the user interface 10 includes a WIFI network icon 301, a mobile data icon 302, a video application icon 303, a network speed display icon 304, and other application icons. As shown in fig. 3A, the electronic device 100 is currently connected with the WIFI network channel, the main mobile data network channel (a network channel corresponding to the main SIM card) and the auxiliary mobile data network channel (a network channel corresponding to the auxiliary SIM card) by the WIFI network icon 301, and the mobile data icon 302 is used for indicating that the electronic device 100 is connected with the mobile data network channel, and it is assumed that the electronic device 100 has the main SIM card and the auxiliary SIM card and both of the two SIM cards start a mobile data service. In the embodiment of the present application, the electronic device 100 takes the WIFI network channel as a main network channel, and the network channel enabled by the electronic device 100 is taken as the main network channel. The network speed display icon 304 is used to display a downlink rate of a currently enabled network channel, for example, as shown in fig. 3A, the downlink rate of the current WIFI network channel is 1.4M/S. When the electronic apparatus 100 detects a one-click input operation to the video application icon 303, the electronic apparatus 100 displays the user interface 20 as described in fig. 3B in response to the input operation.
As shown in fig. 3B, the user interface 20 is a main interface of the video application, and includes a video recommendation area 310, a video cover 311 currently displayed by the video recommendation area is "pet's story", and when the electronic device 100 detects a single-click input operation for the video cover 311, the electronic device 100 displays the user interface 30 shown in fig. 3C.
As shown in fig. 3C, the user interface 30 is an interface for playing a video, and as can be seen from fig. 3C, the network channel currently enabled by the electronic device 100 is a main network channel (assuming that the main network channel is a WIFI network channel), the current network speed is 1.8M/s, and the playing progress of the current video is 05.
As shown in fig. 3D, in the process of watching the video, the user moves the electronic device 100 from the active area 1 to the active area 2, then moves the active area 2 to the active area 3, and turns on the air conditioner, and the distances between the active area 1, the active area 2, and the active area 3 and the router 101 decrease in sequence. When the user moves to the active area 2, the electronic device 100 displays the user interface 40 as shown in fig. 3E.
As shown in fig. 3E, the user interface 40 is a video playing interface, the network channel enabled by the current electronic device 100 is a main network channel, the current network speed is 512k/s, and the playing progress of the current video is 06. As shown in fig. 3E, since the network quality of the electronic device 100 in the active area 2 is worse than that in the active area 1, the network speed of the electronic device 100 is reduced compared to that in the active area 1, and when the user moves to the active area 3, the electronic device 100 displays the user interface 50 shown in fig. 3F.
As shown in fig. 3F, the user interface 50 is a video playing interface, and the video playing interface includes a network acceleration prompt box 501, and the network acceleration prompt box 501 is used to prompt that the network acceleration of the video application is started. For example, the network acceleration prompt box 501 in fig. 3F displays information of "switching of network channels is completed and network acceleration is performed". It can be seen in the user interface 50 that the network channel enabled by the current video application is a standby network channel, the current network speed is 1.8M/s, and the playing progress of the current video is 06. The electronic device 100 completes the switching from the main network channel to the standby network, and the network rate of the electronic device is greatly increased after the electronic device switches from the active area 3 to the standby network channel, compared with the network rate in the active area 2.
It should be understood that fig. 3A-3F above illustrate an exemplary set of user interfaces for switching network channels of an electronic device during playing a video, which are caused by a change in the linear distance between the electronic device and a router, and the electronic device switches network channels based on the detected network quality, and the embodiments of the present application are not limited thereto.
Fig. 2 to fig. 3F describe application scenarios of the electronic device for performing network quality detection. In the above embodiment, in the process that the user moves from the active area 1 to the active area 2 and then moves from the active area 2 to the active area 3, the linear distance between the electronic device and the router is continuously increased, which causes the network quality to be deteriorated, and further causes the network rate of the electronic device to be continuously reduced. When the network rate of the electronic device decreases to a certain threshold, the electronic device switches the network channel (e.g., from the WIFI network channel to the main mobile data network channel), and the network quality after switching is better than the network quality before switching.
As shown in fig. 4, the electronic device transmits data streams with a server through a WIFI network channel, where the WIFI network channel includes a plurality of stream channels (only two stream channels are listed in the figure), where the stream channel a is used to transmit an upstream data stream from an application 1 to the server, and the stream channel B is used to transmit a downstream data stream from the server to the application 1. After the application 1 sends an uplink packet to the server through the flow channel 1, the electronic device starts to detect network quality of a downlink data stream (for example, transmission rate of the downlink datagram, delay of the datagram, packet loss rate, and the like), and when detecting that the network quality of the data stream is degraded, switches the data stream between the application 1 and the server to a mobile data network channel for transmission.
The application 1 and the server generally use a UDP protocol to transmit messages, the application 1 firstly sends an uplink downloading request message to the server for communicating with the server, after receiving the uplink downloading request message, the server sends a downlink data stream to the application 1, at the moment, the electronic equipment is triggered to carry out message detection on the downlink data stream, so that the network quality of the current data stream is detected, and whether network channel switching is needed or not is judged according to the network quality. After the server finishes sending the downlink data stream, the electronic device does not perform related operations such as network quality detection, network channel switching and the like.
However, as shown in fig. 5, when the application 1 uses a protocol such as GQUIC to transmit an upstream message, the server transmits a downstream data stream to the application 1 after the application 1 transmits an upstream download request message to the server. In the process that the server sends the downlink data stream to the application 1, the application 1 may send an acknowledgement message such as an uplink ACK to the server, where such an acknowledgement message is only used to notify the server, and the application 1 has received the downlink data stream sent by the server, and has no other role. The electronic device usually detects the network quality based on the downlink network rate, and the downlink network rate is measured based on the downlink data stream sent by the server to the application 1, so that the accuracy of the downlink rate is not affected by sending an acknowledgement message such as an uplink ACK or the like from the application 1 to the server. Therefore, in the process that the server sends the downlink data stream to the application 1, if the application 1 sends the uplink acknowledgement message, the detection result of the network quality is not affected, but after the server stops/suspends sending the downlink data stream to the application 1, if the application 1 sends the uplink acknowledgement message to the server, and the electronic device cannot identify the uplink acknowledgement message, the uplink acknowledgement message is taken as the download request message, so that the downlink network rate after receiving the uplink acknowledgement message is taken as a factor of the network quality by the electronic device, the result of the network quality detection by the electronic device is inaccurate, and the situation of network channel false switching is caused. If the WIFI network channel is switched to the mobile data network channel by the electronic equipment, a large amount of mobile data traffic can be consumed due to network acceleration, and for some users with small total package flow or small residual flow, the traffic can exceed the package limit, so that the users can pay more telephone charges exceeding the package limit, and bad use experience is brought to the users.
In order to solve the problem that the detection result of the network quality of the electronic device is inaccurate and the network channel is miscut due to the fact that the electronic device cannot recognize the ACK or other acknowledgement messages, the embodiment of the present application provides a network quality detection method, and a specific flow of the network channel switching method is described below with reference to fig. 6. Referring to fig. 6, fig. 6 is a flowchart of a network quality detection method according to an embodiment of the present application, where the specific flow is as follows:
step S601: in response to a first operation by a user, a first application is launched.
Specifically, a user opens a first application in the electronic device, and the first application is started. Illustratively, as shown in fig. 3A, when the electronic device 100 detects an input operation (e.g., a single click) for a video application icon, a video application is launched. It is to be understood that the foregoing embodiments are merely illustrative of a scenario in which the first application (video application) is started by clicking, and do not constitute a limitation to the embodiments of the present application, and in some embodiments, the first application may also be started by other operation manners (for example, double-click, sliding, and the like).
The first application is a network application, that is, an application that needs to be networked, for example, the first application may be an online video application, an online music application, an online short video application, an online game application, a social software application, or the like.
Step S602: and after detecting that the first application is switched to the foreground, the environment perception component sends a first notification message to the policy management component.
Specifically, an environment detection component in the service layer of the electronic device may detect a state of the first application, and send a first notification message to the policy management component when the environment sensing component detects that any application is switched to a foreground. The first notification message is used for notifying the policy management component that the first application is switched to the foreground. The first notification message comprises an identity of the first application, and the identity is used for identifying the unique identity of the first application.
Step S603: after receiving the first notification message sent by the environment sensing component, the policy management component judges whether the first application meets the condition of starting network acceleration.
Specifically, after receiving the first notification message, the application-level policy management component may know that the first application is switched to the foreground, and then, the application-level policy management component determines whether the first application satisfies a condition for starting network acceleration by querying the application configuration library. The application configuration library comprises configuration information of all application programs of the electronic equipment, and the configuration information comprises but is not limited to whether each application program is granted the authority of network acceleration. The policy management component acquires configuration information of the first application in an application configuration library based on the identity of the first application, and determines whether the first application has the network acceleration authority, if so, the first application program meets the network acceleration condition, otherwise, the first application program does not meet the network acceleration condition.
Step S604: and under the condition that the first application meets the condition of starting network acceleration, the policy management component sends a channel enabling message to the flow-level path management component to request to enable the main network channel.
Specifically, if the policy management component determines that the first application satisfies the condition of starting network acceleration, acceleration traffic for the first application may be started, and an acceleration enabling message indicating that the flow-level path management component may start the acceleration traffic for the first application is sent to the flow-level path management component.
The acceleration service may include, but is not limited to: when the environment of the electronic equipment or the system environment of the electronic equipment changes, starting a standby network channel to enable the standby network channel to be converted into an awakening state from a dormant state; and/or monitoring the network quality of a plurality of flows in the first application, and switching a plurality of flows of the first application including the flows with poor quality to a standby network channel when the electronic equipment monitors that the quality of a certain flow of the first application is poor, so that the plurality of flows of the network application are always borne on the network channel with relatively good quality, the transmission quality of the flows is ensured, the possibility of traffic jam of the first application is reduced, and the user experience is improved.
It should be noted that, if the electronic device already activates the standby network channel when deciding to switch the multiple streams to the standby network channel, the multiple streams are switched to the activated standby network channel, and if the electronic device does not activate the standby network channel when deciding to switch the multiple streams to the standby network channel, the electronic device needs to activate one standby network channel first and then switch to the activated standby network channel.
Optionally, the accelerated start message may include information corresponding to the identity of the first application, and for example, the information may include: the first application comprises an identity of the first application, a target flow type, a flow model corresponding to the target flow type, network quality assessment parameter information and flow switching strategy information. Reference may be made to the foregoing description, which is not repeated herein.
Step S605: and the flow level path management component sends a second notification message to the flow reporting component.
Specifically, the second notification message is used to notify the traffic reporting component that the first application has been switched to the foreground, and instruct the traffic reporting component to monitor the data flow between the first application and the server.
Step S606: and after the flow reporting component receives the second notification message sent by the flow-level path management component, registering the message monitoring hook.
Specifically, after receiving the second notification message sent by the flow-level path management component, the flow reporting component registers a message monitoring hook, where the message monitoring hook is used to monitor a data flow between a first application and a server in a network channel.
Step S607: the flow level path management component requests the primary network channel from the channel level path management component.
Specifically, after the stream level path management component receives the channel enable message, the stream level path management component requests the channel level path management component for the main network channel. In the embodiment of the application, an example is given in which an electronic device supports simultaneous use of two SIM cards (a main card and an auxiliary card), the two SIM cards start a mobile data service, and the electronic device is connected to two WIFI network channels (a main WIFI network channel and an auxiliary WIFI network channel) at the same time. Because the electronic equipment starts the mobile data service of the two SIM cards, and the electronic equipment is connected with the two WIFI network channels at the same time, the electronic equipment is currently connected with the four network channels, which are respectively: the mobile terminal comprises a main WIFI network channel, a main mobile data network channel, an auxiliary WIFI network channel and an auxiliary mobile data network channel. Wherein, the network channel that main WIFI, main SIM card, vice WIFI, vice SIM card correspond does in proper order: the mobile terminal comprises a main WIFI network channel, a main mobile data network channel, an auxiliary WIFI network channel and an auxiliary mobile data network channel.
After the first application is started, the stream level path management component can request the main WIFI network channel, the main mobile data network channel, the auxiliary WIFI network channel and the auxiliary mobile data network channel in sequence as the main network channel, if the network channel currently requested by the stream level path management component is available (the network channel currently requested by the stream level path management component can transmit data streams between the first application and the server), the stream level path management component takes the network channel as the main network channel and does not request the network channel any more, otherwise, the stream level path management component sequentially requests the channel level path management component for the main network channel according to the sequence until an available network channel is found. If no available network channel is found, the network acceleration of the first application fails, and the network acceleration of the first application is no longer performed. For example, the stream-level path management component requests the channel-level path management component that the main WIFI network channel is the main network channel, if the main WIFI network channel is available, the main WIFI network channel is used as the main network channel, and the stream-level path management component does not request the main mobile data network channel, the auxiliary WIFI network channel, and the auxiliary mobile data network channel to be the main network channel. And if the main WIFI network channel is unavailable, sequentially requesting the main network channel according to the sequence of the main mobile data network channel, the auxiliary WIFI network channel and the auxiliary mobile data network channel until one network channel is found to be used as the main network channel. If none of the four network channels is available, the network acceleration of the first application fails, and the network acceleration of the first application is not performed, that is, the network channel of the first application is switched.
It should be understood that, the stream-level path management component may request the channel-level path management component for the main network channel in sequence according to the sequence of the main WIFI network channel, the main mobile data network channel, the auxiliary WIFI network channel, and the auxiliary mobile data network channel, and may also request the main network channel according to other sequences, for example, the stream-level path management component may request the channel-level path management component for the main network channel in sequence according to the sequence of the main WIFI network channel, the auxiliary WIFI network channel, the main mobile data network channel, and the auxiliary mobile data network channel, which is not limited in this embodiment of the present application.
For example, in the case that the electronic device is connected to only the main WIFI network, and the main SIM card mobile data service and the sub SIM card mobile data are turned on, the electronic device is connected to only the main WIFI network, the main mobile data network, and the sub mobile data network, and the order in which the flow level path management component requests the main network from the flow level path management component may be the main WIFI network, the main mobile data network, and the sub mobile data network, or may be an order based on other combinations of the three network channels. The number of network channels connected with the electronic device and the order of requesting the main network channel from the channel-level path management component based on the network channels connected with the electronic device are not limited by the flow-level path management component in the embodiment of the application.
It should be understood that step S607 may be executed simultaneously with step S605, before step S605, or after step S605, and this is not limited in this embodiment of the application.
Step S608: the channel-level path management component judges whether a main network channel currently requested by the stream-level path management component is available.
Specifically, after the channel-level path management component receives a main network channel request sent by the stream-level path management component, the channel-level path management component may determine whether a main network channel currently requested by the stream-level path management component is available. If the main network channel is unavailable, the channel-level path management component returns a message to the flow-level path management component, wherein the message is used for notifying the flow-level path management component that the requested main network channel is unavailable, so that the flow-level path management component applies for other network channels to be the main network channel.
It should be appreciated that after the first application is launched, the stream level path management component sends a primary network channel request to the channel level path management component, which periodically records the availability of all network channels to which the electronic device is connected.
Step S609: in the case where the main network channel currently requested by the flow level path management component is an available network channel, the channel level path management component requests the network connection component to enable the main network channel.
For example, if the stream-level path management module requests the channel-level path management module for the main WIFI network channel to be the main network channel, and the channel-level path management module determines that the main WIFI network channel is available, the channel-level path management component may request the network connection component to enable the main WIFI network channel, so that the data stream between the first application and the server may be transmitted on the main WIFI network channel.
Step S610: the network connection management component enables the main network channel and feeds back a notification message that the main network channel is enabled to the channel-level path management component.
Step S611: the channel level path management component requests the channel quality detection component to detect the channel quality of the primary network channel.
Specifically, after the channel-level path management component receives the notification message that the main network channel is enabled, the channel-level path management module requests the channel quality detection component to perform quality detection on the currently enabled main network channel.
For example, the quality of the main network channel may be detected according to at least one of the following parameters of the network channel: time delay, packet loss rate, bandwidth and rate of the channel, etc. For example, the quality detection may be a Round-Trip Time (RTT) of the main network channel.
Optionally, when the currently enabled main network channel has a historical selection record, that is, the currently enabled network channel is enabled once, at this time, the quality of the main network channel may be evaluated by combining the RTT and the historical record, where the historical record may include a historical reception rate, historical times of poor channel quality, and the like.
Step S612: and the channel quality detection component sends the channel quality detection result to the channel-level path management component.
It should be understood that, after the channel quality detection component sends the network quality detection result to the channel level management component, the channel level management component analyzes the network quality detection result, and if the network quality of the currently enabled main network channel does not meet the requirement, the channel level path management component performs step S609, that is: the channel level path management module requests starting of available network channels from the network connection channel based on the sequence (excluding the currently enabled network channel) of the main network channel requested by the stream level path management module until finding a network channel with network quality meeting the requirement as the main network channel. If a main network channel with network quality meeting the requirement is not found, the acceleration of the first application fails, and the first application is not accelerated.
For example, the currently enabled main network channel is a main WIFI network channel, the available network channels include a main WIFI network channel, a main mobile data network channel, an auxiliary WIFI network channel, and an auxiliary mobile data network channel, and the order in which the flow level path management component requests the available main network channel is the main WIFI network channel, the main mobile data network channel, the auxiliary WIFI network channel, and the auxiliary mobile data network channel. If the network quality of the current enabled main network channel (main WIFI network channel) does not meet the requirement, the channel level path management component applies for enabling the main mobile data network channel to serve as the main network channel from the network connection component, and detects the network quality of the main mobile data network channel through the channel quality detection module, if the network quality of the main mobile data network channel meets the requirement, the channel level path management component does not request the network connection component for the available main network channel, otherwise, the channel level path management component sequentially requests the network connection component for enabling the auxiliary WIFI network channel and the auxiliary mobile data network channel to serve as the main network channel, and then detects the network quality until an available network channel with the network quality meeting the requirement is found to serve as the main network channel, and the network level path management component is enabled, so that the data stream of the first application and the application program is transmitted on the main network channel.
Step S613: the policy management component sends a traffic probing request to the traffic awareness component.
Specifically, the traffic probe request may be used to instruct the traffic awareness component to start message statistics and monitoring of the network application on the main network channel. The traffic detection request may include an identifier (e.g., UID) of a first application to be currently detected, and is used to request to detect and monitor data flow between the server and the network application corresponding to the identifier on the main network channel. It will be appreciated that the data stream may be in the form of a message.
It should be understood that step S613 and step S604 may be executed simultaneously, and step S613 may also be executed after step S604, which is not limited in this embodiment of the application.
Step S614: and the flow sensing component sends a flow reporting request to the flow reporting component.
Specifically, after receiving a traffic detection request sent by the application-level policy management component, the traffic sensing component may send a traffic reporting request to the traffic reporting component, where the traffic reporting request may be used to instruct the traffic reporting component to detect a data stream transmitted between the first application and the server in the current main network channel, and report the detected data stream. It will be appreciated that the traffic probe request may include an identity (e.g., UID) of the first application.
Step S615: and the flow reporting component carries out flow detection and reports the message statistical information of the target flow to the flow sensing component.
Specifically, after receiving the traffic reporting request, the traffic reporting component may detect the target stream on the main network channel according to the traffic reporting request, and report the detected message statistical information of the target stream to the traffic sensing component. The target flow may be a data flow transmitted between the first application and the server.
In specific implementation, the traffic reporting component may obtain, through a call component (e.g., a Netfilter component of an android system), a packet of a target flow on a current main network channel. It should be understood that the Netfilter component is merely an exemplary component and does not constitute a limitation to the embodiments of the present application, and in some embodiments, the detection of the target flow may be accomplished by other components.
Because the flow reporting component registers the message monitoring hook in advance, when the flow reporting component performs flow detection, the message of the target flow can be acquired through the message monitoring hook. The overall implementation block diagram is shown in fig. 7, for example, the Netfilter hooks a packet to the nf _ hook function of the traffic reporting component, a message carried on the current main network channel enters the traffic reporting component, the traffic reporting component stores the message of the target stream into the SKB queue through the flows of message parsing, stream table creation, message content analysis and the like, and for the message in the SKB queue, the message statistical information of the target stream to be reported at regular time is triggered and reported to the traffic sensing component by the timer according to the reporting policy of the target stream to which the message belongs.
Referring to fig. 7, a specific implementation flow of the message reporting component may include:
step S1, initializing;
when the first application starts loading, the traffic reporting component receives the second notification message in step S606, and registers the message monitoring hook function.
S2, processing the message;
the method specifically comprises three steps of message analysis, flow table lookup and message analysis. The flow table records identification information of flows in each network application and statistical information of each flow, and the statistical information of each flow may include: the number of received messages of the flow, the total number of bytes of the received messages of the flow, the number of error packets and the like. The flow identification information may be calculated according to a quintuple or a quadruple of the packet in the flow, and the calculation may specifically use a hash algorithm, so that the flow identification information may be a hash value calculated by the quintuple or the quadruple of the packet.
When the message is analyzed, the flow reporting component acquires the message and can analyze whether the UID of the first application exists in the message or not; if the message exists, the message is the message of the first application, the quadruple (or quintuple) of the message is analyzed, and the subsequent flow table checking step is executed; if not, the message is not the message of the first application, and the process is ended. The quadruple may include: source IP, destination IP, source port, destination port; the quintuple can include: source IP, destination IP, source port, destination port, and protocol number.
When the flow table is searched, the identification information of the flow can be calculated according to the quadruplet (or quintuple) of the message, whether the identification information is recorded in the flow table or not is searched by using the calculated identification information, and if yes, the statistical information corresponding to the identification information in the flow table is updated; if not, a flow node is established in the flow table according to the identification information of the flow, and the statistical information of the flow in the flow node is updated.
When analyzing the messages, the flow reporting component can filter the received messages through preset conditions, so as to obtain all or part of the messages of the target flow. For example, the preset condition may be: the source IP address of the message is an IP address of a network connected to the main network channel, and the destination IP address of the message is a server, a source port, a destination port, and the like of the first application, or the destination IP address of the message is an IP address of a network connected to the main network channel, and the source IP address of the message is a server, a source port, a destination port, and the like of the first application. The preset condition may be configured to the traffic reporting component through a configuration file, and the configuration file may be carried in the traffic reporting request sent by the traffic sensing component in step S614, and records feature information that the message needs to be matched.
And S3, reporting the matched target flow and the statistical information of the target flow message to a flow sensing module according to the flow reporting strategy.
Step S616: the flow sensing component detects the network quality according to the message statistical information of the target flow reported by the message reporting component, and judges whether to switch the network channel based on the network quality.
Specifically, the traffic reporting component periodically reports the statistical information of the target flow packet to the traffic sensing component, and periodically detects the network quality of the target flow between the first application and the server. Next, with reference to fig. 8, a flow of detecting the network quality by the traffic sensing component in a unit of one period is specifically described, where the specific flow is as follows:
step S801: and the flow sensing component receives the statistical information of the target flow message in the period reported by the flow reporting component.
Specifically, the traffic reporting component detects a data flow between the first application and the server, where the data flow is a target data flow, and performs statistics on an uplink message and a downlink message in the target data flow by taking a period as a unit, and sends statistical information of the target flow message of the period to the traffic sensing component. The statistical information of the target flow packet includes, but is not limited to: the number of uplink messages, the number of downlink messages, the protocol number of each message, the byte number of the message, the source IP address of the message, the destination IP address of the message and other information.
Step S802: and the flow sensing component judges whether the first application is in a state of suspending/stopping downloading according to the message statistical information based on the period.
Specifically, the traffic sensing component may obtain downlink network rates of the current period and the past periods from the packet statistical information of the target stream of the current period and the past period, and determine that the first application is in the suspend/stop downloading state based on the downlink network rates. The downloading state of the first application is a state that the server sends downlink data streams to the first application. The method for the traffic sensing component to determine whether the first application is in the suspend/stop downloading state based on the downlink network rate may be: if the downlink network rate is greater than the first rate value and less than threshold in the current period, and the network quality record of the previous period is excellent, the traffic sensing component judges that the first application is in a downloading suspension/stopping state, and does not record the network quality of the current period. Otherwise, the first application is not in a suspend/stop download state. The threshold is used for judging the network quality of the current period, if the downlink network rate of the current period is greater than or equal to the threshold, the network quality record of the current period is excellent, if the downlink network rate of the current period is less than the threshold, the network quality record of the current period is poor, and the threshold is greater than the first rate value. The first speed value may be obtained from historical data, may be obtained from experimental data, and is not limited in the embodiments of the present application.
It should be understood that, in the embodiment of the present application, the method for the traffic sensing component to determine that the first application is in the suspend/stop downloading state based on the message statistical information of the current period is merely exemplary and is not limited.
If the first application is in the state of suspending downloading/stopping downloading, the traffic sensing component performs step S803, and if the first application is not in the state of suspending downloading/stopping downloading, the traffic sensing component performs step S804.
Step S803: the traffic aware component sets the download complete flag to the first flag.
Specifically, the download ending flag is used to indicate a download state of the first application, and if the download ending flag is the first flag, the traffic sensing component determines that the first application is in a suspend/stop download state, and if the download ending flag is not the first flag, the traffic sensing component determines that the first application is not in the suspend/stop download state. For example, the first identifier may be characters such as "True" or "1", and the embodiment of the present application does not limit a representation method of the first identifier.
Step S804: the flow sensing component judges whether the downloading end mark is the first mark.
Specifically, if it is determined yes, the flow sensing component performs step S806, and if it is determined no, the flow sensing component performs step S805.
Step S805: and the flow sensing component records the network quality of the period based on the message statistical information of the period.
Specifically, the traffic sensing component may compare the downlink network rate in this period with a preset rate threshold, and record that the network quality in this period is good if the downlink network rate is greater than or equal to the threshold, and record that the network quality in this period is poor if the downlink network rate is less than the threshold. The threshold may be obtained based on historical data, may also be obtained based on empirical values, and may also be obtained based on experimental data, which is not limited in the embodiment of the present application. Wherein Threshhold is greater than the first rate value.
Step S806: the traffic aware component does not record the network quality for this period.
Step S807: and under the condition that the uplink message exists, the flow sensing component judges whether the network protocol of the uplink message is a GQUIC protocol or not based on the message statistical information of the period.
Specifically, as stated in step S615, in the process of detecting the target flow, the traffic reporting component may analyze the packet in the target flow, so as to obtain the network protocol used by the packet in the target flow. After capturing the message, the traffic reporting component judges whether a CHLO (Client Hello) field exists in the uplink message, then judges that the network protocol used by the message is a GQUIC protocol, and if the GQUIC protocol is used, the traffic reporting component records the message in the message statistical information of the target stream. Fig. 9 is a schematic diagram of a datagram using GQUIC protocol according to an embodiment of the present application, and as can be seen from fig. 9, the datagram includes a CHLO field.
And the flow sensing component judges whether the protocol number of the uplink message in the period is the GQUIC protocol or not based on the message statistical information of the target flow, if so, the flow sensing component executes the step S808, and if not, the flow sensing component ends the flow.
Step S808: and the flow sensing component judges whether the uplink data message is an ACK message using a GQUIC protocol.
Specifically, the traffic sensing component determines whether the uplink data packet is an ACK packet or not when determining that the network protocol used by the packet in the present period is the GQUIC protocol, and if yes, it indicates that the uplink packet is not a download request packet, and the network quality detection process in the present period is completed, and ends the process, and if no, executes step S809. The traffic sensing component may determine whether the uplink packet is an ACK packet according to the Byte length of the payload field in the uplink packet, and if the Byte length of the payload field is greater than or equal to a first threshold (e.g., 300 Byte), the uplink packet is not an ACK packet, and the uplink packet is a download request packet, otherwise, the uplink packet is an ACK packet. The first threshold may be obtained from an empirical value, may also be obtained from historical data, and may also be obtained from experimental data, which is not limited in the embodiment of the present application.
For convenience of understanding, a detailed flow of determining whether the uplink message is an ACK message by the traffic sensing component in the above steps S807 to S808 is described below with reference to fig. 10, please refer to fig. 10, where fig. 10 is a flowchart of determining whether the uplink message is an ACK message by the traffic sensing component according to an embodiment of the present application, and a specific flow is as follows:
step S1001: and the flow sensing component judges whether the CHLO field exists in the uplink message. If yes, step S1002 is executed, and if no, it is determined that the network protocol used for the uplink packet is not the GQUIC protocol, and step S1005 is executed.
Step S1002: and the flow sensing component determines that the network protocol of the uplink message is GQUIC protocol.
Step S1003: the traffic sensing component determines whether the byte length of the payload field of the uplink packet is greater than or equal to a first threshold. If it is determined not to be the case, step S1004 is executed, and if it is determined to be the case, step S1005 is executed.
Step S1004: and the flow sensing component determines the uplink message as an ACK message.
Step S1005: and the flow sensing component determines that the uplink message is not an ACK message.
Step S809: the traffic aware component sets the end of download flag to the second flag.
Specifically, if the uplink datagram in the current period is not an ACK packet using the GQUIC protocol, the download end flag is set to be the second identifier, so that the traffic sensing component determines whether to record the network quality in the next period according to the download end flag. As shown in fig. 11, in period 1 to period 3, the first application is in a downloading state, that is, the server sends a downlink data stream to the first application, the traffic sensing component determines that the downloading process is suspended in period 4, sets the downloading end flag to be the first flag, and sets the downloading end flag in period 5 to period 6 as the first flag, but in period 6, the traffic sensing component detects that an uplink downloading request message exists, which indicates that downloading of the first application is resumed, the traffic sensing component sets the downloading end flag to be the second flag, and in period 7, the traffic sensing component determines whether to record the network quality in the current period based on the downloading end flag, and if the downloading end flag is not the first flag, records the network quality in the current period.
Next, a specific flow for the traffic sensing component to determine whether to switch the network channel based on the network quality recorded by the traffic sensing component in each period is described with reference to fig. 12, where the specific flow is as follows:
step S1201: and the flow sensing component acquires the network quality detection results of the previous M periods adjacent to the current period.
Step S1202: and judging whether the network quality detection result exceeding N periods is poor or not in the network quality detection results of the flow sensing component in the M periods. If yes, step S1203 is executed, and if no, step S1204 is executed.
In some embodiments, when the number of statistical cycles is less than M, the network quality detection result is poor according to whether the number of statistical cycles P exceeds (N × P)/M cycles. If yes, step S1203 is executed, and if no, step S1204 is executed
Step S1203, the traffic sensing component determines to switch the network channel.
Step S1204: the traffic aware component determines not to switch network channels.
It should be understood that, in the above embodiment of fig. 12, the method for determining, by the traffic sensing component, whether to switch the network channel based on the network quality detection result is merely an exemplary illustration, and the embodiment of the present application is not limited to other methods for determining, by the traffic sensing component, whether to switch the network channel based on the network quality detection result.
Step S617: in the event that a determination is made to switch network channels, the traffic aware component sends a network channel switch instruction to the flow level path management component.
Specifically, in the case of determining to switch the network channel, the traffic awareness component sends a network channel switching instruction to the flow level path management component, where the network channel switching instruction is used to indicate that the flow level path management component may initiate a service for network channel switching.
Optionally, the channel switch instruction includes an identity of the first application (e.g., a UID of the first application).
Step S618: the flow-level path management component requests the channel-level path management component to enable the backup network channel.
Specifically, after receiving a channel switching instruction sent by the traffic awareness component, the flow-level path management component requests the channel-level path management component to enable the standby network channel.
Step S619: the tunnel-level path management component requests the network connection component to enable the backup network tunnel.
Specifically, the channel-level path management component selects one of the currently available network channels other than the primary network channel as the backup network channel. For example, if the electronic device is connected to the main WIFI network channel, the main mobile data network channel, the auxiliary WIFI network channel, and the auxiliary mobile data network channel, the four network channels are all available, and the main network channel is the main WIFI network channel, then the channel-level path management component may select one network channel from the main mobile data network channel, the auxiliary WIFI network channel, and the auxiliary mobile data network channel as the standby network channel.
Step S620: the network connection management component starts the standby network channel and feeds back a notification message that the standby network channel is started to the channel-level path management component.
Specifically, the activating the standby network channel herein refers to switching the standby network channel from a sleep state to an awake state, so that the standby network channel can be quickly switched from the current network channel to the standby network channel when the network channel needs to be switched subsequently. For example, the standby network tunnel is a primary mobile data network tunnel, and the network connection component activates the primary mobile data network tunnel by switching the primary mobile data network tunnel from a dormant state to an awake state.
Step S621: the channel-level path management component requests the channel quality detection component to detect the channel quality of the backup network channel.
Step S622: and the channel quality detection component sends the channel quality detection result to the channel level path management component.
Specifically, please refer to steps S611 to S612 in steps S621 to S622, which are not described herein.
Step S623: the path-level path management component sends the path of the backup network path to the flow-level path management component.
Step S624: the flow level path management component sends a network channel switch notification to the policy enforcement component.
Step S625: the policy enforcement component switches network channels.
Specifically, after receiving a network channel switching notification sent by the stream level path management component to the policy execution component, the policy execution component switches the network channel, and switches the data stream between the first application and the server on the main network channel to the standby network channel for transmission.
According to the method, after the electronic equipment detects that the application sends the download request message to the server, the network quality and whether the download process is finished/suspended can be periodically detected, if the download process is finished/suspended in the period, the electronic equipment cannot use the downlink network speed in the period as a reference factor for judging the network quality, meanwhile, the electronic equipment can identify whether the uplink datagram sent by the application to the server in the period is the download request datagram, and if the uplink datagram is the download request datagram, the electronic equipment sets the download finishing flag bit to be in a download state.
A system block diagram of an electronic device is explained below. As shown in fig. 13, the electronic device includes an application layer, a service layer, a policy layer, and a kernel layer. The application layer may be configured to provide a plurality of network applications, where the network applications may be third-party applications or system applications, such as network applications for games, music, videos, and the like. The application does not specifically limit the type of the network application provided by the application layer. The network application refers to an application that needs to use a network channel of the electronic device to acquire resources from a network.
The service layer may include a context awareness component, a channel-level path management component, a policy management component, and a channel quality detection component. The environment sensing component may be configured to detect an application state, for example, the first application state may include states of application exit, application open, application running, application installation, and application uninstallation, and it is understood that the above states are merely exemplary descriptions, and may also include more states, which are not described herein again. The channel level path management component may be used to request/close a network channel, sense a state change of the network channel, update a selection policy of the network channel, and store paths of a plurality of network channels. The policy management component may generate different execution policies based on the input information, such as enabling an acceleration function of the network channel, initiating traffic awareness (e.g., probing traffic of the network channel), and the like. The channel quality detection component can be used to assess the quality of a network channel. The service layer may further include: a network connection component, configured to enable a network channel, that is, to convert the network channel from a sleep state to an awake state, where the network channel can be directly used.
The policy layer may include a flow level path management component and a traffic aware component. The flow level path management component may be configured to update selection of a new network channel according to a policy change of an upper layer, trigger quality detection of the network channel, and dynamically select an optimal channel, and may also be configured to store paths of different network channels, for example, a path of a network channel (e.g., a main network channel) currently used by an application and a path of a standby network channel. The traffic sensing component can be used for counting reported traffic and evaluating the network quality of each flow.
The kernel layer may include a traffic reporting component and a policy enforcement component. The traffic reporting component can be used for collecting and reporting traffic information. The policy enforcement component may be operative to perform a handover of a network channel.
It should be understood that the interface connection relationship between the components illustrated in the embodiments of the present application is only an exemplary illustration, and does not form a structural limitation on the electronic device. In other embodiments of the present application, the electronic device may also adopt different interface connection manners or a combination of multiple interface connection manners in the above embodiments.
The system framework shown in fig. 13 is only used to illustrate the implementation of the layered architecture of the electronic device. The system architecture shown in fig. 13 may also be implemented as part of an existing layered software architecture. Taking an Android (Android) system as an example, fig. 13 is a block diagram illustrating a software structure of an electronic device with an Android system according to an embodiment of the present application. The layered architecture divides the software into several layers, each layer having a clear role and division of labor. The layers communicate with each other through a software interface. In the embodiment of the present application shown in fig. 14, the Android system is divided into five layers, which are, from top to bottom, an application layer, an application framework layer (also referred to as a system framework layer), a system library, an Android runtime layer, a Hardware Abstraction Layer (HAL), and a kernel layer.
The application layer includes several applications (hereinafter simply referred to as applications), such as a camera, gallery, calendar, WLAN, etc. In one possible example, the application layer in the system architecture shown in fig. 14 may correspond to the application layer. The application layer of the electronic device shown in fig. 14 may include network applications, such as a video playing application, a game application, and the like, according to the embodiments of the present application.
The Application framework layer provides an Application Programming Interface (API) and a Programming framework for applications of the Application layer, including various components and services to support android development by developers. The application framework layer also includes a number of predefined functions. For example, the application framework layer may include a window manager, content provider, resource manager, camera service, and the like. In one possible example, the service layer and policy layer in the system architecture shown in FIG. 13 may be located at the application framework layer.
The system library and Android Runtime layer comprises a system library and an Android Runtime (Android Runtime). The system library may include a plurality of functional modules. For example: surface managers, two-dimensional graphics engines, three-dimensional graphics processing libraries (e.g., openGL ES), media libraries, font libraries, and the like.
The HAL layer is an interface layer between the operating system kernel and the hardware circuitry. HAL layers include, but are not limited to: an Audio hardware abstraction layer (Audio HAL) and a Camera hardware abstraction layer (Camera HAL).
The kernel layer is a layer between hardware and software. The inner core layer may include: display drive, camera drive, audio drive, sensor drive, and the like. In a possible example, the kernel layer in the system architecture shown in fig. 13 may correspond to the kernel layer in the software architecture shown in fig. 14, in this case, as shown in fig. 14, the kernel layer may include: a flow reporting component and a strategy executing component.
In the above embodiments, all or part of the implementation may be realized by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions described in the present application are generated in whole or in part. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by wire (e.g., coaxial cable, fiber optic, digital subscriber line) or wirelessly (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device, such as a server, a data center, etc., that incorporates one or more of the available media. The usable medium may be a magnetic medium (e.g., floppy Disk, hard Disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid State Disk), among others.
It will be understood by those skilled in the art that all or part of the processes of the methods of the above embodiments may be implemented by hardware related to instructions of a computer program, which may be stored in a computer-readable storage medium, and when executed, may include the processes of the above method embodiments. And the aforementioned storage medium includes: various media capable of storing program codes, such as ROM or RAM, magnetic or optical disks, etc.
In short, the above description is only an example of the technical solution of the present invention, and is not intended to limit the scope of the present invention. Any modifications, equivalents, improvements and the like made in accordance with the disclosure of the present invention are intended to be included within the scope of the present invention.

Claims (10)

1. A method for detecting network quality is characterized by comprising the following steps:
responding to a first operation of a user, and starting a first application;
periodically receiving message statistical information of a target flow; the message statistical information is statistical information of data flow between the first application and the server;
under the condition that the first application is judged to be in the state of suspending downloading/stopping downloading based on the message statistical information of the current period, the network quality of the current period is not recorded;
judging whether the uplink message is an ACK message or not based on the message statistical information of the current period;
recording the network quality of a period under the condition that the uplink message is not an ACK message;
wherein, the determining whether the uplink packet is an ACK packet based on the packet statistical information of the current period specifically includes:
judging whether the network protocol of the uplink message is a GQUIC protocol or not based on the message statistical information;
determining that the uplink message is not an ACK message under the condition that the network protocol is not a GQUIC protocol;
under the condition that the network protocol is a GQUIC protocol, detecting whether the length of a payload field of the uplink message is greater than or equal to a first threshold value;
if the uplink message is larger than or equal to the first threshold value, determining that the uplink message is not an ACK message;
and if the uplink message is smaller than the first threshold value, determining that the uplink message is an ACK message.
2. The method of claim 1, wherein the method further comprises:
and under the condition that the uplink message is the ACK message, judging whether the uplink message of the next period is the ACK message.
3. The method of claim 1, wherein said determining whether the network protocol of the upstream packet is the GQUIC protocol based on the packet statistics information comprises:
judging whether the uplink message has a CHLO field;
if the CHLO field exists, determining that the network protocol of the uplink message is a GQUIC protocol;
and if the CHLO field does not exist, determining that the network protocol of the uplink message is not the GQUIC protocol.
4. The method according to any of claims 1-3, wherein the network quality is obtained based on a downlink network rate in the message statistics information of the current period;
if the downlink network rate is less than or equal to a preset rate threshold, recording the network quality of the current period as poor;
and if the downlink network rate is greater than the preset rate threshold, the network quality record of the current period is excellent.
5. The method according to claim 4, wherein after determining whether the uplink packet is an ACK packet based on the packet statistical information of the current period, the method further includes:
acquiring the network quality of M periods adjacent to the current period under the condition that the number of the current statistical period is greater than M;
judging whether the network quality exceeding N periods is poor in the M periods;
if the judgment result is yes, determining to switch the network channel of the first application;
if not, determining not to switch the network channel of the first application;
under the condition that the number of the current statistical periods is less than or equal to M, acquiring the network quality of all P periods adjacent to the current period;
judging whether the network quality of the P periods exceeds (P x N)/M periods is poor;
if yes, determining to switch the network channel of the first application;
and if not, determining not to switch the network channel of the first application.
6. The method as claimed in claim 1, wherein after the determining that the uplink packet is not the ACK packet based on the packet statistics information of the current period, before the recording a period of network quality, the method further comprises:
and setting the downloading end mark as a second identifier, wherein the second identifier is used for representing that the first application is in a downloading starting state.
7. The method of claim 1, wherein the not recording the network quality of the current period in case that it is determined that the first application is in the suspend/suspend state based on the message statistics of the current period comprises:
under the condition that the message statistical information of the current period judges that the downloading end mark is the first mark, the network quality of the current period is not recorded; the downloading end mark is used for representing the downloading state of the first application; the first identifier is used for representing that the first application is in a pause downloading/stop downloading state.
8. The method according to claim 7, wherein when it is determined based on the message statistical information in the current period that the download ending flag is the first flag, before the network quality in the current period is not recorded, the method further comprises:
judging whether the downloading end mark is set as the first mark or not based on the message statistical information of the current period;
if the judgment result is yes, setting the downloading end mark as the first mark;
and judging whether the downloading end mark is a first mark or not.
9. An electronic device, comprising: the device comprises a memory, a processor and a touch screen; wherein:
the touch screen is used for displaying content;
the memory for storing a computer program, the computer program comprising program instructions;
the processor is configured to invoke the program instructions to cause the terminal to perform the method according to any one of claims 1 to 8.
10. A computer-readable storage medium, characterized in that the computer-readable storage medium stores a computer program which, when executed by a processor, implements the method according to any one of claims 1-8.
CN202111367405.5A 2021-11-18 2021-11-18 Network quality detection method and related electronic equipment Active CN115002797B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202310358098.7A CN116405960B (en) 2021-11-18 2021-11-18 Network quality detection method and related electronic equipment
CN202111367405.5A CN115002797B (en) 2021-11-18 2021-11-18 Network quality detection method and related electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111367405.5A CN115002797B (en) 2021-11-18 2021-11-18 Network quality detection method and related electronic equipment

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202310358098.7A Division CN116405960B (en) 2021-11-18 2021-11-18 Network quality detection method and related electronic equipment

Publications (2)

Publication Number Publication Date
CN115002797A CN115002797A (en) 2022-09-02
CN115002797B true CN115002797B (en) 2023-04-07

Family

ID=83018845

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202111367405.5A Active CN115002797B (en) 2021-11-18 2021-11-18 Network quality detection method and related electronic equipment
CN202310358098.7A Active CN116405960B (en) 2021-11-18 2021-11-18 Network quality detection method and related electronic equipment

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202310358098.7A Active CN116405960B (en) 2021-11-18 2021-11-18 Network quality detection method and related electronic equipment

Country Status (1)

Country Link
CN (2) CN115002797B (en)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107889128B (en) * 2016-09-30 2020-12-18 腾讯科技(深圳)有限公司 Network quality adjusting method and device
CN110121896B (en) * 2016-12-29 2021-10-26 华为技术有限公司 Communication method and mobile terminal
CN107484217B (en) * 2017-09-20 2018-11-27 广东欧珀移动通信有限公司 Method, mobile terminal and the storage medium of switching registration IP multimedia subsystem
CN108449771B (en) * 2018-06-29 2020-08-11 Oppo(重庆)智能科技有限公司 Network switching method, device, terminal and storage medium
CN109005175B (en) * 2018-08-07 2020-12-25 腾讯科技(深圳)有限公司 Network protection method, device, server and storage medium
CN112422357B (en) * 2019-08-23 2024-03-08 华为云计算技术有限公司 Method and device for detecting state of network communication path
CN111988445B (en) * 2020-08-19 2022-12-20 北京天融信网络安全技术有限公司 Message forwarding method and device, storage medium and electronic equipment

Also Published As

Publication number Publication date
CN116405960A (en) 2023-07-07
CN116405960B (en) 2024-03-29
CN115002797A (en) 2022-09-02

Similar Documents

Publication Publication Date Title
WO2021115007A1 (en) Network switching method and electronic device
CN113795040B (en) Channel switching method, electronic device and storage medium
CN114449599B (en) Network link switching method based on electronic equipment position and electronic equipment
CN114172791B (en) Channel switching method, electronic device and storage medium
US20240089822A1 (en) Channel switching method, electronic device, and storage medium
CN113840346B (en) Operator switching method and related equipment
CN115484648B (en) Channel switching method, electronic device and storage medium
KR102491006B1 (en) Data Transmission Methods and Electronic Devices
CN114727101B (en) Antenna power adjusting method and electronic equipment
WO2021197071A1 (en) Wireless communication system and method
CN113890905B (en) Channel switching method, electronic device and storage medium
JP2022515446A (en) Connection establishment method and terminal device
CN113243126B (en) Network management method for terminal and terminal
CN115002797B (en) Network quality detection method and related electronic equipment
CN113810965B (en) Channel switching method, electronic device and storage medium
CN113141637B (en) Multipath transmission control method and control device
CN114884920B (en) Communication method, electronic equipment and storage medium
RU2811567C1 (en) Channel switching method, electronic device and data media
WO2024082811A1 (en) Network acceleration method and apparatus
CN116155729A (en) Network acceleration method based on user traffic portrayal and related electronic equipment
CN117354876A (en) Data migration method, electronic equipment and networking system
CN116744329A (en) Network acceleration method and electronic equipment

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