CN113596919A - Data downloading method and device and terminal equipment - Google Patents

Data downloading method and device and terminal equipment Download PDF

Info

Publication number
CN113596919A
CN113596919A CN202110665489.4A CN202110665489A CN113596919A CN 113596919 A CN113596919 A CN 113596919A CN 202110665489 A CN202110665489 A CN 202110665489A CN 113596919 A CN113596919 A CN 113596919A
Authority
CN
China
Prior art keywords
network
network path
path
paths
terminal device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110665489.4A
Other languages
Chinese (zh)
Other versions
CN113596919B (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 CN202110665489.4A priority Critical patent/CN113596919B/en
Publication of CN113596919A publication Critical patent/CN113596919A/en
Application granted granted Critical
Publication of CN113596919B publication Critical patent/CN113596919B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/06Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals

Landscapes

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

Abstract

The embodiment of the application provides a data downloading method, a device and a terminal device, wherein the data downloading method is applied to the terminal device, and the method can comprise the following steps: after detecting the data stream of the downloading type, acquiring the number of the data stream; distributing the data streams to a first network path, a second network path and a third network path according to the number of the data streams; wherein the first network path comprises a network path between the first WiFi network interface and the network side, the second network path comprises a network path between the second WiFi network interface and the network side, and the third network path comprises a network path between the cellular network interface and the network side. And then the terminal equipment downloads the data stream through the first network path, the second network path and the third network path. Therefore, the terminal equipment can download the data stream by using the dual-WiFi network and the cellular network at the same time, the downloading speed is improved, and the user experience is further improved.

Description

Data downloading method and device and terminal equipment
Technical Field
The embodiment of the application relates to the technical field of intelligent terminals, in particular to a data downloading method, a data downloading device and terminal equipment.
Background
With the widespread use of terminal devices such as smart phones and the like in a large number, smart phones have increasingly more applications and more powerful functions, smart phones are developing towards diversification and personalization and become indispensable electronic appliances in user life, and meanwhile, in order to ensure the normal operation of applications, the stability of network data transmission of smart phones needs to be ensured, and faster networks and/or lower network delays can be obtained, so that dual wireless fidelity (WiFi) network smart phones come into operation.
In the prior art, when the transmission rate of one WiFi network is low, the smartphone switches to use another WiFi network or switches to a cellular network, which cannot fully utilize the advantages of the dual WiFi networks, and also has the problems of low download rate and/or large network delay, and poor user experience.
Disclosure of Invention
The embodiment of the application provides a data downloading method, a data downloading device and terminal equipment, and further provides a computer readable storage medium, so that the terminal equipment can download data streams by using a dual-WiFi network and a cellular network simultaneously, the downloading rate is improved, and further the user experience is improved.
In a first aspect, an embodiment of the present application provides a data downloading method, which is applied to a terminal device, where the terminal device includes a first WiFi network interface, a second WiFi network interface, and at least one cellular network interface; the terminal equipment is accessed to a first WiFi network through a first WiFi network interface, is accessed to a second WiFi network through a second WiFi network interface, and is accessed to a cellular network through the cellular network interface; the method comprises the following steps: after detecting the data stream of the downloading type, acquiring the number of the data stream; then, according to the number of the data streams, distributing the data streams to a first network path, a second network path and a third network path; wherein the first network path comprises a network path between the first WiFi network interface and the network side, the second network path comprises a network path between the second WiFi network interface and the network side, and the third network path comprises a network path between the cellular network interface and the network side; and finally, downloading the data stream through the first network path, the second network path and the third network path.
According to the data downloading method, the terminal equipment can download the data stream by using the dual-WiFi network and the cellular network simultaneously, the downloading speed is improved, the network delay is reduced, and the user experience can be improved.
In one possible implementation manner, the allocating, by the terminal device, the data streams to the first network path, the second network path, and the third network path according to the number of the data streams may be: detecting the download rates of a first network path, a second network path and a third network path within a preset time; determining the flow distribution proportion among the first network path, the second network path and the third network path according to the download rate; and distributing the data streams to a first network path, a second network path and a third network path according to the number of the data streams and the stream distribution proportion.
In one possible implementation manner, after the terminal device downloads the data stream through the first network path, the second network path, and the third network path, the quality of experience of the data stream carried on the first network path, the second network path, and the third network path may also be detected; switching the first data stream to the target network path if the first data stream is detected to have a quality of experience below a predetermined quality of experience threshold; the target network path is one of other network paths, the other network paths include network paths other than an original network path among a first network path, a second network path and a third network path, and the original network path is a network path originally carrying a first data stream.
In one possible implementation manner, before the terminal device switches the first data stream to the target network path, when one network path bearing the fewest data streams exists in other network paths, the network path bearing the fewest data streams is selected as the target network path; or, when at least two network paths with the least bearer data flows exist in other network paths, and the at least two network paths include one or a combination of a first network path and a second network path, and at least one network path in a third network path, if a traffic package of a cellular network used by the terminal device is not an unlimited package, selecting one of the first network path and the second network path as a target network path; and if the traffic package of the cellular network used by the terminal equipment is an unlimited package, selecting one of the third network paths as a target network path.
In one possible implementation manner, before the terminal device switches the first data flow to the target network path, when at least two network paths with the fewest bearer data flows exist in the other network paths and the at least two network paths include the first network path and the second network path, or when at least two network paths with the fewest bearer data flows exist in the other network paths and the at least two network paths include at least two network paths in the third network path, one network path is randomly selected from the at least two network paths as the target network path.
In one possible implementation manner, after the terminal device downloads the data stream through the first network path, the second network path, and the third network path, the quality of experience of the data stream carried on the first network path, the second network path, and the third network path may also be detected; if a network path to be switched exists in the first network path, the second network path and the third network path, switching a data stream carried on the network path to be switched to a target network path, or distributing the data stream to other network paths according to a stream distribution proportion;
the network path to be switched is a network path among a first network path, a second network path and a third network path, and the number of data streams with experience quality lower than a preset experience quality threshold in data streams carried by the network path to be switched is greater than a preset number threshold; the target network path is one of other network paths; the other network paths include network paths other than the network path to be switched among the first network path, the second network path and the third network path.
In a second aspect, an embodiment of the present application provides a data downloading apparatus, where the apparatus is included in a terminal device, and the apparatus has a function of implementing a behavior of the terminal device in the first aspect and possible implementation manners of the first aspect. The functions may be implemented by hardware, or by hardware executing corresponding software. The hardware or software includes one or more modules or units corresponding to the above-described functions. Such as a receiving module or unit, a processing module or unit, a transmitting module or unit, etc.
In a third aspect, an embodiment of the present application provides a terminal device, where the terminal device includes a first WiFi network interface, a second WiFi network interface, and at least one cellular network interface; the terminal equipment is accessed to a first WiFi network through a first WiFi network interface, is accessed to a second WiFi network through a second WiFi network interface, and is accessed to a cellular network through a cellular network interface; the terminal device comprises one or more processors; a memory; a plurality of application programs; and one or more computer programs, wherein the one or more computer programs are stored in the memory, the one or more computer programs comprising instructions which, when executed by a terminal device, cause the terminal device to perform the steps of: after detecting the data stream of the downloading type, acquiring the number of the data stream; distributing the data streams to a first network path, a second network path and a third network path according to the number of the data streams; wherein the first network path comprises a network path between the first WiFi network interface and the network side, the second network path comprises a network path between the second WiFi network interface and the network side, and the third network path comprises a network path between the cellular network interface and the network side; and downloading the data stream through the first network path, the second network path and the third network path.
In one possible implementation manner, when the instruction is executed by the terminal device, the step of causing the terminal device to allocate the data streams to the first network path, the second network path, and the third network path according to the number of the data streams may be: detecting the download rates of a first network path, a second network path and a third network path within a preset time; determining the flow distribution proportion among the first network path, the second network path and the third network path according to the download rate; and distributing the data streams to a first network path, a second network path and a third network path according to the number of the data streams and the stream distribution proportion.
In one possible implementation manner, when the instruction is executed by the terminal device, after the terminal device executes the step of downloading the data stream through the first network path, the second network path, and the third network path, the following step is further executed: detecting quality of experience of data flows carried on a first network path, a second network path and a third network path; if a first data stream with experience quality lower than a preset experience quality threshold value is detected, switching the first data stream to a target network path; the target network path is one of other network paths, the other network paths include network paths other than an original network path among a first network path, a second network path and a third network path, and the original network path is a network path originally carrying a first data stream.
In one possible implementation manner, when the instruction is executed by the terminal device, before the terminal device performs the step of switching the first data stream to the target network path, the following step is further performed: when other network paths have a network path with the least bearing data flow, selecting the network path with the least bearing data flow as a target network path; or, when at least two network paths with the least bearer data flows exist in other network paths, and the at least two network paths include one or a combination of a first network path and a second network path, and at least one network path in a third network path, if a traffic package of a cellular network used by the terminal device is not an unlimited package, selecting one of the first network path and the second network path as a target network path; and if the traffic package of the cellular network used by the terminal equipment is an unlimited package, selecting one of the third network paths as a target network path.
In one possible implementation manner, when the instruction is executed by the terminal device, before the terminal device performs the step of switching the first data stream to the target network path, the following steps are further performed: when at least two network paths with the fewest bearer data flows exist in other network paths and the at least two network paths comprise a first network path and a second network path, or when at least two network paths with the fewest bearer data flows exist in other network paths and the at least two network paths comprise at least two network paths in a third network path, one network path is randomly selected from the at least two network paths to serve as a target network path.
In one possible implementation manner, when the instruction is executed by the terminal device, after the terminal device executes the step of downloading the data stream through the first network path, the second network path, and the third network path, the following step is further executed: detecting quality of experience of data flows carried on a first network path, a second network path and a third network path; if a network path to be switched exists in the first network path, the second network path and the third network path, switching a data stream carried on the network path to be switched to a target network path, or distributing the data stream to other network paths according to a stream distribution proportion; the network path to be switched is a network path among a first network path, a second network path and a third network path, and the number of data streams with experience quality lower than a preset experience quality threshold in data streams carried by the network path to be switched is greater than a preset number threshold; the target network path is one of other network paths; the other network paths include network paths other than the network path to be switched among the first network path, the second network path and the third network path.
It should be understood that the second aspect and the third aspect of the embodiment of the present application are consistent with the technical solution of the first aspect of the embodiment of the present application, and beneficial effects achieved by various aspects and corresponding possible implementation manners are similar and will not be described again.
In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, in which a computer program is stored, and when the computer program runs on a computer, the computer is caused to execute the method provided in the first aspect.
In a fifth aspect, the present application provides a computer program, which is used to execute the method provided in the first aspect when the computer program is executed by a computer.
In a possible design, the program of the fifth aspect may be stored in whole or in part on a storage medium packaged with the processor, or in part or in whole on a memory not packaged with the processor.
Drawings
Fig. 1 is a schematic structural diagram of a terminal device according to an embodiment of the present application;
fig. 2 is a block diagram of a software structure of the terminal device 100 according to an embodiment of the present application;
fig. 3 is a flowchart of a data downloading method according to an embodiment of the present application;
fig. 4 is a flowchart of a method for selecting a target network path according to an embodiment of the present application;
fig. 5 is a flowchart of a data downloading method according to another embodiment of the present application;
fig. 6 is a schematic structural diagram of a terminal device according to another embodiment of the present application.
Detailed Description
The terminology used in the description of the embodiments section of the present application is for the purpose of describing particular embodiments of the present application only and is not intended to be limiting of the present application.
In the prior art, for a dual-WiFi network smart phone, when the transmission rate of one WiFi network is low, the smart phone may switch to use another WiFi network or switch to a cellular network, and this scheme cannot fully utilize the advantages of the dual-WiFi network, so that the situations of high delay and/or low network speed may occur, and the user experience is poor.
Based on the above problems, embodiments of the present application provide a data downloading method, which can enable a terminal device to simultaneously use a dual WiFi network and a cellular network to download a data stream, thereby improving a downloading rate, shortening a downloading time, and improving user experience.
The data downloading method provided by the embodiment of the application can be applied to terminal equipment, wherein the terminal equipment can be a smart phone, a tablet computer, wearable equipment, vehicle-mounted equipment, Augmented Reality (AR)/Virtual Reality (VR) equipment, a notebook computer, a super-mobile personal computer (UMPC), a netbook or a Personal Digital Assistant (PDA) and other equipment; the embodiment of the present application does not set any limit to the specific type of the terminal device.
For example, fig. 1 is a schematic structural diagram of a terminal device according to an embodiment of the present disclosure, and as shown in fig. 1, the terminal device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a Universal Serial Bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a key 190, a motor 191, an indicator 192, a camera 193, a display 194, a Subscriber Identity Module (SIM) card interface 195, and the like. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, and the like.
It is to be understood that the illustrated structure of the embodiment of the present application does not constitute a specific limitation to the terminal device 100. In other embodiments of the present application, terminal device 100 may include more or fewer components than shown, or some components may be combined, some components may be split, or a different arrangement of components. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
Processor 110 may include one or more processing units, such as: the processor 110 may include an Application Processor (AP), a modem processor, a Graphics Processing Unit (GPU), an Image Signal Processor (ISP), a controller, a video codec, a Digital Signal Processor (DSP), a baseband processor, and/or a neural-Network Processing Unit (NPU), etc. The different processing units may be separate devices or may be integrated into one or more processors.
The controller can generate an operation control signal according to the instruction operation code and the timing signal to complete the control of instruction fetching and instruction execution.
A memory may also be provided in processor 110 for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. The memory may hold instructions or data that have just been used or recycled by the processor 110. If the processor 110 needs to reuse the instruction or data, it can be called directly from the memory. Avoiding repeated accesses reduces the latency of the processor 110, thereby increasing the efficiency of the system.
In some embodiments, processor 110 may include one or more interfaces. The interface may include an integrated circuit (I2C) interface, an integrated circuit built-in audio (I2S) interface, a Pulse Code Modulation (PCM) interface, a universal asynchronous receiver/transmitter (UART) interface, a Mobile Industry Processor Interface (MIPI), a general-purpose input/output (GPIO) interface, a Subscriber Identity Module (SIM) interface, and/or a Universal Serial Bus (USB) interface, etc.
The I2C interface is a bi-directional synchronous serial bus that includes a serial data line (SDA) and a serial clock line (DCL). In some embodiments, processor 110 may include multiple sets of I2C buses. The processor 110 may be coupled to the touch sensor 180K, the charger, the flash, the camera 193, etc. through different I2C bus interfaces, respectively. For example: the processor 110 may be coupled to the touch sensor 180K through an I2C interface, so that the processor 110 and the touch sensor 180K communicate through an I2C bus interface to implement the touch function of the terminal device 100.
The I2S interface may be used for audio communication. In some embodiments, processor 110 may include multiple sets of I2S buses. The processor 110 may be coupled to the audio module 170 via an I2S bus to enable communication between the processor 110 and the audio module 170. In some embodiments, the audio module 170 may communicate audio signals to the wireless communication module 160 via the I2S interface, enabling answering of calls via a bluetooth headset.
The PCM interface may also be used for audio communication, sampling, quantizing and encoding analog signals. In some embodiments, the audio module 170 and the wireless communication module 160 may be coupled by a PCM bus interface. In some embodiments, the audio module 170 may also transmit audio signals to the wireless communication module 160 through the PCM interface, so as to implement a function of answering a call through a bluetooth headset. Both the I2S interface and the PCM interface may be used for audio communication.
The UART interface is a universal serial data bus used for asynchronous communications. The bus may be a bidirectional communication bus. It converts the data to be transmitted between serial communication and parallel communication. In some embodiments, a UART interface is generally used to connect the processor 110 with the wireless communication module 160. For example: the processor 110 communicates with a bluetooth module in the wireless communication module 160 through a UART interface to implement a bluetooth function. In some embodiments, the audio module 170 may transmit the audio signal to the wireless communication module 160 through a UART interface, so as to realize the function of playing music through a bluetooth headset.
MIPI interfaces may be used to connect processor 110 with peripheral devices such as display screen 194, camera 193, and the like. The MIPI interface includes a Camera Serial Interface (CSI), a Display Serial Interface (DSI), and the like. In some embodiments, processor 110 and camera 193 communicate through a CSI interface to implement the capture function of terminal device 100. The processor 110 and the display screen 194 communicate through the DSI interface to implement the display function of the terminal device 100.
The GPIO interface may be configured by software. The GPIO interface may be configured as a control signal and may also be configured as a data signal. In some embodiments, a GPIO interface may be used to connect the processor 110 with the camera 193, the display 194, the wireless communication module 160, the audio module 170, the sensor module 180, and the like. The GPIO interface may also be configured as an I2C interface, an I2S interface, a UART interface, a MIPI interface, and the like.
The USB interface 130 is an interface conforming to the USB standard specification, and may specifically be a Mini USB interface, a Micro USB interface, a USB Type C interface, or the like. The USB interface 130 may be used to connect a charger to charge the terminal device 100, and may also be used to transmit data between the terminal device 100 and a peripheral device. And the earphone can also be used for connecting an earphone and playing audio through the earphone. The interface may also be used to connect other electronic devices, such as AR devices and the like.
It should be understood that the interface connection relationship between the modules illustrated in the embodiment of the present application is only an exemplary illustration, and does not constitute a limitation on the structure of the terminal device 100. In other embodiments of the present application, the terminal device 100 may also adopt different interface connection manners or a combination of multiple interface connection manners in the above embodiments.
The charging management module 140 is configured to receive charging input from a charger. The charger may be a wireless charger or a wired charger. In some wired charging embodiments, the charging management module 140 may receive charging input from a wired charger via the USB interface 130. In some wireless charging embodiments, the charging management module 140 may receive a wireless charging input through a wireless charging coil of the terminal device 100. The charging management module 140 may also supply power to the terminal device 100 through the power management module 141 while charging the battery 142.
The power management module 141 is used to connect the battery 142, the charging management module 140 and the processor 110. The power management module 141 receives input from the battery 142 and/or the charge management module 140, and supplies power to the processor 110, the internal memory 121, the display 194, the camera 193, the wireless communication module 160, and the like. The power management module 141 may also be used to monitor parameters such as battery capacity, battery cycle count, battery state of health (leakage, impedance), etc. In some other embodiments, the power management module 141 may also be disposed in the processor 110. In other embodiments, the power management module 141 and the charging management module 140 may be disposed in the same device.
The wireless communication function of the terminal 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 terminal device 100 may be used to cover a single or multiple communication bands. Different antennas can also be multiplexed to improve the utilization of the antennas. For example: the antenna 1 may be multiplexed as a diversity antenna of a wireless local area network. In other embodiments, the antenna may be used in conjunction with a tuning switch.
The mobile communication module 150 may provide a solution including 2G/3G/4G/5G wireless communication applied on the terminal device 100. The mobile communication module 150 may include at least one filter, a switch, a power amplifier, a Low Noise Amplifier (LNA), and the like. The mobile communication module 150 may receive the electromagnetic wave from the antenna 1, filter, amplify, etc. the received electromagnetic wave, and transmit the electromagnetic wave to the modem processor for demodulation. The mobile communication module 150 may also amplify the signal modulated by the modem processor, and convert the signal into electromagnetic wave through the antenna 1 to radiate the electromagnetic wave. In some embodiments, at least some of the functional modules of the mobile communication module 150 may be disposed in the processor 110. In some embodiments, at least some of the functional modules of the mobile communication module 150 may be disposed in the same device as at least some of the modules of the processor 110.
In this embodiment, the mobile communication module 150 may include at least one cellular network interface through which the mobile communication module 150 accesses a cellular network. In the following embodiments of the present application, the mobile communication module 150 includes two cellular network interfaces as an example for description, and for convenience of description, the two cellular network interfaces are respectively referred to as a first cellular network interface and a second cellular network interface, the mobile communication module 150 is connected to the first cellular network through the first cellular network interface, and the mobile communication module 150 is connected to the second cellular network through the second cellular network interface.
The modem processor may include a modulator and a demodulator. The modulator is used for modulating a low-frequency baseband signal to be transmitted into a medium-high frequency signal. The demodulator is used for demodulating the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then passes the demodulated low frequency baseband signal to a baseband processor for processing. The low frequency baseband signal is processed by the baseband processor and then transferred to the application processor. The application processor outputs a sound signal through an audio device (not limited to the speaker 170A, the receiver 170B, etc.) or displays an image or video through the display screen 194. In some embodiments, the modem processor may be a stand-alone device. In other embodiments, the modem processor may be provided in the same device as the mobile communication module 150 or other functional modules, independent of the processor 110.
The wireless communication module 160 may provide a solution for wireless communication applied to the terminal device 100, including Wireless Local Area Networks (WLANs) (e.g., WiFi networks), Bluetooth (BT), Global Navigation Satellite System (GNSS), Frequency Modulation (FM), Near Field Communication (NFC), Infrared (IR), and the like. The wireless communication module 160 may be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, performs frequency modulation and filtering processing on electromagnetic wave signals, and transmits the processed signals to the processor 110. The wireless communication module 160 may also receive a signal to be transmitted from the processor 110, perform frequency modulation and amplification on the signal, and convert the signal into electromagnetic waves through the antenna 2 to radiate the electromagnetic waves.
In this embodiment of the application, the wireless communication module 160 may include two WiFi network interfaces, which are a first WiFi network interface and a second WiFi network interface, respectively, and the wireless communication module 160 accesses the first WiFi network through the first WiFi network interface and accesses the second WiFi network through the second WiFi network interface.
In some embodiments, the antenna 1 of the terminal device 100 is coupled to the mobile communication module 150 and the antenna 2 is coupled to the wireless communication module 160 so that the terminal device 100 can communicate with the network and other devices through wireless communication technology. The wireless communication technology may include global system for mobile communications (GSM), General Packet Radio Service (GPRS), code division multiple access (code division multiple access, CDMA), Wideband Code Division Multiple Access (WCDMA), time-division code division multiple access (time-division code division multiple access, TD-SCDMA), Long Term Evolution (LTE), LTE, BT, GNSS, WLAN, NFC, FM, and/or IR technologies, etc. The GNSS may include a Global Positioning System (GPS), a global navigation satellite system (GLONASS), a beidou navigation satellite system (BDS), a quasi-zenith satellite system (QZSS), and/or a Satellite Based Augmentation System (SBAS).
The terminal device 100 implements a display function by the GPU, the display screen 194, and the application processor. The GPU is a microprocessor for image processing, and is connected to the display screen 194 and an application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 may include one or more GPUs that execute program instructions to generate or alter display information.
The display screen 194 is used to display images, video, and the like. The display screen 194 includes a display panel. The display panel may adopt a Liquid Crystal Display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (active-matrix organic light-emitting diode, AMOLED), a flexible light-emitting diode (FLED), a miniature, a Micro-oeld, a quantum dot light-emitting diode (QLED), and the like. In some embodiments, the terminal device 100 may include 1 or N display screens 194, where N is a positive integer greater than 1.
The terminal device 100 may implement a shooting function through the ISP, the camera 193, the video codec, the GPU, the display screen 194, the application processor, and the like.
The ISP is used to process the data fed back by the camera 193. For example, when a photo is taken, the shutter is opened, light is transmitted to the camera photosensitive element through the lens, the optical signal is converted into an electrical signal, and the camera photosensitive element transmits the electrical signal to the ISP for processing and converting into an image visible to naked eyes. The ISP can also carry out algorithm optimization on 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 camera 193.
The camera 193 is used to capture still images or video. The object generates an optical image through the lens and projects the optical image to the photosensitive element. The photosensitive element may be a Charge Coupled Device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The light sensing element converts the optical signal into an electrical signal, which is then passed to the ISP where it is converted into a digital image signal. And the ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into image signal in standard RGB, YUV and other formats. In some embodiments, the terminal device 100 may include N cameras 193, where N is a positive integer greater than 0.
The digital signal processor is used for processing digital signals, and can process digital image signals and other digital signals. For example, when the terminal device 100 selects a frequency point, the digital signal processor is used to perform fourier transform or the like on the frequency point energy.
Video codecs are used to compress or decompress digital video. The terminal device 100 may support one or more video codecs. In this way, the terminal device 100 can play or record video in a plurality of encoding formats, such as: moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, MPEG4, and the like.
The NPU is a neural-network (NN) computing processor that processes input information quickly by using a biological neural network structure, for example, by using a transfer mode between neurons of a human brain, and can also learn by itself continuously. The NPU can implement applications such as intelligent recognition of the terminal device 100, for example: image recognition, face recognition, speech recognition, text understanding, and the like.
The external memory interface 120 may be used to connect an external memory card, such as a Micro SD card, to extend the storage capability of the terminal device 100. The external memory card communicates with the processor 110 through the external memory interface 120 to implement a data storage function. For example, files such as music, video, etc. are saved in an external memory card.
The internal memory 121 may be used to store computer-executable program code, which includes instructions. The internal memory 121 may include a program storage area and a data storage area. The storage program area may store an operating system, an application program (such as a sound playing function, an image playing function, etc.) required by at least one function, and the like. The storage data area may store data (such as audio data, a phonebook, etc.) created during use of the terminal device 100, and the like. In addition, the internal memory 121 may include a high-speed random access memory, and may further include a nonvolatile memory, such as at least one magnetic disk storage device, a flash memory device, a universal flash memory (UFS), and the like. The processor 110 executes various functional applications of the terminal device 100 and data processing by executing instructions stored in the internal memory 121 and/or instructions stored in a memory provided in the processor.
The terminal device 100 may implement an audio function through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the earphone interface 170D, and the application processor. Such as music playing, recording, etc.
The audio module 170 is used to convert digital audio information into an analog audio signal output and also to convert an analog audio input into a digital audio signal. The audio module 170 may also be used to encode and decode audio signals. In some embodiments, the audio module 170 may be disposed in the processor 110, or some functional modules of the audio module 170 may be disposed in the processor 110.
The speaker 170A, also called a "horn", is used to convert the audio electrical signal into an acoustic signal. The terminal device 100 can listen to music through the speaker 170A, or listen to a handsfree call.
The receiver 170B, also called "earpiece", is used to convert the electrical audio signal into an acoustic signal. When the terminal device 100 answers a call or voice information, it is possible to answer a voice by bringing the receiver 170B close to the human ear.
The microphone 170C, also referred to as a "microphone," is used to convert sound signals into electrical signals. When making a call or transmitting voice information, the user can input a voice signal to the microphone 170C by speaking the user's mouth near the microphone 170C. The terminal device 100 may be provided with at least one microphone 170C. In other embodiments, the terminal device 100 may be provided with two microphones 170C, which may implement a noise reduction function in addition to collecting sound signals. In other embodiments, the terminal device 100 may further include three, four or more microphones 170C to collect sound signals, reduce noise, identify sound sources, and implement directional recording functions.
The headphone interface 170D is used to connect a wired headphone. The headset interface 170D may be the USB interface 130, or may be a 3.5mm open mobile electronic device platform (OMTP) standard interface, a cellular telecommunications industry association (cellular telecommunications industry association of the USA, CTIA) standard interface.
The pressure sensor 180A is used for sensing a pressure signal, and converting the pressure signal into an electrical signal. In some embodiments, the pressure sensor 180A may be disposed on the display screen 194. The pressure sensor 180A can be of a wide variety, such as a resistive pressure sensor, an inductive pressure sensor, a capacitive pressure sensor, and the like. The capacitive pressure sensor may be a sensor comprising at least two parallel plates having an electrically conductive material. When a force acts on the pressure sensor 180A, the capacitance between the electrodes changes. The terminal device 100 determines the intensity of the pressure from the change in the capacitance. When a touch operation is applied to the display screen 194, the terminal device 100 detects the intensity of the touch operation based on the pressure sensor 180A. The terminal device 100 may also calculate the touched position from the detection signal of the pressure sensor 180A. In some embodiments, the touch operations that are applied to the same touch position but different touch operation intensities may correspond to different operation instructions. For example: and when the touch operation with the touch operation intensity smaller than the first pressure threshold value acts on the short message application icon, executing an instruction for viewing the short message. And when the touch operation with the touch operation intensity larger than or equal to the first pressure threshold value acts on the short message application icon, executing an instruction of newly building the short message.
The gyro sensor 180B may be used to determine the motion attitude of the terminal device 100. In some embodiments, the angular velocity of terminal device 100 about three axes (i.e., x, y, and z axes) may be determined by gyroscope sensor 180B. The gyro sensor 180B may be used for photographing anti-shake. Illustratively, when the shutter is pressed, the gyro sensor 180B detects the shake angle of the terminal device 100, calculates the distance to be compensated for by the lens module according to the shake angle, and allows the lens to counteract the shake of the terminal device 100 through a reverse movement, thereby achieving anti-shake. The gyroscope sensor 180B may also be used for navigation, somatosensory gaming scenes.
The air pressure sensor 180C is used to measure air pressure. In some embodiments, the terminal device 100 calculates an altitude from the barometric pressure measured by the barometric pressure sensor 180C, and assists in positioning and navigation.
The magnetic sensor 180D includes a hall sensor. The terminal device 100 may detect the opening and closing of the flip holster using the magnetic sensor 180D. In some embodiments, when the terminal device 100 is a folder, the terminal device 100 may detect the opening and closing of the folder according to the magnetic sensor 180D. And then according to the opening and closing state of the leather sheath or the opening and closing state of the flip cover, the automatic unlocking of the flip cover is set.
The acceleration sensor 180E can detect the magnitude of acceleration of the terminal device 100 in various directions (generally, three axes). The magnitude and direction of gravity can be detected when the terminal device 100 is stationary. The method can also be used for recognizing the posture of the electronic equipment, and is applied to horizontal and vertical screen switching, pedometers and other applications.
A distance sensor 180F for measuring a distance. The terminal device 100 may measure the distance by infrared or laser. In some embodiments, shooting a scene, the terminal device 100 may range using the distance sensor 180F to achieve fast focus.
The proximity light sensor 180G may include, for example, a Light Emitting Diode (LED) and a light detector, such as a photodiode. The light emitting diode may be an infrared light emitting diode. The terminal device 100 emits infrared light to the outside through the light emitting diode. The terminal device 100 detects infrared reflected light from a nearby object using a photodiode. When sufficient reflected light is detected, it can be determined that there is an object near the terminal device 100. When insufficient reflected light is detected, the terminal device 100 can determine that there is no object near the terminal device 100. The terminal device 100 can utilize the proximity light sensor 180G to detect that the user holds the terminal device 100 close to the ear for talking, so as to automatically turn off the screen to achieve the purpose of saving power. The proximity light sensor 180G may also be used in a holster mode, a pocket mode automatically unlocks and locks the screen.
The ambient light sensor 180L is used to sense the ambient light level. The terminal device 100 may adaptively adjust the brightness of the display screen 194 according to the perceived ambient light level. The ambient light sensor 180L may also be used to automatically adjust the white balance when taking a picture. The ambient light sensor 180L may also cooperate with the proximity light sensor 180G to detect whether the terminal device 100 is in a pocket, in order to prevent accidental touches.
The fingerprint sensor 180H is used to collect a fingerprint. The terminal device 100 can utilize the collected fingerprint characteristics to realize fingerprint unlocking, access to an application lock, fingerprint photographing, fingerprint incoming call answering and the like.
The temperature sensor 180J is used to detect temperature. In some embodiments, the terminal device 100 executes a temperature processing policy using the temperature detected by the temperature sensor 180J. For example, when the temperature reported by the temperature sensor 180J exceeds the threshold, the terminal device 100 performs a reduction in performance of a processor located near the temperature sensor 180J, so as to reduce power consumption and implement thermal protection. In other embodiments, the terminal device 100 heats the battery 142 when the temperature is below another threshold to avoid the terminal device 100 being abnormally shut down due to low temperature. In other embodiments, when the temperature is lower than a further threshold, the terminal device 100 performs boosting on the output voltage of the battery 142 to avoid abnormal shutdown due to low temperature.
The touch sensor 180K is also called a "touch device". The touch sensor 180K may be disposed on the display screen 194, and the touch sensor 180K and the display screen 194 form a touch screen, which is also called a "touch screen". The touch sensor 180K is used to detect a touch operation applied thereto or nearby. The touch sensor can communicate the detected touch operation to the application processor to determine the touch event type. Visual output associated with the touch operation may be provided through the display screen 194. In other embodiments, the touch sensor 180K may be disposed on the surface of the terminal device 100, different from the position of the display screen 194.
The bone conduction sensor 180M may acquire a vibration signal. In some embodiments, the bone conduction sensor 180M may acquire a vibration signal of the human vocal part vibrating the bone mass. The bone conduction sensor 180M may also contact the human pulse to receive the blood pressure pulsation signal. In some embodiments, the bone conduction sensor 180M may also be disposed in a headset, integrated into a bone conduction headset. The audio module 170 may analyze a voice signal based on the vibration signal of the bone mass vibrated by the sound part acquired by the bone conduction sensor 180M, so as to implement a voice function. The application processor can analyze heart rate information based on the blood pressure beating signal acquired by the bone conduction sensor 180M, so as to realize the heart rate detection function.
The keys 190 include a power-on key, a volume key, and the like. The keys 190 may be mechanical keys. Or may be touch keys. The terminal device 100 may receive a key input, and generate a key signal input related to user setting and function control of the terminal device 100.
The motor 191 may generate a vibration cue. The motor 191 may be used for incoming call vibration cues, as well as for touch vibration feedback. For example, touch operations applied to different applications (e.g., photographing, audio playing, etc.) may correspond to different vibration feedback effects. The motor 191 may also respond to different vibration feedback effects for touch operations applied to different areas of the display screen 194. Different application scenes (such as time reminding, receiving information, alarm clock, game and the like) can also correspond to different vibration feedback effects. The touch vibration feedback effect may also support customization.
Indicator 192 may be an indicator light that may be used to indicate a state of charge, a change in charge, or a message, missed call, notification, etc.
The SIM card interface 195 is used to connect a SIM card. The SIM card can be brought into and out of contact with the terminal device 100 by being inserted into the SIM card interface 195 or being pulled out of the SIM card interface 195. The terminal device 100 may support 1 or N SIM card interfaces, where N is a positive integer greater than 1. The SIM card interface 195 may support a Nano SIM card, a Micro SIM card, a SIM card, etc. The same SIM card interface 195 can be inserted with multiple cards at the same time. The types of the plurality of cards may be the same or different. The SIM card interface 195 may also be compatible with different types of SIM cards. The SIM card interface 195 may also be compatible with external memory cards. The terminal device 100 interacts with the network through the SIM card to implement functions such as communication and data communication. In some embodiments, the terminal device 100 employs eSIM, namely: an embedded SIM card. The eSIM card may be embedded in the terminal device 100 and cannot be separated from the terminal device 100.
The software system of the terminal device 100 may employ a hierarchical architecture, an event-driven architecture, a micro-core architecture, a micro-service architecture, or a cloud architecture. The embodiment of the present application takes a layered architecture as an example, and exemplifies a software structure of the terminal device 100.
Fig. 2 is a block diagram of a software structure of the terminal device 100 according to an embodiment of the present application.
The layered architecture divides the software into several layers, each layer having a clear role and division of labor. The layers communicate with each other through a software interface. In this embodiment, the software system of the terminal device 100 is divided into four layers, which are an Application (APP) layer, a Service (Service) layer, a daemon (Deamon) layer, and a Kernel (Kernel) layer from top to bottom.
The application layer may include a series of application packages, such as camera, gallery, calendar, phone, map, navigation, WLAN, bluetooth, music, video and/or short message applications.
The business layer comprises the following functional modules:
1) network state awareness: the perception of the state of multi-channel WLAN and multi-card data service is supported;
2) and (3) system environment perception: processing events such as APP quitting or opening, APP front and background switching, installation or uninstallation and the like;
3) and (3) policy management: generating a strategy template based on the perception system input for applying a specific engine;
4) path management: path state management, and starting or stopping of a path;
5) quality of Experience (QoE) of the path: and evaluating the path quality.
The process guard layer comprises the following functional modules:
1) path management: statistical summary for path quality information;
2) and (3) policy management: the system is responsible for managing a flow switching strategy and a flow binding strategy;
3) and (3) flow sensing: intelligent flow sensing, identification and statistics;
the inner core layer comprises the following functional modules:
1) and (3) reporting the flow: the system is responsible for collecting and reporting flow information;
2) and (3) policy management: a flow switching process and/or flow binding is performed.
For convenience of understanding, the following embodiments of the present application will specifically describe a data downloading method provided by the embodiments of the present application by taking the terminal device 100 having the structure shown in fig. 1 and fig. 2 as an example, with reference to the accompanying drawings and application scenarios.
Fig. 3 is a flowchart of a data downloading method according to an embodiment of the present application, and as shown in fig. 3, the data downloading method may include:
step 301, a system environment sensing module of a service layer detects a download request. Specifically, after a user triggers data downloading on an operation interface of an Application (APP), a system environment sensing module may detect a downloading request from the APP.
For example, the user may trigger data downloading on the operation interface of the APP by: a user clicks an installation icon corresponding to an APP to be downloaded on an operation interface of the APP to be downloaded; or, the user clicks a download icon corresponding to the video to be downloaded in the video playing APP.
Step 302, the system environment sensing module notifies the policy management module of the service layer to switch the APP to the foreground for operation.
In step 303, the policy management module determines whether the WiFi network switch and the cellular network switch of the terminal device 100 are in an on state.
In step 304, after determining that the WiFi network switch and the cellular network switch of the terminal device 100 are both in the on state, the policy management module sends an enabling notification to the path management module of the process defense layer to notify the path management module of the process defense layer to request all network paths in the WiFi network and the cellular network.
Wherein all network paths in the WiFi network and the cellular network include: a first network path, a second network path, and a third network path; wherein the first network path comprises a network path between the first WiFi network interface and the network side, the second network path comprises a network path between the second WiFi network interface and the network side, and the third network path comprises a network path between the cellular network interface and the network side.
Step 305, the path management module of the process gatekeeper layer requests all network paths in the WiFi network and the cellular network from the path management module of the service layer.
Step 306, the path management module of the service layer detects all network paths in the WiFi network and the cellular network to obtain available network paths, and notifies the available network paths to the path management module of the process defense layer.
Step 307, the policy management module of the service layer sends a start notification to the traffic sensing module of the process guarding layer to notify the traffic sensing module of the process guarding layer to sense traffic.
And 308, the flow sensing module of the process guard layer issues the sensing module to the kernel layer, wherein the sensing module comprises parameters such as a reporting period of flow, the size of a data packet and/or the value of an internal field (for example, a content type field) of the data packet, and the like, and is used for indicating the kernel layer to report the flow to the flow sensing module according to the reporting period in the sensing model after detecting the data stream conforming to the parameters in the sensing model.
Step 309, the kernel layer reports the detected data stream conforming to the parameter in the sensing model to the flow sensing module, and after the flow sensing module obtains the flow reported by the kernel layer, the flow sensing module obtains the data stream of the download type and the number of the data stream of the download type from the flow reported by the kernel layer; and the flow sensing module reports the data stream of the download type and the quantity in the data of the download type to a strategy management module of the process defense layer.
At step 310, the policy management module of the process daemon notifies the kernel of the initial flow binding policy. The initial flow binding policy may be to distribute the data flow of the download type to the first network path, the second network path, and the third network path in an average distribution manner.
In step 311, the kernel layer executes an initial flow binding policy, and downloads the data flow through the first network path, the second network path, and the third network path.
In step 312, after the data stream starts to be downloaded, the traffic sensing module of the process defense layer detects the download rates of the first network path, the second network path, and the third network path within a predetermined time period, and transmits the download rates obtained by the detection to the policy management module of the process defense layer.
The predetermined time period may be set according to system performance and/or implementation requirements during specific implementation, and the length of the predetermined time period is not limited in this embodiment, for example, the predetermined time period may be 1 second.
Step 313, the policy management module of the process defense layer determines the flow distribution ratio among the first network path, the second network path and the third network path according to the download rate, and determines the flow binding policy according to the flow distribution ratio.
The flow binding policy may be to allocate the data flow to the first network path, the second network path, and the third network path according to the number of the data flow sides and the flow allocation ratio.
Step 314, the policy management module of the process daemon layer notifies the flow binding policy to the kernel layer.
And 315, the kernel layer executes a flow binding strategy and downloads the data flow through the first network path, the second network path and the third network path.
Step 316, in the process of downloading the data stream, a traffic sensing module of the process guardian detects quality of experience (QOE) of the data stream carried on the first network path, the second network path, and the third network path; and if the first data flow with the QOE lower than the preset QOE threshold value is detected, notifying a policy management module of the process maintenance layer of the event of detecting the first data flow.
The predetermined QOE threshold may be set according to system performance and/or implementation requirements, and the size of the predetermined QOE threshold is not limited in this embodiment.
Step 317, the policy management module of the process daemon layer notifies the flow switching policy to the kernel layer. Wherein the flow switching policy includes switching the first data flow to a target network path; the target network path is one of other network paths, the other network paths include network paths other than an original network path among a first network path, a second network path and a third network path, and the original network path is a network path originally carrying a first data stream.
In step 318, the kernel layer executes a flow switching policy to switch the first data flow to the target network path.
The following describes a method for selecting a target network path with reference to fig. 4. Fig. 4 is a flowchart of a method for selecting a target network path in an embodiment of the present application, and as shown in fig. 4, the method may include:
step 401, sorting the other network paths according to the number of data streams currently carried by the other network paths.
Step 402, determine whether there is a network path with the least bearer data flow in the other network paths. If so, go to step 403; if the network paths carrying the least data flows among the other network paths are at least two, step 404 is executed.
Step 403, selecting the network path bearing the least data flow as the target network path.
Step 404, when there are at least two network paths with the least bearer data flows in other network paths, determining whether the at least two network paths include one or a combination of a first network path and a second network path, and at least one network path in a third network path; namely, whether a WiFi network path and a cellular network path exist in the at least two network paths at the same time is judged.
If so, go to step 405; if the at least two network paths only include the first network path and the second network path, or the at least two network paths only include at least two network paths of the third network path, step 408 is performed.
Step 405, judging whether the traffic package of the cellular network used by the terminal equipment is an unlimited package; if not, go to step 406; if the flow package is an unlimited package, step 407 is performed.
At step 406, one of the first network path and the second network path is selected as a target network path.
Step 407, select one of the third network paths as the target network path.
Step 408, randomly selecting one network path from the at least two network paths as a target network path.
In the following description, it may be considered that the WiFi path 0 belongs to the first network path, the WiFi path 1 belongs to the second network path, and the cellular path 0 and the cellular path 1 belong to the third network path.
1. The first condition is as follows: the first data flow carried in WiFi path 0 is detected to have QOE lower than the predetermined quality of experience threshold and needs to be handed over to the target network path.
The number of data flows carried on other network paths is as follows:
WiFi path 1: 5;
cellular path 0: 4;
cellular path 1: 3.
the number of data flows carried on cellular path 1 is the smallest and therefore cellular path 1 is selected as the target network path.
2. Case two: the first data flow carried in WiFi path 0 is detected to have QOE lower than the predetermined quality of experience threshold and needs to be handed over to the target network path.
The number of data flows carried on other network paths is as follows:
WiFi path 1: 3;
cellular path 0: 3; the flow package is an unlimited package;
cellular path 1: 5.
since the number of data streams carried on the WiFi path 1 and the cellular path 0 is equal to and minimum, and the traffic package corresponding to the cellular path 0 is an unlimited package, the cellular path 0 is selected as the target network path.
3. Case three: the first data flow carried in WiFi path 0 is detected to have QOE lower than the predetermined quality of experience threshold and needs to be handed over to the target network path.
The number of data flows carried on other network paths is as follows:
WiFi path 1: 3;
cellular path 0: 3; the flow package is not an unlimited package;
cellular path 1: 5.
since the number of data streams carried on WiFi path 1 and cellular path 0 is equal and minimum, and the traffic package corresponding to cellular path 0 is not an unlimited package, WiFi path 1 is selected as the target network path.
Next, a method for detecting the QOE of the data streams carried on the first network path, the second network path, and the third network path by the traffic sensing module of the process defense layer in step 316 is described.
In this embodiment, the QOE of the data stream may be detected by using a download rate threshold + window. In specific implementation, the duration of the window may be preset, and the duration of the window may be set according to a requirement, for example, the duration of the window may be set to be the length of 4 slots (slots), and the duration of each slot is 500 milliseconds.
Then, the download rate of the data stream is detected in each slot, if the download rate of the data stream in one slot is lower than a predetermined rate threshold, the slot is determined to be Bad, and if at least N slots of 4 consecutive slots are Bad, the QOE of the data stream can be determined to be lower than a predetermined QOE threshold. The predetermined rate threshold may be set according to system performance and/or implementation requirements during specific implementation, and the size of the predetermined rate threshold is not limited in this embodiment, for example, the predetermined rate threshold may be 5000 bps; n is a positive integer less than or equal to 4, and specific values are not limited, for example, N may be 3. Table 1 below gives one specific example of detecting the QOE of a data flow.
TABLE 1
slot 1 2 3 4 5 6 7
Download Rate (bps) 8000 8000 3000 2000 1000 1000 1000
slot QOE good good bad bad bad bad bad
QOE of data streams good bad bad bad
In table 1, a QOE of a data flow of good means that the QOE of the data flow is not lower than the predetermined QOE threshold, and a QOE of a data flow of bad means that the QOE of the data flow is lower than the predetermined QOE threshold.
In addition, in this embodiment of the application, after the kernel layer downloads the data stream, the traffic sensing module of the process daemon layer may further detect the QOE of the data streams carried on the first network path, the second network path, and the third network path; if the network path to be switched exists in the first network path, the second network path and the third network path, the flow sensing module informs the event of the network path to be switched to a strategy management module of the process defense layer, and the strategy management module informs the flow switching strategy to the kernel layer. The stream switching policy here may be to switch the data stream carried on the network path to be switched to a target network path, or to allocate the data stream to other network paths according to a stream allocation ratio. Then, the inner core layer executes the stream switching strategy, and switches the data stream carried on the network path to be switched to the target network path, or distributes the data stream to other network paths according to the stream distribution proportion.
The network path to be switched is a network path among a first network path, a second network path and a third network path, and the number of data streams of which the QOE is lower than a preset QOE threshold value in the data streams carried by the network path to be switched is greater than a preset number threshold value; the target network path is one of other network paths; the other network paths include network paths other than the network path to be switched among the first network path, the second network path and the third network path.
The predetermined number threshold may be set according to system performance and/or implementation requirements during specific implementation, and the size of the predetermined number threshold is not limited in this embodiment, for example, the predetermined number threshold may be 25% of the total number of data streams carried on the network path to be switched.
The stream allocation ratio mentioned here can also be determined according to the download rate of other network paths, and is not described herein again.
With reference to the foregoing embodiments and the related drawings, the embodiments of the present application provide a data downloading method, which can be implemented in the terminal device 100. Fig. 5 is a flowchart of a data downloading method according to another embodiment of the present application, where the data downloading method is applied to a terminal device 100, and the terminal device 100 includes a first WiFi network interface, a second WiFi network interface, and at least one cellular network interface; the terminal device 100 accesses a first WiFi network through a first WiFi network interface, accesses a second WiFi network through a second WiFi network interface, and accesses a cellular network through the cellular network interface.
As shown in fig. 5, the method may include:
step 501, after detecting the data stream of the download type, acquiring the number of the data stream.
Step 502, according to the number of the data streams, allocating the data streams to a first network path, a second network path, and a third network path.
The first network path includes a network path between the first WiFi network interface and the network side, the second network path includes a network path between the second WiFi network interface and the network side, and the third network path includes a network path between the cellular network interface and the network side.
Specifically, according to the number of the data streams, allocating the data streams to the first network path, the second network path, and the third network path may be: detecting the download rates of a first network path, a second network path and a third network path within a preset time; then, determining the flow distribution proportion among the first network path, the second network path and the third network path according to the download rate; and distributing the data streams to a first network path, a second network path and a third network path according to the number of the data streams and the stream distribution proportion.
Step 503, downloading the data stream through the first network path, the second network path and the third network path.
In an implementation manner of this embodiment, after step 503, the terminal device 100 may further detect QOE of data streams carried on the first network path, the second network path, and the third network path; switching the first data flow to the target network path if the first data flow having a QOE below a predetermined QOE threshold is detected; the target network path is one of other network paths, the other network paths include network paths other than an original network path among a first network path, a second network path and a third network path, and the original network path is a network path originally carrying a first data stream.
Further, before switching the first data stream to the target network path, when one network path with the least bearer data stream exists in the other network paths, selecting the network path with the least bearer data stream as the target network path; or, when at least two network paths with the least bearer data flows exist in the other network paths, and the at least two network paths include one or a combination of the first network path and the second network path, and at least one of the third network paths, if the traffic package of the cellular network used by the terminal device 100 is not an unlimited package, selecting one of the first network path and the second network path as the target network path; if the traffic package of the cellular network used by the terminal device 100 is an unlimited package, one of the third network paths is selected as the target network path.
Before switching the first data flow to the target network path, when at least two network paths with the least bearer data flow exist in the other network paths and the at least two network paths include the first network path and the second network path, or when at least two network paths with the least bearer data flow exist in the other network paths and the at least two network paths include at least two network paths in the third network path, randomly selecting one network path from the at least two network paths as the target network path.
In another implementation manner of this embodiment, after step 503, the terminal device 100 may further detect QOE of data streams carried on the first network path, the second network path, and the third network path; if a network path to be switched exists in the first network path, the second network path and the third network path, switching a data stream carried on the network path to be switched to a target network path, or distributing the data stream to other network paths according to a stream distribution proportion; the network path to be switched is a network path among a first network path, a second network path and a third network path, and the number of data streams with experience quality lower than a preset experience quality threshold in data streams carried by the network path to be switched is greater than a preset number threshold; the target network path is one of other network paths; the other network paths include network paths other than the network path to be switched among the first network path, the second network path and the third network path.
The embodiment of the application provides a data downloading method, which can realize that the terminal device 100 simultaneously uses the dual-WiFi network and the cellular network to download data streams, improve the downloading rate, reduce the network delay, and further improve the user experience.
It is to be understood that some or all of the steps or operations in the above-described embodiments are merely examples, and other operations or variations of various operations may be performed by the embodiments of the present application. Further, the various steps may be performed in a different order presented in the above-described embodiments, and it is possible that not all of the operations in the above-described embodiments are performed.
It will be appreciated that the terminal device, in order to implement the above-described functions, comprises corresponding hardware and/or software modules for performing the respective functions. The exemplary algorithm steps described in connection with the embodiments disclosed herein may be embodied in hardware or in a combination of hardware and computer software. Whether a function is performed as hardware or computer software drives hardware depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, with the embodiment described in connection with the particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
In this embodiment, the terminal device may be divided into functional modules according to the method embodiments, for example, each functional module may be divided corresponding to each function, or two or more functions may be integrated into one module. The integrated module may be implemented in the form of hardware. It should be noted that the division of the modules in this embodiment is schematic, and is only a logic function division, and there may be another division manner in actual implementation.
Fig. 6 is a schematic structural diagram of a terminal device according to another embodiment of the present application, where each functional module is divided according to each function, and fig. 6 illustrates a schematic possible composition diagram of the terminal device 600 according to the foregoing embodiment, as shown in fig. 6, the terminal device 600 may include: a receiving unit 601, a processing unit 602, and a transmitting unit 603;
the receiving unit 601 may be configured to support the terminal device 600 to perform step 503 and/or other processes in the technical solutions described in the embodiments of the present application;
the processing unit 602 may be configured to support the terminal device 600 to perform steps 501 to 503, and/or other processes of the technical solutions described in the embodiments of the present application.
It should be noted that all relevant contents of each step related to the above method embodiment may be referred to the functional description of the corresponding functional module, and are not described herein again.
The terminal device 600 provided in this embodiment is configured to execute the data downloading method, so that the same effects as those of the method can be achieved.
It should be understood that the terminal device 600 may correspond to the terminal device 100 shown in fig. 1. Wherein, the functions of the receiving unit 601 and the transmitting unit 603 may be implemented by the processor 110, the antenna 1 and the mobile communication module 150, and/or the processor 110, the antenna 2 and the wireless communication module 160 in the terminal device 100 shown in fig. 1; the functions of the processing unit 602 may be implemented by the processor 110 in the terminal device 100 shown in fig. 1.
In case of employing an integrated unit, the terminal device 600 may include a processing module, a storage module and a communication module.
The processing module may be configured to control and manage the actions of the terminal device 600, and for example, may be configured to support the terminal device 600 to execute the steps executed by the receiving unit 601, the processing unit 602, and the sending unit 603. The memory module may be used to support the terminal device 600 in storing program codes and data, etc. A communication module, which may be used to support communication between the terminal device 600 and other devices.
Among other things, a processing module may be a processor or controller that may implement or execute the various illustrative logical blocks, modules, and circuits described in connection with the present disclosure. A processor may also be a combination of computing functions, e.g., a combination of one or more microprocessors, a Digital Signal Processing (DSP) and a microprocessor, or the like. The storage module may be a memory. The communication module may specifically be a radio frequency circuit, a bluetooth chip, and/or a WiFi chip, and the like, which interact with other electronic devices.
In one embodiment, when the processing module is a processor and the storage module is a memory, the terminal device 600 according to this embodiment may be a device having the structure shown in fig. 1.
Embodiments of the present application further provide a computer-readable storage medium, in which a computer program is stored, and when the computer program runs on a computer, the computer is enabled to execute the method provided by the embodiments shown in fig. 3 to 5 of the present application.
Embodiments of the present application further provide a computer program product, which includes a computer program, when the computer program runs on a computer, the computer executes the method provided by the embodiments shown in fig. 3 to 5 of the present application.
In the embodiments of the present application, "at least one" means one or more, "a plurality" means two or more. "and/or" describes the association relationship of the associated objects, and means that there may be three relationships, for example, a and/or B, and may mean that a exists alone, a and B exist simultaneously, and B exists alone. Wherein A and B can be singular or plural. The character "/" generally indicates that the former and latter associated objects are in an "or" relationship. "at least one of the following" and similar expressions refer to any combination of these items, including any combination of singular or plural items. For example, at least one of a, b, and c may represent: a, b, c, a and b, a and c, b and c or a and b and c, wherein a, b and c can be single or multiple.
Those of ordinary skill in the art will appreciate that the various elements and algorithm steps described in connection with the embodiments disclosed herein can be implemented as electronic hardware, computer software, or combinations of electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the several embodiments provided in the present application, any function, if implemented in the form of a software functional unit and sold or used as a separate product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application or portions thereof that substantially contribute to the prior art may be embodied in the form of a software product stored in a storage medium and including instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: various media capable of storing program codes, such as a usb disk, a removable hard disk, a read-only memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk.
The above description is only for the specific embodiments of the present application, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present disclosure, and all the changes or substitutions should be covered by the protection scope of the present application. The protection scope of the present application shall be subject to the protection scope of the claims.

