WO2020143380A1 - 一种数据传输方法及电子设备 - Google Patents

一种数据传输方法及电子设备 Download PDF

Info

Publication number
WO2020143380A1
WO2020143380A1 PCT/CN2019/124347 CN2019124347W WO2020143380A1 WO 2020143380 A1 WO2020143380 A1 WO 2020143380A1 CN 2019124347 W CN2019124347 W CN 2019124347W WO 2020143380 A1 WO2020143380 A1 WO 2020143380A1
Authority
WO
WIPO (PCT)
Prior art keywords
electronic device
tcp connection
period
data
application server
Prior art date
Application number
PCT/CN2019/124347
Other languages
English (en)
French (fr)
Inventor
王皓
许辰人
陈朔
祁建锋
梁恒辉
李小金
刘莉莉
王冠
Original Assignee
华为技术有限公司
北京大学
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 华为技术有限公司, 北京大学 filed Critical 华为技术有限公司
Priority to US17/421,283 priority Critical patent/US11736224B2/en
Priority to EP19908862.6A priority patent/EP3896925A4/en
Priority to JP2021539658A priority patent/JP7235871B2/ja
Publication of WO2020143380A1 publication Critical patent/WO2020143380A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0015Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
    • H04L1/0017Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy where the mode-switching is based on Quality of Service requirement
    • H04L1/0018Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy where the mode-switching is based on Quality of Service requirement based on latency requirement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/122Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/15Flow control; Congestion control in relation to multipoint traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72454User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/15Setup of multiple wireless link connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/15Setup of multiple wireless link connections
    • H04W76/16Involving different core network technologies, e.g. a packet-switched [PS] bearer in combination with a circuit-switched [CS] bearer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/72412User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories using two-way short-range wireless interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/06Details of telephonic subscriber devices including a wireless LAN interface
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/12Details of telephonic subscriber devices including a sensor for measuring a physical value, e.g. temperature or motion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/06Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]

