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

Network quality detection method and related electronic equipment Download PDF

Info

Publication number
CN116405960B
CN116405960B CN202310358098.7A CN202310358098A CN116405960B CN 116405960 B CN116405960 B CN 116405960B CN 202310358098 A CN202310358098 A CN 202310358098A CN 116405960 B CN116405960 B CN 116405960B
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
CN202310358098.7A
Other languages
Chinese (zh)
Other versions
CN116405960A (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
Publication of CN116405960A publication Critical patent/CN116405960A/en
Application granted granted Critical
Publication of CN116405960B publication Critical patent/CN116405960B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/02Arrangements for optimising operational condition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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 stream; 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 a downloading suspension/downloading suspension state 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 the next 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 disclosure relates to the field of network quality detection, and in particular, to a method for detecting network quality and related electronic devices.
Background
With the rapid development of electronic technology and internet technology, mobile devices such as mobile phones are increasingly used in daily life, for example, mobile payment and games can be performed through the mobile phones. To ensure proper operation of common services (e.g., gaming, talking, social software, etc.), a user's handset is typically connected to a wireless network. In case of a degradation of the network quality, network acceleration is typically performed. However, in the internet surfing process of the user, the problem of inaccurate network quality detection often exists, the problem of network miscut can occur under the condition of inaccurate network quality detection, the user can use a large amount of data traffic to accelerate the network, and under the condition of insufficient package of the user data traffic, the package limit of the user can be exceeded, so that the user needs to pay additional telephone fees, and the internet surfing experience of the user is reduced.
Disclosure of Invention
The embodiment of the application provides a network quality detection method, which solves the problem of wrong switching of network channels in the network acceleration process due to inaccurate network quality detection results.
In a first aspect, embodiments of the present application provide a method, including: responding to a first operation of a user, and starting a first application; periodically receiving message statistical information of a target stream; 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 a downloading suspension/downloading suspension state 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 the next 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, 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 condition of suspending the download/ending the download, the electronic device does not record the network quality. By the method, the problem that the electronic equipment erroneously judges the uplink message as the downloading request message when the first application is in a state of suspending downloading/ending downloading, network quality after the downloading is continuously detected, so that an inaccurate network quality detection result is caused, and the electronic equipment uses the inaccurate network detection result as a reference factor for judging whether to switch network channels or not, so that the electronic equipment erroneously switches the network channels of the first application is solved.
In one possible implementation, the method further includes: and judging whether the uplink message in the next period is an ACK message or not under the condition that the uplink message is the ACK message.
In one possible implementation manner, determining whether the uplink message is an ACK message based on the message statistics 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 an 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 larger than or equal to a first threshold value; if the uplink message is greater than or equal to a 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 this way, the electronic device can distinguish the uplink message as the ACK message or the download request message, so that the electronic device can avoid that the electronic device erroneously judges the uplink message as the download request message in a state that the first application is in a state of suspending the download/ending the download, continuously detects the network quality after the download is ended, causes inaccuracy of a network quality detection result, and uses the inaccurate network quality detection result as a reference factor for judging whether to switch the network channel, thereby enabling the electronic device to erroneously switch the network channel of the first application.
In one possible implementation manner, determining whether the network protocol of the uplink packet is a gqic protocol based on packet statistics information includes: judging whether the CHLO field exists in the uplink message; if the CHLO field exists, determining that the network protocol of the uplink message is GQUIC protocol; if the CHLO field does not exist, the network protocol of the uplink message is determined not to be GQUIC protocol. In this way, whether the network protocol of the uplink message is the gqic protocol is judged through the chol field, and whether the uplink message is an ACK message can be further judged under the condition that the network protocol is determined to be the gqic protocol.
In one possible implementation, the network quality is obtained based on the downlink network rate in the current period of the packet statistics; if the downlink network rate is less than or equal to a preset rate threshold, the network quality record of the current period is poor; if the downlink network rate is greater than a preset rate threshold, the network quality record of the current period is good. Therefore, the electronic equipment can judge whether to switch the network channel based on the network quality, so that the service jamming of the first application is avoided, and the Internet surfing experience of a user is reduced.
In one possible implementation manner, after the determining whether the uplink packet is an ACK packet based on the packet statistics information of the current period, the method further includes: under the condition that the current statistical period number is larger than M, acquiring network quality of M periods adjacent to the current period; judging whether the network quality exceeding N periods is poor in the M periods; if 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 current statistical period number is less than or equal to M, acquiring network quality of all P periods adjacent to the current period; judging whether the network quality exceeding (P x N)/M periods is poor in the P periods; if yes, determining to switch the network channel of the first application; 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 service jamming of the first application is avoided, and the Internet surfing experience of a user is reduced.
In one possible implementation manner, after determining that the uplink packet is not the ACK packet based on the packet statistics information of the current period, before recording the network quality of the next period, the method further includes: and setting a downloading end mark as a second mark, wherein the second mark is used for representing that the first application is in a downloading starting state. In this way, the electronic device is facilitated to determine whether to record network quality in the next cycle.
In one possible implementation manner, in a case that the first application is determined to be in a state of suspending downloading/stopping downloading based on the packet statistics information of the current period, not recording the network quality of the current period, including: 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 identification is used to characterize that the first application is in a suspended download/stopped download state.
In one possible implementation manner, when the download ending flag is determined to be the first flag based on the packet statistics information of the current period, before the network quality of the current period is not recorded, the method further includes: judging whether the downloading end mark is set as the first mark according to the message statistical information of the current period; if yes, setting a downloading end mark as the first mark; and judging whether the downloading end mark is a first mark or not.
In a second aspect, embodiments of the present application provide 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 comprising computer instructions that the one or more processors call 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 stream; 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 a downloading suspension/downloading suspension state 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 the next 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 judging whether the uplink message in the next period is an ACK message or not under the condition that the uplink message 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; under the condition that the network protocol is not GQUIC protocol, determining that the uplink message is not an 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 larger than or equal to a first threshold value; if the uplink message is greater than or equal to a 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 also cause the electronic device to perform: judging whether the network protocol of the uplink message is a GQUIC protocol based on the message statistical information, comprising: judging whether the CHLO field exists in the uplink message; if the CHLO field exists, determining that the network protocol of the uplink message is GQUIC protocol; if the CHLO field does not exist, the network protocol of the uplink message is determined not to be GQUIC protocol.
In one possible implementation, the one or more processors invoking the computer instructions may also cause the electronic device to perform: under the condition that the current statistical period number is larger than M, acquiring network quality of M periods adjacent to the current period; judging whether the network quality exceeding N periods is poor in the M periods; if 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 current statistical period number is less than or equal to M, acquiring network quality of all P periods adjacent to the current period; judging whether the network quality exceeding (P x N)/M periods is poor in the P periods; if yes, determining to switch the network channel of the first application; 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 also cause the electronic device to perform: and setting a downloading end mark as a second mark, wherein the downloading end mark is used for representing the downloading state of the first application. In this way, the electronic device is facilitated to determine whether to record network quality in the next cycle.
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 a downloading suspension/downloading suspension state 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 identification is used to characterize that the first application is in a suspended download/stopped download state.
In one possible implementation, the one or more processors invoking the computer instructions may also cause the electronic device to perform: judging whether the downloading end mark is set as the first mark according to the message statistical information of the current period; if yes, setting a downloading end mark as the first mark; and judging whether the downloading end mark is a first mark or not.
In a third aspect, an embodiment of the present application provides an electronic device, including: the touch screen, the camera, one or more processors and one or more memories; the one or more processors are coupled with the touch screen, the camera, the one or more memories for storing computer program code comprising computer instructions which, when executed by the one or more processors, cause the electronic device to perform the method as described in the first aspect or any of the possible implementations of the first aspect.
In a fourth aspect, embodiments of the present application provide a chip system applied to an electronic device, the chip system including one or more processors configured to invoke computer instructions to cause the electronic device to perform a method as described in the first aspect or any of the possible implementations of the first aspect.
In a fifth aspect, embodiments of the present application provide a computer program product comprising instructions which, when run on an electronic device, cause the electronic device to perform a method as described in the first aspect or any one of the possible implementations of the first aspect.
In a sixth aspect, embodiments of the present application provide a computer readable storage medium comprising instructions which, when run on an electronic device, cause the electronic device to perform a method as described in the first aspect or any one of the possible implementations of the first aspect.
Drawings
Fig. 1 is a schematic hardware structure of an electronic device 100 according to an embodiment of the present application;
fig. 2 is an indoor network connection scene diagram 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 video online using electronic device 100;
fig. 4 is a schematic diagram of network switching performed by an electronic device according to an embodiment of the present application;
FIG. 5 is a schematic diagram of data transmission between a first application and a server through 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 a block diagram of message monitoring according to an embodiment of the present disclosure;
FIG. 8 is a flow chart of a flow sensing component provided by an embodiment of the present application to detect network quality in units of one cycle;
FIG. 9 is a diagram of an uplink message structure using the GQUIC protocol according to an embodiment of the present application;
Fig. 10 is a flowchart of a flow sensing component for determining whether an uplink message is an ACK message according to an embodiment of the present application;
FIG. 11 is a schematic diagram of a first application download process according to an embodiment of the present application;
FIG. 12 is a flowchart of a first application determining whether to switch network channels according to an embodiment of the present application;
FIG. 13 is a system frame diagram of an electronic device according to 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 will be apparent that the described embodiments are only some, but not all, of the embodiments of the present application. Reference herein to "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment may be included in at least one embodiment of the application for the embodiment. The appearances of such phrases 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 of skill in the art will explicitly and implicitly understand that the embodiments described herein may be combined with other embodiments. All other embodiments, which can be made by one of ordinary skill in the art without undue burden from the present disclosure, are within the scope of the present disclosure.
The terms "first," second, "" third and the like in the description and in the claims and drawings are used for distinguishing between different objects and not for describing a particular sequential order. Furthermore, the terms "comprising," "including," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion. For example, a series of steps or elements may be included, or alternatively, steps or elements not listed or, alternatively, other steps or elements inherent to such process, method, article, or apparatus may be included.
Only some, but not all, of the matters relevant to the present application are shown in the accompanying drawings. Before discussing the exemplary embodiments in more detail, it should be mentioned that some exemplary embodiments are described as processes or methods depicted as flowcharts. Although a flowchart depicts operations (or steps) as a sequential process, many of the operations can be performed in parallel, concurrently, or at the same time. Furthermore, the order of the operations may be rearranged. The process may be terminated when its operations are completed, but may have additional steps not included in the figures. 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 being distributed between two or more computers. Furthermore, these units may be implemented from a variety of 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., second unit data from another unit interacting with a local system, distributed system, and/or across a network).
First, terms related to embodiments of the present application will be described by way of example, but not limitation.
1. Mobile identification module (Subscriber Identity Module, SIM) card: is an IC card held by a mobile subscriber of the GSM system, called a subscriber identity card. The GSM system identifies the GSM user through the SIM card, the same SIM card can be used on different mobile phones, and the GSM mobile phone can only access to the network for use after the SIM card is inserted.
2. Global system for mobile communications (Global System for Mobile Communications, GSM): a digital mobile communication standard developed 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 surfing through mobile communication technologies such as general packet radio service (General packet radio service, GPRS), enhanced data rates for GSM evolution (Enhanced Data Rate for GSM Evolution, EDGE), time Division-Synchronous Code Division Multiple Access (TD-SCDMA), high speed downlink packet access (High Speed Downlink Packet Access, HSDPA), wideband code Division multiple access (Wideband Code Division Multiple Access, WCDMA), long term evolution (Long Term Evolution, LTE), fifth generation mobile communication technology (5th Generation Mobile Communication Technology,5G), etc.
4. The WIFI network card is a device supporting internet access by a wireless local area network (Wireless Local Area Network, WLAN) method.
5. Google fast UDP internet connection protocol (Google Quick UDP Internet Connections, gqic) is a low latency internet application layer protocol based on the UDP protocol formulated by Google.
6. A network channel refers to any route between two or more nodes in a network, or the route from a source address to a destination address in a network.
In this embodiment of the present application, the network channel of the electronic device refers to a route established between a device that uses the WIFI network card or the data service network card to access the internet and other electronic devices, for example, a server. In the embodiment of the application, a network channel established by using a WIFI network card is referred to as a WIFI network channel, and a network channel established by using a data service network card is referred to as a mobile data network channel.
A plurality of network channels can be preconfigured in the electronic device, and the network channels can comprise a main WIFI network channel, an auxiliary WIFI network channel, a main mobile data network channel and an auxiliary mobile data network channel, wherein the main WIFI network channel and the auxiliary WIFI network channel can work in a 2.4GHz frequency band or a 5GHz frequency band, and if the main WIFI network channel works in the 2.4GHz frequency band, the auxiliary WIFI network channel works in the 5GHz frequency band; if the main WIFI network channel works in the 5GHz frequency band, the auxiliary WIFI network channel works in the 2.4GHz frequency band. Further, the primary mobile data network channel and the secondary mobile data network channel may correspond to an operator network, e.g. the primary mobile data network channel may use a SIM card 1 (the SIM card 1 is assigned to the operator a) and the secondary mobile data network channel may use a SIM card 2 (the SIM card 2 is assigned to the operator B). In general, the priority of the main WIFI network channel is higher than the other three channels, and thus, the main WIFI network channel is generally the main WIFI network channel. In general, considering data traffic consumption of an electronic device, a priority of a WIFI network channel is higher than a priority of a mobile data network channel. It will be appreciated that the preset channels described above are merely exemplary and are not limiting to embodiments of the present application, and that in some embodiments more or fewer channels may be included. In addition, the main WIFI network channel is also only a preferred solution, and is not limited 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 is described below. Referring to fig. 1, fig. 1 is a schematic hardware structure of an electronic device 100 according to an embodiment of the disclosure.
The electronic device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (universal serial bus, USB) interface 130, a charge management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, keys 190, a motor 191, an indicator 192, a camera 193, a display 194, and a subscriber identity module (subscriber identification module, SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor 180A, a gyro sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, and the like.
It should be understood that the illustrated structure of the embodiment of the present invention does not constitute a specific limitation on the electronic device 100. In other embodiments of the present application, electronic device 100 may include more or fewer components than shown, or certain components may be combined, or certain components may be split, or different arrangements of components. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
The processor 110 may include one or more processing units, such as: the processor 110 may include an application processor (application processor, AP), a modem processor, a graphics processor (graphics processing unit, GPU), an image signal processor (image signal processor, ISP), a controller, a memory, a video codec, a digital signal processor (digital signal processor, DSP), a baseband processor, and/or a neural network processor (neural-network processing unit, NPU), etc. Wherein the different processing units may be separate devices or may be integrated in one or more processors.
The wireless communication function of the electronic device 100 may be implemented by the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, a modem processor, a baseband processor, and the like.
The antennas 1 and 2 are used for transmitting and receiving electromagnetic wave signals. Each antenna in the electronic device 100 may be used to cover a single or multiple communication bands. Different antennas may also be multiplexed to improve the utilization of the antennas. For example: the antenna 1 may be multiplexed into a diversity antenna of a wireless local area network. In other embodiments, the antenna may be used in conjunction with a tuning switch.
The mobile communication module 150 may provide a solution for wireless communication including 2G/3G/4G/5G, etc., applied to the electronic device 100. The mobile communication module 150 may include at least one filter, switch, power amplifier, low noise amplifier (low noise amplifier, LNA), etc. The mobile communication module 150 may receive electromagnetic waves from the antenna 1, perform processes such as filtering, amplifying, and the like on the received electromagnetic waves, and transmit the processed electromagnetic waves to the modem processor for demodulation. The mobile communication module 150 can amplify the signal modulated by the modem processor, and convert the signal into electromagnetic waves through the antenna 1 to radiate. 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 provided in the same device as at least some of the modules of the processor 110.
The wireless communication module 160 may provide solutions for wireless communication including wireless local area network (wireless local area networks, WLAN) (e.g., wi-Fi network), blueTooth (BT), BLE broadcast, global navigation satellite system (global navigation satellite system, GNSS), frequency modulation (frequency modulation, FM), near field wireless communication technology (near field communication, NFC), infrared technology (IR), etc., applied on the electronic device 100. The wireless communication module 160 may be one or more devices that integrate at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, modulates the electromagnetic wave signals, filters the electromagnetic wave signals, and transmits the processed signals to the processor 110. The wireless communication module 160 may also receive a signal to be transmitted from the processor 110, frequency modulate it, amplify it, and convert it to electromagnetic waves for radiation via the antenna 2.
The electronic device 100 implements display functions through a GPU, a display screen 194, an application processor, and the like. The GPU is a microprocessor for image processing, and is connected to the display 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. Processor 110 may include one or more GPUs that execute program instructions to generate or change display information.
The display screen 194 is used to display images, videos, and the like. The display 194 includes a display panel. The display panel may employ a liquid crystal display (liquid crystal display, LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED) or an active-matrix organic light-emitting diode (matrix organic light emitting diode), a flexible light-emitting diode (flex), a mini, a Micro led, a Micro-OLED, a quantum dot light-emitting diode (quantum dot light emitting diodes, QLED), or 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 photographing functions through an ISP, a camera 193, a video codec, a GPU, a display screen 194, an application processor, and the like.
The ISP is used to process data fed back by the camera 193. For example, when photographing, the shutter is opened, light is transmitted to the camera photosensitive element through the lens, the optical signal is converted into an electric signal, and the camera photosensitive element transmits the electric signal to the ISP for processing and is converted into an image visible to naked eyes. ISP can also optimize the 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 the camera 193.
The digital signal processor is used for processing digital signals, and can process other digital signals besides digital image signals. For example, when the electronic device 100 selects a frequency bin, the digital signal processor is used to fourier transform the frequency bin energy, or the like.
The NPU is a neural-network (NN) computing processor, and can rapidly process input information by referencing a biological neural network structure, for example, referencing a transmission mode between human brain neurons, and can also continuously perform self-learning. Applications such as intelligent awareness of the electronic device 100 may be implemented through the NPU, for example: image recognition, face recognition, speech recognition, text understanding, etc.
The electronic device 100 may implement audio functions through an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, an application processor, and the like. Such as music playing, recording, etc.
The audio module 170 is used to convert digital audio information into an analog audio signal output and also to convert an analog audio input into a digital audio signal. The audio module 170 may also be used to encode and decode audio signals. In some embodiments, the audio module 170 may be disposed in the processor 110, or a portion of the functional modules of the audio module 170 may be disposed in the processor 110.
The speaker 170A, also referred to as a "horn," is used to convert audio electrical signals into sound signals. The electronic device 100 may listen to music, or to hands-free conversations, through the speaker 170A.
A receiver 170B, also referred to as a "earpiece", is used to convert the audio electrical signal into a sound signal. When electronic device 100 is answering a telephone call or voice message, voice may be received by placing receiver 170B in close proximity to the human ear.
Microphone 170C, also referred to as a "microphone" or "microphone", is used to convert sound signals into electrical signals. When making a call or transmitting voice information, the user can sound near the microphone 170C through the mouth, inputting a sound signal to the microphone 170C. The electronic device 100 may be provided with at least one microphone 170C. In other embodiments, the electronic device 100 may be provided with two microphones 170C, and may implement a noise reduction function in addition to collecting sound signals. In other embodiments, the electronic device 100 may also be provided with three, four, or more microphones 170C to enable collection of sound signals, noise reduction, identification of sound sources, directional recording, etc.
The pressure sensor 180A is used to sense a pressure signal, and may convert the pressure signal into an electrical signal. In some embodiments, the pressure sensor 180A may be disposed on the display screen 194.
The air pressure sensor 180C is used to measure air pressure. In some embodiments, electronic device 100 calculates altitude from barometric pressure values measured by barometric pressure sensor 180C, aiding in positioning and navigation.
The magnetic sensor 180D includes a hall sensor. The electronic device 100 may detect the opening and closing of the flip cover 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 electronic equipment gesture recognition method can also be used for recognizing the gesture 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 may utilize the collected fingerprint feature to unlock the fingerprint, access the application lock, photograph the fingerprint, answer the incoming call, etc.
The touch sensor 180K, also referred to as a "touch panel". The touch sensor 180K may be disposed on the display screen 194, and the touch sensor 180K and the display screen 194 form a touch screen, which is also called a "touch screen". The touch sensor 180K is for detecting a touch operation acting thereon or thereabout. The touch sensor may communicate the detected touch operation to the application processor to determine the touch event type. Visual output related to touch operations may be provided through the display 194. In other embodiments, the touch sensor 180K may also be disposed on the surface of the electronic device 100 at a different location than the display 194.
The bone conduction sensor 180M may acquire a vibration signal. In some embodiments, bone conduction sensor 180M may acquire a vibration signal of a human vocal tract vibrating bone pieces.
Next, an application scenario of the network quality detection method provided in the embodiment of the present application is described in connection with fig. 2 to fig. 3F.
Fig. 2 is a view of an indoor network connection scenario provided in an embodiment of the present application, where the indoor scenario is a living room of a user. The router 101 is included in the living room of the user, the router 101 is connected with a network to send out a WIFI signal, so that the electronic equipment 100, the television 103 and the intelligent air conditioner 104 in the living room can be connected with the network through the WIFI signal emitted by the router 101, and the electronic equipment 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, and it is assumed that coverage of a WIFI signal transmitted by the router 101 is only a living room, and network quality of the electronic device 100 after connecting to WIFI is degraded as a distance between the electronic device 100 and the router 101 increases.
In the following, in the process of online watching video by a user, referring to fig. 3A to 3F, an application scenario in which an electronic device performs network channel switching is described due to degradation of network quality, and fig. 3A to 3F are exemplary interfaces provided by the embodiments of the present application, in which a group of users use the electronic device 100 to online watch video.
Fig. 3A is a user interface 10 of the electronic device 100, including a WIFI network icon 301, a mobile data icon 302, a video application icon 303, a web speed display icon 304, and other application icons in the user interface 10. The WIFI network icon 301 is used to indicate that the electronic device 100 is connected to the WIFI network channel, the mobile data icon 302 is used to indicate that the electronic device 100 is connected to the mobile data network channel, and it is assumed that the electronic device 100 has a main SIM card and a sub SIM card, and both SIM cards start mobile data services, as can be seen from fig. 3A, the electronic device 100 is currently connected to the WIFI network channel, the main mobile data network channel (network channel corresponding to the main SIM card), and the sub mobile data network channel (network channel corresponding to the sub SIM card). In the embodiment of the present application, the electronic device 100 takes the WIFI network channel as the main network channel, and the network channel enabled by the current electronic device 100 is taken as the main network channel as an example. The network speed display icon 304 is used to display the downlink rate of the 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 device 100 detects a click input operation for the video application icon 303, the electronic device 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, where a video cover 311 currently displayed in the video recommendation area is a "story of a pet", and when the electronic device 100 detects a click input operation with respect to the video cover 311, the electronic device 100 displays the user interface 30 as shown in fig. 3C.
As shown in fig. 3C, the user interface 30 is an interface for playing video, and as can be seen from fig. 3C, the currently enabled network channel of the electronic device 100 is the 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:48.
As shown in fig. 3D, during video viewing, the user moves the electronic device 100 from the active area 1 to the active area 2, then from the active area 2 to the active area 3, and the air conditioner is turned on, and the distances between the active area 1, the active area 2, the active area 3 and the router 101 decrease sequentially. 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:48. As can be seen from fig. 3E, since the network quality of the electronic device 100 at the active area 2 is lower than that at the active area 1, the network speed of the electronic device 100 is reduced compared with that at the active area 1, and when the user moves to the active area 3, the electronic device 100 displays the user interface 50 as 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, where the network acceleration prompt box 501 is used to prompt the network acceleration of the started video application. For example, the network acceleration prompt box 501 in fig. 3F displays the information of "the switching of the network channel has been completed, and the network acceleration is performed". As can be seen in the user interface 50, 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:48. The electronic device 100 completes the switch from the primary network channel to the standby network and the network rate is greatly increased after the electronic device switches to the standby network channel in the active area 3 compared to the network rate in the active area 2.
It should be understood that fig. 3A-3F illustrate a set of exemplary user interfaces for performing network channel switching by the electronic device based on the detected network quality due to a change in the linear distance between the electronic device and the router during video playing of the electronic device, which should not limit embodiments of the present application.
Fig. 2 to fig. 3F describe application scenarios of the electronic device for 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 from the active area 2 to the active area 3, the network quality is degraded due to the continuous increase of the linear distance between the electronic device and the router, so that the network rate of the electronic device is 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.
In the following, referring to the drawings, the principle of the network quality detection method of the electronic device is described, as shown in fig. 4, the electronic device performs data stream transmission with the server through a WIFI network channel, where the WIFI network channel includes a plurality of flow channels (only two flow channels are listed in the drawing), where the flow channel a is used for transmitting an uplink data stream from the application 1 to the server, and the flow channel B is used for transmitting a downlink 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 the quality of the downlink data flow network (for example, the transmission rate of the downlink data packet, the delay time of the data packet, the packet loss rate, etc.), and when detecting that the network quality of the data flow is poor, switches the data flow between the application 1 and the server to the mobile data network channel for transmission.
The application 1 and the server generally use a UDP protocol to transmit a message, and the application 1 sends an uplink download request message to the server first, so as to be used for communicating with the server, and after the server receives the uplink download request message, the server sends a downlink data stream to the application 1, and at this time, the electronic device is triggered to detect the downlink data stream, thereby detecting the network quality of the current data stream, and judging whether the switching of the network channel is required according to the network quality. After the server sends the downlink data stream, the electronic equipment 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 transmits an uplink packet using a protocol such as gqic, the application 1 transmits an uplink download request packet to the server, and then the server transmits a downlink data stream to the application 1. 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 the acknowledgement message is only used to inform the server, and the application 1 has received the downlink data stream sent by the server, and has no other effect. The electronic device typically detects the network quality based on the downlink network rate, which 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 the application 1 sending an acknowledgement message such as an uplink ACK 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 network quality detection result is not affected, but after the server stops/pauses sending the downlink data stream to the application 1, if the application 1 sends the uplink acknowledgement message to the server, the electronic device cannot identify the uplink acknowledgement message and uses the uplink acknowledgement message as the download request message, the electronic device uses the downlink network rate after receiving the uplink acknowledgement message as a factor of good network quality, so that the network quality detection result of the electronic device is inaccurate, and the network channel is switched erroneously. If the electronic device switches the WIFI network channel to the mobile data network channel, a large amount of mobile data traffic is consumed due to network acceleration, and for some users with small total or small residual traffic, the traffic may exceed the package limit, so that the user pays more telephone fees exceeding the package limit, and bad use experience is brought to the user.
In order to solve the problem that the network quality of the electronic device is inaccurate in detection result and thus the network channel is miscut because the electronic device cannot identify the acknowledgement message such as the ACK, the embodiment of the 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 provided in an embodiment of the present application, and the specific flow is as follows:
step S601: the first application is launched in response to a first operation by the user.
Specifically, a user opens a first application in an 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 click) for a video application icon, a video application is launched. It will be appreciated that the above embodiments are merely illustrative of a scenario in which the first application (video application) is launched by clicking, and do not constitute a limitation of the embodiments of the present application, and in some embodiments, the first application may be launched by other operation manners (e.g., double clicking, sliding, etc.).
The first application is a network application, i.e. an application needing 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, and the like.
Step S602: after the context awareness component detects that the first application is switched to the foreground, a first notification message is sent to the policy management component.
Specifically, the environment detection component in the service layer of the electronic device may detect a state of the first application, and when the environment sensing component detects that any application is switched to the foreground, send a first notification message to the policy management component. Wherein the first notification message is used to notify the policy management component that the first application has been switched to the foreground. Wherein the first notification message includes an identity of the first application, the identity being used to identify a unique identity of the first application.
Step S603: and 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 the application level policy management component receives the first notification message, it can learn that the first application is switched to the foreground, and then the application level policy management component determines whether the first application meets a condition of starting network acceleration by querying an application configuration library. Wherein the application configuration library includes configuration information for all applications of the electronic device including, but not limited to, whether each application is granted network acceleration rights. The policy management component obtains configuration information of the first application from an application configuration library based on the identity of the first application, determines whether the first application has network acceleration permission, 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, an acceleration service for the first application may be started, and an acceleration enabling message is sent to the flow-level path management component, where the acceleration enabling message is used to instruct the flow-level path management component to start the acceleration service for the first application.
The acceleration traffic may include, but is not limited to: when the environment of the electronic equipment or the system environment of the electronic equipment is changed, a standby network channel is started, so that the standby network channel is converted from a dormant state to an awakening state; and/or monitoring the network quality of a plurality of streams in the first application, and when the electronic equipment monitors that the quality of a certain stream of the first application is poor, switching a plurality of streams of the first application including the stream with poor quality to a standby network channel, so that the plurality of streams of the network application are always borne on the network channel with relatively good quality, the transmission quality of the streams is ensured, the possibility of service blocking of the first application is reduced, and the user experience is improved.
It should be noted that if the electronic device has already enabled the standby network channel when deciding to switch the plurality of streams to the standby network channel, the electronic device switches the plurality of streams to the standby network channel that has already been enabled, and if the electronic device has not enabled the standby network channel when deciding to switch the plurality of streams to the standby network channel, the electronic device needs to enable one standby network channel first and then switch to the standby network channel that has been enabled.
Optionally, the acceleration start message may include information corresponding to the identity of the first application, for example, may include: the method comprises the steps of identifying a first application, a target flow type, a flow model corresponding to the target flow type, network quality evaluation parameter information and flow switching strategy information. Reference may be made specifically to the foregoing related description, which is not repeated here.
Step S605: the flow level path management component sends a second notification message to the traffic reporting component.
Specifically, the second notification message is used for notifying the traffic reporting component that the first application has been switched to the foreground, and instructing the traffic reporting component to monitor the data flow between the first application and the server.
Step S606: and after receiving the second notification message sent by the flow-level path management component, the flow reporting component registers 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 the first application and the server in the network channel.
Step S607: the flow level path management component requests the primary network channel from the channel level path management component.
Specifically, the flow level path management component requests the primary network channel from the channel level path management component upon receiving the channel enable message. In the embodiment of the application, the electronic device supports to use two SIM cards (a main card and a secondary card) simultaneously, and the two SIM cards open mobile data service, and the electronic device is connected with two WIFI network channels (a main WIFI network channel and a secondary WIFI network channel) simultaneously for illustration. Because the electronic equipment starts the mobile data service of the two SIM cards, and the electronic equipment is simultaneously connected with the two WIFI network channels, the electronic equipment is currently connected with the four network channels, and the four network channels are respectively: a primary WIFI network channel, a primary mobile data network channel, a secondary WIFI network channel, and a secondary mobile data network channel. The network channels corresponding to the main WIFI, the main SIM card, the auxiliary WIFI and the auxiliary SIM card are sequentially as follows: a primary WIFI network channel, a primary mobile data network channel, a secondary WIFI network channel, and a secondary mobile data network channel.
After the first application is started, the flow-level path management component can sequentially request the main WIFI network channel, the main mobile data network channel, the auxiliary WIFI network channel and the auxiliary mobile data network channel as the main network channel, if the network channel currently requested by the flow-level path management component is available (the network channel currently requested by the flow-level path management component can transmit the data flow between the first application and the server), the flow-level path management component takes the network channel as the main network channel and does not request the network channel any more, otherwise, the flow-level path management component sequentially requests the main network channel from the channel-level path management component according to the sequence until an available network channel is found. If an available network channel is not found, the network acceleration of the first application fails and the network acceleration of the first application is not performed. For example, the flow-level path management component requests the channel-level path management component for the primary WIFI network channel as the primary network channel, if the primary WIFI network channel is available, the primary WIFI network channel is taken as the primary network channel, and the flow-level path management component no longer requests the primary mobile data network channel, the secondary WIFI network channel, and the secondary mobile data network channel as the primary network channel. And if the main WIFI network channel is unavailable, sequentially requesting the main network channel according to the order 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 first application fails to accelerate the network, and the first application is not accelerated, i.e. the network channels of the first application are switched.
It should be understood that, the flow-level path management component may request the channel-level path management component for the main network channel according to the sequence of the main WIFI network channel, the main mobile data network channel, the secondary WIFI network channel, and the secondary mobile data network channel, and may request the main network channel according to other sequences, for example, the flow-level path management component may request the channel-level path management component for the main network channel according to the sequence of the main WIFI network channel, the secondary WIFI network channel, the main mobile data network channel, and the secondary mobile data network channel, which is not limited in this embodiment of the present application.
In addition, the order in which the flow-level path management component requests the main network channels is also related to the number of network channels to which the electronic device is connected, for example, in the case that the electronic device is only connected to the main WIFI network, and the main SIM card mobile data service and the auxiliary SIM card mobile data are opened, the electronic device is only connected to the main WIFI network channels, the main mobile data network channels, and the auxiliary mobile data network channels, and the order in which the flow-level path management component requests the main network channels from the channel-level path management component may be the order of the main WIFI network channels, the main mobile data network channels, and the auxiliary mobile data network channels, or may be the order based on other combinations of the three network channels. The number of network channels connected with the electronic device and the order in which the channel-level path management component requests the main network channels from the channel-level path management component based on the network channels connected with the electronic device are not limited.
It should be understood that step S607 may be performed simultaneously with step S605, may be performed before step S605, or may be performed after step S605, which is not limited in the embodiment of the present application.
Step S608: the path-level path management component determines whether the primary network path currently requested by the path-level path management component is available.
Specifically, when the channel-level path management component receives the main network channel request sent by the stream-level path management component, the channel-level path management component determines whether the main network channel currently requested by the stream-level path management component is available. If not, the channel-level path management component returns a message to the stream-level path management component, the message being used to notify the stream-level path management component that the requested primary network channel is not available, so that the stream-level path management component applies for other network channels as primary network channels.
It should be appreciated that after the first application is launched, the channel-level path management component may periodically record the availability of all network channels to which the electronic device is connected after the channel-level path management component sends a primary network channel request to the channel-level path management component.
Step S609: in the case where the primary network channel currently requested by the flow level path management component is an available network channel, the channel level path management component requests enablement of the primary network channel from the network connection component.
For example, if the flow-level path management module requests the channel-level path management module to use the main WIFI network channel as 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 module may request the network connection module to enable the main WIFI network channel, so that a data flow 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 primary network channel and feeds back a notification message to the channel-level path management component that the primary network channel is enabled.
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 receiving the notification message that the primary network channel is enabled, the channel-level path management module requests the channel quality detection module to perform quality detection on the currently enabled primary network channel.
By way of example, the quality of the primary network channel may be detected based on at least one of the following parameters of the network channel: time delay, packet loss rate, bandwidth, rate, etc. of the channel. For example, the quality detection may be detecting Round-Trip Time (RTT) of the primary network channel.
Optionally, when there is a history of the currently enabled primary network channel, that is, the currently enabled primary network channel is once enabled, at this time, the quality of the primary network channel may be evaluated in combination with the RTT and the history, where the history may include a history of a receiving rate, a number of times that the channel quality is poor, and the embodiment of the present application does not specifically limit the manner of evaluating the channel quality.
Step S612: 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, namely: the channel-level path management module requests starting of available network channels from the network connection channels based on the order in which the stream-level path management module requests the main network channels (excluding the currently enabled network channels) until a network channel with network quality meeting the requirement is found as the main network channel. If a main network channel with the 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 primary network channel is a primary WIFI network channel, the available network channels include a primary WIFI network channel, a primary mobile data network channel, a secondary WIFI network channel, and a secondary mobile data network channel, and the order in which the stream level path management component requests the available primary network channels is the primary WIFI network channel, the primary mobile data network channel, the secondary WIFI network channel, and the secondary 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 to 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 an available main network channel any more, otherwise, the channel-level path management component sequentially requests the network connection component for the auxiliary WIFI network channel and the auxiliary mobile data network channel to serve as the main network channel, enables the auxiliary WIFI network channel and the auxiliary mobile data network channel, and then detects the network quality of the auxiliary WIFI network channel until an available network channel with the network quality meeting the requirement is found to serve as the main network channel, and enables the auxiliary WIFI network channel, so that the data stream of the first application and the application program can be transmitted on the main network channel.
Step S613: the policy management component sends a traffic probe request to the traffic awareness component.
In particular, the flow probe request may be used to instruct the flow aware component to initiate message statistics and monitoring of network applications on the primary network channel. The traffic detection request may include an identity (e.g., UID) of a first application to be detected currently, and is configured to request detection and monitoring of a data flow between a network application and a server on the primary network channel, where the network application and the server correspond to the identity. It will be appreciated that the data stream may be in the form of messages.
It should be understood that step S613 and step S604 may be performed simultaneously, and step S613 may also be performed after step S604, which is not limited in this embodiment of the present application.
Step S614: the flow sensing component sends a flow reporting request to the flow reporting component.
Specifically, after the flow sensing component receives the flow detection request sent by the application level policy management component, the flow sensing component may send a flow reporting request to the flow reporting component, where the flow reporting request may be used to instruct the flow reporting component to detect a data flow transmitted between the first application and the server on the current main network channel, and report the detected data flow. It will be appreciated that the traffic probe request may contain an identity (e.g., UID) of the first application.
Step S615: the flow reporting component detects the flow and reports the message statistical information of the target flow to the flow sensing component.
Specifically, after the flow reporting component receives the flow reporting request, the flow reporting component may detect the target flow on the main network channel according to the flow reporting request, and report the packet statistical information of the detected target flow to the flow sensing component. The target stream may be a data stream transmitted between the first application and the server.
In a specific implementation, the flow reporting component may obtain, by using a calling component (e.g., netfilter component of the android system), a message of the target flow on the current main network channel. It should be understood that the Netfilter component is merely illustrative and not limiting to embodiments of the present application, and in some embodiments, detection of the target flow may be accomplished by other components.
Because the message monitoring hook is registered in advance by the flow reporting component, when the flow reporting component detects the flow, the message of the target flow can be acquired through the message monitoring hook. As shown in fig. 7, the overall implementation block diagram is that Netfilter hooks an nf_hook function of a flow reporting component, a message carried on a current main network channel enters the flow reporting component, the flow reporting component stores a message of a target flow into an SKB queue through processes such as message analysis, flow table creation, message content analysis and the like, and for the message in the SKB queue, according to a reporting policy of the target flow to which the message belongs, the message statistical information of the target flow which needs to be reported at fixed time is triggered by a timer to be reported to a flow sensing component.
Referring to fig. 7, a specific implementation flow of the message reporting component may include:
step S1, initializing;
when the first application is started and loaded, the flow reporting component receives the second notification message in step S606, and registers the message monitoring hook function.
S2, message processing;
the method specifically comprises three steps of message analysis, flow checking 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 messages of the received stream, the total number of bytes of the messages of the received stream, the number of erroneous packets, etc. The identification information of the stream can be obtained by calculation according to the quintuple or the tetratuple of the message in the stream, and the calculation can specifically use a hash algorithm, so that the identification information of the stream can be a hash value obtained by calculation of the quintuple or the tetratuple of the message.
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; if so, the message is a message of the first application, a quadruple (or five-tuple) of the message is analyzed, and a 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 five-tuple may include: source IP, destination IP, source port, destination port, and protocol number.
When looking up the flow table, the identification information of the flow can be calculated according to the quadruple (or five-tuple) of the message, whether the identification information is recorded in the flow table or not is searched by using the identification information obtained by calculation, and if so, the statistical information corresponding to the identification information in the flow table is updated; if not, creating a flow node in the flow table according to the identification information of the flow, and updating the statistical information of the flow in the flow node.
When the message analysis is carried out, the flow reporting component can filter the received message through preset conditions, so that all or part of the message of the target flow is obtained. For example, the preset condition may be: the source IP address of the message is the IP address of the network connected with the main network channel, the destination IP address of the message is the server, the source port, the destination port and the like of the first application, or the destination IP address of the message is the IP address of the network connected with the main network channel, the source IP address of the message is the server, the source port, the destination port and the like of the first application. The preset conditions may be configured to the flow report component through a configuration file, where the configuration file may be carried in the flow report request sent by the flow sensing component in step S614, and record the feature information that the packet needs to be matched with.
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 flow reporting component periodically reports statistical information of the target flow message to the flow sensing component, and periodically detects network quality of the target flow between the first application and the server. Next, with reference to fig. 8, a specific description will be given of a flow of detecting network quality by the flow sensing component in units of one cycle, where the specific flow is as follows:
step S801: the flow sensing component receives the statistical information of the target flow message in the period reported by the flow reporting component.
Specifically, the flow reporting component detects a data flow between the first application and the server, the data flow is a target data flow, statistics is performed on uplink messages and downlink messages in the target data flow by taking a period as a unit, and the statistics information of the target flow messages is sent to the flow sensing component. The statistical information of the target flow message includes not only: the number of the uplink messages, the number of the 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 the like.
Step S802: 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 flow sensing component may obtain downlink network rates of the current period and a plurality of past periods from packet statistics of the target flows of the current period and the past period, and determine that the first application is in a suspended download/stop download state based on the plurality of downlink network rates. The downloading state of the first application is a state that the server sends downlink data flow to the first application. The method for judging whether the first application is in the state of suspending downloading/stopping downloading by the flow sensing component based on the downlink network rate can be as follows: 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 flow sensing component judges that the first application is in a downloading suspension/downloading suspension state, and does not record the network quality of the current period. Otherwise, the first application is not in a suspended download/stop download state. And if the downlink network rate of the current period is smaller than the threshold, the network quality of the current period is recorded as poor, and the threshold is larger than the first rate value. The first rate value may be derived from historical data, may be derived from experimental data, and is not limited in this embodiment.
It should be understood that the method that the flow sensing component determines that the first application is in the state of suspending/stopping downloading based on the packet statistics information of the current period in the embodiment of the present application is merely illustrative, and is not limited.
If the first application is in the suspended/stopped downloading state, the flow sensing component executes step S803, and if the first application is not in the suspended/stopped downloading state, the flow sensing component executes step S804.
Step S803: the flow sensing component sets the download end flag to a first flag.
Specifically, the download end flag is used for indicating a download state of the first application, if the download end flag is the first flag, the flow sensing component determines that the first application is in a downloading suspension/stopping state, and if the download end flag is not the first flag, the flow sensing component determines that the first application is not in the downloading suspension/stopping state. For example, the first identifier may be a character such as "True" or "1", and the method for representing the first identifier is not limited in the embodiments of the present application.
Step S804: the flow sensing component judges whether the downloading end mark is a first mark.
Specifically, if the determination is yes, the flow sensing component executes step S806, and if the determination is no, the flow sensing component executes step S805.
Step S805: the flow sensing component records the network quality of the present period based on the message statistical information of the present period.
Specifically, the flow sensing component may compare the downlink network rate of the present period with a preset rate threshold value threshold, if the downlink network rate is greater than or equal to threshold, the flow sensing component records that the network quality of the present period is good, and if the downlink network rate is less than threshold, the flow sensing component records that the network quality of the present period is poor. The threshold may be obtained based on historical data, empirical values, or experimental data, which is not limited in this embodiment of the present application. Wherein threshold is greater than the first rate value.
Step S806: the flow sensing component does not record the network quality for the present period.
Step S807: and under the condition that an uplink message exists, the flow sensing component judges whether the network protocol of the uplink message is a GQUIC protocol based on the message statistical information of the period.
Specifically, as described in step S615, in the process of detecting the target flow, the flow reporting component may parse 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 flow reporting component judges whether a CHLO (Client Hello) field exists in the uplink message, if yes, the network protocol used by the message is judged to be GQUIC protocol, and if yes, the flow reporting component records the network protocol in the message statistical information of the target flow. Fig. 9 is a schematic diagram of a datagram using gqic protocol according to an embodiment of the present application, and as can be seen from fig. 9, the datagram contains a choo field.
The flow sensing component judges whether the network protocol of the uplink message in the current period is the gqic protocol based on the message statistical information of the target flow, if yes, step S808 is executed, if no, the flow is ended.
Step S808: the flow sensing component determines whether the upstream data message is an ACK message using the gqic protocol.
Specifically, if the network protocol used by the flow sensing component in the current period is determined to be the gqic protocol, the flow sensing component determines whether the uplink data packet is an ACK packet, if yes, it indicates that the uplink data packet is not a download request packet, the network quality detection flow in the current period is completed, the flow is ended, and if no, step S809 is executed. The flow 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, 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 the ACK packet, and if the Byte length of the payload field is not the ACK packet, the uplink packet is a download request packet, otherwise, the uplink packet is the ACK packet. The first threshold may be obtained from an empirical value, may be obtained from historical data, or may be obtained from experimental data, which is not limited in the embodiment of the present application.
For easy understanding, in the following, a detailed flow of determining whether the uplink message is an ACK message by the flow sensing component in the steps S807-S808 is described with reference to fig. 10, and referring to fig. 10, a flow of determining whether the uplink message is an ACK message by the flow sensing component provided in the embodiment of the present application is as follows:
step S1001: the flow sensing component determines whether the CHLO field exists in the upstream message. If the determination is yes, step S1002 is executed, and if the determination is no, it is determined that the network protocol used in the uplink packet is not the gqic protocol, and step S1005 is executed.
Step S1002: the flow sensing component determines that the network protocol of the uplink message is the GQUIC protocol.
Step S1003: the flow sensing component judges whether the byte length of the payload field of the uplink message is greater than or equal to a first threshold. If not, step S1004 is executed, and if yes, step S1005 is executed.
Step S1004: the flow sensing component determines the uplink message as an ACK message.
Step S1005: the flow sensing component determines that the uplink message is not an ACK message.
Step S809: the flow sensing component sets the download end flag to a second flag.
Specifically, if the uplink datagram in the current period is not an ACK message using the gqic protocol, the download end flag is set to the second flag, so that the flow sensing component determines whether to record the network quality according to the download end flag in the next period. 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 flow sensing component determines that the downloading process is suspended in period 4, sets the downloading end flag as the first flag, sets the downloading end flag in period 5 to period 6 as the first flag, but in period 6, the flow sensing component detects that there is an uplink downloading request message, which indicates that the downloading of the first application is restarted, the flow sensing component sets the downloading end flag as the second flag, and in period 7, the flow sensing component determines whether to record the network quality of the current period based on the downloading end flag, and if the downloading end flag is not the first flag, records the network quality of the current period.
Next, a specific flow of determining whether to switch a network channel by the traffic sensing component based on the network quality of each period recorded by the traffic sensing component will be described with reference to fig. 12, where the specific flow is as follows:
Step S1201: the flow sensing component obtains network quality detection results of the first M periods adjacent to the current period.
Step S1202: and judging whether the network quality detection result of more than N periods is poor 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 counted period is less than M, the network quality detection result is poor according to whether the counted period number P exceeds (n×p)/M periods. If yes, step S1203 is executed, and if no, step S1204 is executed.
In step S1203, the flow sensing component determines to switch network channels.
Step S1204: the traffic awareness component determines not to switch network channels.
It should be understood that in the embodiment of fig. 12, the method that the flow sensing component determines whether to switch the network channel based on the network quality detection result is merely illustrative, and the embodiments of the present application are not limited to other methods that the flow sensing component determines whether to switch the network channel based on the network quality detection result.
Step S617: in the case of determining to switch network channels, the flow awareness component sends network channel switching instructions to the flow level path management component.
Specifically, in the case of determining to switch network channels, the flow awareness component sends a network channel switching instruction to the flow level path management component, where the network channel switching instruction is used to instruct the flow level path management component to 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 flow sensing component, the flow-level path management component requests to enable the standby network channel from the channel-level path management component.
Step S619: the channel-level path management component requests the network connection component to enable the alternate network channel.
Specifically, the channel-level path management component selects a network channel other than the primary network channel as the backup network channel among the currently available network channels. For example, if the electronic device is connected to the main WIFI network channel, the main mobile data network channel, the secondary WIFI network channel, and the secondary mobile data network channel, where all the four network channels are available, the main network channel is the main WIFI network channel, and then the channel-level path management component may select one network channel from the main mobile data network channel, the secondary WIFI network channel, and the secondary mobile data network channel as the standby network channel.
Step S620: the network connection management component initiates the standby network channel and feeds back a notification message to the channel-level path management component that the standby network channel is enabled.
Specifically, the method for enabling the standby network channel refers to enabling the standby network channel to be switched from a dormant state to an awake state, so that when the network channel is required to be switched subsequently, the standby network channel can be switched from the current network channel to the standby network channel quickly. For example, the standby network channel is a main mobile data network channel, and the network connection component starts the main mobile data network channel by switching the main mobile data network channel from the dormant state to the 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: the channel quality detection component sends the channel quality detection result to the channel-level path management component.
Specifically, please refer to step S611-step S612 from step S621-step S622, which are not described herein.
Step S623: the channel-level path management component sends the path of the standby network channel to the stream-level path management component.
Step S624: the flow-level path management component sends a network channel switching notification to the policy enforcement component.
Step S625: the policy enforcement component switches network channels.
Specifically, after receiving the notification of network channel switching sent by the flow-level path management component to the policy execution component, the policy execution component switches the network channel and switches the data flow between the first application and the server on the main network channel to the standby network channel for transmission.
In the embodiment of the application, after detecting that the application sends the download request message to the server, the electronic device periodically detects whether the network quality and the download process are finished/paused, if so, the electronic device does not take the downlink network rate in the period as a reference factor for judging whether the network quality is good or bad, and meanwhile, the electronic device can identify whether the uplink datagram sent by the application to the server in the period is the download request datagram, if so, the electronic device sets the download finishing flag bit as the download state, and by adopting the method, the electronic device is prevented from identifying the ACK confirmation message sent by the application to the server as the download request message after stopping or pausing the download process, and further takes the downlink network rate after receiving the confirmation message as a reference factor for judging whether to switch the network channel, thereby causing the wrong switching of the network channel.
A system frame diagram of the electronic device is described 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 used to provide various network applications, which may be third party applications or system applications, such as network applications for games, music, video, etc. The type of network application provided by the application layer is not particularly limited. A network application here refers to an application that needs to acquire resources from a network using a network channel of an electronic device.
The service layer may include an environment awareness component, a channel-level path management component, a policy management component, and a channel quality detection component. The context awareness component may be configured to detect a state of an application, for example, the state of the first application may include a state of application exit, application opening, application running, application installation, application uninstallation, etc., which is to be understood to be only exemplary, and may include more states, which are not described herein. The channel-level path management component may be used to be responsible for requesting/closing a network channel, perceiving a state change of the network channel, updating a selection policy of the network channel, and storing paths of a plurality of network channels. The policy management component may generate different enforcement policies based on the input information, such as, for example, enabling acceleration functions of the network channels, enabling traffic awareness (e.g., detecting traffic of the network channels), etc. The channel quality detection component can be used to evaluate the quality of a network channel. The service layer may further include: and the network connection component is used for enabling the network channel, namely, converting the network channel from the dormant state to the wake state, and directly using the network channel in the wake state.
The policy layer may include a flow level path management component and a flow awareness component. The flow-level path management component may be configured to update the selection of a network channel according to a policy change of an upper layer, trigger network channel quality detection, dynamically select an optimal channel, and may be further configured to store paths of different network channels, for example, paths of a network channel (e.g., a primary network channel) and a standby network channel that are currently used by an application. The flow sensing component can be used for counting the reported flows and evaluating the network quality of each flow.
The kernel layer may include a traffic reporting component and a policy enforcement component. The flow reporting component can be used for collecting and reporting flow information. The policy enforcement component may be used to enforce the switching of network channels.
It should be understood that the connection relationship between the components illustrated in the embodiments of the present application is only illustrative, and does not limit the structure of the electronic device. In other embodiments of the present application, the electronic device may also use different interfacing manners in the foregoing embodiments, or a combination of multiple interfacing manners.
The system framework shown in fig. 13 above is merely illustrative of an implementation of a layered architecture for an electronic device. The system architecture shown in fig. 13 may also be implemented as part of an existing hierarchical software architecture. Taking an Android (Android) system as an example, fig. 13 is a software structure block diagram of an electronic device with an Android system provided in an embodiment of the present application. The layered architecture divides the software into several layers, each with distinct roles and branches. The layers communicate with each other through a software interface. In the embodiment of the application shown in fig. 14, the Android system is divided into five layers, namely, an application layer, an application framework layer (also called a system framework layer), a system library and Android runtime layer, a hardware abstraction layer (hardware abstraction layer, HAL) and a kernel layer from top to bottom.
The application layer includes several applications (hereinafter simply referred to as applications), such as cameras, gallery, calendars, WLANs, etc. In one possible example, an 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 a network application, such as a video playing application, a game application, etc., as described in embodiments of the present application.
The application framework layer provides an application programming interface (Application Programming Interface, API) and programming framework for applications of the application layer, including various components and services to support the android development of the developer. The application framework layer also includes some predefined functions. For example, the application framework layer may include a window manager, a content provider, a resource manager, a 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 at the application framework layer.
The system library and Android Runtime layer includes a system library and an Android Runtime (Android run). The system library may include a plurality of functional modules. For example: surface manager, two-dimensional graphics engine, three-dimensional graphics processing library (e.g., openGL ES), media library, font library, etc.
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 kernel layer may include: display driving, camera driving, audio driving, sensor driving, etc. In one 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, where, as shown in fig. 14, the kernel layer may include: and the traffic reporting component and the policy executing component.
In the above embodiments, it may be implemented in whole or in part 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 produced in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus. 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 a wired (e.g., coaxial cable, fiber optic, digital subscriber line), or wireless (e.g., infrared, wireless, microwave, etc.). The computer readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that contains an integration of one or more available media. The usable medium may be a magnetic medium (e.g., floppy Disk, hard Disk, tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid State Disk), etc.
Those skilled in the art will appreciate that implementing all or part of the above-described methods may be accomplished by computer programs, which may be stored on a computer-readable storage medium, and which, when executed, may include the steps of the above-described method embodiments. And the aforementioned storage medium includes: ROM or random access memory RAM, magnetic or optical disk, etc.
In summary, the foregoing description is only an embodiment of the technical solution of the present invention, and is not intended to limit the scope of the present invention. Any modification, equivalent replacement, improvement, etc. made according to the disclosure of the present invention should be included in the protection scope of the present invention.