Claims (14)

1. A data downloading method is characterized in that the method is applied to terminal equipment, and the terminal equipment comprises a first wireless fidelity (WiFi) network interface, a second WiFi network interface and at least one cellular network interface; the terminal equipment is accessed to a first WiFi network through a first WiFi network interface, is accessed to a second WiFi network through a second WiFi network interface, and is accessed to a cellular network through the cellular network interface; the method comprises the following steps:
detecting a data stream of a downloading type, and acquiring the number of the data stream;
distributing the data streams to a first network path, a second network path and a third network path according to the number of the data streams; wherein the first network path comprises a network path between the first WiFi network interface and a network side, the second network path comprises a network path between the second WiFi network interface and a network side, and the third network path comprises a network path between the cellular network interface and the network side;
downloading the data stream over the first network path, the second network path, and the third network path.
2. The method of claim 1, wherein the allocating the data streams onto a first network path, a second network path, and a third network path according to the number of the data streams comprises:
detecting download rates of the first network path, the second network path and the third network path within a predetermined time;
determining a flow distribution ratio among the first network path, the second network path and the third network path according to the download rate;
and distributing the data streams to the first network path, the second network path and the third network path according to the number of the data streams and the stream distribution proportion.
3. The method of claim 1, wherein after downloading the data stream over the first network path, the second network path, and the third network path, further comprising:
detecting a quality of experience of data flows carried over the first network path, the second network path, and the third network path;
switching a first data stream having a quality of experience below a predetermined quality of experience threshold to a target network path if the first data stream is detected; the target network path is one of other network paths, where the other network paths include network paths other than an original network path among the first network path, the second network path, and the third network path, and the original network path is a network path originally carrying the first data stream.
4. The method of claim 3, wherein before switching the first data flow to the target network path, further comprising:
when one network path with the least bearing data flow exists in the other network paths, selecting the network path with the least bearing data flow as the target network path; alternatively, the first and second electrodes may be,
when at least two network paths with the least load data flow exist in the other network paths, and the at least two network paths comprise one or a combination of the first network path and the second network path and at least one network path in the third network path, if a traffic package of a cellular network used by the terminal device is not an unlimited package, selecting one of the first network path and the second network path as a target network path; and if the traffic package of the cellular network used by the terminal equipment is an unlimited package, selecting one of the third network paths as a target network path.
5. The method of claim 3, wherein before switching the first data flow to the target network path, further comprising:
when at least two network paths with the fewest bearer data flows exist in the other network paths and the at least two network paths include the first network path and the second network path, or when at least two network paths with the fewest bearer data flows exist in the other network paths and the at least two network paths include at least two network paths in the third network path, one network path is randomly selected from the at least two network paths to serve as a target network path.
6. The method of claim 1, wherein after downloading the data stream over the first network path, the second network path, and the third network path, further comprising:
detecting a quality of experience of data flows carried over the first network path, the second network path, and the third network path;
if a network path to be switched exists in the first network path, the second network path and the third network path, switching a data stream carried on the network path to be switched to a target network path, or distributing the data stream to other network paths according to a stream distribution proportion;
the network path to be switched is a network path in the first network path, the second network path and the third network path, and the number of data streams with experience quality lower than a predetermined experience quality threshold in data streams carried by the network path to be switched is greater than a predetermined number threshold;
the target network path is one of other network paths; the other network paths include network paths other than the network path to be switched among the first network path, the second network path and the third network path.
7. A data download device, characterized in that it is adapted to perform the method according to any of claims 1 to 6.
8. The terminal equipment is characterized by being applied to the terminal equipment, wherein the terminal equipment comprises a first wireless fidelity (WiFi) network interface, a second WiFi network interface and at least one cellular network interface; the terminal equipment is accessed to a first WiFi network through a first WiFi network interface, is accessed to a second WiFi network through a second WiFi network interface, and is accessed to a cellular network through the cellular network interface; the terminal device comprises one or more processors; a memory; a plurality of application programs; and one or more computer programs, wherein the one or more computer programs are stored in the memory, the one or more computer programs comprising instructions which, when executed by the terminal device, cause the terminal device to perform the steps of:
after detecting the data stream of the downloading type, acquiring the number of the data stream;
distributing the data streams to a first network path, a second network path and a third network path according to the number of the data streams; wherein the first network path comprises a network path between the first WiFi network interface and a network side, the second network path comprises a network path between the second WiFi network interface and a network side, and the third network path comprises a network path between the cellular network interface and the network side;
downloading the data stream over the first network path, the second network path, and the third network path.
9. The terminal device of claim 8, wherein the instructions, when executed by the terminal device, cause the terminal device to perform the step of allocating the data streams onto a first network path, a second network path, and a third network path according to the number of the data streams comprises:
detecting download rates of the first network path, the second network path and the third network path within a predetermined time;
determining a flow distribution ratio among the first network path, the second network path and the third network path according to the download rate;
and distributing the data streams to the first network path, the second network path and the third network path according to the number of the data streams and the stream distribution proportion.
10. The terminal device of claim 8, wherein the instructions, when executed by the terminal device, cause the terminal device to perform the following steps after the step of downloading the data stream over the first network path, the second network path, and the third network path:
detecting a quality of experience of data flows carried over the first network path, the second network path, and the third network path;
switching a first data stream having a quality of experience below a predetermined quality of experience threshold to a target network path if the first data stream is detected; the target network path is one of other network paths, where the other network paths include network paths other than an original network path among the first network path, the second network path, and the third network path, and the original network path is a network path originally carrying the first data stream.
11. The terminal device of claim 10, wherein the instructions, when executed by the terminal device, cause the terminal device to perform the following steps prior to the step of switching the first data flow to a target network path:
when one network path with the least bearing data flow exists in the other network paths, selecting the network path with the least bearing data flow as the target network path; alternatively, the first and second electrodes may be,
when at least two network paths with the least load data flow exist in the other network paths, and the at least two network paths comprise one or a combination of the first network path and the second network path and at least one network path in the third network path, if a traffic package of a cellular network used by the terminal device is not an unlimited package, selecting one of the first network path and the second network path as a target network path; and if the traffic package of the cellular network used by the terminal equipment is an unlimited package, selecting one of the third network paths as a target network path.
12. The terminal device of claim 10, wherein the instructions, when executed by the terminal device, cause the terminal device to perform the following steps prior to the step of switching the first data flow to a target network path:
when at least two network paths with the fewest bearer data flows exist in the other network paths and the at least two network paths include the first network path and the second network path, or when at least two network paths with the fewest bearer data flows exist in the other network paths and the at least two network paths include at least two network paths in the third network path, one network path is randomly selected from the at least two network paths to serve as a target network path.
13. The terminal device of claim 8, wherein the instructions, when executed by the terminal device, cause the terminal device to perform the following steps after the step of downloading the data stream over the first network path, the second network path, and the third network path:
detecting a quality of experience of data flows carried over the first network path, the second network path, and the third network path;
if a network path to be switched exists in the first network path, the second network path and the third network path, switching a data stream carried on the network path to be switched to a target network path, or distributing the data stream to other network paths according to a stream distribution proportion;
the network path to be switched is a network path in the first network path, the second network path and the third network path, and the number of data streams with experience quality lower than a predetermined experience quality threshold in data streams carried by the network path to be switched is greater than a predetermined number threshold;
the target network path is one of other network paths; the other network paths include network paths other than the network path to be switched among the first network path, the second network path and the third network path.
14. A computer-readable storage medium, in which a computer program is stored which, when run on a computer, causes the computer to carry out the method according to any one of claims 1 to 6.
CN202110665489.4A 2021-06-16 2021-06-16 Data downloading method and device and terminal equipment Active CN113596919B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110665489.4A CN113596919B (en) 2021-06-16 2021-06-16 Data downloading method and device and terminal equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110665489.4A CN113596919B (en) 2021-06-16 2021-06-16 Data downloading method and device and terminal equipment