Definitions

  • the present application relates to the technical field of terminals, in particular to a data transmission method and electronic equipment.
  • Multi-path transmission control protocol is an extension of TCP. It uses parallel transmission of multiple TCP connections to improve resource utilization and enhance the recovery ability of connection failures.
  • the currently widely used MPTCP scheduling algorithm is the minimum round-trip time (min round-trip time, min round-trip delay) scheduling algorithm, that is, the receiving end preferentially uses the minimum round-trip delay TCP connection to receive data, when the minimum round-trip delay TCP When the connection receiving window is congested, the TCP connection with the next smallest round-trip delay is used to receive data at the same time.
  • the reality is that in most public places, such as airports, shopping malls, schools, companies, etc., the round-trip delay of the WIFI network is much larger than the average round-trip delay of the cellular network, so The existing MPTCP scheduling algorithm has a problem of relatively consuming user data flow.
  • the prior art proposes some MPTCP scheduling schemes that save the data traffic of the cellular network.
  • MPTCP includes both the TCP connection corresponding to the WIFI network and the TCP connection corresponding to the cellular network
  • mobile phones generally prefer to use only the TCP connection corresponding to the WIFI network.
  • Receiving the data stream When the data transmission rate of the TCP connection corresponding to the WIFI network does not meet the requirements, the TCP connection corresponding to the cellular network is also used to receive the data stream.
  • the jitter of the WIFI network is much greater than that of the cellular network.
  • the mobile phone When the signal of the WIFI network is weak or the network is limited, the mobile phone often cannot be found in time, so it will not use the TCP connection of the cellular network to receive the data stream in time, resulting in the video playback process. Stuck, video playback is not smooth, affecting the user experience.
  • the present application provides a data transmission method and an electronic device to improve the problem that the existing data transmission preferentially occupies the TCP connection of the WIFI network and causes a jam.
  • an embodiment of the present application provides a data transmission method.
  • the method is applicable to an electronic device.
  • the method includes: the electronic device first establishes an MPTCP connection with an application server, where the MPTCP connection includes a first TCP corresponding to a cellular network Connect a second TCP connection corresponding to the WIFI network; the data transmission delay of the first TCP connection is less than the data transmission delay of the second TCP connection.
  • the electronic device receives the indication information from the application server; the indication information includes a type identifier and a parameter indicating bandwidth requirements.
  • the type identifier is used to indicate the type of data stream sent by the application server; when the type identifier is indicating data transmission
  • the electronic device uses the second TCP connection to receive the data stream in the first period after receiving the indication information; when the cumulative amount of data received by the electronic device in the first period is less than the parameter corresponding to the first period During the product of the duration, the electronic device uses the first TCP connection and the second TCP connection to receive the data stream at the same time in the second period.
  • the electronic device judges whether the first TCP connection corresponding to the LTE network is enabled by comparing the actual real-time accumulated data amount and the expected received accumulative data amount.
  • the judgment result is also real-time and accurate, so it can be to a certain extent Improve the problem that the phone is stuck and the playback is not smooth.
  • the electronic device when the accumulated data amount actually received by the electronic device in the first period meets the first expected accumulated data amount, the electronic device still uses the second TCP connection to receive data from the application server in the second period flow.
  • the electronic device determines that the accumulated data amount received through the second TCP connection during the second period meets the second expected accumulated data amount, then only the second TCP connection is adopted in the third period Receive a data stream from the application server; the cumulative amount of received data for the second expected reception is equal to the product of the duration corresponding to the second time period and the parameter.
  • the electronic device only uses the second TCP connection to receive the data stream during the third time period, and the first TCP connection corresponding to the cellular network is closed. In this way, on the one hand, it can reduce the data traffic that consumes the cellular network. On the other hand, because the power consumption of the cellular network is greater than the power consumption of the WIFI network, the first TCP connection corresponding to the cellular network is closed when it is not needed. Reduce power consumption.
  • the electronic device uses the first TCP connection and the first TCP connection at the same time period after receiving the indication information
  • the second TCP connection receives the data stream from the application server.
  • the two TCP connections are used to receive the data stream in time, which can increase the data stream reception rate to a certain extent and reduce the delay for starting playback.
  • an embodiment of the present application provides a data transmission method.
  • the method is applicable to an electronic device.
  • the method includes:
  • the electronic device establishes an MPTCP connection with the application server, where the MPTCP connection includes a first TCP connection corresponding to the cellular network and a second TCP connection corresponding to the WIFI network; then the electronic device uses the second TCP connection to receive Data flow from the application server.
  • the electronic device determines the first data transmission rate of the electronic device in the first time period according to the first accumulated data amount actually received by the electronic device in the first time period, and the first data transmission rate is equal to the first accumulated data amount and the The ratio of the duration corresponding to the first time period, when the first data transmission rate does not meet the preset data transmission rate, the first TCP connection and the second TCP connection are used at the same time to receive the data stream from the application server.
  • the electronic device when the content of the received data stream and the real-time data transmission rate requirements cannot be determined, the electronic device first attempts to use the second TCP connection corresponding to the WIFI network to receive the data stream. If the data transmission rate does not meet the preset requirements , Then use two TCP connections to receive the data stream in time.
  • the electronic device uses the first TCP connection and the second TCP connection to receive the data stream from the application server at the same time, and then the electronic device according to the second TCP connection and the first TCP connection within a unit time The cumulative data volume actually received determines the preset data transmission rate.
  • the electronic device determines the second data transmission rate of the electronic device in the second time period according to the second cumulative data amount actually received by the electronic device in the second time period, and the second data transmission rate Is equal to the ratio of the second accumulated data amount to the duration corresponding to the second time period, and then the electronic device determines that the second data transmission rate in the second time period satisfies the preset data transmission rate, then only uses the The second TCP connection receives the data stream from the application server.
  • the data traffic of the cellular network can be reduced.
  • the power consumption of the cellular network is higher than that of the WIFI network, the first TCP connection corresponding to the cellular network is closed when not needed. Reduce power consumption to a certain extent.
  • an embodiment of the present application provides an electronic device, including a processor and a memory.
  • the memory is used to store one or more computer programs; when the one or more computer programs stored in the memory are executed by the processor, the electronic device can implement any possible design method of any of the above aspects.
  • an embodiment of the present application further provides an apparatus, the apparatus including a module/unit that executes any one of the above-mentioned possible design methods.
  • These modules/units can be implemented by hardware, and can also be implemented by hardware executing corresponding software.
  • an embodiment of the present application further provides a computer-readable storage medium.
  • the computer-readable storage medium includes a computer program.
  • the computer program runs on an electronic device, the electronic device causes the electronic device to perform any of the above aspects. Any possible design method.
  • an embodiment of the present application further provides a method including a computer program product that, when the computer program product runs on a terminal, causes the electronic device to perform any one of the possible designs of any of the above aspects.
  • FIG. 1 is a system architecture of a multi-path data transmission method application provided by an embodiment of this application
  • FIG. 2 is an architecture diagram of a multi-network deployment data transmission system provided by an embodiment of this application.
  • FIG. 3 is a schematic diagram of a TCP protocol stack extended to an MPTCP protocol stack provided by an embodiment of the present application
  • FIG. 4 is a schematic diagram of an MPTCP implementation process provided by an embodiment of this application.
  • FIG. 5 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
  • FIG. 6 is a schematic diagram of an Android system architecture provided by an embodiment of the present application.
  • FIG. 7a is a schematic diagram 1 of a data transmission method according to an embodiment of the present application.
  • FIG. 7b to 7c are schematic diagrams of application scenarios of the data transmission method provided by the embodiments of the present application.
  • FIG. 8 is a second schematic diagram of a data transmission method according to an embodiment of the present application.
  • 9a to 9b are schematic diagram 3 of a data transmission method according to an embodiment of the present application.
  • FIG. 10 is a schematic diagram 4 of a data transmission method according to an embodiment of the present application.
  • FIG. 11 is a schematic diagram 5 of a data transmission method according to an embodiment of the present application.
  • FIG. 12 is a schematic structural diagram of a data transmission device according to an embodiment of the present application.
  • FIG. 13 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
  • the data transmission method provided in the embodiments of the present application can be applied to data transmission in a wireless communication system, in which the data receiving end and the data sending end perform data interaction through a radio access network (Radio Access Network, RAN) and a core network, and the data A Transmission Control Protocol (TCP) connection can also be established between the receiving end and the data sending end, and the TCP protocol is used for data transmission.
  • RAN Radio Access Network
  • TCP Transmission Control Protocol
  • the electronic device 100 and the application server 200 perform data interaction.
  • the electronic device 100 accesses the RAN through the air interface and connects to the application server via the core network.
  • the electronic device 100 and the RAN The network of may be referred to as a wireless network, and the network between the RAN and the application server 200 may be a wired network.
  • a TCP connection is established between the application server 200 and the electronic device 100 and data transmission is performed.
  • the application server 200 may be one or more servers in a server cluster, for example, different video clips of a video application are distributed on different servers, and the application server 200 may be multiple servers; for example, a video of a video application Distributed on one server, the application server 200 may also be a server.
  • the communication network may be a wireless fidelity (WIFI) network, a Bluetooth network, a zigbee network, or a near field communication (NFC) network Equal distance communication network.
  • the communication network may be a third generation mobile communication technology (3rd-generation wireless telephone technology, 3G) network, a fourth generation mobile communication technology (the 4th generation mobile communication technology, 4G ) Network, 5th-generation mobile communication technology (5G) network, future public land mobile network (PLMN) or Internet etc.
  • 3G wireless-generation wireless telephone technology
  • 4G fourth generation mobile communication technology
  • 5G 5th-generation mobile communication technology
  • PLMN future public land mobile network
  • the terminal can access the WIFI network and pass the evolved packet data gateway (Evolved Packet Data Gateway, ePDG) or trusted gateway (trusted gateway, TGW) and application server for data transmission, can also be connected to the LTE network, through the service gateway (Serving Gateway, SGW) or packet data gateway (Packet Data Network Gateway, PGW) and application server for data transmission.
  • ePDG evolved Packet Data Gateway
  • TGW trusted gateway
  • SGW Service Gateway
  • PGW Packet Data Network Gateway
  • FIG. 3 shows a schematic diagram of the expansion of the TCP protocol stack to the MPTCP protocol stack.
  • the data stream of the application layer is sent through a TCP connection.
  • the transport layer is divided into two sublayers: MPTCP layer and TCP layer.
  • the data stream of the application layer is decomposed by the MPTCP layer Of the two TCP connections.
  • FIG. 4 shows a schematic diagram of an MPTCP usage scenario.
  • two TCP connections are established between an electronic device and an application server, one TCP connection uses WIFI network resources, and the other TCP connection uses LTE network resources.
  • the MPTCP layer of the application server decomposes the TCP stream into two TCP sub-streams and transmits them independently to the electronic device through the two TCP connections.
  • the electronic device After receiving the two TCP sub-streams, merges the two sub-streams and sends them to Application layer.
  • the electronic device in the wireless communication system shown in FIG. 1 may be a portable terminal device including other functions such as a personal digital assistant and/or a music player function, such as a mobile phone, a tablet computer, and wireless communication Functional wearable devices (such as smart watches), etc.
  • portable terminal devices include, but are not limited to Or portable terminal devices of other operating systems.
  • the above portable terminal device may also be other portable terminal devices, such as a laptop with a touch-sensitive surface (for example, a touch panel) or the like.
  • the electronic device may not be a portable terminal device, but a desktop computer with a touch-sensitive surface (such as a touch panel).
  • the terminal device in the embodiment of the present application may be a mobile phone, and the following uses a mobile phone as an example to specifically describe the embodiment.
  • the mobile phone may include a processor 510, an external memory interface 520, an internal memory 521, a USB interface 530, a charging management module 540, a power management module 541, a battery 542, an antenna 1, an antenna 2, a mobile communication module 550, a wireless communication module 560, audio Module 570, speaker 570A, receiver 570B, microphone 570C, headphone jack 570D, sensor module 580, button 590, motor 591, indicator 592, camera 593, display screen 594, and SIM card interface 595, etc.
  • the sensor module 580 may include a pressure sensor 580A, a gyro sensor 580B, an air pressure sensor 580C, a magnetic sensor 580D, an acceleration sensor 580E, a distance sensor 580F, a proximity light sensor 580G, a fingerprint sensor 580H, a temperature sensor 580J, a touch sensor 580K, and ambient light Sensor 580L, bone conduction sensor 580M, etc.
  • the structure shown in the embodiments of the present invention does not constitute a specific limitation on the mobile phone.
  • the mobile phone may include more or less components than shown, or combine some components, or split some components, or arrange different components.
  • the illustrated components can be implemented in hardware, software, or a combination of software and hardware.
  • the processor 510 may include one or more processing units, for example, the processor 510 may include an application processor (application processor, AP), a modem processor, a graphics processor (graphics processing unit, GPU), and an image signal processor (image)signal processor (ISP), controller, memory, video codec, digital signal processor (DSP), baseband processor, and/or neural network processor (Neural-network Processing Unit, NPU) Wait.
  • application processor application processor
  • AP application processor
  • modem processor graphics processor
  • graphics processor graphics processor
  • ISP image signal processor
  • controller memory
  • video codec video codec
  • DSP digital signal processor
  • baseband processor baseband processor
  • NPU neural network Processing Unit
  • different processing units may be independent devices, or may be integrated in one or more processors.
  • the controller may be the nerve center and command center of the mobile phone.
  • the controller can generate the operation control signal according to the instruction operation code and the timing signal to complete the control of fetching instructions and executing instructions.
  • the processor 510 may also be provided with a memory for storing instructions and data.
  • the memory in the processor 510 is a cache memory.
  • the memory may store instructions or data that the processor 510 has just used or recycled. If the processor 510 needs to use the instruction or data again, it can be directly called from the memory. Avoid repeated access, reduce the waiting time of the processor 510, thus improving the efficiency of the system.
  • the processor 510 may include one or more interfaces.
  • Interfaces may include integrated circuit (inter-integrated circuit, I2C) interface, integrated circuit built-in audio (inter-integrated circuit, sound, I2S) interface, pulse code modulation (pulse code modulation (PCM) interface, universal asynchronous transceiver (universal asynchronous) receiver/transmitter (UART) interface, mobile industry processor interface (mobile industry interface, MIPI), general-purpose input/output (GPIO) interface, subscriber identity module (subscriber identity module, SIM) interface, and And/or universal serial bus (USB) interface, etc.
  • I2C integrated circuit
  • I2S integrated circuit built-in audio
  • PCM pulse code modulation
  • UART universal asynchronous transceiver
  • MIPI mobile industry processor interface
  • GPIO general-purpose input/output
  • SIM subscriber identity module
  • USB universal serial bus
  • the I2C interface is a bidirectional synchronous serial bus, including a serial data line (serial data line, SDA) and a serial clock line (derail clock line, SCL).
  • the processor 510 may include multiple sets of I2C buses.
  • the processor 510 may be coupled to the touch sensor 580K, charger, flash, camera 593, etc. through different I2C bus interfaces.
  • the processor 510 may couple the touch sensor 580K through the I2C interface, so that the processor 510 and the touch sensor 580K communicate through the I2C bus interface to realize the touch function of the mobile phone.
  • the I2S interface can be used for audio communication.
  • the processor 510 may include multiple sets of I2S buses.
  • the processor 510 may be coupled with the audio module 570 through an I2S bus to implement communication between the processor 510 and the audio module 570.
  • the audio module 570 can transmit audio signals to the wireless communication module 560 through the I2S interface, so as to realize the function of answering the call through the Bluetooth headset.
  • the PCM interface can also be used for audio communication, sampling, quantizing and encoding analog signals.
  • the audio module 570 and the wireless communication module 560 may be coupled through a PCM bus interface.
  • the audio module 570 can also transmit audio signals to the wireless communication module 560 through the PCM interface to realize the function of answering the phone call through the Bluetooth headset. Both the I2S interface and the PCM interface can be used for audio communication.
  • the UART interface is a universal serial data bus used for asynchronous communication.
  • the bus may be a bidirectional communication bus. It converts the data to be transmitted between serial communication and parallel communication.
  • a UART interface is generally used to connect the processor 510 and the wireless communication module 560.
  • the processor 510 communicates with the Bluetooth module in the wireless communication module 560 through the UART interface to implement the Bluetooth function.
  • the audio module 170 may transmit audio signals to the wireless communication module 560 through the UART interface, so as to realize the function of playing music through the Bluetooth headset.
  • the MIPI interface can be used to connect the processor 510 to the display 594, camera 593 and other peripheral devices.
  • MIPI interface includes camera serial interface (camera serial interface, CSI), display serial interface (display serial interface, DSI) and so on.
  • the processor 510 and the camera 593 communicate through a CSI interface to realize the shooting function of the mobile phone.
  • the processor 510 and the display screen 594 communicate through the DSI interface to realize the display function of the mobile phone.
  • the GPIO interface can be configured via software.
  • the GPIO interface can be configured as a control signal or a data signal.
  • the GPIO interface may be used to connect the processor 510 to the camera 593, display screen 594, wireless communication module 560, audio module 570, sensor module 580, and the like.
  • GPIO interface can also be configured as I2C interface, I2S interface, UART interface, MIPI interface, etc.
  • the USB interface 530 is an interface that conforms to the USB standard specifications, and may specifically be a Mini USB interface, a Micro USB interface, a USB Type C interface, etc.
  • the USB interface can be used to connect the charger to charge the mobile phone, and can also be used to transfer data between the mobile phone and peripheral devices. It can also be used to connect headphones and play audio through the headphones.
  • the interface can also be used to connect other terminal devices, such as AR devices.
  • the interface connection relationship between the modules illustrated in the embodiments of the present invention is only a schematic illustration, and does not constitute a limitation on the structure of the mobile phone.
  • the mobile phone may also use different interface connection methods in the foregoing embodiments, or a combination of multiple interface connection methods.
  • the charging management module 540 is used to receive charging input from the charger.
  • the charger may be a wireless charger or a wired charger.
  • the charging management module 540 may receive the charging input of the wired charger through the USB interface.
  • the charging management module 540 may receive wireless charging input through the wireless charging coil of the mobile phone. While the charging management module 540 charges the battery 542, it can also supply power to the electronic device through the power management module 541.
  • the power management module 541 is used to connect the battery 542, the charging management module 540 and the processor 510.
  • the power management module 541 receives input from the battery 542 and/or the charging management module 540, and supplies power to the processor 510, internal memory 521, external memory, display screen 594, camera 593, and wireless communication module 560.
  • the power management module 541 can also be used to monitor battery capacity, battery cycle times, battery health status (leakage, impedance) and other parameters.
  • the power management module 541 may also be disposed in the processor 510.
  • the power management module 541 and the charging management module 540 may also be set in the same device.
  • the wireless communication function of the mobile phone can be realized by the antenna module 1, the antenna module 2, the mobile communication module 550, the wireless communication module 560, the modem processor, and the baseband processor.
  • Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals.
  • Each antenna in a cell phone can be used to cover a single or multiple communication bands. Different antennas can also be reused to improve the antenna utilization.
  • the cellular antenna can be multiplexed as a wireless LAN diversity antenna.
  • the antenna can be used in conjunction with a tuning switch.
  • the mobile communication module 550 can provide a wireless communication solution including 2G/3G/4G/5G and the like applied to mobile phones.
  • the mobile communication module 550 may include at least one filter, switch, power amplifier, low noise amplifier (Low Noise Amplifier, LNA), and the like.
  • the mobile communication module 550 can receive electromagnetic waves from the antenna 1 and filter, amplify, etc. the received electromagnetic waves, and transmit them to the modem processor for demodulation.
  • the mobile communication module 550 can also amplify the signal modulated by the modulation and demodulation processor, and convert it to electromagnetic wave radiation through the antenna 1.
  • at least part of the functional modules of the mobile communication module 550 may be provided in the processor 510.
  • at least part of the functional modules of the mobile communication module 550 and at least part of the modules of the processor 510 may be provided in the same device.
  • the modem processor may include a modulator and a demodulator.
  • the modulator is used to modulate the low-frequency baseband signal to be transmitted into a high-frequency signal.
  • the demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal.
  • the demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing.
  • the low-frequency baseband signal is processed by the baseband processor and then passed to the application processor.
  • the application processor outputs a sound signal through an audio device (not limited to a speaker 570A, a receiver 570B, etc.), or displays an image or video through a display screen 594.
  • the modem processor may be an independent device.
  • the modem processor may be independent of the processor 510, and may be arranged in the same device as the mobile communication module 550 or other functional modules.
  • the wireless communication module 560 can provide wireless local area networks (wireless local area networks, WLAN), Bluetooth (bluetooth, BT), global navigation satellite system (GNSS), and frequency modulation (FM) that are applied to mobile phones. , Near-field wireless communication technology (near field communication, NFC), infrared technology (infrared, IR) and other wireless communication solutions.
  • the wireless communication module 560 may be one or more devices integrating at least one communication processing module.
  • the wireless communication module 560 receives electromagnetic waves via the antenna 2, frequency-modulates and filters electromagnetic wave signals, and transmits the processed signals to the processor 510.
  • the wireless communication module 560 can also receive the signal to be transmitted from the processor 510, frequency-modulate it, amplify it, and convert it to electromagnetic waves through the antenna 2 to radiate it out.
  • the antenna 1 of the mobile phone is coupled to the mobile communication module 150, and the antenna 2 is coupled to the wireless communication module 560 so that the mobile phone can communicate with the network and other devices through wireless communication technology.
  • the wireless communication technology may include a global mobile communication system (global system for mobile communications, GSM), a general packet radio service (general packet radio service, GPRS), code division multiple access (code division multiple access, CDMA), broadband Code division multiple access (wideband code division multiple access, WCDMA), time division code division multiple access (time-division code division multiple access, TD-SCDMA), long-term evolution (long term evolution, LTE), BT, GNSS, WLAN, NFC , FM, and/or IR technology, etc.
  • GSM global system for mobile communications
  • GPRS general packet radio service
  • code division multiple access code division multiple access
  • CDMA broadband Code division multiple access
  • WCDMA wideband code division multiple access
  • TD-SCDMA time division code division multiple access
  • long-term evolution long term evolution
  • LTE long
  • the GNSS may include a global positioning system (GPS), a global navigation satellite system (GLONASS), a beidou navigation system (BDS), and a quasi-zenith satellite system (quasi -zenith satellite system (QZSS)) and/or satellite-based augmentation systems (SBAS).
  • GPS global positioning system
  • GLONASS global navigation satellite system
  • BDS beidou navigation system
  • QZSS quasi-zenith satellite system
  • SBAS satellite-based augmentation systems
  • the mobile phone realizes the display function through the GPU, the display screen 594, and the application processor.
  • the GPU is a microprocessor for image processing, connecting the display screen 594 and the application processor.
  • the GPU is used to perform mathematical and geometric calculations and used for graphics rendering.
  • the processor 510 may include one or more GPUs that execute program instructions to generate or change display information.
  • the display screen 594 is used to display images, videos, etc.
  • the display screen 594 includes a display panel.
  • the display panel can use LCD (liquid crystal), OLED (organic light-emitting diode), active matrix organic light-emitting diode or active matrix organic light-emitting diode (active-matrix organic light) emitting diode, AMOLED), flexible light-emitting diode (FLED), Miniled, MicroLed, Micro-oLed, quantum dot light emitting diode (QLED), etc.
  • the mobile phone may include 1 or N display screens, and N is a positive integer greater than 1.
  • Mobile phones can achieve shooting functions through ISP, camera 593, video codec, GPU, display 594, and application processor.
  • the ISP is used to process the data returned by the camera 593. For example, when taking a picture, the shutter is opened, the light is transmitted to the camera photosensitive element through the lens, and the optical signal is converted into an electrical signal, and the camera photosensitive element transmits the electrical signal to the ISP for processing, which is converted into an image visible to the naked eye.
  • ISP can also optimize the algorithm of image noise, brightness and skin color. ISP can also optimize the exposure, color temperature and other parameters of the shooting scene.
  • the ISP may be provided in the camera 593.
  • the camera 593 is used to capture still images or videos.
  • the object generates an optical image through the lens and projects it onto the photosensitive element.
  • the photosensitive element may be a charge coupled device (charge coupled device, CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor.
  • CCD charge coupled device
  • CMOS complementary metal-oxide-semiconductor
  • the photosensitive element converts the optical signal into an electrical signal, and then transmits the electrical signal to the ISP to convert it into a digital image signal.
  • the ISP outputs the digital image signal to the DSP for processing.
  • DSP converts digital image signals into standard RGB, YUV and other format image signals.
  • the mobile phone may include 1 or N cameras, and N is a positive integer greater than 1.
  • the digital signal processor is used to process digital signals. In addition to digital image signals, it can also process other digital signals. For example, when the mobile phone is selected at a frequency point, the digital signal processor is used to perform Fourier transform on the frequency point energy.
  • Video codec is used to compress or decompress digital video.
  • Mobile phones can support one or more video codecs. In this way, mobile phones can play or record videos in multiple encoding formats, such as: MPEG1, MPEG2, MPEG3, MPEG4, etc.
  • NPU is a neural-network (NN) computing processor.
  • NN neural-network
  • applications such as smart recognition of mobile phones can be realized, such as image recognition, face recognition, voice recognition, and text understanding.
  • the external memory interface 520 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the mobile phone.
  • the external memory card communicates with the processor 510 through the external memory interface 520 to realize the data storage function. For example, save music, video and other files in an external memory card.
  • the internal memory 521 may be used to store computer executable program code, where the executable program code includes instructions.
  • the processor 510 executes instructions stored in the internal memory 521 to execute various functional applications and data processing of the mobile phone.
  • the memory 521 may include a storage program area and a storage data area.
  • the storage program area may store an operating system, at least one function required application programs (such as sound playback function, image playback function, etc.) and so on.
  • the storage data area can store data (such as audio data, phone book, etc.) created during the use of the mobile phone.
  • the memory 521 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash memory (universal flash storage, UFS), and so on.
  • a non-volatile memory such as at least one disk storage device, a flash memory device, a universal flash memory (universal flash storage, UFS), and so on.
  • the mobile phone can realize the audio function through the audio module 570, the speaker 570A, the receiver 570B, the microphone 570C, the earphone interface 570D, and the application processor. For example, music playback, recording, etc.
  • the audio module 570 is used to convert digital audio information into analog audio signal output, and also used to convert analog audio input into digital audio signal.
  • the audio module 570 may also be used to encode and decode audio signals.
  • the audio module 570 may be disposed in the processor 510, or a part of the functional modules of the audio module 570 may be disposed in the processor 510.
  • the speaker 570A also called “speaker” is used to convert audio electrical signals into sound signals.
  • the mobile phone can listen to music through the speaker 570A, or listen to a hands-free call.
  • the receiver 570B also known as "handset" is used to convert audio electrical signals into sound signals.
  • the voice can be received by holding the receiver 170B close to the ear.
  • Microphone 570C also known as “microphone”, “microphone”, is used to convert sound signals into electrical signals.
  • the user can make a sound by approaching the microphone 570C through the person's mouth, and input the sound signal to the microphone 570C.
  • the mobile phone may be provided with at least one microphone 570C.
  • the mobile phone may be provided with two microphones, which can also achieve noise reduction functions in addition to collecting sound signals.
  • the mobile phone may also be provided with three, four, or more microphones to collect sound signals, reduce noise, identify sound sources, and implement directional recording functions.
  • the headset interface 570D is used to connect wired headsets.
  • the earphone interface can be a USB interface, or a 3.5mm open mobile electronic device platform (OMTP) standard interface, and the American Telecommunications Industry Association (cellular telecommunications industry association of the United States, CTIA) standard interface.
  • OMTP open mobile electronic device platform
  • CTIA American Telecommunications Industry Association
  • the pressure sensor 580A is used to sense the pressure signal and can convert the pressure signal into an electrical signal.
  • the pressure sensor 580A may be provided on the display screen 594.
  • the capacitive pressure sensor may be a parallel plate including at least two conductive materials. When force is applied to the pressure sensor 580A, the capacitance between the electrodes changes. The mobile phone determines the strength of the pressure based on the change in capacitance. When a touch operation is applied to the display screen 594, the mobile phone detects the intensity of the touch operation according to the pressure sensor 580A.
  • the mobile phone may also calculate the touched position based on the detection signal of the pressure sensor 580A.
  • touch operations that act on the same touch position but have different touch operation intensities may correspond to different operation instructions. For example, when a touch operation with a touch operation intensity less than the first pressure threshold acts on the short message application icon, an instruction to view the short message is executed. When a touch operation with a touch operation intensity greater than or equal to the first pressure threshold acts on the short message application icon, an instruction to create a new short message is executed.
  • the gyro sensor 580B can be used to determine the movement posture of the mobile phone. In some embodiments, the angular velocity of the mobile phone around three axes (ie, x, y, and z axes) can be determined by the gyro sensor 580B.
  • the gyro sensor 580B can be used for shooting anti-shake. Exemplarily, when the shutter is pressed, the gyro sensor 580B detects the jitter angle of the mobile phone, calculates the distance that the lens module needs to compensate based on the angle, and allows the lens to counteract the jitter of the mobile phone through reverse movement to achieve anti-shake.
  • the gyro sensor 580B can also be used for navigation and somatosensory game scenes.
  • the air pressure sensor 580C is used to measure air pressure.
  • the mobile phone calculates the altitude using the air pressure value measured by the air pressure sensor 580C to assist positioning and navigation.
  • the magnetic sensor 580D includes a Hall sensor.
  • the mobile phone can use the magnetic sensor 580D to detect the opening and closing of the flip holster.
  • the mobile phone when the mobile phone is a clamshell machine, the mobile phone can detect the opening and closing of the clamshell according to the magnetic sensor 580D.
  • characteristics such as automatic unlocking of the flip cover are set.
  • the acceleration sensor 580E can detect the acceleration of the mobile phone in various directions (generally three axes).
  • the size and direction of gravity can be detected when the phone is stationary. It can also be used to recognize the posture of electronic devices, and can be used in horizontal and vertical screen switching, pedometer and other applications.
  • the distance sensor 580F is used to measure the distance.
  • the mobile phone can measure the distance by infrared or laser. In some embodiments, when shooting scenes, the mobile phone can use the distance sensor 180F to measure distance to achieve fast focusing.
  • the proximity light sensor 580G 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 mobile phone emits infrared light outward through the light emitting diode.
  • Mobile phones use photodiodes to detect infrared reflected light from nearby objects. When sufficient reflected light is detected, it can be determined that there is an object near the mobile phone. When insufficient reflected light is detected, the phone can determine that there are no objects near the phone.
  • the mobile phone can use the proximity light sensor 580G to detect that the user is holding the mobile phone close to the ear to talk, so as to automatically turn off the screen to save power.
  • the proximity light sensor 580G can also be used in leather case mode, pocket mode automatically unlocks and locks the screen.
  • the ambient light sensor 580L is used to sense the ambient light brightness.
  • the mobile phone can adaptively adjust the brightness of the display screen 594 according to the perceived ambient light brightness.
  • the ambient light sensor 180L can also be used to automatically adjust the white balance when taking pictures.
  • the ambient light sensor 580L can also cooperate with the proximity light sensor 580G to detect whether the phone is in your pocket to prevent accidental touch.
  • the fingerprint sensor 580H is used to collect fingerprints. Mobile phones can use the collected fingerprint features to unlock fingerprints, access application locks, take photos with fingerprints, and answer incoming calls with fingerprints.
  • the temperature sensor 580J is used to detect the temperature.
  • the mobile phone uses the temperature detected by the temperature sensor 580J to execute a temperature processing strategy. For example, when the temperature reported by the temperature sensor 580J exceeds a threshold, the mobile phone performs a reduction in the performance of the processor located near the temperature sensor 580J in order to reduce power consumption and implement thermal protection.
  • the mobile phone when the temperature is below another threshold, the mobile phone heats the battery 542 to avoid abnormal shutdown of the mobile phone due to low temperature.
  • the mobile phone when the temperature is below another threshold, the mobile phone performs boosting on the output voltage of the battery 542 to avoid abnormal shutdown due to low temperature.
  • Touch sensor 580K also known as "touch panel”. Can be set on the display 594. Used to detect touch operations acting on or near it. The detected touch operation may be passed to the application processor to determine the type of touch event and provide corresponding visual output through the display screen 594. In other embodiments, the touch sensor 580K may also be disposed on the surface of the mobile phone, which is different from the location where the display screen 594 is located.
  • the bone conduction sensor 580M can acquire vibration signals. In some embodiments, the bone conduction sensor 580M can acquire the vibration signal of the vibrating bone mass of the human voice. The bone conduction sensor 580M can also contact the pulse of the human body and receive the blood pressure beating signal. In some embodiments, the bone conduction sensor 580M may also be provided in the earphone.
  • the audio module 570 can parse out the voice signal based on the vibration signal of the vibrating bone mass of the voice part acquired by the bone conduction sensor 580M to realize the voice function.
  • the application processor may parse heart rate information based on the blood pressure beating signal acquired by the bone conduction sensor 580M to implement the heart rate detection function.
  • the key 590 includes a power-on key, a volume key, and the like.
  • the keys can be mechanical keys. It can also be a touch button.
  • the mobile phone can receive key input and generate key signal input related to the user settings and function control of the mobile phone.
  • the motor 591 can generate a vibration prompt.
  • the motor 591 can be used for incoming call vibration prompting, and can also be used for touch vibration feedback.
  • touch operations applied to different applications may correspond to different vibration feedback effects.
  • the motor 591 can also correspond to different vibration feedback effects.
  • Different application scenarios for example: time reminder, receiving information, alarm clock, game, etc.
  • Touch vibration feedback effect can also support customization.
  • the indicator 592 can be an indicator light, which can be used to indicate the charging state, the amount of power change, and can also be used to indicate messages, missed calls, notifications, and the like.
  • the SIM card interface 595 is used to connect a subscriber identity module (subscriber identity module, SIM).
  • SIM subscriber identity module
  • the SIM card can be inserted into or removed from the SIM card interface to achieve contact and separation with the mobile phone.
  • the mobile phone can support 1 or N SIM card interfaces, N is a positive integer greater than 1.
  • the SIM card interface 595 can support Nano SIM cards, Micro SIM cards, SIM cards, etc. Multiple cards can be inserted at the same time on the same SIM card interface. The types of the multiple cards may be the same or different.
  • the SIM card interface 595 can also be compatible with different types of SIM cards.
  • the SIM card interface 595 is also compatible with external memory cards.
  • the mobile phone interacts with the network through the SIM card to realize functions such as call and data communication.
  • the mobile phone uses eSIM, that is, an embedded SIM card.
  • eSIM that is, an embedded SIM card.
  • the eSIM card can be embedded in the mobile phone and cannot be separated from the mobile phone.
  • the software system of the mobile phone can adopt a layered architecture, event-driven architecture, micro-core architecture, micro-service architecture, or cloud architecture.
  • the embodiment of the present invention takes an Android system with a layered architecture as an example to illustrate the software structure of a mobile phone.
  • FIG. 6 is a block diagram of a software structure of a mobile phone according to an embodiment of the present invention.
  • the layered architecture divides the software into several layers, and each layer has a clear role and division of labor.
  • the layers communicate with each other through a software interface.
  • the Android system is divided into four layers, from top to bottom are the application layer, the application framework layer, the Android runtime and the system library, and the kernel layer.
  • the application layer may include a series of application packages.
  • the application package may include applications such as camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, and short message.
  • the application framework layer provides application programming interfaces (application programming interfaces) and programming frameworks for applications at the application layer.
  • the application framework layer includes some predefined functions.
  • the application framework layer may include a window manager, a content provider, a view system, a phone manager, a resource manager, a notification manager, and so on.
  • the window manager is used to manage window programs.
  • the window manager can obtain the size of the display screen, determine whether there is a status bar, lock the screen, intercept the screen, etc.
  • Content providers are used to store and retrieve data and make it accessible to applications.
  • the data may include videos, images, audio, calls made and received, browsing history and bookmarks, phonebooks, etc.
  • the view system includes visual controls, such as controls for displaying text and controls for displaying pictures.
  • the view system can be used to build applications.
  • the display interface can be composed of one or more views.
  • a display interface that includes an SMS notification icon may include a view that displays text and a view that displays pictures.
  • the phone manager is used to provide the communication function of the mobile phone. For example, the management of the call state (including connection, hang up, etc.).
  • the resource manager provides various resources for the application, such as localized strings, icons, pictures, layout files, video files, and so on.
  • the notification manager enables applications to display notification information in the status bar, which can be used to convey notification-type messages, and can disappear after a short stay without user interaction.
  • the notification manager is used to notify the completion of downloading, message reminders, etc.
  • the notification manager can also be a notification that appears in the status bar at the top of the system in the form of a chart or scroll bar text, such as a notification of an application running in the background, or a notification that appears on the screen in the form of a dialog window.
  • the text message is displayed in the status bar, a prompt sound is emitted, the electronic device vibrates, and the indicator light flashes.
  • Android Runtime includes core library and virtual machine. Android runtime is responsible for the scheduling and management of the Android system.
  • the core library contains two parts: one part is the function function that Java language needs to call, and the other part is the core library of Android.
  • the application layer and the application framework layer run in the virtual machine.
  • the virtual machine executes the java files of the application layer and the application framework layer into binary files.
  • the virtual machine is used to perform functions such as object lifecycle management, stack management, thread management, security and exception management, and garbage collection.
  • the system library may include multiple functional modules. For example: surface manager (surface manager), media library (Media library), 3D graphics processing library (for example: OpenGL ES), 2D graphics engine (for example: SGL), etc.
  • surface manager surface manager
  • media library Media library
  • 3D graphics processing library for example: OpenGL ES
  • 2D graphics engine for example: SGL
  • the surface manager is used to manage the display subsystem and provides the fusion of 2D and 3D layers for multiple applications.
  • the media library supports a variety of commonly used audio, video format playback and recording, and still image files.
  • the media library can support multiple audio and video encoding formats, such as: MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, etc.
  • the 3D graphics processing library is used to realize 3D graphics drawing, image rendering, synthesis, and layer processing.
  • the 2D graphics engine is a drawing engine for 2D drawing.
  • the kernel layer is the layer between hardware and software.
  • the kernel layer contains at least the display driver, camera driver, audio driver, and sensor driver.
  • the MPTCP connection includes a first TCP connection corresponding to the LTE network and a second TCP connection corresponding to the WIFI network.
  • the MPTCP connection includes a first TCP connection corresponding to the LTE network and a second TCP connection corresponding to the WIFI network.
  • the mobile phone receives the first identifier from the application server, where the first identifier indicates that the data stream requires low data transmission delay, the mobile phone preferentially uses the second TCP connection corresponding to the WIFI network shown in FIG. 7a to receive the data stream.
  • the mobile phone When the data transmission rate of the second TCP connection corresponding to the WIFI network (the so-called data transmission rate refers to the amount of data received per unit time) is insufficient (for example, less than 2Mbps), the mobile phone simultaneously enables the reception of the first TCP connection corresponding to the cellular network data.
  • the WIFI network due to the large jitter of the WIFI network, scenes where the WIFI network is not smooth may often occur, as shown in Table 1, so there may be a problem of jamming and unsmooth playback.
  • the video download rate (that is, the data transmission rate) of the mobile phone may be around 1mbps. If the current movie is a high-definition video, the video The download rate requirement is 4mbps, then the phone will be stuck and not smooth during the movie. If the mobile phone monitors the data transmission rate of the second TCP connection to determine whether to enable the TCP connection of the cellular network, generally at least 2 to 3 time periods need to be calculated (for example, the time period corresponding to one period is 3s, and the time period corresponding to two periods is 6s ) The average value of the data transmission rate can determine whether the current data transmission rate meets the bandwidth requirements. In this case, when the mobile phone determines that the TCP connection corresponding to the WIFI is not smooth, often the mobile phone has been stuck for 2 to 3 seconds, or even longer.
  • the embodiments of the present application provide a data transmission method.
  • the mobile phone periodically counts the cumulative actual reception through the second TCP connection at each time period (for example, the time length corresponding to each time period is 3s) Whether the amount of data is greater than the cumulative amount of data expected to be received, for example, the bandwidth requirement is 4mbps, the cumulative amount of data expected to be received is 4mbps times 3s, that is, 12mb, assuming that the mobile phone is still in the network speed limited scenario shown in Table 1 to watch movies,
  • the video download rate of the mobile phone through the second TCP connection is only about 1mbps, then obviously the cumulative data amount received by the mobile phone during this period may be only 3mb, which is much lower than 12mb, so the mobile phone immediately enables the TCP connection corresponding to the LTE network.
  • the mobile phone since the accumulated data amount actually received by the mobile phone through each TCP connection can be obtained in real time through the interface, the mobile phone judges whether to enable the first TCP connection corresponding to the LTE network by comparing the actually received accumulated data amount with the expected received accumulated data amount , The judgment result is also real-time and accurate, so it can improve the problem that the phone is stuck and the playback is not smooth to a certain extent.
  • the embodiment of the present application further combines the scenarios shown in FIG. 7b and FIG. 7c to illustrate the above data stream transmission method.
  • Scenario 1 When the mobile phone receives the operation (such as a click operation) of user 1 acting on the playback interface of the video application, the mobile phone sends a request to the application server corresponding to the video application to obtain the multimedia file "Foreseeing the Future" After receiving the message, the application server sends the data stream of the multimedia file to the mobile phone through the MPTCP protocol. The mobile phone receives the data stream according to the above data stream transmission method and displays the interface as shown in FIG. 7b.
  • the mobile phone uses the first TCP connection corresponding to the cellular network to receive the data stream. If the receiving window of the TCP connection corresponding to the cellular network is adjusted to the maximum and still does not meet the bandwidth requirements of the data stream, the TCP connection corresponding to the WIFI network can also be used to receive the data stream at the same time. In this case, the mobile phone can start to play the first screen of the multimedia file "Foreseeing the Future" faster after detecting the operation of User 1, which means that the play delay is smaller, which improves the user experience.
  • Scenario 2 As shown in Figure 7c, during the playback of the multimedia file "Foreseeing the Future" on the mobile phone, the mobile phone will also receive the data stream of the cache period from the application server. Before sending the data stream of the cache period, the application server will first Send indication information corresponding to the type identifier of the data stream in the buffer period to the mobile phone. After receiving the instruction information from the application server, the mobile phone obtains the first identifier and the parameter indicating the bandwidth requirement from the instruction information. During the first time period, the mobile phone preferentially uses the second TCP connection corresponding to the WIFI network to receive the data stream.
  • the mobile phone obtains the first accumulated data amount actually received after the first time period, if the first accumulated data amount is less than the first expected received accumulated data amount Amount (probably caused by a bad WIFI signal), where the first cumulative data amount expected to be received is a parameter indicating the bandwidth requirement multiplied by the length of time corresponding to the first time period, then the mobile phone can also use the TCP connection corresponding to the LTE network to receive this data flow.
  • FIG. 8 an exemplary flow of a data transmission method provided by an embodiment of the present application is shown.
  • the method is applicable to a scenario where a data stream sent by an application server carries indication information.
  • the method is executed by an electronic device. It includes the following steps.
  • Step 801 the electronic device establishes an MPTCP connection with the application server.
  • the MPTCP connection includes a first TCP connection corresponding to the cellular network and a second TCP connection corresponding to the WIFI network.
  • the data transmission delay of the first TCP connection is less than the data transmission delay of the second TCP connection.
  • Step 802 the electronic device receives the instruction information from the application server.
  • the indication information includes a type identifier and a parameter used to indicate the data transmission rate requirement.
  • the type identifier is mainly used to indicate the type of the data stream sent by the application server. Exemplarily, as shown in Table 2, if the data stream to be sent by the application server requires low data transmission delay, the type identifier is the first identifier, for example, the first identifier is the character string "background", if the application server The data stream to be sent requires high data transmission delay, and the type identifier is the second identifier, for example, the second identifier is the character string "interactive".
  • the instruction information sent by the application server is related to the data stream sent by the application server afterwards, and has a time sequence.
  • the type identifier included in the indication information sent by the application server is the first identifier
  • the data stream sent immediately by the application server is the data stream related to the first identifier.
  • Step 803 when the type identifier is the first identifier, the electronic device uses the second TCP connection to receive the data stream from the application server in the first period after receiving the indication information.
  • the electronic device determines that the data stream to be sent by the application server does not require high data transmission delay, it only receives through the second TCP connection of the WIFI network, which can reduce the data traffic of the cellular network to a certain extent. Consume.
  • Step 804 when the accumulated data amount actually received by the electronic device in the first period does not satisfy the first expected accumulated data amount, the electronic device uses the first TCP connection and the second TCP connection to receive the data from the application server at the same time in the second period data flow.
  • the accumulated data amount expected to be received by the first is equal to the product of the bandwidth requirement parameter and the duration corresponding to the first time period.
  • the duration corresponding to the first period is 3 seconds
  • the bandwidth requirement parameter in the indication information sent by the application server is 4mbps
  • the expected cumulative data volume received is 12mb.
  • the accumulated data amount actually received in the first period is 5mb
  • the accumulated data amount expected to be received at the first time is 12mb. Since the accumulated data amount actually received is less than the accumulated data amount expected to be received at the first time, the electronic device In the second time period, the first TCP connection and the second TCP connection are simultaneously used to receive the data stream from the application server. It should be noted that, in order to facilitate comparison, the monitoring periods occupied by the two histograms shown in FIG. 9a are different, but the histogram in FIG. 9a indicating the amount of accumulated data expected to be received and the histogram indicating the amount of accumulated data actually received in The monitoring period and monitoring duration occupied on the horizontal axis are the same.
  • Step 805. when the type identifier is the second identifier, the electronic device uses the first TCP connection and the second TCP connection to receive from the application at the same time period after receiving the indication information. Data flow from the server.
  • the electronic device determines that the data stream to be sent by the application server requires high data transmission delay, it simultaneously receives the amount of data through the second TCP connection of the WIFI network and the first TCP connection of the cellular network, which can be certain To a certain extent, improve the data stream reception rate and reduce the delay of starting playback.
  • the electronic device when the electronic device determines that the actually received first accumulated data amount through the second TCP connection during the first period meets the first expected received accumulated data amount, the electronic device still uses the The second TCP connection receives the data stream from the application server.
  • the electronic device determines to pass the second When the cumulative data volume actually received by the TCP connection meets the second cumulative data volume expected to be received, only the second TCP connection is used to receive the data stream from the application server in the third time period.
  • the accumulated data amount expected to be received in the second is equal to the product of the time duration corresponding to the second period and the parameter indicating the bandwidth requirement.
  • the duration corresponding to the second time period is 3 seconds
  • the parameter indicating the bandwidth requirement in the indication information sent by the application server is 4mbps
  • the second expected cumulative data volume is 3s times 4mbps, that is 12mb. If the WIFI network changes from the speed-limited state to the non-speed-limited state, the data transmission rate of the WIFI network will also increase, assuming that the application server calculates in the second period that the actual accumulated data amount received is 30mb.
  • the electronic device only uses the second TCP connection to receive the data stream in the third time period, and the first TCP corresponding to the cellular network The connection is closed. In this way, on the one hand, it can reduce the data traffic that consumes the cellular network. On the other hand, because the power consumption of the cellular network is greater than the power consumption of the WIFI network, the first TCP connection corresponding to the cellular network is closed when it is not needed. Reduce power consumption.
  • the electronic device can increase monitoring in subsequent periods duration.
  • the data stream actually received through the second TCP connection is greater than the expected amount of data received, so the monitoring duration of the fifth period is adjusted from 3s to 30s. In this way, the number of times of determining whether the accumulated data amount of the second TCP connection meets the expected received accumulated data amount is reduced, so power consumption can be saved to a certain extent.
  • the following embodiments of the present application further elaborate the specific process of the foregoing data transmission method in conjunction with the process shown in FIG. 9b.
  • the specific process of the method process may include:
  • Step 901 the mobile phone and the video application server establish an MPTCP connection, and the MPTCP connection includes a first TCP connection corresponding to the LTE network and a second TCP connection corresponding to the WIFI network.
  • the video application server sends instructions to the mobile phone before sending the data stream by calling the interface of the mobile phone system.
  • the indication information includes a first identifier and a parameter indicating bandwidth requirements.
  • step 903 the mobile phone uses the second TCP connection corresponding to the WIFI network to receive the data stream from the video application server in the first time period according to the first identifier.
  • the mobile phone After determining that the type identifier is the first identifier, the mobile phone sets the priority of the first TCP connection corresponding to the LTE network to low, that is to say, the first TCP connection corresponding to the LTE network is established, but is unavailable during idle And the second TCP connection corresponding to the WIFI network is set to be always available.
  • Step 904 The mobile phone obtains the first accumulated data amount actually received after the first period of time.
  • the mobile phone obtains the first accumulated data amount actually received by the second TCP connection in the first time period through the interface function getMPTCPInfo in the open source code.
  • step 905 the mobile phone compares the first accumulated data amount with the first expected received accumulated data amount. If the first accumulated data amount is greater than the first expected received accumulated data amount, step 906a is executed, otherwise 906b is executed.
  • the cumulative data amount expected to be received in the first period is equal to the product of the parameter and the duration corresponding to the first period, for example, the parameter indicating the bandwidth requirement is 4 mbps, and the duration corresponding to the first period is 3 s, then the cumulative data amount expected to be received is 12 mb.
  • step 906b is executed. Assuming that the WIFI signal is weak and the first accumulated data amount is only 3mb, then the first accumulated data amount is lower than the first expected received accumulated data amount, and step 906b is executed. Assuming that the WIFI signal is good and the first accumulated data amount is 20mb, then the first accumulated data amount is greater than the first expected accumulated data amount, step 906a is executed.
  • step 906a the mobile phone still uses the second TCP connection corresponding to the WIFI network to receive the data stream from the video application server in the subsequent second time period.
  • step 906b the mobile phone uses the first TCP connection corresponding to the LTE network and the second TCP connection corresponding to the WIFI network to receive the data stream at the same time in the subsequent second period.
  • the mobile phone adjusts the priority of the first TCP connection corresponding to the LTE network from low to high, that is to say, the first TCP connection corresponding to the LTE network is in an available state.
  • Step 907 The mobile phone obtains the second accumulated data amount actually received using the TCP connection corresponding to the WIFI network after the second period of time.
  • step 908 the mobile phone compares the second accumulated data amount with the second expected received accumulated data amount, and if it is greater, then performs step 909a, otherwise executes 909b.
  • the cumulative data volume expected to be received in the second period is equal to the product of the second period and the parameter, for example, the parameter is 4mbps, and the first and second periods are both 3s in length, then the cumulative data amount expected to be received in the second period is 12mb.
  • the WIFI signal turns better in the second period and the second accumulated data amount is 24mb, then the second accumulated data amount is greater than the second expected received accumulated data amount, and step 909a is executed.
  • the WIFI signal is still not good in the second period, and the second accumulated data amount is 3mb, then the second accumulated data amount is less than the expected received accumulated data amount, and step 909b is executed.
  • step 909a the mobile phone only uses the second TCP connection corresponding to the WIFI network to receive the data stream from the video application server in the subsequent third time period.
  • the mobile phone adjusts the priority of the first TCP connection corresponding to the LTE network from high to low, that is to say, the first TCP connection corresponding to the LTE network is in an unavailable state.
  • step 909b the mobile phone still uses the first TCP connection corresponding to the LTE network and the second TCP connection corresponding to the WIFI network to receive the data stream at the same time in the subsequent third period.
  • step 906a the mobile phone acquires the cumulative data amount actually received using the TCP connection corresponding to the WIFI network in the third period and even the fourth period, it is still greater than the cumulative data amount expected to be received, then The mobile phone increases the monitoring duration corresponding to the subsequent period, for example, from 3s to 20s. Similarly, if the cumulative amount of data actually received by the mobile phone using the TCP connection corresponding to the WIFI network in the third period and the fourth period after performing step 909b is still less than the cumulative amount of data expected to be received, the machine will The monitoring period corresponding to the subsequent period is increased, for example, from 3s to 20s. The advantage of this is that it can save power consumption.
  • the data streams sent by some application servers to electronic devices may not carry indication information, so the electronic device cannot determine whether the received data stream from the application server is an audio stream or an audio stream.
  • the electronic device determines whether the data transmission rate during this period meets the preset data transmission rate by statistically collecting the actually received cumulative data amount of the set duration, and then determines which one to use The TCP connection receives the data stream.
  • the embodiments of the present application further illustrate the above data stream transmission method with reference to the scenario shown in FIG. 7b.
  • the mobile phone When the mobile phone receives the operation of user 1 acting on the playback control of the video application's playback interface (such as a click operation), the mobile phone sends a message to the application server corresponding to the video application to request the multimedia file "Foreseeing the Future", the application After receiving the message, the server sends the data stream of the multimedia file to the mobile phone through the MPTCP protocol.
  • the mobile phone receives the data stream according to the above data stream transmission method and displays the interface shown in FIG. 7b.
  • the data stream received by the mobile phone from the application server may be the audio stream of the multimedia file or the video stream of the multimedia file, and may also be mixed with the audio stream and video stream of the advertising service, and the mobile phone cannot determine In the end there are several audio streams, or several video streams.
  • the mobile phone attempts to use the first TCP connection corresponding to the cellular network and the second TCP connection corresponding to the WIFI network to receive the data stream in the first period, and predict the bandwidth required by the service sent by the application server. Then use the second TCP connection corresponding to the WIFI network to receive the data stream in the second time period. If the data transmission rate of the second TCP connection meets the predicted bandwidth, you can also use the second TCP connection corresponding to the WIFI network to receive the data stream in the next time period. For the data stream, if the data transmission rate of the second TCP connection does not meet the predicted bandwidth, the first TCP connection corresponding to the cellular network is simultaneously used to receive the data stream in the next period.
  • the mobile phone can not only start to play the first screen of the multimedia file "Foreseeing the Future" faster after detecting the operation of the user 1, but also ensure that the data traffic of the cellular network is not consumed as much as possible during the data caching period.
  • FIG. 10 an exemplary flow of another data transmission method provided by an embodiment of the present application is exemplarily shown.
  • the method is executed by an electronic device, and the method includes the following steps.
  • Step 1001 First, the electronic device establishes an MPTCP connection with the application server.
  • the MPTCP connection includes a first TCP connection corresponding to the cellular network and a second TCP connection corresponding to the WIFI network.
  • Step 1002 The electronic device uses the second TCP connection to receive the data stream from the application server in the first period.
  • Step 1003 The electronic device determines the first data transmission rate of the electronic device in the first period according to the first accumulated data amount actually received in the first period.
  • the first data transmission rate is equal to the ratio of the first accumulated data amount and the duration corresponding to the first time period.
  • the duration corresponding to the first period is 3 seconds, and the first accumulated data amount is 12mb, then the first data transmission rate is 12mb divided by 3s, which is 4mbps; if the first The WIFI signal in the period is not good.
  • the first accumulated data amount actually received by the electronic device in the first period may be 3mbps, then the first data transmission rate is 3mb divided by 3s, which is 1mbps.
  • Step 1004 When the electronic device determines that the first data transmission rate does not satisfy the preset data transmission rate, it uses the first TCP connection and the second TCP connection to receive the data stream from the application server at the same time in the second period.
  • the electronic device uses the first TCP connection and the second TCP connection to receive the data stream from the application server at the same time in the second period.
  • the preset data transmission rate may be an empirical value, or the electronic device uses the first TCP connection and the second TCP connection to receive the data stream from the application server in advance before the first time period.
  • the cumulative amount of data actually received in a period of time predicts the data transmission rate required by the application server, and uses the predicted data transmission rate as the preset data transmission rate.
  • the electronic device determines the second accumulated data amount actually received in the second time period, and determines the second data transmission rate according to the second accumulated data amount actually received in the second time period. If the second data transmission rate meets the preset data transmission rate, only the second TCP connection is used to receive the data stream from the application server in the third period.
  • first period, the second period, and the third period may have the same duration or different periods.
  • the second period occurs after the first period, and the third period occurs after the second period.
  • the duration corresponding to the first period is 3 seconds
  • the duration corresponding to the second period is also 3 seconds
  • the preset data transmission rate is 4 mbps. If the WIFI network changes from the speed-limited state to the non-speed-limited state in the second period, the actual amount of data received by the TCP connection corresponding to the WIFI network will also increase, if the electronic device calculates the second data in the second period When the transmission rate is 10 mbps, the electronic device can only use the second TCP connection to receive the data stream in the third period, and the first TCP connection corresponding to the cellular network is still closed. In this way, on the one hand, it can reduce the data traffic that consumes the cellular network. On the other hand, because the power consumption of the cellular network is greater than the power consumption of the WIFI network, the first TCP connection corresponding to the cellular network is closed when it is not needed. Reduce power consumption.
  • the electronic device if the electronic device only uses the second TCP connection to receive the data stream from the application server for M consecutive periods of time, the electronic device obtains the cumulative amount of data received after M periods of time is Z1, and the electronic device obtains the passed M The cumulative received data amount Z2 after the -1 period, the electronic device obtains the cumulative received data amount Z3 after the M-2 period, if Z1-Z2 is much greater or less than Z2-Z3, it means that the electronic device is in the M period The amount of data received through the second TCP connection suddenly increases or decreases suddenly, then the electronic device uses the first TCP connection and the second TCP connection to receive the data stream from the application server at the same time in the fourth period .
  • the electronic device if the electronic device is currently playing the video in the video application, if the user switches the video mode from the normal mode to the high-definition mode, the amount of data sent by the video application server per unit time increases, so the electronic device The cumulative amount of data received through the second TCP connection will also increase. Although the cumulative amount of data received by the electronic device through the second TCP connection increases, it may not meet the cumulative amount of data expected to be received, so the electronic device uses the first TCP connection and the second TCP connection to receive at the same time Data flow from the application server.
  • the electronic device currently only receives the data stream through the second TCP connection, at the first moment, the accumulated data amount actually received through the second TCP connection is 10mb, and the electronic device counts the actual reception through the second TCP connection at the second moment.
  • the cumulative data volume of the data becomes 20mb, and the electronic device counts the cumulative data volume actually received through the second TCP connection at the third time to become 23mb, indicating that the electronic device receives the data through the second TCP connection from the second time to the third time
  • the amount of data is very small, only 3mb.
  • the electronic device may be in the scenario shown in Table 1. Therefore, the electronic device uses the first TCP connection and the second TCP connection at the same time to receive the application from the application. Data flow from the server.
  • the electronic device when the electronic device counts multiple times within a set period of time that the cumulative amount of data received through the second TCP connection is lower than the cumulative amount of data expected to be received, then the fixed period of time (for example, 60s ) The statistics and judgment of the actually received cumulative data volume are no longer performed, and the electronic device uses the first TCP connection and the second TCP connection to receive the data stream from the application server at the same time. This is to prevent the electronic device from repeatedly turning on or off the first TCP connection corresponding to the cellular network when the WIFI signal is good or bad, resulting in a large power consumption.
  • the fixed period of time for example, 60s
  • Step 1101 the mobile phone and the live broadcast application server establish an MPTCP connection, and the MPTCP connection includes a first TCP connection corresponding to the LTE network and a second TCP connection corresponding to the WIFI network.
  • Step 1102 assuming that the duration corresponding to each time period is fixed at 3s, and the mobile phone uses the first TCP connection corresponding to the LTE network and the second TCP connection corresponding to the WIFI network to receive the data stream from the live application server during the first time period.
  • Step 1103 The mobile phone obtains the first accumulated data amount actually received after the first time period, and then predicts the preset data transmission rate required by the live application server according to the actually received first accumulated data amount and the first time period.
  • the first accumulated data amount actually received by the mobile phone is 12mb
  • the preset data transmission rate required by the live application server is 12mb/3s, which is 4mbps.
  • Step 1104 the mobile phone only uses the second TCP connection to receive the data stream from the live application server during the second time period.
  • Step 1105 the mobile phone obtains the second accumulated data amount actually received in the first period and the second period, and then calculates the difference between the second accumulated data amount and the first accumulated data amount, and then divides the difference by the first In the second period, the second data transmission rate of the second TCP connection in the second period is calculated.
  • the second period is also 3s, and the second accumulated data amount is 21mb/3s, so the difference between the second accumulated data amount and the first accumulated data amount is 9mb, then the difference is divided by the first The second period is 3mbps. Therefore, the second data transmission rate of the second TCP connection is 3 mbps.
  • step 1106 the mobile phone determines whether the second data transmission rate of the second TCP connection is greater than the preset data transmission rate. If it is greater, then step 1107a is performed, if it is less than or equal, then step 1107b is performed.
  • Step 1107a the mobile phone continues to use only the second TCP connection to receive the data stream from the live application server during the third period.
  • Step 1107b the mobile phone continues to use the first TCP connection corresponding to the LTE network and the second TCP connection corresponding to the WIFI network to receive the data stream from the live application server at the third time period.
  • step 1107a the mobile phone acquires the data transmission rate of the second TCP connection in the subsequent third period and the fourth period is still greater than the first data transmission rate
  • the mobile phone increases the subsequent period, For example, the mobile phone adjusts the time period from 3s to 20s.
  • step 1107b the data transmission rate of the mobile phone using the second TCP connection in the subsequent third period and the fourth period is still less than or equal to the first data transmission rate
  • the mobile phone will increase the subsequent period, For example, the mobile phone adjusts the time period from 3s to 20s, which has the advantage of saving power consumption to a certain extent.
  • the mobile phone may set a counter (the initial value is 0). When the mobile phone judges that the data transmission rate of the second TCP connection is greater than the preset data transmission rate each time, the counter is decremented by 1, each time the mobile phone When it is determined that the data transmission rate of the second TCP connection is less than the preset data transmission rate, the counter is incremented by 1. If the counter is greater than or equal to 3, statistics and judgments on the actual accumulated data volume will not be performed for a fixed time period thereafter, The electronic device uses the first TCP connection and the second TCP connection at the same time to receive the data stream from the application server.
  • the embodiments of the present application may preferentially use the second TCP connection corresponding to the WIFI network to receive the data stream. If the data transmission rate is found not to satisfy the preset data transmission rate, two TCP connections are used to receive the data stream in time. This method can still be used To achieve the consumption of data traffic of the cellular network as much as possible, in addition, when the WIFI network fluctuates, it can also switch to two TCP connections to receive the data stream in time by monitoring the data transmission rate.
  • An embodiment of the present application further provides a computer-readable storage medium.
  • the computer-readable storage medium includes a computer program.
  • the computer program runs on an electronic device, the electronic device may perform any one of the foregoing data transmission methods. Implementation.
  • An embodiment of the present application further provides a computer program product, which, when the computer program product runs on an electronic device, causes the electronic device to execute any possible implementation of the foregoing data transmission method.
  • the embodiments of the present application disclose a data transmission device.
  • the data transmission device is used to implement the method described in the first method embodiment above, which includes: sending and receiving Module 1201, processing module 1202.
  • the transceiver module 1201 is used to support the electronic device to establish an MPTCP connection with the application server, and to support the electronic device to receive instructions and data streams from the application server, and the processing module 1202 is used to support the electronic device to adjust the reception strategy of each TCP connection, as shown in the figure Step 803 to step 805 in FIG. 8, step 903 to step 909b in FIG. 9b, all relevant content of each step involved in the above method embodiment can be referred to the function description of the corresponding function module, which will not be repeated here.
  • the data transmission device shown in FIG. 12 is also used to implement the method described in the second method embodiment, which includes: a transceiver module 1201 and a processing module 1202.
  • the transceiver module 1201 is used to support the electronic device to establish an MPTCP connection with the application server, and to support the electronic device to receive data streams from the application server
  • the processing module 1202 is used to support the electronic device to adjust the receiving strategy of each TCP connection, as shown in the steps in FIG. 10 From 1002 to step 1003, from step 1102 to step 1107b in FIG. 11, all relevant content of each step involved in the above method embodiment can be referred to the function description of the corresponding function module, which will not be repeated here.
  • the embodiments of the present application disclose an electronic device.
  • the electronic device may include: one or more processors 1301; a memory 1302; a display 1303; one or more Application programs (not shown); and one or more computer programs 1304, the above devices can be connected through one or more communication buses 1305.
  • the one or more computer programs 1304 are stored in the above-mentioned memory 1302 and configured to be executed by the one or more processors 1301.
  • the one or more computer programs 1304 include instructions, which can be used to execute 8 to 11 and the steps in the corresponding embodiment.
  • Each functional unit in each of the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or software function unit.
  • the integrated unit may be stored in a computer-readable storage medium.
  • the technical solutions of the embodiments of the present application may essentially be a part that contributes to the existing technology or all or part of the technical solutions may be embodied in the form of software products, and the computer software products are stored in a storage
  • the medium includes several instructions to enable a computer device (which may be a personal computer, server, or network device, etc.) or processor to perform all or part of the steps of the methods described in the embodiments of the present application.
  • the foregoing storage media include: flash memory, mobile hard disk, read-only memory, random access memory, magnetic disk or optical disk and other various media that can store program codes.

Abstract

本申请提供一种数据传输方法及电子设备,该方法包括:电子设备首先与应用服务器建立MPTCP连接,其中,MPTCP连接包括蜂窝网络对应的第一TCP连接和WIFI网络对应的第二TCP连接;然后电子设备接收来自应用服务器的指示信息;指示信息包括类型标识和用于指示带宽需求的参数,类型标识用于指示应用服务器发送的数据流的类型。当类型标识为指示数据传输时延要求低的第一标识时,电子设备在接收到指示信息之后的第一时段采用第二TCP连接接收数据流,当电子设备在第一时段实际接收的累计数据量小于参数与第一时段对应的时长的乘积时,电子设备在第二时段同时采用第一TCP连接和第二TCP连接接收数据流。

Description

一种数据传输方法及电子设备
本申请要求在2019年1月8日提交中国国家知识产权局、申请号为201910016807.7、发明名称为“一种数据传输方法及电子设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及终端技术领域,尤其涉及一种数据传输方法及电子设备。
背景技术
多路径传输控制协议(multi path transmission control protocol,MPTCP)是TCP的扩展,利用多条TCP连接的并行传输提高资源的利用率,增强连接失败的恢复能力。当前广泛使用的MPTCP的调度算法是最小往返时延(min Round-Trip Time,min往返时延)调度算法,即接收端优先使用最小往返时延的TCP连接接收数据,当最小往返时延的TCP连接接收窗口拥塞时,则同时使用次小往返时延的TCP连接接收数据。然而现实情况是,在绝大多数公共场所中,例如飞机场、购物中心、学校、公司等场所,WIFI网络的往返时延无论是平均值还是抖动都远远大于蜂窝网络的往返时延,所以现有的MPTCP调度算法存在较为耗费用户的数据流量的问题。
为此,现有技术提出一些节省蜂窝网络的数据流量的MPTCP调度方案,例如当MPTCP同时包括WIFI网络对应的TCP连接和蜂窝网络对应的TCP连接时,手机通常优先仅使用WIFI网络对应的TCP连接接收数据流,当WIFI网络对应的TCP连接的数据传输速率不满足需求时,再同时使用蜂窝网络对应的TCP连接接收数据流。但是WIFI网络的抖动远远大于蜂窝网络,当WIFI网络信号弱或者网络受限时,手机往往不能够及时发现,所以不会及时使用蜂窝网络的TCP连接接收数据流,导致在视频播放过程中发生卡顿,视频播放不流畅,影响用户的体验。
发明内容
本申请提供一种数据传输方法及电子设备,用以改善现有数据传输优先占用WIFI网络的TCP连接造成卡顿的问题。
第一方面,本申请实施例提供了一种数据传输方法,该方法适用于电子设备,该方法包括:电子设备首先与应用服务器建立MPTCP连接,其中,该MPTCP连接包括蜂窝网络对应的第一TCP连接和WIFI网络对应的第二TCP连接;该第一TCP连接的数据传输时延小于该第二TCP连接的数据传输时延。然后电子设备接收来自该应用服务器的指示信息;该指示信息包括类型标识和用于指示带宽需求的参数,该类型标识用于指示应用服务器发送的数据流的类型;当类型标识为指示数据传输时延要求低的第一标识时,电子设备在接收到该指示信息之后的第一时段采用第二TCP连接接收数据流;当电子设备在第一时段累计接收的数据量小于参数与第一时段对应的时长的乘积时,电子设备在第二时段同时采用第一TCP连接和第二TCP连接接收数据流。
本申请实施例中,电子设备通过比较实际实时接收的累计数据量和预期接收的累计数据量来判断是否启用LTE网络对应的第一TCP连接,判断结果也是实时,且准确地,因此可以 一定程度上改善手机出现卡顿、播放不流畅的问题。
在一种可能的设计中,电子设备在第一时段内实际接收的累计数据量满足第一预期接收的累计数据量时,电子设备在第二时段仍采用第二TCP连接接收来自应用服务器的数据流。
在一种可能的设计中,电子设备确定在该第二时段通过第二TCP连接的接收的累计数据量满足第二预期接收的累计数据量时,则在第三时段仅采用该第二TCP连接接收来自该应用服务器的数据流;该第二预期接收的累计接收的数据量等于该第二时段对应的时长与该参数的乘积。
本申请实施例中,电子设备在第三时段仅采用第二TCP连接接收数据流,蜂窝网络对应的第一TCP连接则被关闭。这样做,一方面可以减少消耗蜂窝网络的数据流量,另一方面因蜂窝网络的功耗比WIFI网络的功耗大,蜂窝网络对应的第一TCP连接在不需要时被关闭,可以一定程度上降低功耗。
在一种可能的设计中,当该类型标识为指示数据传输时延要求高的第二标识时,该电子设备在接收到该指示信息之后的该第一时段同时采用该第一TCP连接和该第二TCP连接接收来自该应用服务器的数据流。
本申请实施例中,电子设备在数据流对时延要求较高时,及时采用两条TCP连接接收数据流,可以一定程度上提高数据流接收速率,减少开始播放的时延。
第二方面,本申请实施例提供了一种数据传输方法,该方法适用于电子设备,该方法包括:
电子设备与应用服务器建立MPTCP连接,其中,该MPTCP连接包括蜂窝网络对应的第一TCP连接和WIFI网络对应的第二TCP连接;然后该电子设备在第一时段采用该第二TCP连接接收来自该应用服务器的数据流。电子设备根据该电子设备在该第一时段实际接收的第一累计数据量,确定该电子设备在第一时段的第一数据传输速率,该第一数据传输速率等于该第一累计数据量与该第一时段对应的时长的比值,当第一数据传输速率不满足预设数据传输速率时,在第二时段同时采用该第一TCP连接和该第二TCP连接接收来自该应用服务器的数据流。
本申请实施例中,电子设备在无法确定接收的数据流的内容和实时数据传输速率需求时,优先尝试使用WIFI网络对应的第二TCP连接接收数据流,如果出现数据传输速率不满足预设需求,则及时使用两条TCP连接接收数据流。
在一种可能的设计中,该电子设备同时采用第一TCP连接和第二TCP连接接收来自该应用服务器的数据流,然后电子设备根据在单位时间内该第二TCP连接和第一TCP连接的实际接收的累计数据量,确定该预设数据传输速率。
在一种可能的设计中,该电子设备根据该电子设备在该第二时段实际接收的第二累计数据量,确定该电子设备在第二时段的第二数据传输速率,该第二数据传输速率等于该第二累计数据量与该第二时段对应的时长的比值,然后电子设备确定在该第二时段的第二数据传输速率满足该预设数据传输速率时,则在第三时段仅采用该第二TCP连接接收来自该应用服务器的数据流。
本申请实施例中,一方面可以减少消耗蜂窝网络的数据流量,另一方面因蜂窝网络的功耗比WIFI网络的功耗大,蜂窝网络对应的第一TCP连接在不需要时被关闭,可以一定程度上降低功耗。
第三方面,本申请实施例提供一种电子设备,包括处理器和存储器。其中,存储器用于 存储一个或多个计算机程序;当存储器存储的一个或多个计算机程序被处理器执行时,使得该电子设备能够实现上述任一方面的任意一种可能的设计的方法。
第四方面,本申请实施例还提供一种装置,该装置包括执行上述任一方面的任意一种可能的设计的方法的模块/单元。这些模块/单元可以通过硬件实现,也可以通过硬件执行相应的软件实现。
第五方面,本申请实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,当计算机程序在电子设备上运行时,使得所述电子设备执行上述任一方面的任意一种可能的设计的方法。
第六方面,本申请实施例还提供一种包含计算机程序产品,当所述计算机程序产品在终端上运行时,使得所述电子设备执行上述任一方面的任意一种可能的设计的方法。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
图1为本申请实施例提供的一种多路径数据传输方法应用的系统架构;
图2为本申请实施例提供的一种多网络部署的数据传输系统架构图;
图3为本申请实施例提供的一种TCP协议栈扩充到MPTCP协议栈的示意图;
图4为本申请实施例提供的一种MPTCP实现过程示意图;
图5为本申请实施例提供的一种电子设备的结构示意图;
图6为本申请实施例提供的一种安卓系统架构示意图;
图7a为本申请实施例提供的一种数据传输方法示意图一;
图7b至图7c为本申请实施例提供的数据传输方法的应用场景示意图;
图8为本申请实施例提供的一种数据传输方法示意图二;
图9a至图9b为本申请实施例提供的一种数据传输方法示意图三;
图10为本申请实施例提供的一种数据传输方法示意图四;
图11为本申请实施例提供的一种数据传输方法示意图五;
图12为本申请实施例提供的一种数据传输装置结构示意图;
图13为本申请实施例提供的一种电子设备结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本申请实施例提供的数据传输方法可应用于无线通信系统的数据传输,其中,数据接收端与数据发送端通过无线接入网(Radio Access Network,RAN)以及核心网进行数据交互,所述数据接收端和所述数据发送端之间还可建立传输控制协议(Transmission Control Protocol,TCP)连接,采用TCP协议进行数据传输。如图1所示,无线通信系统中电子设备100和应用服务器200之间进行数据交互,电子设备100通过空口接入到RAN,经由核心网连接到应用服务器,其中,电子设备100与RAN之间的网络可称为无线网络,RAN与应用服务器200 之间的网络可以是有线网络。应用服务器200与电子设备100之间建立TCP连接并进行数据传输。
其中,应用服务器200可以是服务器集群中的一个或多个服务器,例如某一视频应用的不同视频片段分布在不同的服务器上,应用服务器200可以是多个服务器;再比如某一视频应用的视频分布在一个的服务器上,应用服务器200也可以是一个服务器。
随着通信技术的发展,通信系统已经演进为多个通信网络共同部署的通信架构,终端可接入不止一个通信网络进行通信。需要说明的是,当该通信网络为局域网时,示例性的,该通信网络可以是无线保真(Wireless Fidelity,WIFI)网络、蓝牙网络、zigbee网络或近场通信(near field communication,NFC)网络等近距离通信网络。当该通信网络为广域网时,示例性的,该通信网络可以是第三代移动通信技术(3rd-generation wireless telephone technology,3G)网络、第四代移动通信技术(the 4th generation mobile communication technology,4G)网络、第五代移动通信技术(5th-generation mobile communication technology,5G)网络、未来演进的公共陆地移动网络(public land mobile network,PLMN)或因特网等。
例如,图2中部署有WIFI网络和长期演进(Long Term Evolution,LTE)网络的通信系统中,终端可接入WIFI网络,通过演进的分组数据网关(Evolved Packet Data Gateway,ePDG)或被信任网关(trusted gateway,TGW)与应用服务器进行数据传输,也可接入到LTE网络,通过服务网关(Serving Gateway,SGW)或分组数据网关(Packet Data Network Gateway,PGW)与应用服务器进行数据传输。
其中,异构网络的部署推动了多路径数据传输业务的发展,目前通过对TCP协议扩展得到了MPTCP协议,利用该MPTCP协议使一个业务可使用多路径的网络资源进行数据传输。例如图2中手机使用WIFI网络资源和LTE网络资源与应用服务器进行数据传输。图3示出了TCP协议栈扩充到MPTCP协议栈的示意图。TCP协议栈中,应用(Application)层的数据流通过一条TCP连接发送,在MPTCP协议栈中,传输层被划分为两个子层:MPTCP层和TCP层,应用层的数据流经由MPTCP层所分解的两条TCP连接传送。
图4示出了MPTCP的使用场景示意图,图4中电子设备和应用服务器之间建立了两条TCP连接,一个TCP连接使用WIFI网络资源,另一个TCP连接使用LTE网络资源。应用服务器的MPTCP层将TCP流分解为两个TCP子流后通过这两个TCP连接分别独立传送至电子设备,电子设备收到两个TCP子流之后,将这两个子流合并后再发送给应用层。
在本申请一些实施例中,图1所示的无线通信系统中电子设备可以是还包含其他功能诸如个人数字助理和/或音乐播放器功能的便携式终端设备,诸如手机、平板电脑、具备无线通讯功能的可穿戴设备(如智能手表)等。便携式终端设备的示例性实施例包括但不限于搭载
Figure PCTCN2019124347-appb-000001
或者其他操作系统的便携式终端设备。上述便携式终端设备也可以是其他便携式终端设备,诸如具有触敏表面(例如触控面板)的膝上型计算机(laptop)等。还应当理解的是,在本申请其他一些实施例中,上述电子设备也可以不是便携式终端设备,而是具有触敏表面(例如触控面板)的台式计算机。
示例性地,如图5所示,本申请实施例中的终端设备可以为手机,下面以手机为例对实施例进行具体说明。
手机可以包括处理器510,外部存储器接口520,内部存储器521,USB接口530,充电管理模块540,电源管理模块541,电池542,天线1,天线2,移动通信模块550,无线通信模块560,音频模块570,扬声器570A,受话器570B,麦克风570C,耳机接口570D,传感 器模块580,按键590,马达591,指示器592,摄像头593,显示屏594,以及SIM卡接口595等。其中传感器模块580可以包括压力传感器580A,陀螺仪传感器580B,气压传感器580C,磁传感器580D,加速度传感器580E,距离传感器580F,接近光传感器580G,指纹传感器580H,温度传感器580J,触摸传感器580K,环境光传感器580L,骨传导传感器580M等。
可以理解的是,本发明实施例示意的结构并不构成对手机的具体限定。在本申请另一些实施例中,手机可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器510可以包括一个或多个处理单元,例如:处理器510可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(Neural-network Processing Unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是手机的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器510中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器510中的存储器为高速缓冲存储器。该存储器可以保存处理器510刚用过或循环使用的指令或数据。如果处理器510需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器510的等待时间,因而提高了系统的效率。
在一些实施例中,处理器510可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuit sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purpose input/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器510可以包含多组I2C总线。处理器510可以通过不同的I2C总线接口分别耦合触摸传感器580K,充电器,闪光灯,摄像头593等。例如:处理器510可以通过I2C接口耦合触摸传感器580K,使处理器510与触摸传感器580K通过I2C总线接口通信,实现手机的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器510可以包含多组I2S总线。处理器510可以通过I2S总线与音频模块570耦合,实现处理器510与音频模块570之间的通信。在一些实施例中,音频模块570可以通过I2S接口向无线通信模块560传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块570与无线通信模块560可以通过PCM总线接口耦合。在一些实施例中,音频模块570也可以通过PCM接口向无线通信模块560传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器510与无线通信模块560。例如:处理器510通过UART接口与无线通信模块560中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块560传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器510与显示屏594,摄像头593等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(display serial interface,DSI)等。在一些实施例中,处理器510和摄像头593通过CSI接口通信,实现手机的拍摄功能。处理器510和显示屏594通过DSI接口通信,实现手机的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器510与摄像头593,显示屏594,无线通信模块560,音频模块570,传感器模块580等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口530是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口可以用于连接充电器为手机充电,也可以用于手机与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他终端设备,例如AR设备等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对手机的结构限定。在本申请另一些实施例中,手机也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块540用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块540可以通过USB接口接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块540可以通过手机的无线充电线圈接收无线充电输入。充电管理模块540为电池542充电的同时,还可以通过电源管理模块541为电子设备供电。
电源管理模块541用于连接电池542,充电管理模块540与处理器510。电源管理模块541接收电池542和/或充电管理模块540的输入,为处理器510,内部存储器521,外部存储器,显示屏594,摄像头593,和无线通信模块560等供电。电源管理模块541还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块541也可以设置于处理器510中。在另一些实施例中,电源管理模块541和充电管理模块540也可以设置于同一个器件中。
手机的无线通信功能可以通过天线模块1,天线模块2移动通信模块550,无线通信模块560,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。手机中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将蜂窝网天线复用为无线局域网分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块550可以提供应用在手机上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块550可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(Low Noise Amplifier,LNA)等。移动通信模块550可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块550还可以对经调制解调 处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块550的至少部分功能模块可以被设置于处理器510中。在一些实施例中,移动通信模块550的至少部分功能模块可以与处理器510的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器570A,受话器570B等)输出声音信号,或通过显示屏594显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器510,与移动通信模块550或其他功能模块设置在同一个器件中。
无线通信模块560可以提供应用在手机上的包括无线局域网(wireless local area networks,WLAN),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块560可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块560经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器510。无线通信模块560还可以从处理器510接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,手机的天线1和移动通信模块150耦合,天线2和无线通信模块560耦合,使得手机可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code division multiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS))和/或星基增强系统(satellite based augmentation systems,SBAS)。
手机通过GPU,显示屏594,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏594和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器510可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏594用于显示图像,视频等。显示屏594包括显示面板。显示面板可以采用LCD(liquid crystal display,液晶显示屏),OLED(organic light-emitting diode,有机发光二极管),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot light emitting diodes,QLED)等。在一些实施例中,手机可以包括1个或N个显示屏,N为大于1的正整数。
手机可以通过ISP,摄像头593,视频编解码器,GPU,显示屏594以及应用处理器等实现拍摄功能。
ISP用于处理摄像头593反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理, 转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头593中。
摄像头593用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,手机可以包括1个或N个摄像头,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当手机在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。手机可以支持一种或多种视频编解码器。这样,手机可以播放或录制多种编码格式的视频,例如:MPEG1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现手机的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口520可以用于连接外部存储卡,例如Micro SD卡,实现扩展手机的存储能力。外部存储卡通过外部存储器接口520与处理器510通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器521可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器510通过运行存储在内部存储器521的指令,从而执行手机的各种功能应用以及数据处理。存储器521可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储手机使用过程中所创建的数据(比如音频数据,电话本等)等。此外,存储器521可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
手机可以通过音频模块570,扬声器570A,受话器570B,麦克风570C,耳机接口570D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块570用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块570还可以用于对音频信号编码和解码。在一些实施例中,音频模块570可以设置于处理器510中,或将音频模块570的部分功能模块设置于处理器510中。
扬声器570A,也称“喇叭”,用于将音频电信号转换为声音信号。手机可以通过扬声器570A收听音乐,或收听免提通话。
受话器570B,也称“听筒”,用于将音频电信号转换成声音信号。当手机接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风570C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风570C发声,将声音信号输入到麦克风570C。手机可以设置至少一个麦克风570C。在另一些实施例中,手机可以设置两个麦克风,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,手机还可以设置三个,四个或更多 麦克风,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口570D用于连接有线耳机。耳机接口可以是USB接口,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器580A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器580A可以设置于显示屏594。压力传感器580A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器580A,电极之间的电容改变。手机根据电容的变化确定压力的强度。当有触摸操作作用于显示屏594,手机根据压力传感器580A检测所述触摸操作强度。手机也可以根据压力传感器580A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器580B可以用于确定手机的运动姿态。在一些实施例中,可以通过陀螺仪传感器580B确定手机围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器580B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器580B检测手机抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消手机的抖动,实现防抖。陀螺仪传感器580B还可以用于导航,体感游戏场景。
气压传感器580C用于测量气压。在一些实施例中,手机通过气压传感器580C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器580D包括霍尔传感器。手机可以利用磁传感器580D检测翻盖皮套的开合。在一些实施例中,当手机是翻盖机时,手机可以根据磁传感器580D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器580E可检测手机在各个方向上(一般为三轴)加速度的大小。当手机静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器580F,用于测量距离。手机可以通过红外或激光测量距离。在一些实施例中,拍摄场景,手机可以利用距离传感器180F测距以实现快速对焦。
接近光传感器580G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。手机通过发光二极管向外发射红外光。手机使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定手机附近有物体。当检测到不充分的反射光时,手机可以确定手机附近没有物体。手机可以利用接近光传感器580G检测用户手持手机贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器580G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器580L用于感知环境光亮度。手机可以根据感知的环境光亮度自适应调节显示屏594亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器580L还可以与接近光传感器580G配合,检测手机是否在口袋里,以防误触。
指纹传感器580H用于采集指纹。手机可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器580J用于检测温度。在一些实施例中,手机利用温度传感器580J检测的温度,执行温度处理策略。例如,当温度传感器580J上报的温度超过阈值,手机执行降低位于温度传感器580J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,手机对电池542加热,以避免低温导致手机异常关机。在其他一些实施例中,当温度低于又一阈值时,手机对电池542的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器580K,也称“触控面板”。可设置于显示屏594。用于检测作用于其上或附近的触摸操作。可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型,并通过显示屏594提供相应的视觉输出。在另一些实施例中,触摸传感器580K也可以设置于手机的表面,与显示屏594所处的位置不同。
骨传导传感器580M可以获取振动信号。在一些实施例中,骨传导传感器580M可以获取人体声部振动骨块的振动信号。骨传导传感器580M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器580M也可以设置于耳机中。音频模块570可以基于所述骨传导传感器580M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器580M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键590包括开机键,音量键等。按键可以是机械按键。也可以是触摸式按键。手机可以接收按键输入,产生与手机的用户设置以及功能控制有关的键信号输入。
马达591可以产生振动提示。马达591可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏594不同区域的触摸操作,马达591也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器592可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口595用于连接用户标识模块(subscriber identity module,SIM)。SIM卡可以通过插入SIM卡接口,或从SIM卡接口拔出,实现和手机的接触和分离。手机可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口595可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口595也可以兼容不同类型的SIM卡。SIM卡接口595也可以兼容外部存储卡。手机通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,手机采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在手机中,不能和手机分离。手机的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的Android系统为例,示例性说明手机的软件结构。
图6是本发明实施例的手机的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图6所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝 牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图6所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供手机的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
如图7a所示,假设手机和应用服务器之间已建立了MPTCP连接,MPTCP连接包括LTE网络对应的第一TCP连接和WIFI网络对应的第二TCP连接,目前,手机在使用MPTCP连接时,当手机接收到来自应用服务器的第一标识时,其中第一标识指示数据流对数据传输时延要求低,手机优先使用图7a所示WIFI网络对应的第二TCP连接接收数据流。在WIFI网 络对应的第二TCP连接的数据传输速率(所谓数据传输速率指的是单位时间接收到的数据量)不足时(例如低于2Mbps),手机同时启用蜂窝网络对应的第一TCP连接接收数据。但是因为WIFI网络的抖动性较大,经常可能出现WIFI网络不通畅的场景,如表1所示,因此可能出现卡顿,播放不流畅的问题。
表1
Figure PCTCN2019124347-appb-000002
示例性地,当手机处于表1所示的网速受限场景中观看电影时,就可能出现手机的视频下载速率(也就是数据传输速率)在1mbps左右,如果当前电影是高清类视频,视频下载速率需求是4mbps,那么手机在播放电影过程中就会出现卡顿,不流畅的问题。如果手机通过监测第二TCP连接的数据传输速率来判断是否启用蜂窝网络的TCP连接,则一般至少需要计算2至3个时段(例如一个时段对应的时长是3s,两个时段对应的时长是6s)的数据传输速率的平均值,才能够确定出当前的数据传输速率是否满足带宽需求。这种情况下,当手机确定出来WIFI对应的TCP连接不通畅时,往往手机已经发生卡顿2至3s,甚至更久的时间。
为此,本申请实施例提供一种数据传输方法,该方法举例来说,手机周期性地统计在每个时段(例如每个时段对应的时长是3s)通过第二TCP连接所实际接收的累计数据量是否大于预期接收的累计数据量,例如带宽需求是4mbps,预期接收的累计数据量是4mbps乘以3s,即12mb,假设手机仍处于表1所示的网速受限场景中观看电影,手机通过第二TCP连接的视频下载速率仅在1mbps左右,那么显然手机在该时段所接收的累计数据量可能只有3mb,远远低于12mb,因此手机立即启用LTE网络对应的TCP连接,当手机启用LTE网络对应的第一TCP连接之后,因LTE网络对应的第一TCP连接的视频下载速率很大,例如5mbps,那么接下来的时段(假设该时段对应的时长仍是3s时长)内,手机通过WIFI网络和LTE网络所对应的第一TCP连接所接收的累计数据量就大概有18mb,马上就满足预期接收的累计数据量(3mb+4mbps*3s=17mb)。可见,因为手机通过各个TCP连接所实际接收的累计数据量可以通过接口实时获得,所以手机通过比较实际接收的累计数据量和预期接收的累计数据量来判断是否启用LTE网络对应的第一TCP连接,判断结果也是实时且准确地,因此可以一定程度上改善手机出现卡顿、播放不流畅的问题。
本申请实施例进一步结合图7b和图7c所示的场景,对上述数据流传输方法进行举例说明。
场景一,当手机接收到用户1作用于视频类应用的播放界面的播放控件的操作(例如点击操作)时,手机向视频类应用对应的应用服务器发送请求获取《预见未来》这一多媒体文件的消息,应用服务器收到该消息后,通过MPTCP协议向手机发送该多媒体文件的数据流,手机按照上述数据流传输方法接收数据流,并显示如图7b所示的界面。
具体地,因视频类应用对应的应用服务器在发送的每段数据流前都会先发送指示信息,所以当手机接收到来自应用服务器的指示信息后,从指示信息中获取到第二标识和指示带宽需求的参数时,手机采用蜂窝网络对应的第一TCP连接接收该数据流。若蜂窝网络对应的 TCP连接的接收窗口调整至最大时仍不满足该数据流的带宽需求,则还可以同时使用WIFI网络对应的TCP连接接收该数据流。这样的话,手机可以实现在检测到用户1的操作后,较快地开始播放《预见未来》这一多媒体文件的首屏,也就是说起播时延较小,提高了用户的体验。
场景二,如图7c所示,在手机播放《预见未来》这一多媒体文件的过程中,手机还会从应用服务器接收缓存时段的数据流,应用服务器在发送缓存时段的数据流之前,会先向手机发送与该缓存时段的数据流的类型标识对应的指示信息。当手机接收到来自应用服务器的指示信息后,从指示信息中获取到第一标识和指示带宽需求的参数。手机在第一时段优先采用WIFI网络对应的第二TCP连接接收该数据流,手机获取经过第一时段之后实际接收的第一累计数据量,若第一累计数据量小于第一预期接收的累计数据量(可能是WIFI信号不好导致),其中,第一预期接收的累计数据量为指示带宽需求的参数乘以第一时段对应的时长,则手机还可以同时使用LTE网络对应的TCP连接接收该数据流。
参见图8,示例性的示出了本申请实施例提供的一种数据传输方法的流程,该方法适用于应用服务器发送的数据流携带指示信息的场景,该方法是由电子设备执行,该方法包括如下步骤。
步骤801,电子设备与应用服务器建立MPTCP连接。
其中,MPTCP连接包括蜂窝网络对应的第一TCP连接和WIFI网络对应的第二TCP连接,第一TCP连接的数据传输时延小于第二TCP连接的数据传输时延。
步骤802,电子设备接收来自该应用服务器的指示信息。
其中,该指示信息包括类型标识和用于指示数据传输速率需求的参数,类型标识主要用于指示应用服务器发送的数据流的类型。示例性地,如表2所示,如果应用服务器即将要发送的数据流对数据传输时延要求较低,则类型标识是第一标识,例如第一标识是字符串“background”,如果应用服务器即将要发送的数据流对数据传输时延要求较高,则类型标识是第二标识,例如第二标识是字符串“interactive”。
表2
第一标识 字符串“background”
第二标识 字符串“interactive”
需要说明的是,应用服务器发送的指示信息与应用服务器之后发送的数据流是相关的,且有时序上的先后顺序。例如应用服务器发送的指示信息包括的类型标识为第一标识,则应用服务器紧接着发送的数据流是与第一标识相关的数据流。
步骤803,当类型标识为第一标识时,电子设备在接收到该指示信息之后的第一时段采用第二TCP连接接收来自应用服务器的数据流。
也就是说,当电子设备确定应用服务器即将要发送的数据流对数据传输时延要求不高时,则只通过WIFI网络的第二TCP连接接收,这样可以一定程度上减少蜂窝网络的数据流量的消耗。
步骤804,当电子设备在第一时段实际接收的累计数据量不满足第一预期接收的累计数据量时,电子设备在第二时段同时采用第一TCP连接和第二TCP连接接收来自应用服务器的数据流。
其中,第一预期接收的累计数据量等于带宽需求参数与第一时段对应的时长的乘积。比如说第一时段对应的时长是3秒,应用服务器发送过来的指示信息中带宽需求参数是4mbps, 那么预期接收的累计数据量为12mb。该步骤也就是说,当电子设备处于表1所示的任意一个场景时,电子设备判断仅通过WIFI网络的第二TCP连接所实际接收的累计数据量远远低于第一预期接收的累计数据量,因此电子设备立即同时使用蜂窝网络对应的TCP连接。如图9a所示,在第一时段实际接收的累计数据量是5mb,第一预期接收的累计数据量是12mb,因实际接收的累计数据量小于第一预期接收的累计数据量,所以电子设备在第二时段同时采用第一TCP连接和第二TCP连接接收来自应用服务器的数据流。需要说明的是,为了便于对比,图9a中显示两个矩形图占用的监测时段不同,但图9a中指示预期接收的累计数据量的柱形图和指示实际接收的累计数据量的矩形图在横轴上占用的监测时段和监测时长是相同的。
步骤805,可选地,当类型标识为第二标识时,电子设备在接收到所述指示信息之后的第一时段同时采用所述第一TCP连接和所述第二TCP连接接收来自所述应用服务器的数据流。
也就是说,当电子设备确定应用服务器即将要发送的数据流对数据传输时延要求高时,则同时通过WIFI网络的第二TCP连接和蜂窝网络的第一TCP连接接收数据量,这样可以一定程度上提高数据流接收速率,减少开始播放的时延。
在一种可能的设计中,电子设备确定在第一时段通过第二TCP连接的实际接收的第一累计数据量满足第一预期接收的累计数据量时,则电子设备在第二时段仍采用所述第二TCP连接接收来自所述应用服务器的数据流。
在一种可能的设计中,若电子设备在第二时段同时采用所述第一TCP连接和所述第二TCP连接接收来自所述应用服务器的数据流,电子设备确定在第二时段通过第二TCP连接的实际接收的累计数据量满足第二预期接收的累计数据量时,则在第三时段仅采用所述第二TCP连接接收来自所述应用服务器的数据流。其中,第二预期接收的累计数据量等于第二时段对应的时长与指示带宽需求的参数的乘积。
例如,如图9a所示,第二时段对应的时长是3秒,应用服务器发送过来的指示信息中指示带宽需求的参数是4mbps,那么第二预期接收的累计数据量为3s乘以4mbps,即12mb。如果WIFI网络从被限速的状态转为不被限速的状态,则WIFI网络的数据传输速率也会增大,假设应用服务器在第二时段统计得到实际接收的累计数据量是30mb。可见,电子设备通过第二TCP连接的实际接收的累计数据量满足第二预期接收的累计数据量,因此电子设备在第三时段仅采用第二TCP连接接收数据流,蜂窝网络对应的第一TCP连接则被关闭。这样做,一方面可以减少消耗蜂窝网络的数据流量,另一方面因蜂窝网络的功耗比WIFI网络的功耗大,蜂窝网络对应的第一TCP连接在不需要时被关闭,可以一定程度上降低功耗。
另外,如果电子设备检测到在之后的连续多个时段,电子设备通过第二TCP连接实际接收的累计数据量都小于或者都大于预期接收的累计数据量,那么电子设备可以增大后续时段的监测时长。如图9a所示,例如电子设备在第三时段和第四时段,通过第二TCP连接实际接收的数据流都大于预期接收的数据量,因此将第五时段的监测时长从3s调整为30s。这样做因判断第二TCP连接的累计数据量是否满足预期接收的累计数据量的次数减少,所以可以一定程度上节省功耗。
本申请如下实施例中进一步结合图9b所示的流程对上述数据传输方法的具体过程进行详细阐述,该方法流程的具体流程可以包括:
步骤901,手机和视频类应用服务器建立MPTCP连接,MPTCP连接包括LTE网络对应 的第一TCP连接和WIFI网络对应的第二TCP连接。
步骤902,视频类应用服务器通过调用手机系统的接口,在发送数据流之前向手机发送指示信息。其中,指示信息中包括第一标识,以及包括指示带宽需求的参数。
步骤903,手机根据第一标识,在之后的第一时段内使用WIFI网络对应的第二TCP连接接收来自视频类应用服务器的数据流。
具体地,手机确定类型标识是第一标识后,将LTE网络对应的第一TCP连接的优先级设置为低,也就是说LTE网络对应的第一TCP连接是已建立的,但是处于空闲不可用的状态,而WIFI网络对应的第二TCP连接则被设置为始终处于可用状态。
步骤904,手机获取经过第一时段之后实际接收的第一累计数据量。
例如,手机通过开源代码中的接口函数getMPTCPInfo获取到第二TCP连接在第一时段的实际接收的第一累计数据量。
步骤905,手机将第一累计数据量与第一预期接收的累计数据量进行比较,若第一累计数据量大于第一预期接收的累计数据量,则执行步骤906a,否则执行906b。
例如,第一预期接收的累计数据量等于参数与第一时段对应的时长的乘积,例如指示带宽需求的参数为4mbps,第一时段对应的时长为3s,那么预期接收的累计数据量为12mb。
假设WIFI信号弱,第一累计数据量仅为3mb,那么第一累计数据量低于第一预期接收的累计数据量,则执行步骤906b。假设WIFI信号好,第一累计数据量为20mb,那么第一累计数据量大于第一预期接收的累计数据量,则执行步骤906a。
步骤906a,手机在之后的第二时段内仍使用WIFI网络对应的第二TCP连接接收来自视频类应用服务器的数据流。
步骤906b,手机在之后的第二时段内同时使用LTE网络对应的第一TCP连接和WIFI网络对应的第二TCP连接接收数据流。
具体地,手机将LTE网络对应的第一TCP连接的优先级从低调整为高,也就是说LTE网络对应的第一TCP连接处于可用的状态。
步骤907,手机获取经过第二时段之后使用WIFI网络对应的TCP连接所实际接收的第二累计数据量。
步骤908,手机将第二累计数据量与第二预期接收的累计数据量进行比较,若大于,则执行步骤909a,否则执行909b。
例如,第二预期接收的累计数据量等于第二时段与参数的乘积,例如参数为4mbps,第一时段和第二时段均为时长3s,那么第二预期接收的累计数据量为12mb。假设在第二时段WIFI信号转好,第二累计数据量为24mb,那么第二累计数据量大于第二预期接收的累计数据量,则执行步骤909a。假设在第二时段WIFI信号仍不好,第二累计数据量为3mb,那么第二累计数据量小于预期接收的累计数据量,则执行步骤909b。
步骤909a,手机在之后的第三时段内仅使用WIFI网络对应的第二TCP连接接收来自视频类应用服务器的数据流。
具体地,手机将LTE网络对应的第一TCP连接的优先级从高调整为低,也就是说LTE网络对应的第一TCP连接处于不可用的状态。
步骤909b,手机在之后的第三时段内仍同时使用LTE网络对应的第一TCP连接和WIFI网络对应的第二TCP连接接收数据流。
需要说明的是,如果在步骤906a之后,手机获取在之后的第三时段,甚至第四时段使用 WIFI网络对应的TCP连接所实际接收的累计数据量,仍都大于预期接收的累计数据量,则手机将之后的时段对应的监测时长调大,例如从3s调整至20s。同样地,如果在执行步骤909b之后,手机在之后的第三时段,以及第四时段使用WIFI网络对应的TCP连接所实际接收的累计数据量,仍都小于预期接收的累计数据量,则机将之后的时段对应的监测时长调大,例如从3s调整至20s,这样做的好处是可以节省功耗。
考虑到目前应用市场上的应用程序种类繁多,部分应用程序的应用服务器向电子设备发送的数据流可能并不携带指示信息,因此电子设备无法确定出所接收的来自应用服务器的数据流是音频流还是视频流,也无法确定出到底有几条音频流,或者几条视频流。因此本申请实施例提供的另一种数据传输方法,电子设备通过统计设定时长的实际接收的累计数据量,判断这段时间的数据传输速率是否满足预设数据传输速率,继而确定采用哪条TCP连接接收数据流。
本申请实施例进一步结合图7b所示的场景,对上述数据流传输方法进行举例说明。
当手机接收到用户1作用于视频类应用的播放界面的播放控件的操作(例如点击操作)时,手机向视频类应用对应的应用服务器发送请求获取《预见未来》这一多媒体文件的消息,应用服务器收到该消息后,通过MPTCP协议向手机发送该多媒体文件的数据流,手机按照上述数据流传输方法接收数据流,并显示如图7b所示的界面。因手机所接收到的来自应用服务器的数据流可能是该多媒体文件的音频流,也可能是该多媒体文件的视频流,另外还可能夹杂广告业务的音频流和视频流,而且手机也无法确定出到底有几条音频流,或者几条视频流。所以手机尝试在第一时段先采用蜂窝网络对应的第一TCP连接和WIFI网络对应的第二TCP连接接收该数据流,预测该应用服务器所发送的业务所需的带宽。然后在第二时段使用WIFI网络对应的第二TCP连接接收该数据流,若第二TCP连接的数据传输速率满足预测的带宽,则还可以在下一时段使用WIFI网络对应的第二TCP连接接收该数据流,若第二TCP连接的数据传输速率不满足预测的带宽,则在下一时段同时使用蜂窝网络对应的第一TCP连接接收该数据流。这样的话,手机不仅可以实现在检测到用户1的操作后,较快地开始播放《预见未来》这一多媒体文件的首屏,也可以保证在缓存数据的时段尽量不消耗蜂窝网的数据流量。
具体地,参见图10,示例性的示出了本申请实施例提供的另一种数据传输方法的流程,该方法是由电子设备执行,该方法包括如下步骤。
步骤1001,首先电子设备与应用服务器建立MPTCP连接。
其中,MPTCP连接包括蜂窝网络对应的第一TCP连接和WIFI网络对应的第二TCP连接。
步骤1002,电子设备在第一时段采用第二TCP连接接收来自应用服务器的数据流。
步骤1003,电子设备根据在第一时段实际接收的第一累计数据量,确定电子设备在第一时段的第一数据传输速率。其中,第一数据传输速率等于第一累计数据量与第一时段对应的时长的比值。
示例性地,如果第一时段的WIFI信号一般,第一时段对应的时长是3秒,第一累计数据量是12mb,那么第一数据传输速率为12mb除以3s,即为4mbps;如果第一时段的WIFI信号不好,电子设备在第一时段实际接收的第一累计数据量可能为3mbps,那么第一数据传输速率为3mb除以3s,即为1mbps。
步骤1004,电子设备确定第一数据传输速率不满足预设数据传输速率时,在第二时段同时采用第一TCP连接和第二TCP连接接收来自应用服务器的数据流。
示例性地,如果第一时段的WIFI信号不好,第一数据传输速率为1mbps,则电子设备在第二时段同时采用第一TCP连接和第二TCP连接接收来自应用服务器的数据流。
需要说明的是,预设数据传输速率可以是经验值,也可以是电子设备在第一时段之前,预先同时采用第一TCP连接和第二TCP连接接收来自应用服务器的数据流,电子设备根据第一时段内实际接收的累计数据量,预测应用服务器所需的数据传输速率,将预测出来的数据传输速率作为预设数据传输速率。
在一种可能的设计中,电子设备确定在第二时段实际接收的第二累计数据量,根据在第二时段实际接收的第二累计数据量,确定第二数据传输速率。如果第二数据传输速率满足预设数据传输速率,则在第三时段仅采用第二TCP连接接收来自所述应用服务器的数据流。
需要说明是,第一时段和第二时段、第三时段可以时长相同,也可以时长不同,第二时段发生在第一时段之后,第三时段发生在第二时段之后。
示例性地,第一时段对应的时长是3秒,第二时段对应的时长也是3秒,预设数据传输速率是4mbps。如果WIFI网络在第二时段从被限速的状态转为不被限速的状态,则WIFI网络对应的TCP连接实际接收数据量也会增大,如果电子设备计算在第二时段的第二数据传输速率为10mbps时,电子设备可以在第三时段仅采用第二TCP连接接收数据流,蜂窝网络对应的第一TCP连接仍被关闭。这样做,一方面可以减少消耗蜂窝网络的数据流量,另一方面因蜂窝网络的功耗比WIFI网络的功耗大,蜂窝网络对应的第一TCP连接在不需要时被关闭,可以一定程度上降低功耗。
在一种可能的设计中,如果电子设备连续M个时段均仅采用第二TCP连接接收来自应用服务器的数据流,电子设备获取经过M时段之后累计接收的数据量为Z1,电子设备获取经过M-1时段之后的累计接收的数据量Z2,电子设备获取经过M-2时段之后的累计接收的数据量Z3,如果Z1-Z2远大于或远小于Z2-Z3,则说明电子设备在第M时段通过第二TCP连接的接收的数据量突然增大,或者突然减小,那么电子设备在第四时段同时采用所述第一TCP连接和所述第二TCP连接接收来自所述应用服务器的数据流。
示例性地,如果电子设备当前正在播放视频类应用中的视频,如果用户将视频模式从普通模式切换为高清模式,那么视频类应用服务器单位时间内所发送的数据量则增大,因此电子设备通过第二TCP连接的累计接收的数据量也会增大。虽然电子设备通过第二TCP连接的累计接收的数据量增大,但可能不满足预期接收的累计数据量,因此电子设备在下一时段同时采用所述第一TCP连接和所述第二TCP连接接收来自应用服务器的数据流。
再比如,如果电子设备当前仅通过第二TCP连接接收数据流,在第一时刻统计通过第二TCP连接实际接收的累计数据量为10mb,电子设备在第二时刻统计通过第二TCP连接实际接收的累计数据量变为20mb,电子设备在第三时刻统计通过第二TCP连接实际接收的累计数据量变为23mb,说明电子设备在第二时刻之后到第三时刻这段时间通过第二TCP连接的接收的数据量很少,仅为3mb,这时电子设备可能处于表1所示的场景中,因此电子设备在下一时段同时采用所述第一TCP连接和所述第二TCP连接接收来自所述应用服务器的数据流。
在一种可能的设计中,当电子设备在设定时段内多次统计得到通过第二TCP连接的累计接收的数据量低于预期接收的累计数据量,则在接下来的固定时长(例如60s)内不再进行对 实际接收的累计数据量进行统计和判断,电子设备在该固定时长内同时采用第一TCP连接和第二TCP连接接收来自应用服务器的数据流。这样做是为了防止当WIFI信号时好时坏时,电子设备反复地开启或者关闭蜂窝网络对应的第一TCP连接,导致功耗较大。
本申请如下实施例中进一步结合图11所示的流程对上述数据传输方法的具体过程进行详细阐述,该方法流程的具体流程可以包括:
步骤1101,手机和直播类应用服务器建立MPTCP连接,MPTCP连接包括LTE网络对应的第一TCP连接和WIFI网络对应的第二TCP连接。
步骤1102,假设每个时段对应的时长固定为3s,手机在第一时段内同时使用LTE网络对应的第一TCP连接和WIFI网络对应的第二TCP连接接收来自直播类应用服务器的数据流。
步骤1103,手机获取经过第一时段之后实际接收的第一累计数据量,然后根据这一实际接收的第一累计数据量和第一时段,预测直播类应用服务器所需的预设数据传输速率。
例如,第一个3s内,手机实际接收的第一累计数据量为12mb,那么直播类应用服务器所需的预设数据传输速率为12mb/3s,即为4mbps。
步骤1104,手机在第二时段仅使用第二TCP连接接收来自直播类应用服务器的数据流。
步骤1105,手机获取在第一时段和第二时段实际接收的第二累计数据量,然后计算第二累计数据量和第一累计数据量之间的差值,然后再将该差值除以第二时段,计算得到第二TCP连接在第二时段的第二数据传输速率。
接续上例,例如,第二时段也为3s,第二累计数据量为21mb/3s,因此第二累计数据量和第一累计数据量之间的差值为9mb,那么该差值除以第二时段即为3mbps。因此第二TCP连接的第二数据传输速率为3mbps。
步骤1106,手机判断第二TCP连接的第二数据传输速率是否大于预设数据传输速率,若大于,则执行步骤1107a,若小于等于,则执行步骤1107b。
步骤1107a,手机在第三时段继续仅使用第二TCP连接接收来自直播类应用服务器的数据流。
步骤1107b,手机在第三时段继续同时使用LTE网络对应的第一TCP连接和WIFI网络对应的第二TCP连接接收来自直播类应用服务器的数据流。
需要说明的是,如果在步骤1107a之后,手机获取在之后的第三时段,以及第四时段第二TCP连接的数据传输速率仍都大于第一数据传输速率,则手机将之后的时段调大,例如手机将时段从3s调整至20s。同样地,如果在执行步骤1107b之后,手机在之后的第三时段,以及第四时段使用第二TCP连接的数据传输速率仍都小于等于第一数据传输速率,则手机将之后的时段调大,例如手机将时段从3s调整至20s,这样做的好处是可以一定程度上节省功耗。
在一种可能的设计中,手机可以设置一个计数器(初始值为0),在手机每次判断第二TCP连接的数据传输速率大于预设数据传输速率时,该计数器减1,在手机每次判断第二TCP连接的数据传输速率小于预设数据传输速率时,该计数器加1,如果该计数器大于等于3,则在之后的固定时长不再进行对实际接收的累计数据量进行统计和判断,电子设备在该固定时长内同时采用第一TCP连接和第二TCP连接接收来自应用服务器的数据流。
综上,本申请实施例可以优先使用WIFI网络对应的第二TCP连接接收数据流,如果发现数据传输速率不满足预设数据传输速率,则及时使用两条TCP连接接收数据流,该方法仍 然可以实现尽可能地接收蜂窝网络的数据流量的消耗,另外,在WIFI网络出现波动时,也能够通过监测数据传输速率及时切换到两条TCP连接接收数据流。
本申请实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,当计算机程序在电子设备上运行时,使得所述电子设备执行上述数据传输方法任意一种可能的实现。
本申请实施例还提供一种包含计算机程序产品,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行上述数据传输方法任意一种可能的实现。
在本申请的一些实施例中,本申请实施例公开了一种数据传输装置,如图12所示,该数据传输装置用于实现以上第一个方法实施例中记载的方法,其包括:收发模块1201、处理模块1202。收发模块1201用于支持电子设备与应用服务器建立MPTCP连接,以及支持电子设备执行接收来自应用服务器的指示信息和数据流,处理模块1202用于支持电子设备执行调整各个TCP连接的接收策略,如图8中步骤803至步骤805,图9b中步骤903至步骤909b,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
图12所示的数据传输装置还用于实现第二个方法实施例中记载的方法,其包括:收发模块1201、处理模块1202。收发模块1201用于支持电子设备与应用服务器建立MPTCP连接,以及支持电子设备执行接收来自应用服务器的数据流,处理模块1202用于支持电子设备执行调整各个TCP连接的接收策略,如图10中步骤1002至步骤1003,图11中步骤1102至步骤1107b,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在本申请的另一些实施例中,本申请实施例公开了一种电子设备,如图13所示,该电子设备可以包括:一个或多个处理器1301;存储器1302;显示器1303;一个或多个应用程序(未示出);以及一个或多个计算机程序1304,上述各器件可以通过一个或多个通信总线1305连接。其中该一个或多个计算机程序1304被存储在上述存储器1302中并被配置为被该一个或多个处理器1301执行,该一个或多个计算机程序1304包括指令,上述指令可以用于执行如图8至图11及相应实施例中的各个步骤。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的全 部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请实施例的具体实施方式,但本申请实施例的保护范围并不局限于此,任何在本申请实施例揭露的技术范围内的变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应以所述权利要求的保护范围为准。