Claims (11)

1. A method for detecting network quality, comprising:
responding to a first operation of a user, and starting a first application;
periodically receiving message statistical information of a target stream; the message statistical information is statistical information of data flow between the first application and a server;
under the condition that the first application is judged to be in a downloading suspension/downloading suspension state 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 under the condition that the uplink message exists in the target stream;
recording network quality of the next period under the condition that the uplink message is not an ACK message;
whether to switch network channels is determined based on the recorded network quality for a number of cycles.
2. The method of claim 1, wherein the method further comprises:
and judging whether the uplink message in the next period is an ACK message or not under the condition that the uplink message is the ACK message.
3. The method according to any one of claims 1-2, wherein the determining whether the uplink message is an ACK message based on the message statistics 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 an ACK message;
detecting whether the length of a payload field of the uplink message is greater than or equal to a first threshold value under the condition that the network protocol is a GQUIC protocol;
if the uplink message is greater than or equal to the first threshold, 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.
4. The method of claim 3, wherein the determining whether the network protocol of the uplink message is a gqic protocol based on the message statistics information comprises:
judging whether the CHLO field exists in the uplink message;
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 GQUIC protocol.
5. The method of any one of claims 1, 2, 4, wherein the network quality is derived based on a downlink network rate in the current period of message statistics;
if the downlink network rate is smaller than or equal to a preset rate threshold, recording the network quality of the current period as poor;
if the downlink network rate is greater than the preset rate threshold, the network quality record of the current period is good.
6. The method of claim 5, wherein after the determining whether the uplink message is an ACK message based on the message statistics of the current period, further comprising:
Under the condition that the number of the current statistical periods is larger than M, acquiring network quality of M periods adjacent to the current period;
judging whether the network quality exceeding N periods is poor in the M periods;
if 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 network quality of all P adjacent periods with the current period under the condition that the current statistical period number is less than or equal to M;
judging whether the network quality exceeding (P x N)/M periods is poor in the P periods;
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.
7. The method of any one of claims 1, 2, 4, and 6, wherein after the determining that the uplink message is not the ACK message based on the message statistics of the current period, before the recording of the network quality of the next period, further comprises:
and setting the downloading end mark as a second mark, wherein the second mark is used for representing that the first application is in a downloading starting state.
8. The method of any one of claims 1, 2, 4, and 6, wherein the not recording the network quality of the current period if the first application is determined to be in a suspended download/stop download state based on the packet statistics of the current period comprises:
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 download ending mark is used for representing the download state of the first application; the first identifier is used for representing that the first application is in a suspended downloading/stopped downloading state.
9. The method of claim 8, wherein the determining that the download end flag is the first flag based on the packet statistics of the current period, before not recording the network quality of the current period, further comprises:
judging whether to set the downloading end mark as the first mark based on the message statistical information of the current period;
if yes, setting the downloading end mark as the first mark;
and judging whether the downloading end mark is a first mark or not.
10. 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 is used for storing a computer program, and the computer program comprises program instructions;
the processor is configured to invoke the program instructions to cause the electronic device to perform the method of any of claims 1-9.
11. 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 of claims 1-9.
CN202310358098.7A 2021-11-18 2021-11-18 Network quality detection method and related electronic equipment Active CN116405960B (en)