Publications (2)

Publication Number Publication Date
CN113596919A true CN113596919A (en) 2021-11-02
CN113596919B CN113596919B (en) 2022-12-20

Family

ID=78243774

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110665489.4A Active CN113596919B (en) 2021-06-16 2021-06-16 Data downloading method and device and terminal equipment

Country Status (1)

Country Link
CN (1) CN113596919B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114339869A (en) * 2022-02-25 2022-04-12 京东科技信息技术有限公司 Network management method, device, electronic equipment and storage medium
CN115567505A (en) * 2022-01-10 2023-01-03 荣耀终端有限公司 Method, device and storage medium for displaying network acceleration effect

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103686909A (en) * 2013-12-11 2014-03-26 北京邮电大学 Method for achieving seamless service switching between cellular network and wireless local area network
CN107852610A (en) * 2016-06-29 2018-03-27 北京小米移动软件有限公司 Data transmission method, device and terminal
CN110602806A (en) * 2016-05-27 2019-12-20 华为技术有限公司 WIFI network access method and device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103686909A (en) * 2013-12-11 2014-03-26 北京邮电大学 Method for achieving seamless service switching between cellular network and wireless local area network
CN110602806A (en) * 2016-05-27 2019-12-20 华为技术有限公司 WIFI network access method and device
CN107852610A (en) * 2016-06-29 2018-03-27 北京小米移动软件有限公司 Data transmission method, device and terminal

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115567505A (en) * 2022-01-10 2023-01-03 荣耀终端有限公司 Method, device and storage medium for displaying network acceleration effect
CN115567505B (en) * 2022-01-10 2023-06-30 荣耀终端有限公司 Method, device and storage medium for displaying network acceleration effect
CN114339869A (en) * 2022-02-25 2022-04-12 京东科技信息技术有限公司 Network management method, device, electronic equipment and storage medium
CN114339869B (en) * 2022-02-25 2024-04-05 京东科技信息技术有限公司 Network management method, device, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN113596919B (en) 2022-12-20