Claims (15)

  1. 一种数据传输方法,其特征在于,包括:
    电子设备与应用服务器建立多路径传输控制协议MPTCP连接,其中,所述MPTCP连接包括蜂窝网络对应的第一TCP连接和无线保真WIFI网络对应的第二TCP连接;
    所述电子设备接收来自所述应用服务器的指示信息;所述指示信息包括类型标识和用于指示带宽需求的参数,所述类型标识用于指示所述应用服务器发送的数据流的类型;
    当所述类型标识为指示数据传输时延要求低的第一标识时,所述电子设备在接收到所述指示信息之后的第一时段采用所述第二TCP连接接收来自所述应用服务器的数据流;
    当所述电子设备在所述第一时段内实际接收的累计数据量不满足第一预期接收的累计数据量时,所述电子设备在第二时段同时采用所述第一TCP连接和所述第二TCP连接接收来自所述应用服务器的数据流;其中,所述第一预期接收的累计数据量等于所述参数与所述第一时段对应的时长的乘积。
  2. 如权利要求1所述的方法,其特征在于,还包括:
    当所述电子设备在所述第一时段内实际接收的累计数据量满足所述第一预期接收的累计数据量时,所述电子设备在第二时段仍采用所述第二TCP连接接收来自所述应用服务器的数据流。
  3. 如权利要求1所述的方法,其特征在于,还包括:
    所述电子设备确定在所述第二时段通过所述第二TCP连接实际接收的累计数据量满足第二预期接收的累计数据量时,则在第三时段仅采用所述第二TCP连接接收来自所述应用服务器的数据流;所述第二预期接收的累计数据量等于所述第二时段对应的时长与所述参数的乘积。
  4. 如权利要求1所述的方法,其特征在于,还包括:
    当所述类型标识为指示数据传输时延要求高的第二标识时,所述电子设备在接收到所述指示信息之后的所述第一时段同时采用所述第一TCP连接和所述第二TCP连接接收来自所述应用服务器的数据流。
  5. 一种数据传输方法,其特征在于,包括:
    电子设备与应用服务器建立多路径传输控制协议MPTCP连接,其中,所述MPTCP连接包括蜂窝网络对应的第一TCP连接和无线保真WIFI网络对应的第二TCP连接;
    所述电子设备在第一时段采用所述第二TCP连接接收来自所述应用服务器的数据流;
    所述电子设备根据所述电子设备在所述第一时段实际接收的第一累计数据量,确定所述电子设备在第一时段的第一数据传输速率,所述第一数据传输速率等于所述第一累计数据量与所述第一时段对应的时长的比值;
    所述电子设备确定所述第一数据传输速率不满足预设数据传输速率时,在第二时段同时采用所述第一TCP连接和所述第二TCP连接接收来自所述应用服务器的数据流。
  6. 如权利要求5所述的方法,其特征在于,所述电子设备在第一时段采用所述第二TCP连接接收来自所述应用服务器的数据流之前,还包括:
    所述电子设备同时采用所述第一TCP连接和所述第二TCP连接接收来自所述应用服务器的数据流;
    所述电子设备根据单位时间内所述第二TCP连接和第一TCP连接实际接收的数据量, 确定所述预设数据传输速率。
  7. 如权利要求5或6所述的方法,其特征在于,还包括:
    所述电子设备根据所述电子设备在所述第二时段实际接收的第二累计数据量,确定所述电子设备在第二时段的第二数据传输速率,所述第二数据传输速率等于所述第二累计数据量与所述第二时段对应的时长的比值;
    所述电子设备确定在所述第二时段的第二数据传输速率满足所述预设数据传输速率时,则在第三时段仅采用所述第二TCP连接接收来自所述应用服务器的数据流。
  8. 一种电子设备,其特征在于,包括处理器和存储器;
    所述存储器用于存储一个或多个计算机程序;
    当所述存储器存储的一个或多个计算机程序被所述处理器执行时,使得所述电子设备执行:
    与应用服务器建立多路径传输控制协议MPTCP连接,其中,所述MPTCP连接包括蜂窝网络对应的第一TCP连接和无线保真WIFI网络对应的第二TCP连接;
    接收来自所述应用服务器的指示信息;所述指示信息包括类型标识和用于指示数据传输速率需求的参数,所述类型标识用于指示所述应用服务器发送的数据流的类型;
    当所述类型标识为指示数据传输时延要求低的第一标识时,在接收到所述指示信息之后的第一时段采用所述第二TCP连接接收来自所述应用服务器的数据流;
    当所述电子设备在所述第一时段内实际接收的累计数据量不满足所述第一预期接收的累计数据量时,在第二时段同时采用所述第一TCP连接和所述第二TCP连接接收来自所述应用服务器的数据流;其中,所述第一预期接收的累计数据量等于所述参数与所述第一时段对应的时长的乘积。
  9. 如权利要求8所述的电子设备,其特征在于,当所述存储器存储的一个或多个计算机程序被所述处理器执行时,还使得所述电子设备执行:
    在所述第一时段内实际接收的累计数据量满足所述第一预期接收的累计数据量时,在第二时段仍采用所述第二TCP连接接收来自所述应用服务器的数据流。
  10. 如权利要求8所述的电子设备,其特征在于,当所述存储器存储的一个或多个计算机程序被所述处理器执行时,还使得所述电子设备执行:
    确定在所述第二时段通过所述第二TCP连接的实际接收的累计数据量满足第二预期接收的累计数据量时,则在第三时段仅采用所述第二TCP连接接收来自所述应用服务器的数据流;所述第二预期接收的累计数据量等于所述第二时段对应的时长与所述参数的乘积。
  11. 如权利要求8所述的电子设备,其特征在于,当所述存储器存储的一个或多个计算机程序被所述处理器执行时,还使得所述电子设备执行:
    当所述类型标识为指示数据传输时延要求高的第二标识时,在接收到所述指示信息之后的所述第一时段同时采用所述第一TCP连接和所述第二TCP连接接收来自所述应用服务器的数据流。
  12. 一种电子设备,其特征在于,包括处理器和存储器;
    所述存储器用于存储一个或多个计算机程序;
    当所述存储器存储的一个或多个计算机程序被所述处理器执行时,使得所述电子设备执行:
    与应用服务器建立多路径传输控制协议MPTCP连接,其中,所述MPTCP连接包括蜂窝 网络对应的第一TCP连接和无线保真WIFI网络对应的第二TCP连接;
    在第一时段采用所述第二TCP连接接收来自所述应用服务器的数据流;
    根据所述电子设备在所述第一时段实际接收的第一累计数据量,确定所述电子设备在第一时段的第一数据传输速率,所述第一数据传输速率等于所述第一累计数据量与所述第一时段对应的时长的比值;
    确定所述第一数据传输速率不满足预设数据传输速率时,在第二时段同时采用所述第一TCP连接和所述第二TCP连接接收来自所述应用服务器的数据流。
  13. 如权利要求12所述的电子设备,其特征在于,当所述存储器存储的一个或多个计算机程序被所述处理器执行时,还使得所述电子设备执行:
    同时采用所述第一TCP连接和所述第二TCP连接接收来自所述应用服务器的数据流;
    根据单位时间内所述第二TCP连接和第一TCP连接实际接收的数据量,确定所述预设数据传输速率。
  14. 如权利要求12或13所述的电子设备,其特征在于,当所述存储器存储的一个或多个计算机程序被所述处理器执行时,还使得所述电子设备执行:
    根据所述电子设备在所述第二时段实际接收的第二累计数据量,确定所述电子设备在第二时段的第二数据传输速率,所述第二数据传输速率等于所述第二累计数据量与所述第二时段对应的时长的比值;
    确定在所述第二时段的第二数据传输速率满足所述预设数据传输速率时,则在第三时段仅采用所述第二TCP连接接收来自所述应用服务器的数据流。
  15. 一种计算机存储介质,其特征在于,所述计算机可读存储介质包括计算机程序,当计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1至7任一所述的方法。