Priority Applications (1)

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

Applications Claiming Priority (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

Related Parent Applications (1)

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

Publications (2)

Publication Number Publication Date
CN116405960A CN116405960A (en) 2023-07-07
CN116405960B true CN116405960B (en) 2024-03-29

Family

ID=83018845

Family Applications (2)

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
CN202111367405.5A Active CN115002797B (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
CN202111367405.5A Active CN115002797B (en) 2021-11-18 2021-11-18 Network quality detection method and related electronic equipment

Country Status (1)

Country Link
CN (2) CN116405960B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107889128A (en) * 2016-09-30 2018-04-06 腾讯科技(深圳)有限公司 Network quality method of adjustment and device
WO2018119923A1 (en) * 2016-12-29 2018-07-05 华为技术有限公司 Communication method and mobile terminal
CN111988445A (en) * 2020-08-19 2020-11-24 北京天融信网络安全技术有限公司 Message forwarding method and device, storage medium and electronic equipment
CN112422357A (en) * 2019-08-23 2021-02-26 华为技术有限公司 Method and device for detecting state of network communication path

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107889128A (en) * 2016-09-30 2018-04-06 腾讯科技(深圳)有限公司 Network quality method of adjustment and device
WO2018119923A1 (en) * 2016-12-29 2018-07-05 华为技术有限公司 Communication method and mobile terminal
CN112422357A (en) * 2019-08-23 2021-02-26 华为技术有限公司 Method and device for detecting state of network communication path
CN111988445A (en) * 2020-08-19 2020-11-24 北京天融信网络安全技术有限公司 Message forwarding method and device, storage medium and electronic equipment

Also Published As

Publication number Publication date
CN115002797A (en) 2022-09-02
CN115002797B (en) 2023-04-07
CN116405960A (en) 2023-07-07

Similar Documents

Publication Publication Date Title
JP7235871B2 (en) Data transmission method and electronic device
WO2021115007A1 (en) Network switching method and electronic device
CN113795040B (en) Channel switching method, electronic device and storage medium
US20240089822A1 (en) Channel switching method, electronic device, and storage medium
CN114172791B (en) Channel switching method, electronic device and storage medium
CN115484648B (en) Channel switching method, electronic device and storage medium
WO2020216098A1 (en) Method for providing forwarding service across electronic apparatuses, apparatus, and system
WO2021197071A1 (en) Wireless communication system and method
US11997736B2 (en) Connection establishment method and terminal device
CN113890905B (en) Channel switching method, electronic device and storage medium
CN113243126B (en) Network management method for terminal and terminal
US11792631B2 (en) Emergency call method and user terminal
CN113810965B (en) Channel switching method, electronic device and storage medium
CN116405960B (en) Network quality detection method and related electronic equipment
EP4262166A1 (en) Sla performance prediction method and related apparatus, and device
RU2811567C1 (en) Channel switching method, electronic device and data media
CN116155729A (en) Network acceleration method based on user traffic portrayal and related electronic equipment
CN116347665A (en) Network acceleration processing method and electronic equipment
CN117354876A (en) Data migration method, electronic equipment and networking system

Legal Events

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