Similar Documents

Publication Publication Date Title
CN110347269B (en) Empty mouse mode realization method and related equipment
CN111095723B (en) Wireless charging method and electronic equipment
CN111132234B (en) Data transmission method and corresponding terminal
CN113810938B (en) Channel switching method, electronic device and storage medium
US20230189366A1 (en) Bluetooth Communication Method, Terminal Device, and Computer-Readable Storage Medium
CN110636554B (en) Data transmission method and device
CN111316604B (en) Data transmission method and electronic equipment
CN112181616B (en) Task processing method and related device
CN113596919B (en) Data downloading method and device and terminal equipment
WO2022262492A1 (en) Data downloading method and apparatus, and terminal device
CN111343326A (en) Method and related device for acquiring test log
CN113126948B (en) Audio playing method and related equipment
CN114528581A (en) Safety display method and electronic equipment
US20240098354A1 (en) Connection establishment method and electronic device
CN111372329B (en) Connection establishing method and terminal equipment
CN114221402A (en) Charging method and device of terminal equipment and terminal equipment
CN111935705A (en) Data service management method and device, computer readable medium and terminal equipment
CN109285563B (en) Voice data processing method and device in online translation process
CN117724863A (en) Target signal processing method and electronic equipment
CN113678481B (en) Wireless audio system, audio communication method and equipment
CN116708317B (en) Data packet MTU adjustment method and device and terminal equipment
US20240224357A1 (en) Data Download Method, Apparatus, and Terminal Device
CN116048772B (en) Method and device for adjusting frequency of central processing unit and terminal equipment
CN116661984B (en) Load control method, electronic equipment and storage medium
CN115942268A (en) Flow statistical method and electronic equipment

Legal Events

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