PCT/CN2019/124347 2019-01-08 2019-12-10 一种数据传输方法及电子设备 WO2020143380A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/421,283 US11736224B2 (en) 2019-01-08 2019-12-10 Data transmission method and electronic device
EP19908862.6A EP3896925A4 (en) 2019-01-08 2019-12-10 DATA TRANSMISSION METHOD AND ELECTRONIC DEVICE
JP2021539658A JP7235871B2 (ja) 2019-01-08 2019-12-10 データ伝送方法と電子デバイス

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910016807.7A CN111416794B (zh) 2019-01-08 2019-01-08 一种数据传输方法及电子设备
CN201910016807.7 2019-01-08

Publications (1)

Publication Number Publication Date
WO2020143380A1 true WO2020143380A1 (zh) 2020-07-16

Family

ID=71492927

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/124347 WO2020143380A1 (zh) 2019-01-08 2019-12-10 一种数据传输方法及电子设备

Country Status (5)

Country Link
US (1) US11736224B2 (zh)
EP (1) EP3896925A4 (zh)
JP (1) JP7235871B2 (zh)
CN (2) CN115442452A (zh)
WO (1) WO2020143380A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116137676A (zh) * 2021-11-18 2023-05-19 荣耀终端有限公司 一种网络加速方法、电子设备、芯片系统及存储介质

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112217605B (zh) * 2020-09-07 2023-10-20 网宿科技股份有限公司 传输策略的选择方法、设备及存储介质
CN114168115B (zh) * 2020-09-10 2022-11-08 荣耀终端有限公司 通信系统、应用下载方法及设备
CN112383948B (zh) * 2020-11-13 2022-12-20 Oppo广东移动通信有限公司 数据传输方法、装置、存储介质及电子设备
CN112333690B (zh) * 2020-11-13 2022-08-16 Oppo广东移动通信有限公司 数据传输方法、装置、存储介质、终端及网络接入点设备
CN112398943B (zh) * 2020-11-13 2022-10-21 Oppo广东移动通信有限公司 信息互通方法、装置、存储介质及电子设备
CN112291366B (zh) * 2020-11-13 2023-06-20 Oppo广东移动通信有限公司 数据传输方法、装置、存储介质及电子设备
US11576230B2 (en) * 2020-11-19 2023-02-07 At&T Intellectual Property I, L.P. Apparatuses and methods for facilitating a utilization of network resources
CN112888030B (zh) * 2021-01-12 2023-04-07 北京小米移动软件有限公司 业务处理方法及装置、电子设备、存储介质
CN113423143A (zh) * 2021-03-26 2021-09-21 阿里巴巴新加坡控股有限公司 多路径数据传输方法、装置及电子设备
CN116315667B (zh) * 2022-01-25 2023-11-17 荣耀终端有限公司 数据传输方法、装置、设备及存储介质
CN116233989B (zh) * 2023-05-10 2023-09-22 荣耀终端有限公司 网络连接的控制方法和设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105553868A (zh) * 2015-09-21 2016-05-04 宇龙计算机通信科技(深圳)有限公司 一种数据传输方法、装置以及终端
EP3226604A1 (en) * 2014-12-18 2017-10-04 Huawei Technologies Co., Ltd. Data multi streaming transmission method, apparatus, anchor point, and system
CN108540519A (zh) * 2018-01-29 2018-09-14 北京奇艺世纪科技有限公司 一种均衡下载控制方法和装置

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8897753B2 (en) * 2011-10-12 2014-11-25 Motorola Mobility Llc Method for retrieving content by a wireless communication device having first and second radio access interfaces, wireless communication device and communication system
US8640174B2 (en) * 2012-03-01 2014-01-28 Motorola Mobility Llc Method for retrieving content, wireless communication device and communication system
US20150245409A1 (en) * 2014-02-21 2015-08-27 Broadcom Corporation Carrier aggregation over lte and wifi
WO2016007051A1 (en) * 2014-07-07 2016-01-14 Telefonaktiebolaget L M Ericsson (Publ) Multi-path transmission control protocol
WO2016130054A1 (en) * 2015-02-09 2016-08-18 Telefonaktiebolaget Lm Ericsson (Publ) Method and device for handling multi path connections
EP3269109B1 (en) * 2015-03-12 2019-01-09 Telefonaktiebolaget LM Ericsson (publ) Methods and arrangements for multipath traffic aggregation
KR102352679B1 (ko) * 2015-03-25 2022-01-18 삼성전자주식회사 다중 경로 전송 제어 프로토콜을 지원하는 디바이스 및 디바이스에서 영상 데이터를 스트리밍으로 수신하는 방법
WO2016156425A1 (en) 2015-03-30 2016-10-06 British Telecommunications Public Limited Company Data transmission
WO2016197004A2 (en) * 2015-06-03 2016-12-08 Vid Scale, Inc. Enhancing performance of multi-path communications
US10575357B2 (en) 2015-06-19 2020-02-25 Intel Corporation Apparatus and method for traffic prediction and bandwidth aggregation
US10602560B2 (en) * 2015-06-26 2020-03-24 Telefonaktiebolaget Lm Ericsson (Publ) First network node and methods therein, for determining whether a second multi path transmission control protocol connection is to be initiated
JP2017028589A (ja) 2015-07-24 2017-02-02 富士通株式会社 通信装置、無線通信装置、および通信方法
JP6504608B2 (ja) 2016-02-08 2019-04-24 日本電信電話株式会社 通信装置及びその制御方法並びにプログラム、並びに通信システム
US9992786B2 (en) * 2016-03-31 2018-06-05 At&T Intellectual Property I, L.P. Facilitation of multipath scheduling
EP3244581B1 (en) * 2016-05-09 2020-03-04 Alcatel Lucent Multi-path wireless communication
US10630813B2 (en) * 2016-05-16 2020-04-21 Telefonaktiebolaget Lm Ericsson (Publ) Transporting UDP packets over an MPTCP connection
US10523794B2 (en) * 2016-05-19 2019-12-31 Samsung Electronics Co., Ltd. Method and apparatus for managing multipath transmission control protocol
KR20170133165A (ko) * 2016-05-25 2017-12-05 삼성전자주식회사 다중 링크를 이용해 신호를 전송하는 방법 및 장치
KR102568436B1 (ko) * 2016-07-28 2023-08-21 삼성전자 주식회사 무선 통신 시스템에서 데이터의 전송 방법 및 장치
US9971290B2 (en) 2016-09-06 2018-05-15 Kabushiki Kaisha Toshiba Image forming apparatus and pattern reading apparatus
JP7173587B2 (ja) * 2016-12-21 2022-11-16 デジェロ ラブス インコーポレイテッド パケット伝送システムおよび方法
US10498868B2 (en) * 2017-02-14 2019-12-03 Alcatel Lucent Multipath transport communications
US11345467B2 (en) * 2017-04-07 2022-05-31 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Data transmission method, and sending end device
WO2018191977A1 (zh) * 2017-04-21 2018-10-25 华为技术有限公司 应用数据迁移方法及网络设备
CN109600248B (zh) * 2017-09-30 2020-09-08 华为技术有限公司 服务质量的确定方法、装置及存储介质
US10904788B2 (en) * 2017-10-24 2021-01-26 Cisco Technology, Inc. Controlling a congestion window value for a wireless device in a heterogeneous network
CN109729007B (zh) * 2017-10-28 2022-07-22 华为技术有限公司 一种传输数据的方法、装置和设备
CN111527725A (zh) * 2017-12-15 2020-08-11 诺基亚技术有限公司 用于通过使用网络分片来控制数据传输的方法
CN108337699B (zh) * 2018-01-23 2020-08-18 上海载德信息科技股份有限公司 一种上网的方法、装置、移动终端及存储介质
EP3744063A1 (en) * 2018-01-26 2020-12-02 IDAC Holdings, Inc. Application mobility based on enhanced mptcp
US10979355B2 (en) * 2018-04-02 2021-04-13 Apple Inc. Multipath transmission control protocol proxy use in a cellular network
US10616621B2 (en) * 2018-06-29 2020-04-07 At&T Intellectual Property I, L.P. Methods and devices for determining multipath routing for panoramic video content
CN109041262B (zh) * 2018-08-23 2020-06-16 Oppo广东移动通信有限公司 数据传输方法及相关装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3226604A1 (en) * 2014-12-18 2017-10-04 Huawei Technologies Co., Ltd. Data multi streaming transmission method, apparatus, anchor point, and system
CN105553868A (zh) * 2015-09-21 2016-05-04 宇龙计算机通信科技(深圳)有限公司 一种数据传输方法、装置以及终端
CN108540519A (zh) * 2018-01-29 2018-09-14 北京奇艺世纪科技有限公司 一种均衡下载控制方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116137676A (zh) * 2021-11-18 2023-05-19 荣耀终端有限公司 一种网络加速方法、电子设备、芯片系统及存储介质
CN116137676B (zh) * 2021-11-18 2023-10-20 荣耀终端有限公司 一种网络加速方法、电子设备、芯片系统及存储介质

Also Published As

Publication number Publication date
EP3896925A1 (en) 2021-10-20
CN111416794A (zh) 2020-07-14
CN115442452A (zh) 2022-12-06
US11736224B2 (en) 2023-08-22
EP3896925A4 (en) 2022-02-16
JP2022516663A (ja) 2022-03-01
JP7235871B2 (ja) 2023-03-08
CN111416794B (zh) 2022-07-29
US20220158756A1 (en) 2022-05-19

Similar Documents

Publication Publication Date Title
WO2020143380A1 (zh) 一种数据传输方法及电子设备
WO2022257977A1 (zh) 电子设备的投屏方法和电子设备
CN111316598B (zh) 一种多屏互动方法及设备
WO2020134869A1 (zh) 电子设备的操作方法和电子设备
US20220304094A1 (en) Bluetooth Reconnection Method and Related Apparatus
US20230189366A1 (en) Bluetooth Communication Method, Terminal Device, and Computer-Readable Storage Medium
CN111316604B (zh) 一种数据传输方法及电子设备
WO2023273317A1 (zh) 通道切换方法、电子设备及存储介质
EP4177746A1 (en) Task processing method and related apparatus
CN110636554B (zh) 数据传输方法及装置
WO2021031865A1 (zh) 通话方法及装置
WO2021190314A1 (zh) 触控屏的滑动响应控制方法及装置、电子设备
WO2020134868A1 (zh) 一种连接建立方法及终端设备
WO2022262492A1 (zh) 数据下载方法、装置和终端设备
CN113472477A (zh) 无线通信系统及方法
WO2020124447A1 (zh) 面向多卡的网络管理
WO2023138533A1 (zh) 业务协同方法、电子设备、可读存储介质和芯片系统
WO2023226881A1 (zh) 一种设备注册方法、系统和设备
WO2023280160A1 (zh) 一种通道切换方法及装置
WO2023020420A1 (zh) 音量显示方法、电子设备及存储介质
CN117354876A (zh) 一种数据迁移方法、电子设备和组网系统
CN113497976A (zh) 一种多媒体数据的下载方法及电子设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19908862

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021539658

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019908862

Country of ref document: EP

Effective date: 20210713