WO2017008701A1 - Data transmission method, apparatus, and user device - Google Patents

Data transmission method, apparatus, and user device Download PDF

Info

Publication number
WO2017008701A1
WO2017008701A1 PCT/CN2016/089419 CN2016089419W WO2017008701A1 WO 2017008701 A1 WO2017008701 A1 WO 2017008701A1 CN 2016089419 W CN2016089419 W CN 2016089419W WO 2017008701 A1 WO2017008701 A1 WO 2017008701A1
Authority
WO
WIPO (PCT)
Prior art keywords
data transmission
interface
weight
time
wireless data
Prior art date
Application number
PCT/CN2016/089419
Other languages
French (fr)
Chinese (zh)
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
Priority claimed from CN201510408296.5A external-priority patent/CN105228133A/en
Priority claimed from CN201510404515.2A external-priority patent/CN105101438A/en
Priority claimed from CN201510405867.XA external-priority patent/CN105119825A/en
Priority claimed from CN201510426987.8A external-priority patent/CN105094960A/en
Priority claimed from CN201610013264.XA external-priority patent/CN105682146A/en
Application filed by 努比亚技术有限公司 filed Critical 努比亚技术有限公司
Publication of WO2017008701A1 publication Critical patent/WO2017008701A1/en

Links

Images

Classifications

    • 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

Definitions

  • the embodiments of the present invention relate to, but are not limited to, the field of communications technologies, and in particular, to a data transmission method, apparatus, and user equipment.
  • LTE Long Term Evolution
  • 4G fourth generation mobile communication technology
  • OFDM Orthogonal Frequency Division Multiplexing
  • MIMO Multi-Input & Multi-Output
  • the terminal uses the cellular network for data transmission such as downloading and uploading, which can greatly improve the user's online experience.
  • data transmission such as downloading and uploading
  • high-definition video, games and other large-volume applications are emerging one after another. If only a single data channel is used for data transmission, due to the maximum capacity limitation of the data channel, the user's increasing demand for transmission rate cannot be met. of.
  • the embodiment of the invention provides a data transmission method, device and user equipment, which can meet the increasing demand of the user for the transmission rate.
  • the embodiment of the invention provides a data transmission method, which is applicable to a terminal having multiple wireless data transmission interfaces, including:
  • the terminal detects the connectivity of each wireless data transmission interface in real time
  • the terminal When detecting that there is data to be transmitted, the terminal allocates the established multiple links to the wireless data transmission interface in the connected state for data transmission based on the initial split weight;
  • the real-time shunt weight is calculated, and the newly established link is allocated to the wireless data transmission interface in the connected state according to the real-time shunt weight for data transmission.
  • the multiple links that are established are allocated to the interface in the connected state for data transmission, according to the initial split weight, including:
  • the multiple connection request messages are evenly distributed to the wireless data transmission interface in the connected state for transmission;
  • the real-time offload weight is calculated, and the newly established link is allocated to the interface in the connected state according to the real-time split weight for data transmission, including:
  • the split weight is calculated according to the rate and the delay of the wireless data transmission interface, or the split weight is calculated according to the rate of the wireless data transmission interface;
  • the newly created link is allocated according to the real-time split weight to the wireless data transmission interface in the connected state for data transmission.
  • the method further includes:
  • the method further includes detecting a status of the wireless data transmission interface, including:
  • the wireless data transmission interface is in a disconnected state, and if the reply message is received, the wireless data transmission interface is in a connected state.
  • the method further includes: acquiring, at a preset time, a change in the number of bytes of the wireless data transmission interface as a current rate of the wireless data transmission interface.
  • the method further includes:
  • the real-time offloading weight is calculated, detecting whether the wireless data transmission interface is in a congested state, and if yes, determining whether a current rate of the wireless data transmission interface is greater than a maximum of the interface If the rate is not greater than the maximum rate, the current rate is added to a preset value and then compared with the maximum rate. If the current rate is less than the maximum rate, the current rate is used as the maximum rate of the wireless data transmission interface.
  • the current rate is used as the maximum rate of the wireless data transmission interface.
  • the calculating real-time offload weights includes:
  • the offload weight of any of the wireless data transmission interfaces is a ratio of a maximum rate of the wireless data transmission interface to a sum of maximum rates of all interfaces.
  • a syn+ack message when received through a wireless data transmission interface, it is determined whether it is in the SYN_SEND state, and if it is in the SYN_SEND state, the current system time is obtained, and the obtained current system time is subtracted. The time when the system sends the syn message, and the obtained time difference is the delay of the wireless data transmission interface.
  • the method further includes:
  • a set of ping messages is sent through each of the wireless data transmission interfaces at a preset time, and the time delay of the wireless data transmission interface is obtained according to the time difference of receiving the reply information.
  • the delay of the wireless data transmission interface is inversely proportional to the weight of the traffic of the wireless data transmission interface.
  • the method further includes:
  • the data packet is marked according to the traffic weight, and the tag value is saved; if it is not the first data packet, the tag of the first data packet of the link is saved. The value is assigned to the data packet;
  • the method further includes allocating the data packet to the corresponding wireless data transmission interface for transmission according to the tag value of the data packet.
  • the multiple wireless data transmission interfaces include at least one of the following interfaces: a first long term evolution LTE interface, a second LTE interface, a first wireless local area network WIFI interface, and a second WIFI interface.
  • the embodiment of the invention further provides a data transmission method, which is applicable to a terminal having multiple wireless data transmission interfaces, including:
  • the terminal detects the connectivity of each wireless data transmission interface in real time
  • the established multiple links are allocated to the wireless data transmission interface in the connected state for data transmission based on the pre-stored offload weights.
  • the pre-stored offload weight is a real-time offload weight used by the terminal in the last data transmission.
  • the method further includes:
  • the offload weight is calculated according to the rate and delay of the wireless data transmission interface, or the split weight is calculated according to the rate of the wireless data transmission interface;
  • the newly-added link is allocated according to the real-time split weight to the wireless data transmission interface in the connected state for data transmission.
  • the embodiment of the present invention further provides a user equipment, including a first user identification module and a second user identification module, and further includes:
  • the control module is configured to output the first control instruction and the second control instruction according to the operation instruction of the user;
  • the control module is further configured to control the switching module according to the first control instruction, so that the first user identification module or the second user identification module is connected to the first communication module;
  • the first communication module is configured to establish a data service connection with the LTE network for data service transmission;
  • the control module is further configured to control the switching module according to the second control instruction, so that the first user identification module or the second user identification module is connected to the second communication module;
  • the second communication module is configured to establish a data service connection with the LTE network for data service transmission;
  • the control module is further configured to detect connectivity of the first communication module and the second communication module; when detecting that data needs to be transmitted, assign the established multiple links to the communication module in the connected state based on the initial split weight Data transmission; in the process of data transmission, the real-time shunt weight is calculated, and the newly established link is allocated to the communication module in the connected state according to the real-time shunt weight for data transmission.
  • the user equipment further includes:
  • Two WIFI modules configured to connect to a WIFI network for data transmission
  • the control module is further configured to detect connectivity of each interface in real time; when detecting that data needs to be transmitted, the established multiple links are allocated to the wireless data transmission interface in the connected state for data transmission based on the initial split weight; In the process of data transmission, calculating the real-time shunt weight, and assigning the newly established link to the wireless data transmission interface in the connected state according to the real-time shunt weight for data transmission;
  • the wireless data transmission interface includes: a first LTE interface corresponding to the first communication module, a second LTE interface corresponding to the second communication module, and a corresponding to the two WIFI modules respectively A WIFI interface and a second WIFI interface.
  • the embodiment of the invention further discloses a computer readable storage medium storing computer executable instructions for performing one or a combination of the above two service negotiation methods.
  • the data transmission method, device and user equipment embodying the invention have the following beneficial effects: based on interface rate offloading, or based on interface rate and delay shunt, realizing data transmission by using multiple data channels simultaneously, greatly optimizing data flow.
  • Distribution ratio since the rate reflects the bandwidth of the interface to a certain extent, the interface with large bandwidth should carry more data streams, so that it is not easy to have a large amount of data flowing from the interface with small bandwidth, which alleviates the congestion of the interface with small bandwidth.
  • the single user identification module can be used to carry out the limitation of data service transmission, and the maximum rate of data transmission is improved, so that users can transmit data services through better links.
  • FIG. 1 is a schematic structural diagram of a terminal according to an embodiment of the present invention.
  • FIG. 2 is a block diagram of an operating system according to an embodiment of the present invention.
  • FIG. 3 is a schematic diagram of a network architecture according to an embodiment of the present invention.
  • FIG. 4 is a schematic flow chart of a data transmission method according to an embodiment of the present invention.
  • FIG. 5 is a schematic flowchart of detecting interface connectivity according to an embodiment of the present invention.
  • FIG. 6 is a flowchart of a data transmission method according to an embodiment of the present invention.
  • FIG. 7 is a schematic flow chart of marking a data packet in an embodiment of the present invention.
  • FIG. 8 is a schematic structural diagram of a user equipment having a dual L function according to an embodiment of the present invention.
  • the terminal 100 may have a personal computer such as a laptop computer, a netbook computer, a tablet computer, etc., a cellular phone, and a personal digital assistant ( Any of various configurations such as PDA), digital video recorder (DVR), Internet home appliances, game consoles, and electronic readers.
  • the architecture of the terminal 100 may include a processor 1, a communication module 2, a memory 4, and a subscriber identity module 5. It should be understood that, in addition, the terminal 100 may further include: a display screen, a speaker, an earpiece, a camera, a power management, and the like for performing corresponding functions.
  • the memory 4 can store software for operating system, processing, and control operations performed by the processor 1. Programs and more.
  • the memory 4 may include at least one type of storage medium including a flash memory, a hard disk, a multimedia card, a card type memory (eg, SD or DX memory, etc.), a random access memory (RAM), a static random access memory ( SRAM), read only memory (ROM), electrically erasable programmable read only memory (EEPROM), programmable read only memory (PROM), magnetic memory, magnetic disk, optical disk, and the like.
  • the terminal 100 can cooperate with a network storage device that performs a storage function of the memory 4 through a network connection.
  • the processor 1 is the core of the terminal communication function and system control, and is mainly responsible for completing the two aspects of work.
  • the baseband processing capability of the physical layer of the protocol stack is completed, including digital joint detection, modulation/demodulation, interleaving/deinterleaving, and channel coding. / decoding, pulse shaping, etc.; the second is to deal with operating systems, driver software, human-machine interfaces, applications, and so on.
  • the processor has the ability to manage various peripherals and interfaces.
  • communication module 2 typically includes one or more components that permit radio communication between terminal 100 and a wireless communication system or network.
  • the communication module 2 includes a first communication module 21, a second communication module 22, a third communication module 23, and the like.
  • the first communication module 21 can be a WIFI module.
  • the WIFI module performs communication according to the WIFI method.
  • the terminal 100 of the embodiment of the present invention can perform data transmission through the WIFI network.
  • the second communication module 22 can be a mobile communication module.
  • the mobile communication module is configured to transmit communication exchange signaling to one or more base stations or other devices in the wireless communication system, or to receive communication exchange signaling from one or more base stations or other devices.
  • the mobile communication module 2 can include one or more of a transmitter, a receiver, a transmit chain component, and a receive chain component.
  • the mobile communication module 2 may be a chip that performs communication according to various communication standards such as IEEE, Zigbee, 3G (third generation), 3GPP (3rd Generation Partnership Project), and LTE (Long Term Evolution).
  • the terminal 100 of the embodiment of the present invention can perform data transmission through a mobile communication network (for example, a mobile communication network such as 2G, 3G, or 4G).
  • the third communication module 23 can also be a WIFI module or a mobile communication module.
  • the terminal 100 of the embodiment of the present invention may include one or more WIFI modules, one or more mobile communication modules.
  • the communication module 2 may further include a Bluetooth module, an NFC module, or the like for implementing a corresponding wireless communication function.
  • the subscriber identity module 5 can manage users associated with the first technical standard.
  • the subscriber identity module 5 can have one or more associated telephone numbers.
  • the terminal 100 can pass the user identification module 5 and move The communication module communicates in the network via the base station.
  • the subscriber identity module 5 can be one or more. It should be understood that the number of subscriber identity modules 5 is associated with the number of mobile communication modules. For example, when the terminal 100 includes two mobile communication modules, generally two user identification modules 5 are included to implement dual card dual communication; when the terminal 100 includes a mobile communication module, one (single card single pass) or two may be included. (Double card single standby) user identification module 5.
  • the terminal 100 in the embodiment of the present invention can implement data transmission by using one or two LTE data channels.
  • the dual LTE data transmission may also be implemented in other manners, for example, directly adopting a chip having the function, an external subscriber identity module, and the like.
  • the terminal 100 of the embodiment of the present invention may perform data transmission by using at least one of the following methods: a WIFI data channel (which may be one or more), and an LTE data channel (which may be one or more) ), 3G data channel (may be one or more), 2G data channel (can be one or more).
  • a WIFI data channel which may be one or more
  • LTE data channel which may be one or more
  • 3G data channel may be one or more
  • 2G data channel can be one or more.
  • LTE data channels and 3G data channels can be provided simultaneously.
  • the terminal 100 includes multiple WIFI modules.
  • a plurality of operating systems may be stored in the memory 101, including but not limited to Windows, Linux, Unix, Mac OS X, IOS, Solaris, Android, and the like.
  • the operating system involved in FIG. 1 is stored in the memory 4 and processed by the processor 1.
  • the architecture of the operating system processed by the processor 1 is as shown in FIG. 2, including: a driver layer, a kernel layer, and a user layer.
  • the kernel layer includes: a network interface layer, a network layer, a Transmission Control Protocol/User Datagram Protocol (TCP/UDP) layer, and a kernel interface.
  • TCP/UDP Transmission Control Protocol/User Datagram Protocol
  • FIG. 3 is a schematic diagram of a network architecture according to an embodiment of the present invention.
  • the terminal 100 can simultaneously pass the base The station, the wireless access point (AP) and the like are connected to the wireless core network, and then connected to the private network and the Internet network to realize wireless data transmission.
  • the plurality of terminals 100 can also be connected to the wireless core network through the base station and the wireless access point, thereby realizing mutual data transmission.
  • an embodiment of the present invention provides a data transmission method.
  • the data transmission in the embodiment of the present invention is based on a link, that is, when there is a data service to be transmitted, multiple (one or more) links are established, and each link is used to transmit a data packet of a certain size, thereby completing the entire data transmission. .
  • the terminal (having the hardware structure and corresponding functions of the terminal 100 described above) acquires resources (for example, downloads an application) from the receiving device.
  • the resource supports multi-link download, that is, the resource is divided into multiple data blocks, and each data block can be downloaded through a link, thereby downloading at the same time through multiple links, which can greatly improve the download speed.
  • the receiving device is a server, another terminal, or the like.
  • the terminal detects if there is data to transmit. Through the input device of the terminal, the user can initiate a data transfer instruction, whereby data can be detected to be transmitted.
  • the terminal and the receiving device establish a link by using a “three-way handshake” manner.
  • the terminal first generates a connection request message (syn).
  • the terminal determines, according to the offload weight, which interface the link is transmitted, and The connection request message is sent to the receiving device through the determined interface.
  • the receiving device receives the connection request message and replies with an acknowledgement message (ACK).
  • ACK acknowledgement message
  • the terminal receives the acknowledgment message through the interface that sends the connection request message, and sends an acknowledgment message (ACK) to the receiving device through the interface, thereby successfully establishing a TCP link.
  • the data can be transferred via the established link.
  • the resource to be transmitted is divided into a plurality of data blocks, and each data block is transmitted by a link.
  • a data block is transmitted.
  • the TCP link is released (can be released by "four-way handshake").
  • the terminal can continue to create a new link to ensure that the resource is completely downloaded. Therefore, in theory, if the resource to be transmitted is divided into N data blocks, at least To establish N links for data transmission. If the link is disconnected due to the connectivity of the interface becoming disconnected during the transmission, you need to create a new link to continue the data transmission.
  • the transmission resource has 8 data blocks, it can be allocated to 4 data blocks of the LTE channel and distributed to 4 data blocks of the WiFi channel. Then, the present application uses two data channels of the LTE channel and the WiFi channel. Four TCP/IP data links are respectively established for simultaneous data transmission.
  • a data transmission method includes:
  • Step S1 The terminal detects the connectivity of each interface in real time.
  • detecting the connectivity of the interface means detecting whether the data channel is connected. For example, detecting the connectivity of the WIFI interface, that is, detecting whether the WIFI network can be accessed through the WIFI data channel for data transmission.
  • the interface includes but is not limited to a WIFI interface, an LTE interface, a 3G interface, and the like.
  • the number of interfaces may be multiple, and the types of interfaces may be multiple.
  • the interface may include two LTE interfaces and two WIFI interfaces.
  • interface connectivity detection proceeds as follows:
  • a ping message is sent from each interface every first preset time (for example, 10 seconds).
  • the destination IP address of the ping is the address of a fixed domain name system (DNS) server, for example, 114.114.114.114.
  • DNS domain name system
  • the interface is marked as down, and if a reply is received, the interface is marked as connected (UP).
  • the interface if the interface is in a connected state and waits for a preset duration to receive no reply, the interface is marked as not connected. If the interface is in the disconnected state and waits for the preset duration to receive a reply, the link is considered to be connected and the interface is marked as connected.
  • the interface can be added to the list of available interfaces; if an interface is down, it is not added to the available interface list or from the available interface. Remove from the list.
  • the connectivity of the interface can also be performed in other ways, such as sending empty packets.
  • Step S2 When the terminal detects that there is a data service, multiple links are established.
  • Establishing a link means establishing a link between the terminal 100 and other terminals or servers, for example, establishing a link through a three-way handshake.
  • the number of links can be set according to actual conditions, for example, the maximum number of links that the terminal 100 can support, the amount of data of the data service, and the like.
  • connection request message The establishment of the link here refers to the generation of a connection request message. It should be understood that how many connection request messages need to be generated, how many link requests need to be created.
  • the terminal allocates the established link to the interface in the connected state to perform data service transmission with the receiving device according to the split weight.
  • the offload weight includes a 1:1 offload weight (ie, an initial split weight) and a real-time split weight calculated according to the interface rate and the delay.
  • a 1:1 offload weight ie, an initial split weight
  • a real-time split weight calculated according to the interface rate and the delay.
  • an initial routing rule may be established according to the connectivity of the interface.
  • the initial routing rule can be established in a uniform manner, that is, according to the initial split weight of 1:1, the number of links to be transmitted allocated by the interface in the connected state is the same. For example, if three interfaces are in the connected state and the number of links established by the terminal 100 is nine, the initial routing rule is that the first, second, and third links are transmitted through the first interface, and the fourth, fifth, and sixth links are passed through the first.
  • the second interface transmits, and the seventh, eighth and nine links are transmitted through the third interface.
  • data when data is transmitted, data is first transmitted in accordance with an initial routing rule.
  • the connection request packets to be generated are distributed to each interface for transmission.
  • the receiving device receives the connection request message and replies with an acknowledgement message for each connection request message.
  • the acknowledgement message is respectively replied to the terminal via the corresponding interface.
  • the terminal receives the acknowledgment message through each interface and sends an acknowledgment message to establish multiple TCP links between the terminal and the receiving device for transmitting data.
  • the plurality of links in the embodiment of the present invention may include one or more links unless otherwise specified.
  • the link established at the beginning of the transmission is allocated according to the initial routing rule. If the establishment of these links has completed the transfer of all resources, there is no need to create a new link to continue the transfer, otherwise a new link will be created for the transfer of resources until all resource transfers are completed. The newly created link will follow the directions below Equation (2) is assigned to the corresponding interface according to the calculated real-time split weight.
  • the first case: "established link” is the newly created link, that is, the newly established link for continuing to complete the transmission after being transmitted according to the initial routing rule.
  • the network state is changed in real time, and the connectivity state and rate of each interface are also changed in real time. Therefore, in the data service transmission process, the traffic weight is calculated according to the rate and delay of the interface; The calculated shunt weights are adjusted to adjust the number of links assigned to the interfaces in the connected state.
  • the data transmission method of the embodiment of the present invention specifically includes the following steps: S10: The terminal detects the connectivity of each interface in real time; S20, when the terminal detects that data needs to be transmitted, based on the initial split weight, The established multiple links are allocated to the interface in the connected state for data transmission; S30. In the process of data transmission, the real-time split weight is calculated, and the newly established link is allocated to the interface in the connected state according to the real-time split weight. data transmission.
  • the data service to be downloaded may be divided into a plurality of data blocks of the same size or different size to be respectively transmitted through the established multiple links.
  • a 10M Android packet can be divided into 10 data blocks, each of which has a size of 1M, and each data block is transmitted through a link.
  • the maximum number of links that the terminal 100 can establish is not necessarily equal to the divided data blocks, for example, the data block is 10, and the maximum number of links established is 5. Then when the transfer of a link is completed, a new link can be created to continue to transfer the remaining data. Therefore, in the embodiment of the present invention, the number of links allocated to the interface in the connected state is specifically: the newly-added link is allocated to the interface in the connected state according to the calculated split weight.
  • the offload weights of the interfaces are calculated according to the rate and delay of the interface, so that the newly established links are allocated to the interfaces according to the calculated split weights to achieve an optimized allocation ratio. Since the rate of the interface reflects the bandwidth of the interface to a certain extent, the interface with a large bandwidth should carry more data streams, so that a large amount of data is not easily circulated from the interface with a small bandwidth. In this way, congestion of interfaces with small bandwidth is alleviated, data transmission delay is shortened, packet loss is reduced, interface utilization and data transmission rate are improved.
  • the interface is measured for speed every first preset time (for example, 1 second), and the split weight is calculated according to the rate and delay corresponding to the interface every second preset time (for example, 5 seconds).
  • the split weights may also be calculated based only on the real-time rate of the interface without regard to latency, and the case of considering only the real-time rate will be described later.
  • the rate detection of the interface may be performed in the following manner:
  • the interval of the number of interface bytes is obtained as the current rate of the interface every preset time (for example, 1 second). Specifically, if the rate of an interface is detected for the first time, the number of detected bytes is saved. If the rate of an interface is not detected for the first time, the number of interface bytes obtained is subtracted from the number of interface bytes obtained before, and the obtained difference is divided by the time of two detections. Current rate.
  • the split weight can be calculated according to the rate and delay of the interface in the following manner:
  • the current real-time rate is assigned to the maximum rate (max_speed);
  • the maximum rate is compared with a preset value (for example, 50 kb/s). If the maximum rate is greater than the preset value, the split weight is calculated according to the rate of the interface; if the maximum rate is not greater than the preset value, the delay according to the interface is used. Determine the split weight.
  • a preset value for example, 50 kb/s.
  • the detection of whether the interface is in a congested state is obtained by detecting the delay of the interface.
  • the delay detection method of the interface has the following two methods:
  • Manner 1 Send a set of ping packets through the interface every predetermined time (for example, 5 seconds) (for example, 5 packets per group, each of which is 64 Bytes), and obtain the interface according to the time difference of receiving the response. Delay.
  • Manner 2 Calculate the delay by TCP three-way handshake. Specifically: when receiving a synchronization sequence number and a acknowledgment number (syn+ack) message, determine whether it is in the SYN_SEND state, that is, waiting for a matching connection request after sending the connection request. Status, if it is, then obtain the current system time, and subtract the time of the current system time from the system to send the syn message to obtain a time difference. This time difference is the interface delay.
  • the interface is marked as being in a congested state. If the delay is less than a preset value, it is detected whether the syn message of the link is retransmitted. If the retransmission is repeated, the interface is marked as being in a congested state, and the delay value is set to 1000 ms; if not retransmitted If the interface is not in a congested state, the calculated delay value is used as the delay of the interface.
  • a predetermined value eg, 1000 ms
  • the shunt weight of the i-th interface the maximum rate of the i-th interface / (the maximum rate of the first interface + the maximum rate of the second interface + ... + the maximum rate of the i-th interface + ...
  • the foregoing method for calculating the split weight according to the interface rate may adopt other manners, for example, pre-setting the relationship between the rate range and the split weight.
  • the split weight is 20%, and in the second range.
  • the weight of the shunt is 80% and so on.
  • the delay is inversely proportional to the weight of the traffic. For example, if the delay of the first interface is D1 and the delay of the second interface is D2, the traffic weight of the first interface is D2/(D1+). D2), the weight of the second interface is D1/(D1+D2).
  • the relationship between the delay and the split weight may be set in other manners. For example, when the preset delay exceeds a certain value, the split weight is set to 0 or the like.
  • the shunt weight is set to 1:1, that is, the shunt is performed by a weight of 1:1 by default.
  • the preset abnormal conditions include, but are not limited to, when the maximum rate is not greater than the preset value, and the time delay of the interface is not detected.
  • the newly established link in the data transmission process can be allocated to each interface according to the real-time split weight to perform data service transmission. Therefore, in the embodiment of the present invention, a current routing rule can be established according to the real-time offload weight. Current road The difference between the rule and the initial routing rule is that the current routing rule is based on the calculated real-time offload weight, and the established link is assigned to each of the connected state interfaces.
  • the number of links established is nine, and the calculated real-time split weight is 3:4:2, the number of links allocated to the first interface for transmission is adjusted to three, and the number is allocated to The number of links for transmission on the second interface is adjusted to four, and the number of links allocated for transmission to the third interface is adjusted to two.
  • the linked data packet may be marked by means of marking the link data packet.
  • the link data packet may be marked by means of marking the link data packet.
  • the Mark value in Table 1 is the tag value of the packet in each link.
  • the first data packet of each link is marked, and the subsequent data packets are transmitted according to the interface of the first data packet.
  • the data packet is first acquired, and it is determined whether the link tracking state of the data packet is a preset state.
  • the preset state is the NEW state, that is, whether it is the first data packet of a certain link;
  • the packet is marked according to the interface to which the link is assigned, and the tag value is saved. Specifically, it may be saved in the corresponding link tracking mark; if it is not the preset state (ie, not the first data packet), the saved tag value of the first data packet of the link is given to the data packet, and according to the data The tag value of the packet, which is assigned to the corresponding interface for transmission.
  • the data packet tag value in the embodiment of the present invention has a double meaning.
  • the link to which the data packet belongs can be determined, and second, it can be determined which interface the data packet should go to.
  • a link that has been assigned to the corresponding interface is transmitted through the interface until completion.
  • the link transmitted through the interface is aborted, and the data transmission of the link is continued by creating a new link.
  • the data size of a link needs to be transmitted is 1M
  • the change will be reflected in the current routing rule, and the weight of the offload will change.
  • the newly created link will be assigned to the corresponding interface according to the current routing rule to continue the transmission of the remaining 0.5M data.
  • the interface is closed and the current routing rule is deleted.
  • saved routing rules can be used for the next data transmission.
  • the initially established links are allocated according to the 1:1 split weight, and the newly established connections are allocated based on the calculated split weights, so that the allocation efficiency can be improved, and the interface utilization rate and the transmission rate can be improved.
  • the second case: "established link” is a link established at the beginning, that is, when a data service is detected, the initially established link is transmitted to the corresponding interface according to the calculated split weight.
  • the offload weight is based on the real-time offload weight calculated based on the rate and delay of the interface during the last data transmission. In an embodiment of the invention, this is referred to as a pre-stored split weight.
  • a pre-stored split weight Specifically, if the network environment in which the terminal is located does not change greatly, for example, if the location of the terminal does not change, and the interval between two data transmissions is less than 10 s, when a new data transmission is performed, the upper data may be used.
  • the weight of the split for one data transfer. Whether the location of the terminal changes or not can be obtained by a module such as GPS in the terminal.
  • the interval between two data transmissions can be obtained by a module such as a timer.
  • the data transmission method of the embodiment of the present invention specifically includes: the terminal detects the connectivity of each interface in real time; when the terminal detects that there is data to be transmitted, the terminal allocates the established multiple links to be connected based on the pre-stored split weight.
  • the interface of the state is used for data transmission; in the transmission process of the data service, the weight of the offload is calculated according to the rate and delay of the interface, or the rate is calculated according to the rate of the interface.
  • the flow weight is based on the calculated real-time split weight, and the newly-added link is allocated to the interface in the connected state according to the real-time split weight for data transmission.
  • the pre-stored offload weight is “the split weight of the last data transmission”, which is specifically the split weight of the most recent data transmission of the current data transmission.
  • the shunt weights are calculated at the time of the last data transmission and the corresponding routing rules are saved for use.
  • the initially established link is transmitted according to the saved split weight and routing rule.
  • each is calculated according to the rate and delay of the interface.
  • the offload weight of the interface and based on the calculated offload weight, adjust the number of links allocated to each interface. This process has been described in detail in the first case above, and will not be described again here.
  • the initially established links are not allocated according to the 1:1 split weight, but based on the saved split weights and routing rules, which can optimize the allocation of links and improve interface utilization and transmission rate.
  • the terminal acquiring resources (for example, downloading an application) from the receiving device. If the terminal uploads the resource to the receiving device, the data transmission method is similar to the foregoing, except that After the link is established, the process of data transmission is to send data from each corresponding interface to the receiving device through the established link.
  • the terminal or the receiving device When the data transmission is completed, the terminal or the receiving device synthesizes the data received through each link to obtain a complete data resource.
  • the data transmission method performs offloading based on the interface rate and the delay, thereby realizing the simultaneous transmission of data by using multiple data channels, and greatly optimizing the distribution ratio of the data stream; since the rate reflects the interface to a certain extent
  • the size of the bandwidth the interface with a large bandwidth should carry more data streams, so that a large amount of data is not easily circulated from the interface with a small bandwidth, causing congestion of the interface with small bandwidth, resulting in large delay and packet loss.
  • Embodiment 2 of the present invention The difference between Embodiment 2 of the present invention and the above embodiment is that when calculating the offload weight in Embodiment 2, only the rate of the interface is used, regardless of the delay.
  • the data transmission method of the embodiment of the present invention includes:
  • Step S21 The terminal detects the connectivity of each interface in real time.
  • detecting the connectivity of the interface means detecting whether the data channel is connected. For example, detecting the connectivity of the WIFI interface, that is, detecting whether the WIFI network can be accessed through the WIFI data channel for data transmission.
  • the interface includes, but is not limited to, a WIFI interface, an LTE interface, a 3G interface, and the like.
  • the number of interfaces may be multiple, and the types of interfaces may be multiple.
  • the interface may include two LTE interfaces and two WIFI interfaces.
  • interface connectivity detection proceeds as follows:
  • a ping message is sent from each interface every first preset time (for example, 10 seconds).
  • the destination IP address of the ping is the address of a fixed DNS server, for example, 114.114.114.114.
  • the interface is marked as down, and if a reply is received, the interface is marked as connected (UP).
  • the interface if the interface is in a connected state and waits for a preset duration to receive no reply, the interface is marked as not connected. If the interface is in the disconnected state and waits for the preset duration to receive a reply, the link is considered to be connected and the interface is marked as connected.
  • the interface can be added to the list of available interfaces; if an interface is down, it is not added to the available interface list or from the available interface. Remove from the list.
  • connectivity of the interface is only described by way of example, and is not used in the protection scope of the embodiment of the present invention.
  • the connectivity of the interface may also be performed in other manners, for example, by sending an empty data packet.
  • Step S22 When the terminal detects that there is a data service, multiple links are established.
  • Establishing a link means establishing a link between the terminal 100 and other terminals or servers, for example, establishing a link through a three-way handshake.
  • the number of links can be set according to actual conditions, for example, the maximum number of links that the terminal 100 can support, the amount of data of the data service, and the like.
  • connection request message The establishment of the link here refers to the generation of a connection request message. It should be understood that how many connection request messages need to be generated, how many link requests need to be created.
  • the terminal allocates the established link to the interface in the connected state to perform data service transmission with the receiving device according to the split weight.
  • the offload weight includes an initial split weight of 1:1 and a real-time split weight calculated according to the interface rate. The following two cases are described separately:
  • an initial routing rule may be established according to the connectivity of the interface.
  • the initial routing rule can be established in a uniform manner, that is, according to the initial split weight of 1:1, the number of links to be transmitted allocated by the interface in the connected state is the same. For example, if three interfaces are in the connected state and the number of links established by the terminal 100 is nine, the initial routing rule is that the first, second, and third links are transmitted through the first interface, and the fourth, fifth, and sixth links are passed through the first.
  • the second interface transmits, and the seventh, eighth and nine links are transmitted through the third interface.
  • connection request packets to be generated are distributed to each interface for transmission.
  • the receiving device receives the connection request message and replies with an acknowledgement message for each connection request message.
  • the acknowledgement message is respectively replied to the terminal via the corresponding interface.
  • the terminal receives the acknowledgment message through each interface and sends an acknowledgment message to establish multiple TCP links between the terminal and the receiving device for transmitting data.
  • the link established at the beginning of the transmission is allocated according to the initial routing rule. If the establishment of these links has completed the transfer of all resources, there is no need to create a new link to continue the transfer, otherwise a new link will be created for the transfer of resources until all resource transfers are completed. The newly created link will be assigned to the corresponding interface based on the calculated shunt weights as follows.
  • the first case: "established link” is the newly created link, that is, the newly established link for continuing to complete the transmission after being transmitted according to the initial routing rule.
  • the split weight is calculated according to the rate of the interface; and based on the calculated Divert the weights and adjust the interfaces assigned to each connected state. The number of links.
  • the data transmission method of the embodiment of the present invention specifically includes the following steps: the terminal detects the connectivity of each interface in real time; when the terminal detects that there is data to be transmitted, the terminal allocates multiple links to be established based on the initial split weight.
  • the interface of the connected state is used for data transmission; in the process of data transmission, the real-time split weight is calculated, and the newly established link is allocated to the interface in the connected state according to the real-time split weight for data transmission.
  • the data service to be downloaded may be divided into a plurality of data blocks of the same size or different size to be respectively transmitted through the established multiple links.
  • a 10M-sized APK can be divided into 10 data blocks, each of which has a size of 1M, and each data block is transmitted through a link.
  • the maximum number of links that the terminal 100 can establish is not necessarily equal to the divided data blocks, for example, the data block is 10, and the maximum number of links established is 5. Then when the transfer of a link is completed, a new link can be created to continue to transfer the remaining data. Therefore, in the embodiment of the present invention, the number of links allocated to the interface in the connected state is specifically: the newly-added link is allocated to the interface in the connected state according to the calculated split weight.
  • the split weights of the interfaces are calculated according to the rate of the interface, so that the newly established links are allocated to the interfaces according to the calculated split weights to achieve an optimized allocation ratio. Since the interface rate reflects the bandwidth of the interface to a certain extent, the interface with large bandwidth should carry more data streams, so that a large amount of data is not easily circulated from the interface with small bandwidth, thus alleviating the interface with small bandwidth. Congestion shortens the data transmission delay, reduces the packet loss, and improves the interface utilization and data transmission rate.
  • the interface is measured for speed every first preset time (for example, 1 second), and the split weight is calculated according to the rate corresponding to the interface every second preset time (for example, 5 seconds).
  • the rate detection of the interface may be performed in the following manner:
  • the interval of the number of interface bytes is obtained as the current rate of the interface every preset time (for example, 1 second). Specifically, if the rate of an interface is detected for the first time, the number of detected bytes is saved. If the rate of an interface is not detected for the first time, the number of interface bytes obtained is subtracted from the number of interface bytes obtained before, and the obtained difference is divided by the time of two detections. Current rate.
  • the calculation of the split weight according to the rate of the interface may be as follows:
  • the current real-time rate is assigned to the maximum rate (max_speed).
  • the detection of whether the interface is in a congested state is obtained by detecting the delay of the interface.
  • the delay detection method of the interface has the following two methods:
  • Manner 1 Send a set of ping packets through the interface every predetermined time (for example, 5 seconds) (for example, 5 packets per group, each of which is 64 Bytes), and obtain the delay of the interface according to the time difference of receiving the response. .
  • Manner 2 Calculate the delay by TCP three-way handshake. Specifically: when receiving a syn+ack packet, determine whether it is in the SYN_SEND state. If it is, obtain the current system time and subtract the current system time obtained. The time when the system sends the syn message to obtain a time difference. This time difference is the interface delay.
  • the interface is marked as being in a congested state. If the delay is less than a preset value, it is detected whether the syn message of the link is retransmitted. If the retransmission is repeated, the interface is marked as being in a congested state, and the delay value is set to 1000 ms; if not retransmitted If the interface is not in a congested state, the calculated delay value is used as the delay of the interface.
  • a predetermined value eg, 1000 ms
  • the shunt weight of the i-th interface the maximum rate of the i-th interface / (the maximum rate of the first interface + the maximum rate of the second interface + ... + the maximum rate of the i-th interface + ...
  • the foregoing method for calculating the split weight according to the interface rate may also adopt other manners, for example, pre-setting the relationship between the rate range and the split weight.
  • the split weight is 20%
  • the shunt weight is 80% and so on.
  • the newly established link in the data transmission process can be allocated to each interface according to the new real-time split weight for data service transmission. Therefore, in the embodiment of the present invention, a current routing rule can be established according to the real-time offload weight.
  • the difference between the current routing rule and the initial routing rule is that the current routing rule is based on the calculated diversion weight, and the established link is assigned to each of the connected state interfaces. For example, if there are three connected interfaces, the number of established links is 9, and the calculated split weight is 3:4:2, the number of links allocated to the first interface for transmission is adjusted to three, and is assigned to the second. The number of links transmitted by the interface is adjusted to four, and the number of links allocated to the third interface for transmission is adjusted to two.
  • the linked data packet may be marked by means of marking the link data packet.
  • the link data packet may be marked by means of marking the link data packet.
  • the first data packet of each link is marked, and the subsequent data packets are transmitted according to the interface of the first data packet.
  • the data packet is first acquired, and it is determined whether the link tracking state of the data packet is a preset state.
  • the preset state is the NEW state, that is, whether it is the first data packet of a certain link;
  • the packet is marked according to the interface to which the link is assigned, and the tag value is saved. Specifically, it may be saved in the corresponding link tracking mark; if it is not the preset state (ie, not the first data packet), the saved tag value of the first data packet of the link is given to the data packet, and according to the data The tag value of the packet, which is assigned to the corresponding interface for transmission.
  • the data packet tag value in the embodiment of the present invention has a double meaning.
  • the link to which the data packet belongs can be determined, and second, it can be determined which interface the data packet should go to.
  • a link that has been assigned to the corresponding interface is transmitted through the interface until completion.
  • the link transmitted through the interface is aborted, and the link is continued by creating a new link.
  • data transmission Specifically, for example, the size of the data to be transmitted by a certain link is 1M.
  • the corresponding transmission interface is abnormally interrupted, and the change will be reflected in the current routing rule, and the weight of the offload will change. In this way, after the new link is created, the newly created link will be assigned to the corresponding interface according to the current routing rule to continue the transmission of the remaining 0.5M data.
  • the interface is closed, and the current routing rule is deleted.
  • the initially established links are allocated according to the 1:1 split weight, and the newly established connections are allocated based on the calculated split weights, which can improve the allocation efficiency, improve the interface utilization rate and the transmission rate.
  • the second case: "established link” is a link established at the beginning, that is, when a data service is detected, the initially established link is transmitted to the corresponding interface according to the calculated split weight.
  • the offload weight is calculated based on the rate of the interface at the time of the last data transmission. Specifically, if the network environment in which the terminal is located does not change greatly, for example, when the location of the terminal does not change, and the interval between two data transmissions is less than 10 S, when a new data transmission is performed, the upper data may be used.
  • the weight of the split for one data transfer. Whether the location of the terminal changes or not can be obtained by a module such as GPS in the terminal.
  • the interval between two data transmissions can be obtained by a module such as a timer.
  • the data transmission method of the embodiment of the present invention specifically includes: the terminal detects the connectivity of each interface in real time; when the terminal detects that there is data to be transmitted, the terminal allocates the established multiple links to be connected based on the pre-stored split weight.
  • the status interface is used for data transmission; in the data service transmission process, the traffic weight is calculated according to the rate and delay of the interface, or the traffic weight is calculated according to the rate of the interface; and based on the calculated real-time traffic weight, the newly created link is The real-time offloading weight is assigned to the interface in the connected state for data transmission.
  • the pre-stored offload weight is “the split weight of the last data transmission”, which is specifically the split weight of the most recent data transmission of the current data transmission.
  • the shunt weights are calculated at the time of the last data transmission and the corresponding routing rules are saved for use.
  • the initially established link is transmitted according to the saved routing rule.
  • the offload weight of each interface is calculated according to the rate of the interface, and based on The calculated shunt weights are adjusted to adjust the number of links assigned to each interface. This process has been described in detail in the first case above, and will not be described again here.
  • the initially established link is not allocated according to the 1:1 split weight, but based on the saved split weight and routing rules, which can optimize the link allocation and improve the interface utilization and transmission rate.
  • the terminal acquiring resources (for example, downloading an application) from the receiving device. If the terminal uploads the resource to the receiving device, the data transmission method is similar to the foregoing, except that After the link is established, the process of data transmission is to send data from each corresponding interface to the receiving device through the established link.
  • the terminal or the receiving device When the data transmission is completed, the terminal or the receiving device synthesizes the data received through each link to obtain a complete data resource.
  • the data transmission method of the embodiment of the invention realizes the simultaneous transmission of data by using multiple data channels, and greatly optimizes the distribution ratio of the data stream; since the rate reflects the interface bandwidth to a certain extent, An interface with a large bandwidth should carry more data streams, so that a large amount of data is not easily circulated from an interface with a small bandwidth, causing congestion of an interface with a small bandwidth, resulting in a large delay, a packet loss condition, and an improved user authentication.
  • the embodiment of the invention further discloses a computer readable storage medium storing computer executable instructions for performing one or a combination of the above two data transmission methods.
  • FIG. 8 is a schematic structural diagram of a user equipment with dual L functions according to an embodiment of the present invention. As shown in FIG. 8, the method includes: a first user identification module 206, a second user identification module 306, and a first communication module 801. The second communication module 802, the switching module 803, the control module 804, the application processing module 202, the microphone 500, the codec 204, the digital signal processing chip 203, and the earpiece 600.
  • the first communication module 801 includes: a first protocol stack 201 and a first radio frequency 205.
  • the second communication module 802 includes a second protocol stack 301 and a second radio frequency 305.
  • the application processing module 202 is configured to provide a user interaction interface and refer to the user's operation The transmission is transmitted to the control module 804.
  • the control module 804 is configured to output the first control instruction and the second control instruction according to an operation instruction of the user.
  • the control module 804 is further configured to control the switching module 803 according to the first control instruction such that the first user identification module 206 or the second user identification module 306 is connected to the first communication module 801.
  • the first communication module 801 is configured to establish a data service connection with the 4G network for data service transmission, and for establishing a call connection through the 4G network for voice transmission.
  • the control module 804 is further configured to control the switching module 803 according to the second control instruction such that the first user identification module 206 or the second user identification module 306 is connected to the second communication module 802.
  • the second communication module 802 is configured to establish a data service connection with the 4G network for data service transmission.
  • the microphone 500 is configured to collect a voice signal; the codec 204 is configured to perform analog-to-digital conversion on the voice signal collected by the microphone; and the digital signal processing chip 203 is set to be code-decoded by the codec.
  • the signal is audio processed and transmitted to the first protocol stack 201; the first radio frequency 202 is arranged to transmit the signal processed by the first protocol stack 201 to the 4G network.
  • the first radio frequency 202 is further configured to receive a voice signal from the 4G network and transmit the signal to the first protocol stack 201.
  • the digital signal processing chip 203 is configured to perform audio processing on the signal processed by the first protocol stack 201 and transmit the code to the codec.
  • the codec 204 is arranged to perform analog-to-digital conversion on the signal from the digital signal processing chip; the earpiece 600 is arranged to output the voice signal processed by the codec 204.
  • the first protocol stack 201 is an LTE protocol stack
  • the 4G network is an LTE network
  • the second protocol stack 301 is an LTE protocol stack
  • the 4G network is an LTE network.
  • the user equipment of this embodiment can support dual LTE for data transmission.
  • dual LTE technology of this embodiment is only an exemplary one, and other technologies may also be used to implement dual LTE functions.
  • control module 804 is further configured to detect connectivity of the first communication module 801 and the second communication module 802, establish a routing rule, and when a data service is detected, establish multiple links, and the calculation is in communication.
  • the established link is assigned to the communication module in the connected state for the transmission of the data service.
  • the user equipment of the embodiment of the present invention is compatible with 3G and 2G.
  • the user equipment may further include at least one WIFI module (not shown) connected to the control module 804 for connecting to the WIFI network for data transmission.
  • the available data transmission interface of the user equipment of this embodiment includes a first LTE interface, a second LTE interface, and a WIFI interface.
  • the first LTE interface corresponds to the first communication module
  • the second LTE interface corresponds to the second communication module
  • the WIFI interface corresponds to the WIFI module.
  • the first LTE interface and the second LTE interface may also be replaced by the first 3G interface and the second 3G interface, respectively, or the first LTE interface and the second LTE interface may be respectively configured by the first 2G interface and the second 2G interface replacement.
  • the WIFI module may be one or more.
  • the interface of the embodiment of the present invention may include: a first LTE interface, a second LTE interface, a first WIFI interface, and a Two WIFI interfaces.
  • the control module 804 of the embodiment of the present invention is further configured to detect connectivity of each interface in real time based on the first LTE interface, the second LTE interface, the first WIFI interface, and the second WIFI interface; and when multiple data services are detected, multiple entries are established. Link; according to the split weight, the established link is assigned to the interface in the connected state for data service transmission.
  • the working principle of the user equipment in the embodiment of the present invention is: opening each interface and performing link connectivity detection in real time; if network switching occurs, re-setting the corresponding interface information. In this step, you can choose to set the state of some interfaces to off. For example, because the 2G transmission rate is slow, you can set its corresponding interface to off.
  • the interface is added to the list of available interfaces; if it is not connected, the interface is removed from the list of available interfaces or is not added to the list of available interfaces.
  • real-time detection of link connectivity may be performed by sending a ping message from each interface every 10 seconds, and pinging the destination IP address 114.114.114.114. This address is the address of a fixed DNS server. The maximum length of the ping message is 10 seconds. If the interface does not receive a response, the interface is considered to be in the down state and the interface is not down. If the reply is received within 10 seconds, if the interface is in the down state and the interface status is up, the interface can be offloaded.
  • the process can be implemented according to the step S2 in the above-mentioned embodiment 1 or the step S22 in the above-mentioned embodiment 2.
  • the implementation details can be referred to the above description, and details are not described herein again.
  • the established link is assigned to the interface in the connected state according to the split weight to perform data service transmission with another user equipment (for example, a server or the like).
  • another user equipment for example, a server or the like.
  • the process may be implemented according to the step S3 in the foregoing Embodiment 1 or the step S23 in the foregoing Embodiment 2.
  • the implementation details may be referred to the foregoing, and details are not described herein again.
  • the user equipment in the embodiment of the present invention has dual L functions, and is based on interface rate offloading, which greatly optimizes the proportion of data stream allocation, realizes simultaneous data transmission by using multiple data channels, and reduces delay, packet loss rate, and congestion. Rate, etc., improve the user experience.
  • the user equipment of the embodiments of the present invention may be implemented in various forms.
  • the user equipment described in the present invention may include, for example, a mobile phone, a mobile phone, a smart phone, a notebook computer, a digital broadcast receiver, a PDA (Personal Digital Assistant), a PAD (Tablet), a PMP (Portable Multimedia Player), navigation A mobile terminal of a device or the like.
  • PDA Personal Digital Assistant
  • PAD Tablett
  • PMP Portable Multimedia Player
  • the embodiment of the present invention further provides a data transmission apparatus, which is applicable to a terminal having multiple wireless data transmission interfaces, and the data transmission apparatus includes:
  • the detection module is configured to detect the connectivity of each interface in real time
  • the initial shunt module is configured to, when detecting that there is data to be transmitted, allocate the established multiple links to the interface in the connected state for data transmission based on the initial shunt weight;
  • the real-time shunt module is configured to calculate a real-time shunt weight in the process of data transmission, and allocate the newly established link to the interface in the connected state according to the real-time shunt weight for data transmission.
  • the embodiment of the present invention further provides a data transmission apparatus, which is applicable to a terminal having multiple wireless data transmission interfaces, and the data transmission apparatus includes:
  • the detection module is configured to detect the connectivity of each interface in real time
  • the offload transmission module is configured to, when detecting that data needs to be transmitted, allocate the established multiple links to the interface in the connected state for data transmission based on the pre-stored offload weights.
  • Any process or method description in the flowcharts or otherwise described in the embodiments of the invention may be understood to represent code that includes one or more executable instructions for implementing the steps of a particular logical function or process. Modules, segments or portions, and the scope of the embodiments of the invention includes additional implementations, in which the functions may be performed in a substantially simultaneous manner or in an inverse order depending on the functions involved, in the order shown or discussed. This should be understood by those skilled in the art of the embodiments of the present invention. Further, in the description of the present invention, the meaning of "a plurality" is two or more unless otherwise specified.
  • the data transmission method, device and user equipment provided by the embodiments of the present invention allocate links for each interface based on the traffic weights, thereby realizing the simultaneous transmission of data by using multiple data channels, greatly optimizing the distribution ratio of the data streams, and reducing the congestion of the interfaces. , delay and packet loss rate, improve user authentication.

Landscapes

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

Abstract

A data transmission method, apparatus, and user device, the data transmission method comprising: a terminal detects in real time the connectivity of each port; when detecting that data requires transmission, and on the basis of an initial flow division weighting, the terminal allocates a plurality of established links to ports in a connected state to implement data transmission; during the data transmission process, calculating in real-time the flow division weighting, and on the basis of the real-time flow division weighting, allocating newly established links to ports in a connected state to implement data transmission. The beneficial effects of the embodiments of the present invention are: allocating links to each port on the basis of flow division weighting, implementing simultaneous transmission of data using a plurality of data channels, and greatly optimising the data flow allocation ratio, thus reducing the congestion, delay, and packet loss rate of the ports, and improving the user experience.

Description

数据传输方法、装置及用户设备Data transmission method, device and user equipment 技术领域Technical field
本发明实施例涉及但不限于通信技术领域,尤指一种数据传输方法、装置及用户设备。The embodiments of the present invention relate to, but are not limited to, the field of communications technologies, and in particular, to a data transmission method, apparatus, and user equipment.
背景技术Background technique
随着移动通信技术的发展,先进的蜂窝网络,如基于长期演进(LTE)标准的网络,一些第四代移动通信技术(4G)网络所使用的标准的网络等正在全世界部署。由于引入了正交频分复用(OFDM,Orthogonal Frequency Division Multiplexing)和多输入多输出(MIMO,Multi-Input&Multi-Output)等关键技术,利用LTE标准可显著增加频谱效率和数据传输速率。With the development of mobile communication technologies, advanced cellular networks, such as those based on the Long Term Evolution (LTE) standard, standard networks such as those used in some fourth generation mobile communication technology (4G) networks are being deployed worldwide. Due to the introduction of key technologies such as Orthogonal Frequency Division Multiplexing (OFDM) and Multi-Input & Multi-Output (MIMO), the LTE standard can significantly increase the spectrum efficiency and data transmission rate.
终端利用蜂窝网络进行数据传输如下载和上传,可极大改善用户的上网体验。但是,随着技术的发展,高清影视、游戏等大流量的应用层出不穷,如果还只是利用单数据通道进行数据传输,由于数据通道的最大容量限制,是不能满足用户日益增长的对传输速率的需求的。The terminal uses the cellular network for data transmission such as downloading and uploading, which can greatly improve the user's online experience. However, with the development of technology, high-definition video, games and other large-volume applications are emerging one after another. If only a single data channel is used for data transmission, due to the maximum capacity limitation of the data channel, the user's increasing demand for transmission rate cannot be met. of.
发明内容Summary of the invention
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。The following is an overview of the topics detailed in this document. This Summary is not intended to limit the scope of the claims.
本发明实施例提供一种数据传输方法、装置及用户设备,能够满足用户日益增长的对传输速率的需求。The embodiment of the invention provides a data transmission method, device and user equipment, which can meet the increasing demand of the user for the transmission rate.
本发明实施例提供了一种数据传输方法,适用于具有多个无线数据传输接口的终端,包括:The embodiment of the invention provides a data transmission method, which is applicable to a terminal having multiple wireless data transmission interfaces, including:
终端实时检测各无线数据传输接口的连通性;The terminal detects the connectivity of each wireless data transmission interface in real time;
终端检测到有数据需要传输时,基于初始分流权重,将建立的多条链接分配到处于连通状态的无线数据传输接口以进行数据传输;When detecting that there is data to be transmitted, the terminal allocates the established multiple links to the wireless data transmission interface in the connected state for data transmission based on the initial split weight;
在数据传输的过程中,计算实时分流权重,并根据实时分流权重将新建立的链接分配到处于连通状态的无线数据传输接口以进行数据传输。 In the process of data transmission, the real-time shunt weight is calculated, and the newly established link is allocated to the wireless data transmission interface in the connected state according to the real-time shunt weight for data transmission.
可选地,所述终端检测到有数据需要传输时,基于初始分流权重,将建立的多条链接分配到处于连通状态的接口以进行数据传输,包括:Optionally, when the terminal detects that data needs to be transmitted, the multiple links that are established are allocated to the interface in the connected state for data transmission, according to the initial split weight, including:
所述终端检测到有数据需要传输时,将生成的多个连接请求报文均分到处于连通状态的无线数据传输接口进行发送;When the terminal detects that there is data to be transmitted, the multiple connection request messages are evenly distributed to the wireless data transmission interface in the connected state for transmission;
通过所述终端的各个无线数据传输接口接收接收设备回复的确认报文,以在终端和接收设备间建立多条用于传输数据的链接。Receiving, by the respective wireless data transmission interfaces of the terminal, an acknowledgement message replied by the receiving device, to establish a plurality of links for transmitting data between the terminal and the receiving device.
可选地,所述在数据传输的过程中,计算实时分流权重,并根据实时分流权重将新建立的链接分配到处于连通状态的接口以进行数据传输,包括:Optionally, in the process of data transmission, the real-time offload weight is calculated, and the newly established link is allocated to the interface in the connected state according to the real-time split weight for data transmission, including:
在所述数据业务的传输过程中,根据所述无线数据传输接口的速率和时延计算所述分流权重,或根据所述无线数据传输接口的速率计算所述分流权重;The split weight is calculated according to the rate and the delay of the wireless data transmission interface, or the split weight is calculated according to the rate of the wireless data transmission interface;
基于计算得到的实时分流权重,将所述新建的链接按照实时分流权重分配到处于连通状态的无线数据传输接口以进行数据传输。Based on the calculated real-time offload weight, the newly created link is allocated according to the real-time split weight to the wireless data transmission interface in the connected state for data transmission.
可选地,所述方法还包括:Optionally, the method further includes:
若所述数据的传输过程中,处于连通状态的无线数据传输接口变为未连通状态,则通过该无线数据传输接口传输的链接被中止;If the wireless data transmission interface in the connected state becomes disconnected during the transmission of the data, the link transmitted through the wireless data transmission interface is suspended;
并通过所述新建链接的方式继续该链接的数据传输。And continuing the data transmission of the link by means of the new link.
可选地,所述方法还包括检测所述无线数据传输接口的状态,包括:Optionally, the method further includes detecting a status of the wireless data transmission interface, including:
每隔第一预设时间,从每个无线数据传输接口发一个ping报文到预设服务器;Sending a ping message from each wireless data transmission interface to the preset server every first preset time;
等待第二预设时间,若未收到回复信息,则该无线数据传输接口处于未连通状态,若收到回复信息,则该无线数据传输接口处于连通状态。Waiting for the second preset time, if the reply message is not received, the wireless data transmission interface is in a disconnected state, and if the reply message is received, the wireless data transmission interface is in a connected state.
可选地,所述方法还包括:每隔预设时间,获取所述无线数据传输接口的字节数的变化以作为无线数据传输接口的当前速率。Optionally, the method further includes: acquiring, at a preset time, a change in the number of bytes of the wireless data transmission interface as a current rate of the wireless data transmission interface.
可选地,所述方法还包括:Optionally, the method further includes:
所述计算实时分流权重之前,检测所述无线数据传输接口是否处于拥塞状态,若是,则判断所述无线数据传输接口的当前速率是否大于该接口的最 大速率,若不大于最大速率,则将当前速率加上一预设值后与最大速率比较,若小于最大速率,则将当前速率作为所述无线数据传输接口的最大速率;Before the real-time offloading weight is calculated, detecting whether the wireless data transmission interface is in a congested state, and if yes, determining whether a current rate of the wireless data transmission interface is greater than a maximum of the interface If the rate is not greater than the maximum rate, the current rate is added to a preset value and then compared with the maximum rate. If the current rate is less than the maximum rate, the current rate is used as the maximum rate of the wireless data transmission interface.
若所述无线数据传输接口不处于拥塞状态,且当前速率大于最大速率,则将当前速率作为所述无线数据传输接口的最大速率。If the wireless data transmission interface is not in a congested state and the current rate is greater than the maximum rate, the current rate is used as the maximum rate of the wireless data transmission interface.
可选地,所述计算实时分流权重包括:Optionally, the calculating real-time offload weights includes:
将所述最大速率与预设值进行比较,若所述最大速率大于预设值,则根据所述无线数据传输接口的最大速率计算分流权重;若所述最大速率不大于预设值,则根据所述无线数据传输接口的延时来确定分流权重。Comparing the maximum rate with a preset value, if the maximum rate is greater than a preset value, calculating a split weight according to a maximum rate of the wireless data transmission interface; if the maximum rate is not greater than a preset value, according to the The delay of the wireless data transmission interface determines the split weight.
可选地,任一所述无线数据传输接口的分流权重为该无线数据传输接口的最大速率与所有接口的最大速率之和的比值。Optionally, the offload weight of any of the wireless data transmission interfaces is a ratio of a maximum rate of the wireless data transmission interface to a sum of maximum rates of all interfaces.
可选地,当通过一所述无线数据传输接口接收到一个syn+ack报文时,判断是否处于SYN_SEND状态,若处于SYN_SEND状态,则获取当前的系统时间,并将获取的当前系统时间减去系统发送syn报文的时间,获得的时间差为所述无线数据传输接口的时延。Optionally, when a syn+ack message is received through a wireless data transmission interface, it is determined whether it is in the SYN_SEND state, and if it is in the SYN_SEND state, the current system time is obtained, and the obtained current system time is subtracted. The time when the system sends the syn message, and the obtained time difference is the delay of the wireless data transmission interface.
可选地,所述方法还包括:Optionally, the method further includes:
每隔预设时间通过每一所述无线数据传输接口分别发一组ping报文,并根据接收到回复信息的时间差获取所述无线数据传输接口的时延。A set of ping messages is sent through each of the wireless data transmission interfaces at a preset time, and the time delay of the wireless data transmission interface is obtained according to the time difference of receiving the reply information.
可选地,所述无线数据传输接口的时延与该无线数据传输接口的分流权重成反比。Optionally, the delay of the wireless data transmission interface is inversely proportional to the weight of the traffic of the wireless data transmission interface.
可选地,所述方法还包括:Optionally, the method further includes:
获取每一所述链接的数据包,并判断获取的数据包的链接跟踪状态是否为第一个数据包;Obtaining each of the linked data packets, and determining whether the link tracking status of the obtained data packet is the first data packet;
如果为第一个数据包,则根据所述分流权重,对该数据包进行标记,并将标记值保存;如果不是第一个数据包,则将保存的该链接的第一个数据包的标记值赋予该数据包;If it is the first data packet, the data packet is marked according to the traffic weight, and the tag value is saved; if it is not the first data packet, the tag of the first data packet of the link is saved. The value is assigned to the data packet;
所述方法还包括:根据数据包的标记值,将数据包分配至相应的所述无线数据传输接口进行传输。 The method further includes allocating the data packet to the corresponding wireless data transmission interface for transmission according to the tag value of the data packet.
可选地,所述多个无线数据传输接口包括以下接口中的至少一者:第一长期演进LTE接口、第二LTE接口、第一无线局域网WIFI接口和第二WIFI接口。Optionally, the multiple wireless data transmission interfaces include at least one of the following interfaces: a first long term evolution LTE interface, a second LTE interface, a first wireless local area network WIFI interface, and a second WIFI interface.
本发明实施例又提供了一种数据传输方法,适用于具有多个无线数据传输接口的终端,包括:The embodiment of the invention further provides a data transmission method, which is applicable to a terminal having multiple wireless data transmission interfaces, including:
终端实时检测各无线数据传输接口的连通性;The terminal detects the connectivity of each wireless data transmission interface in real time;
终端检测到有数据需要传输时,基于预存的分流权重,将建立的多条链接分配到处于连通状态的无线数据传输接口以进行数据传输。When the terminal detects that there is data to be transmitted, the established multiple links are allocated to the wireless data transmission interface in the connected state for data transmission based on the pre-stored offload weights.
可选地,所述预存的分流权重为所述终端上一次数据传输时所采用的实时分流权重。Optionally, the pre-stored offload weight is a real-time offload weight used by the terminal in the last data transmission.
可选地,所述方法还包括:Optionally, the method further includes:
在数据业务的传输过程中,根据所述无线数据传输接口的速率和时延计算分流权重,或者根据所述无线数据传输接口的速率计算分流权重;During the transmission of the data service, the offload weight is calculated according to the rate and delay of the wireless data transmission interface, or the split weight is calculated according to the rate of the wireless data transmission interface;
并基于计算得到的实时分流权重,将新建的链接按照实时分流权重分配到处于连通状态的所述无线数据传输接口以进行数据传输。And based on the calculated real-time split weight, the newly-added link is allocated according to the real-time split weight to the wireless data transmission interface in the connected state for data transmission.
本发明实施例再提供了一种用户设备,包括第一用户识别模块和第二用户识别模块,还包括:The embodiment of the present invention further provides a user equipment, including a first user identification module and a second user identification module, and further includes:
第一通信模块;First communication module;
第二通信模块;a second communication module;
切换模块;和Switching module; and
控制模块,设置为根据用户的操作指令,输出第一控制指令和第二控制指令;The control module is configured to output the first control instruction and the second control instruction according to the operation instruction of the user;
所述控制模块还设置为根据所述第一控制指令,控制所述切换模块,使得所述第一用户识别模块或所述第二用户识别模块与所述第一通信模块连接;The control module is further configured to control the switching module according to the first control instruction, so that the first user identification module or the second user identification module is connected to the first communication module;
所述第一通信模块设置为建立与LTE网络的数据业务连接,以进行数据业务传输; The first communication module is configured to establish a data service connection with the LTE network for data service transmission;
所述控制模块还设置为根据所述第二控制指令,控制所述切换模块,使得所述第一用户识别模块或所述第二用户识别模块与所述第二通信模块连接;The control module is further configured to control the switching module according to the second control instruction, so that the first user identification module or the second user identification module is connected to the second communication module;
所述第二通信模块设置为建立与LTE网络的数据业务连接,以进行数据业务传输;The second communication module is configured to establish a data service connection with the LTE network for data service transmission;
所述控制模块还设置为检测第一通信模块和第二通信模块的连通性;检测到有数据需要传输时,基于初始分流权重,将建立的多条链接分配到处于连通状态的通信模块以进行数据传输;在数据传输的过程中,计算实时分流权重,并根据实时分流权重将新建立的链接分配到处于连通状态的通信模块以进行数据传输。The control module is further configured to detect connectivity of the first communication module and the second communication module; when detecting that data needs to be transmitted, assign the established multiple links to the communication module in the connected state based on the initial split weight Data transmission; in the process of data transmission, the real-time shunt weight is calculated, and the newly established link is allocated to the communication module in the connected state according to the real-time shunt weight for data transmission.
可选地,所述用户设备还包括:Optionally, the user equipment further includes:
两个WIFI模块,设置为连接到WIFI网络以进行数据传输;Two WIFI modules, configured to connect to a WIFI network for data transmission;
所述控制模块,还设置为实时检测各接口的连通性;检测到有数据需要传输时,基于初始分流权重,将建立的多条链接分配到处于连通状态的无线数据传输接口以进行数据传输;在数据传输的过程中,计算实时分流权重,并根据实时分流权重将新建立的链接分配到处于连通状态的无线数据传输接口以进行数据传输;The control module is further configured to detect connectivity of each interface in real time; when detecting that data needs to be transmitted, the established multiple links are allocated to the wireless data transmission interface in the connected state for data transmission based on the initial split weight; In the process of data transmission, calculating the real-time shunt weight, and assigning the newly established link to the wireless data transmission interface in the connected state according to the real-time shunt weight for data transmission;
所述无线数据传输接口包括:与所述第一通信模块相对应的第一LTE接口、与所述第二通信模块相对应的第二LTE接口、以及分别与所述两个WIFI模块对应的第一WIFI接口和第二WIFI接口。The wireless data transmission interface includes: a first LTE interface corresponding to the first communication module, a second LTE interface corresponding to the second communication module, and a corresponding to the two WIFI modules respectively A WIFI interface and a second WIFI interface.
本发明实施例还公开一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述两种业务协商方法之一或组合。The embodiment of the invention further discloses a computer readable storage medium storing computer executable instructions for performing one or a combination of the above two service negotiation methods.
实施本发明的数据传输方法、装置及用户设备,具有以下有益效果:基于接口速率分流,或基于接口速率和时延分流,实现利用多条数据通道同时传输数据,极大的优化了数据流的分配比例;由于速率在一定程度上体现了接口带宽的大小,带宽大的接口本应承载更多的数据流,从而不容易出现大量数据从带宽小的接口流通,缓解了带宽小的接口的拥塞,缩短了数据传输延时,也减少了丢包的状况,提高了用户验;另一方面,突破了当前市场只 能利用单个用户识别模块来进行数据业务传输的局限,提高了数据传输的最大速率,让用户可通过更优的链路进行数据业务传输。The data transmission method, device and user equipment embodying the invention have the following beneficial effects: based on interface rate offloading, or based on interface rate and delay shunt, realizing data transmission by using multiple data channels simultaneously, greatly optimizing data flow. Distribution ratio; since the rate reflects the bandwidth of the interface to a certain extent, the interface with large bandwidth should carry more data streams, so that it is not easy to have a large amount of data flowing from the interface with small bandwidth, which alleviates the congestion of the interface with small bandwidth. , shortening the data transmission delay, reducing the situation of packet loss, improving the user test; on the other hand, breaking through the current market only The single user identification module can be used to carry out the limitation of data service transmission, and the maximum rate of data transmission is improved, so that users can transmit data services through better links.
在阅读并理解了附图和详细描述后,可以明白其他方面。Other aspects will be apparent upon reading and understanding the drawings and detailed description.
附图概述BRIEF abstract
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:The drawings described herein are intended to provide a further understanding of the invention, and are intended to be a part of the invention. In the drawing:
图1是本发明一实施例的终端的结构示意图;1 is a schematic structural diagram of a terminal according to an embodiment of the present invention;
图2是本发明一实施例的操作系统的架构图;2 is a block diagram of an operating system according to an embodiment of the present invention;
图3是本发明一实施例的网络架构示意图;3 is a schematic diagram of a network architecture according to an embodiment of the present invention;
图4是本发明一实施例的数据传输方法的流程示意图;4 is a schematic flow chart of a data transmission method according to an embodiment of the present invention;
图5是本发明一实施例中对接口连通性进行检测的流程示意图;FIG. 5 is a schematic flowchart of detecting interface connectivity according to an embodiment of the present invention; FIG.
图6是本发明一实施例的数据传输方法的流程图;6 is a flowchart of a data transmission method according to an embodiment of the present invention;
图7是本发明一实施例中对数据包进行标记的流程示意图;7 is a schematic flow chart of marking a data packet in an embodiment of the present invention;
图8是本发明一实施例的具有双L功能的用户设备的结构示意图。FIG. 8 is a schematic structural diagram of a user equipment having a dual L function according to an embodiment of the present invention.
本发明的较佳实施方式Preferred embodiment of the invention
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。For a better understanding of the technical features, objects and effects of the present invention, the embodiments of the present invention are described in detail with reference to the accompanying drawings.
图1为本发明一实施例的终端的结构示意图,如图1所示,终端100可以具有诸如个人计算机,例如:膝上型计算机、上网本计算机、平板计算机等)、蜂窝电话、个人数字助理(PDA)、数字录像机(DVR)、因特网家电、游戏控制台、电子阅读机等各种配置中的任意一种。终端100的架构可以包括处理器1、通信模块2、存储器4和用户识别模块5。应理解,此外,终端100还可包括:显示屏、扬声器、听筒、相机、电源管理等等,用于执行相应的功能。1 is a schematic structural diagram of a terminal according to an embodiment of the present invention. As shown in FIG. 1, the terminal 100 may have a personal computer such as a laptop computer, a netbook computer, a tablet computer, etc., a cellular phone, and a personal digital assistant ( Any of various configurations such as PDA), digital video recorder (DVR), Internet home appliances, game consoles, and electronic readers. The architecture of the terminal 100 may include a processor 1, a communication module 2, a memory 4, and a subscriber identity module 5. It should be understood that, in addition, the terminal 100 may further include: a display screen, a speaker, an earpiece, a camera, a power management, and the like for performing corresponding functions.
存储器4可以存储由处理器1执行的操作系统、处理和控制操作的软件 程序等等。存储器4可以包括至少一种类型的存储介质,所述存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等等。而且,终端100可以与通过网络连接执行存储器4的存储功能的网络存储装置协作。The memory 4 can store software for operating system, processing, and control operations performed by the processor 1. Programs and more. The memory 4 may include at least one type of storage medium including a flash memory, a hard disk, a multimedia card, a card type memory (eg, SD or DX memory, etc.), a random access memory (RAM), a static random access memory ( SRAM), read only memory (ROM), electrically erasable programmable read only memory (EEPROM), programmable read only memory (PROM), magnetic memory, magnetic disk, optical disk, and the like. Moreover, the terminal 100 can cooperate with a network storage device that performs a storage function of the memory 4 through a network connection.
处理器1是终端通信功能和系统控制的核心,主要负责完成两方面的工作,一是完成协议栈物理层的基带处理能力,包括数字联合检测、调制/解调、交织/解交织、信道编码/译码、脉冲整形等;二是处理操作系统、驱动软件、人机界面、应用程序等。同时处理器还有管理各种外设和接口的能力。The processor 1 is the core of the terminal communication function and system control, and is mainly responsible for completing the two aspects of work. First, the baseband processing capability of the physical layer of the protocol stack is completed, including digital joint detection, modulation/demodulation, interleaving/deinterleaving, and channel coding. / decoding, pulse shaping, etc.; the second is to deal with operating systems, driver software, human-machine interfaces, applications, and so on. At the same time, the processor has the ability to manage various peripherals and interfaces.
在本发明的实施例中,通信模块2通常包括一个或多个组件,其允许终端100与无线通信系统或网络之间的无线电通信。例如,通信模块2包括第一通信模块21、第二通信模块22、第三通信模块23等等。在一个实施例中,第一通信模块21可为WIFI模块。WIFI模块根据WIFI方法执行通信,由此,本发明实施例的终端100可通过WIFI网络进行数据传输。In an embodiment of the invention, communication module 2 typically includes one or more components that permit radio communication between terminal 100 and a wireless communication system or network. For example, the communication module 2 includes a first communication module 21, a second communication module 22, a third communication module 23, and the like. In one embodiment, the first communication module 21 can be a WIFI module. The WIFI module performs communication according to the WIFI method. Thus, the terminal 100 of the embodiment of the present invention can perform data transmission through the WIFI network.
第二通信模块22可为移动通信模块。移动通信模块被配置为将通信交换信令发射到无线通信系统中的一个或多个基站或其它装置,或从一个或多个基站或其它装置接收通信交换信令。例如,移动通信模块2可包括发射器、接收器、发射链组件及接收链组件中的一者或多者。在一些实施例中,移动通信模块2可为根据诸如IEEE、Zigbee、3G(第三代)、3GPP(第三代合作项目)和LTE(长期演进)这样的各种通信标准执行通信的芯片。由此,本发明实施例的终端100可通过移动通信网络(例如,2G、3G或4G等移动通信网络)进行数据传输。The second communication module 22 can be a mobile communication module. The mobile communication module is configured to transmit communication exchange signaling to one or more base stations or other devices in the wireless communication system, or to receive communication exchange signaling from one or more base stations or other devices. For example, the mobile communication module 2 can include one or more of a transmitter, a receiver, a transmit chain component, and a receive chain component. In some embodiments, the mobile communication module 2 may be a chip that performs communication according to various communication standards such as IEEE, Zigbee, 3G (third generation), 3GPP (3rd Generation Partnership Project), and LTE (Long Term Evolution). Thus, the terminal 100 of the embodiment of the present invention can perform data transmission through a mobile communication network (for example, a mobile communication network such as 2G, 3G, or 4G).
第三通信模块23同样可为WIFI模块或移动通信模块。由此,本发明实施例的终端100可包括一个或多个WIFI模块、一个或多个移动通信模块。The third communication module 23 can also be a WIFI module or a mobile communication module. Thus, the terminal 100 of the embodiment of the present invention may include one or more WIFI modules, one or more mobile communication modules.
应理解,通信模块2还可包括蓝牙模块、NFC模块等等,用于实现相应的无线通信功能。It should be understood that the communication module 2 may further include a Bluetooth module, an NFC module, or the like for implementing a corresponding wireless communication function.
用户识别模块5可管理与第一技术标准相关联的用户。用户识别模块5可具有一个或多个相关的电话号码。终端100可通过用户识别模块5和移动 通信模块经由基站在网络中通信。The subscriber identity module 5 can manage users associated with the first technical standard. The subscriber identity module 5 can have one or more associated telephone numbers. The terminal 100 can pass the user identification module 5 and move The communication module communicates in the network via the base station.
在一个实施例中,用户识别模块5可为一个或多个。应理解,用户识别模块5的数量是和移动通信模块的数量相关联的。例如,当终端100包括两个移动通信模块时,一般包括两个用户识别模块5,以实现双卡双通;当终端100包括一个移动通信模块时,可包括一个(单卡单通)或两个(双卡单待)用户识别模块5。In one embodiment, the subscriber identity module 5 can be one or more. It should be understood that the number of subscriber identity modules 5 is associated with the number of mobile communication modules. For example, when the terminal 100 includes two mobile communication modules, generally two user identification modules 5 are included to implement dual card dual communication; when the terminal 100 includes a mobile communication module, one (single card single pass) or two may be included. (Double card single standby) user identification module 5.
参见申请号为201510671407.1、201510675596.X以及申请号为201510827714.4的发明专利申请,其分别详细介绍了采用不同的技术方案实现终端可利用双LTE进行数据传输的技术方案。基于上述三篇在先申请,本发明实施例中的终端100可实现利用一条或两条LTE数据通道进行数据传输。应理解,也可采用其他的方式实现双LTE进行数据传输,例如,直接采用具有此功能的芯片、外接用户识别模块等方式。See the invention patent application with the application number 201510671407.1, 201510675596.X and the application number 201510827714.4, which respectively introduces the technical solutions for realizing the data transmission of the terminal using dual LTE by using different technical solutions. Based on the above three prior applications, the terminal 100 in the embodiment of the present invention can implement data transmission by using one or two LTE data channels. It should be understood that the dual LTE data transmission may also be implemented in other manners, for example, directly adopting a chip having the function, an external subscriber identity module, and the like.
基于上述的描述,本发明实施例的终端100至少可利用以下方式中的一者或多者进行数据传输:WIFI数据通道(可为一条或多条)、LTE数据通道(可为一条或多条)、3G数据通道(可为一条或多条)、2G数据通道(可为一条或多条)。应理解,在某些情况下,一些数据通道并不能共存,例如,对于同一移动通信模块,其只能提供LTE数据通道或3G数据通道,而不能同时提供这两者。但对于不同的移动通信模块,即可分别同时提供LTE数据通道和3G数据通道。Based on the above description, the terminal 100 of the embodiment of the present invention may perform data transmission by using at least one of the following methods: a WIFI data channel (which may be one or more), and an LTE data channel (which may be one or more) ), 3G data channel (may be one or more), 2G data channel (can be one or more). It should be understood that in some cases, some data channels cannot coexist. For example, for the same mobile communication module, it can only provide an LTE data channel or a 3G data channel, but not both. However, for different mobile communication modules, LTE data channels and 3G data channels can be provided simultaneously.
应理解,当WIFI数据通道为多条时,终端100中包括有多个WIFI模块。It should be understood that when there are multiple WIFI data channels, the terminal 100 includes multiple WIFI modules.
在本发明的实施例中,在存储器101中可以存储多个操作系统,操作系统包括但不限于Windows、Linux、Unix、Mac OS X、IOS、Solaris、Android等。In an embodiment of the present invention, a plurality of operating systems may be stored in the memory 101, including but not limited to Windows, Linux, Unix, Mac OS X, IOS, Solaris, Android, and the like.
在一个实施例中,图1涉及的操作系统存储于存储器4中并由处理器1处理,处理器1处理执行的操作系统的架构如图2所示,包括:驱动层、内核层和用户层。其中,内核层包括:网络接口层、网络层、传输控制协议/用户数据报协议(TCP/UDP)层和内核接口。In one embodiment, the operating system involved in FIG. 1 is stored in the memory 4 and processed by the processor 1. The architecture of the operating system processed by the processor 1 is as shown in FIG. 2, including: a driver layer, a kernel layer, and a user layer. . The kernel layer includes: a network interface layer, a network layer, a Transmission Control Protocol/User Datagram Protocol (TCP/UDP) layer, and a kernel interface.
参见图3为本发明一实施例的网络架构示意图。终端100可同时通过基 站、无线接入点(AP)等方式连接到无线核心网,再连接到专网、Internet网实现无线数据的传输。另一方面,多个终端100之间还可通过基站、无线接入点连接到无线核心网,从而实现相互间的数据传输。FIG. 3 is a schematic diagram of a network architecture according to an embodiment of the present invention. The terminal 100 can simultaneously pass the base The station, the wireless access point (AP) and the like are connected to the wireless core network, and then connected to the private network and the Internet network to realize wireless data transmission. On the other hand, the plurality of terminals 100 can also be connected to the wireless core network through the base station and the wireless access point, thereby realizing mutual data transmission.
实施例1Example 1
基于上述终端100和网络架构,本发明实施例提供一种数据传输方法。本发明实施例的数据传输是基于链接的,即当有数据业务需要传输时,建立多条(一条或一条以上)链接,每一链接用于传输一定大小的数据包,从而完成整个数据的传输。Based on the foregoing terminal 100 and network architecture, an embodiment of the present invention provides a data transmission method. The data transmission in the embodiment of the present invention is based on a link, that is, when there is a data service to be transmitted, multiple (one or more) links are established, and each link is used to transmit a data packet of a certain size, thereby completing the entire data transmission. .
在该实施例中,终端(具有上述终端100的硬件结构和相应功能)从接收设备处获取资源(例如,下载应用程序)。该资源支持多链接下载,即该资源被分为多个数据块,每个数据块可通过一条链接进行下载,由此,若通过多条链接同时进行下载,则可极大的提高下载速度。In this embodiment, the terminal (having the hardware structure and corresponding functions of the terminal 100 described above) acquires resources (for example, downloads an application) from the receiving device. The resource supports multi-link download, that is, the resource is divided into multiple data blocks, and each data block can be downloaded through a link, thereby downloading at the same time through multiple links, which can greatly improve the download speed.
在本发明的实施例中接收设备为服务器,其它终端等设备。In the embodiment of the present invention, the receiving device is a server, another terminal, or the like.
终端检测是否有数据需要传输。通过终端的输入设备,用户可发起数据传输指令,由此,可检测到有数据需要传输。The terminal detects if there is data to transmit. Through the input device of the terminal, the user can initiate a data transfer instruction, whereby data can be detected to be transmitted.
本发明实施例中,终端和接收设备建立链接可以采用“三次握手”的方式。当建立一条链接时,终端首先生成连接请求报文(syn),在本发明实施例中,终端通过相应的接口发送连接请求报文时,根据分流权重确定该条链接通过哪个接口传输,并将连接请求报文通过确定的接口发送给接收设备。接收设备收到连接请求报文,回复确认报文(ACK)。终端通过发送连接请求报文的接口接收确认报文,并通过该接口发送确认报文(ACK)给接收设备,由此,成功建立TCP链接。建立链接成功后,即可通过该建立的链接进行数据传输。如上所述,在本发明实施例中,待传输的资源被分为若干数据块,每个数据块由一链接进行传输。由此,建立链接后,即进行一数据块的传输。当该数据块传输完成后,释放该条TCP链接(可通过“四次握手”的方式释放)。In the embodiment of the present invention, the terminal and the receiving device establish a link by using a “three-way handshake” manner. When a link is established, the terminal first generates a connection request message (syn). In the embodiment of the present invention, when the terminal sends a connection request message through the corresponding interface, the terminal determines, according to the offload weight, which interface the link is transmitted, and The connection request message is sent to the receiving device through the determined interface. The receiving device receives the connection request message and replies with an acknowledgement message (ACK). The terminal receives the acknowledgment message through the interface that sends the connection request message, and sends an acknowledgment message (ACK) to the receiving device through the interface, thereby successfully establishing a TCP link. Once the link is established, the data can be transferred via the established link. As described above, in the embodiment of the present invention, the resource to be transmitted is divided into a plurality of data blocks, and each data block is transmitted by a link. Thus, after the link is established, a data block is transmitted. When the data block is transferred, the TCP link is released (can be released by "four-way handshake").
当完成数据传输的链接释放后,终端可继续新建链接,以保证资源被完整的下载。因此,理论上,若待传输的资源被划分为N个数据块,则至少需 要建立N条链接进行数据传输。若传输过程中,由于接口的连通性转变为未连通,导致链接断开,则需要新建一条链接继续完成数据的传输。After the link for completing the data transfer is released, the terminal can continue to create a new link to ensure that the resource is completely downloaded. Therefore, in theory, if the resource to be transmitted is divided into N data blocks, at least To establish N links for data transmission. If the link is disconnected due to the connectivity of the interface becoming disconnected during the transmission, you need to create a new link to continue the data transmission.
举个例子来看:如果传输资源有8个数据块,则可以分给LTE通道4个数据块,分给WiFi通道4个数据块,那么,本申请采用LTE通道、WiFi通道两条数据通道,分别建立4条TCP/IP数据链接进行数据的同时传输。For example, if the transmission resource has 8 data blocks, it can be allocated to 4 data blocks of the LTE channel and distributed to 4 data blocks of the WiFi channel. Then, the present application uses two data channels of the LTE channel and the WiFi channel. Four TCP/IP data links are respectively established for simultaneous data transmission.
参见图4,本发明实施例的数据传输方法包括:Referring to FIG. 4, a data transmission method according to an embodiment of the present invention includes:
步骤S1、终端实时检测各接口的连通性。Step S1: The terminal detects the connectivity of each interface in real time.
应理解,检测接口的连通性即是检测数据通道是否连通。例如,检测WIFI接口的连通性,即是检测是否可以通过WIFI数据通道接入到WIFI网络进行数据传输。It should be understood that detecting the connectivity of the interface means detecting whether the data channel is connected. For example, detecting the connectivity of the WIFI interface, that is, detecting whether the WIFI network can be accessed through the WIFI data channel for data transmission.
在本发明实施例中,接口包括但不限于WIFI接口、LTE接口、3G接口等等。且每种接口的个数可以包括多个,接口的种类也可以是多种,例如,接口可以包括两个LTE接口和两个WIFI接口。In the embodiment of the present invention, the interface includes but is not limited to a WIFI interface, an LTE interface, a 3G interface, and the like. The number of interfaces may be multiple, and the types of interfaces may be multiple. For example, the interface may include two LTE interfaces and two WIFI interfaces.
在一个实施例中,参见图5,接口连通性检测按照以下方式进行:In one embodiment, referring to Figure 5, interface connectivity detection proceeds as follows:
每隔第一预设时间(例如,10秒),从每个接口发一个ping报文,ping的目的ip地址为一固定域名系统(DNS)服务器的地址,例如,114.114.114.114。A ping message is sent from each interface every first preset time (for example, 10 seconds). The destination IP address of the ping is the address of a fixed domain name system (DNS) server, for example, 114.114.114.114.
等待第二预设时间(例如,10秒),若未收到回复,则将该接口标记为未连通(down),若收到回复,则将该接口标记为连通(UP)。Waiting for the second preset time (for example, 10 seconds), if the reply is not received, the interface is marked as down, and if a reply is received, the interface is marked as connected (UP).
在一些实施例中,若接口之前是连通状态,等待预设时长未收到回复,则将该接口标记为未连通状态。若接口之前是未连通状态,等待预设时长收到回复,则认为该链路已连通,将该接口标记为连通状态。In some embodiments, if the interface is in a connected state and waits for a preset duration to receive no reply, the interface is marked as not connected. If the interface is in the disconnected state and waits for the preset duration to receive a reply, the link is considered to be connected and the interface is marked as connected.
若某一接口为连通(UP)状态,则可将该接口添加到可用接口列表中;若某一接口为未连通(down),则不将其添加到可用接口列表中或将其从可用接口列表中删除。If an interface is in the connected (UP) state, the interface can be added to the list of available interfaces; if an interface is down, it is not added to the available interface list or from the available interface. Remove from the list.
应理解,这里仅仅是举例对接口的连通性进行描述,并不用于本发明实施例的保护范围,It should be understood that the description of the connectivity of the interface is only used as an example, and is not used for the protection scope of the embodiment of the present invention.
接口的连通性还可通过其它的方式进行,例如,发送空数据包等方式。 The connectivity of the interface can also be performed in other ways, such as sending empty packets.
步骤S2、终端检测到有数据业务时,建立多条链接。Step S2: When the terminal detects that there is a data service, multiple links are established.
建立链接是指在终端100与其它终端或服务器之间建立链接,例如,通过三次握手建立链接。链接的数量可根据实际情况设定,例如,终端100可支持的最大链接数、数据业务的数据量大小等。Establishing a link means establishing a link between the terminal 100 and other terminals or servers, for example, establishing a link through a three-way handshake. The number of links can be set according to actual conditions, for example, the maximum number of links that the terminal 100 can support, the amount of data of the data service, and the like.
这里的建立链接是指生成连接请求报文。应理解,需要建立多少条的链接,则需要生成多少个连接请求报文。The establishment of the link here refers to the generation of a connection request message. It should be understood that how many connection request messages need to be generated, how many link requests need to be created.
S3、终端根据分流权重,将建立的链接分配到处于连通状态的接口以与接收设备进行数据业务的传输。S3. The terminal allocates the established link to the interface in the connected state to perform data service transmission with the receiving device according to the split weight.
在本发明实施例中,分流权重包括1:1分流权重(即初始的分流权重)和根据接口速率和时延计算得到的实时分流权重。以下分别说明这两种情况:In the embodiment of the present invention, the offload weight includes a 1:1 offload weight (ie, an initial split weight) and a real-time split weight calculated according to the interface rate and the delay. The following two cases are described separately:
(1)按照1:1的分流权重将建立的链接分配到处于连通状态的接口(1) Assign the established link to the connected interface according to the 1:1 split weight
在本发明实施例中,可以根据接口的连通性建立一个初始的路由规则。该初始的路由规则可按照均分的方式建立,即按照1:1的初始分流权重,使得处于连通状态的接口分配的待传输链接数相同。例如,若有3个接口处于连通状态,终端100建立的链接数为9条,则初始路由规则为第1、2和3条链接通过第一接口传输,第4、5和6条链接通过第二接口传输,第7、8和9条链接通过第三接口传输。In the embodiment of the present invention, an initial routing rule may be established according to the connectivity of the interface. The initial routing rule can be established in a uniform manner, that is, according to the initial split weight of 1:1, the number of links to be transmitted allocated by the interface in the connected state is the same. For example, if three interfaces are in the connected state and the number of links established by the terminal 100 is nine, the initial routing rule is that the first, second, and third links are transmitted through the first interface, and the fourth, fifth, and sixth links are passed through the first. The second interface transmits, and the seventh, eighth and nine links are transmitted through the third interface.
本发明的一些实施例中,在传输数据时,首先依据初始的路由规则进行数据的传输。即将生成的连接请求报文均分到每个接口进行发送。接收设备接收到连接请求报文,对每个连接请求报文回复一个确认报文。确认报文经相应的接口分别回复给终端。终端通过各个接口接收确认报文并发送确认报文,以在终端和接收设备间建立多条TCP链接用于传输数据。若无其它特别说明,本发明实施例中的多条链接可包括一条和一条以上的链接。In some embodiments of the present invention, when data is transmitted, data is first transmitted in accordance with an initial routing rule. The connection request packets to be generated are distributed to each interface for transmission. The receiving device receives the connection request message and replies with an acknowledgement message for each connection request message. The acknowledgement message is respectively replied to the terminal via the corresponding interface. The terminal receives the acknowledgment message through each interface and sends an acknowledgment message to establish multiple TCP links between the terminal and the receiving device for transmitting data. The plurality of links in the embodiment of the present invention may include one or more links unless otherwise specified.
应理解,在本发明实施例中,终端与接收设备间建立了链接后,即可进行数据的传输,当链接完成数据传输任务后,即被释放。由此,本发明实施例中,在传输开始时建立的链接按照初始路由规则进行分配。若这些链接的建立已完成所有资源的传输,则无需再新建链接继续进行传输,否则再新建链接以进行资源的传输,直到所有资源传输完成。新建的链接将按照下述方 式(2)根据计算得到的实时分流权重分配到相应的接口。It should be understood that, in the embodiment of the present invention, after the link is established between the terminal and the receiving device, data transmission can be performed, and when the link completes the data transmission task, it is released. Thus, in the embodiment of the present invention, the link established at the beginning of the transmission is allocated according to the initial routing rule. If the establishment of these links has completed the transfer of all resources, there is no need to create a new link to continue the transfer, otherwise a new link will be created for the transfer of resources until all resource transfers are completed. The newly created link will follow the directions below Equation (2) is assigned to the corresponding interface according to the calculated real-time split weight.
(2)根据接口速率和时延计算得到的实时分流权重将建立的链接分配到处于连通状态的接口(2) The real-time offload weight calculated according to the interface rate and the delay is used to assign the established link to the interface in the connected state.
这里的“建立的链接”包括两种情况:The "established link" here includes two situations:
第一种情况:“建立的链接”为上述新建的链接,即按照初始路由规则传输后,新建立的用于继续完成传输的链接。The first case: "established link" is the newly created link, that is, the newly established link for continuing to complete the transmission after being transmitted according to the initial routing rule.
此种情况下,由于网络环境是实时变化的,各接口的连通状态、速率等也是实时变化的,因此,在数据业务的传输过程中,根据接口的速率和时延,计算分流权重;并基于计算后的分流权重,调整分配到各处于连通状态的接口的链接数。In this case, the network state is changed in real time, and the connectivity state and rate of each interface are also changed in real time. Therefore, in the data service transmission process, the traffic weight is calculated according to the rate and delay of the interface; The calculated shunt weights are adjusted to adjust the number of links assigned to the interfaces in the connected state.
此种情况下,参见图6,本发明实施例的数据传输方法具体包括以下步骤:S10、终端实时检测各接口的连通性;S20、终端检测到有数据需要传输时,基于初始分流权重,将建立的多条链接分配到处于连通状态的接口以进行数据传输;S30、在数据传输的过程中,计算实时分流权重,并根据实时分流权重将新建立的链接分配到处于连通状态的接口以进行数据传输。In this case, referring to FIG. 6, the data transmission method of the embodiment of the present invention specifically includes the following steps: S10: The terminal detects the connectivity of each interface in real time; S20, when the terminal detects that data needs to be transmitted, based on the initial split weight, The established multiple links are allocated to the interface in the connected state for data transmission; S30. In the process of data transmission, the real-time split weight is calculated, and the newly established link is allocated to the interface in the connected state according to the real-time split weight. data transmission.
应理解,在进行数据传输时,可将待下载的数据业务划分为多个大小相同或不同的数据块,以分别通过建立的多条链接进行传输。例如,可将一个10M大小的安卓数据包(APK),划分为10个数据块,每个数据块的大小为1M,且每个数据块通过一条链接进行传输。It should be understood that, when data transmission is performed, the data service to be downloaded may be divided into a plurality of data blocks of the same size or different size to be respectively transmitted through the established multiple links. For example, a 10M Android packet (APK) can be divided into 10 data blocks, each of which has a size of 1M, and each data block is transmitted through a link.
在一些实施例中,终端100可建立的最大链接数不一定和划分的数据块相等,例如,数据块为10,而建立的最大链接数为5。则当完成某一链接的传输完成时,相应的即可新建一条链接以继续传输剩下的数据。由此,本发明实施例中调整分配到处于连通状态的接口的链接数具体为:将新建的链接按照计算后的分流权重分配到处于连通状态的接口。In some embodiments, the maximum number of links that the terminal 100 can establish is not necessarily equal to the divided data blocks, for example, the data block is 10, and the maximum number of links established is 5. Then when the transfer of a link is completed, a new link can be created to continue to transfer the remaining data. Therefore, in the embodiment of the present invention, the number of links allocated to the interface in the connected state is specifically: the newly-added link is allocated to the interface in the connected state according to the calculated split weight.
在数据的传输过程中,根据接口的速率和时延计算各接口的分流权重,以将新建立的链接按照计算得到的分流权重分配到各接口,以实现优化分配比例。由于接口的速率在一定程度上体现了接口带宽的大小,带宽大的接口本应承载更多的数据流,从而不容易出现大量数据从带宽小的接口流通,这 样,缓解了带宽小的接口的拥塞,缩短了数据传输延时,也减少了丢包的状况,提高了接口利用率和数据传输速率。During the data transmission process, the offload weights of the interfaces are calculated according to the rate and delay of the interface, so that the newly established links are allocated to the interfaces according to the calculated split weights to achieve an optimized allocation ratio. Since the rate of the interface reflects the bandwidth of the interface to a certain extent, the interface with a large bandwidth should carry more data streams, so that a large amount of data is not easily circulated from the interface with a small bandwidth. In this way, congestion of interfaces with small bandwidth is alleviated, data transmission delay is shortened, packet loss is reduced, interface utilization and data transmission rate are improved.
具体的,每隔第一预设时间(例如,1秒)对接口进行测速,每隔第二预设时间(例如,5秒)根据接口对应的速率和时延计算分流权重。在一些实施例中,也可以仅根据接口的实时速率计算分流权重而不考虑时延,仅考虑实时速率的情况将在后续介绍。Specifically, the interface is measured for speed every first preset time (for example, 1 second), and the split weight is calculated according to the rate and delay corresponding to the interface every second preset time (for example, 5 seconds). In some embodiments, the split weights may also be calculated based only on the real-time rate of the interface without regard to latency, and the case of considering only the real-time rate will be described later.
在本发明实施例中,可以按照以下方式进行接口的速率检测:In the embodiment of the present invention, the rate detection of the interface may be performed in the following manner:
每隔预设时间(例如,1秒),获取接口字节数的变化作为接口的当前速率。具体的,若为第一次检测某一接口的速率,则将检测得到的字节数保存。若不是第一次检测某一接口的速率,则将获取得到的接口字节数减去前一次获取得到的接口字节数,得到的差值再除以两次检测的时间即为该接口的当前速率。The interval of the number of interface bytes is obtained as the current rate of the interface every preset time (for example, 1 second). Specifically, if the rate of an interface is detected for the first time, the number of detected bytes is saved. If the rate of an interface is not detected for the first time, the number of interface bytes obtained is subtracted from the number of interface bytes obtained before, and the obtained difference is divided by the time of two detections. Current rate.
在本发明实施例中,根据接口的速率和时延计算分流权重可以采用以下方式:In the embodiment of the present invention, the split weight can be calculated according to the rate and delay of the interface in the following manner:
对接口进行测速,并检测接口是否处于拥塞状态,若是,则判断当前的实时速率比之前统计的最大速率(max_speed)是否更小,如果更小,当前实时速率加上一预设值(例如,100KB/s)后是否小于最大速率(max_speed),如果是,则说明网络环境发生了较大的变化,将当前实时速率赋值给最大速率(max_speed);Measure the speed of the interface and check whether the interface is in a congested state. If yes, determine whether the current real-time rate is smaller than the previous maximum rate (max_speed). If it is smaller, the current real-time rate is added with a preset value (for example, Whether it is less than the maximum rate (max_speed) after 100KB/s), if it is, it indicates that the network environment has undergone a large change, and the current real-time rate is assigned to the maximum rate (max_speed);
若接口不处于拥塞状态,且当前实时速率大于max_speed,则将当前实时速率赋值给最大速率(max_speed);If the interface is not in a congested state, and the current real-time rate is greater than max_speed, the current real-time rate is assigned to the maximum rate (max_speed);
将最大速率与预设值(例如,50kb/s)进行比较,若最大速率大于预设值,则根据接口的速率计算分流权重;若最大速率不大于预设值,则根据接口的延时来确定分流权重。The maximum rate is compared with a preset value (for example, 50 kb/s). If the maximum rate is greater than the preset value, the split weight is calculated according to the rate of the interface; if the maximum rate is not greater than the preset value, the delay according to the interface is used. Determine the split weight.
在本发明实施例中,检测接口是否处于拥塞状态,是通过检测接口的时延获知的,接口的时延检测方法有如下两种方式:In the embodiment of the present invention, the detection of whether the interface is in a congested state is obtained by detecting the delay of the interface. The delay detection method of the interface has the following two methods:
方式一:每隔预设时间(例如,5秒)通过接口发一组ping报文(例如,每组5个报文,每个报64Bytes),并根据接收到回复的时间差获取接口的时 延。Manner 1: Send a set of ping packets through the interface every predetermined time (for example, 5 seconds) (for example, 5 packets per group, each of which is 64 Bytes), and obtain the interface according to the time difference of receiving the response. Delay.
方式二:通过TCP三次握手计算时延,具体的:当接收到一个同步序列编号和确认编号(syn+ack)报文时,判断是否处于SYN_SEND状态即在发送连接请求后等待匹配的连接请求的状态,若处于,则获取当前的系统时间,并将获取的当前系统时间减去系统发送syn报文的时间,获得一时间差。该时间差即为接口时延。Manner 2: Calculate the delay by TCP three-way handshake. Specifically: when receiving a synchronization sequence number and a acknowledgment number (syn+ack) message, determine whether it is in the SYN_SEND state, that is, waiting for a matching connection request after sending the connection request. Status, if it is, then obtain the current system time, and subtract the time of the current system time from the system to send the syn message to obtain a time difference. This time difference is the interface delay.
若时延大于或等于一预设值(例如,1000ms),则将该接口标记为处于拥塞状态。若时延小于一预设值,则检测此链接的syn报文是否重传过,若重传过,则将该接口标记为处于拥塞状态,将时延值设定为1000ms;若未重传过,则接口不处于拥塞状态,将计算出的时延值作为接口的时延。If the delay is greater than or equal to a predetermined value (eg, 1000 ms), the interface is marked as being in a congested state. If the delay is less than a preset value, it is detected whether the syn message of the link is retransmitted. If the retransmission is repeated, the interface is marked as being in a congested state, and the delay value is set to 1000 ms; if not retransmitted If the interface is not in a congested state, the calculated delay value is used as the delay of the interface.
在本发明实施例中,当根据接口的速率计算分流权重时,按照以下公式进行计算:In the embodiment of the present invention, when the split weight is calculated according to the rate of the interface, the calculation is performed according to the following formula:
第i个接口的分流权重=第i个接口的最大速率/(第1个接口的最大速率+第2个接口的最大速率+……+第i个接口的最大速率+……)The shunt weight of the i-th interface = the maximum rate of the i-th interface / (the maximum rate of the first interface + the maximum rate of the second interface + ... + the maximum rate of the i-th interface + ...)
应理解,上述按照接口速率计算分流权重还可采用其它的方式,例如,预先设定速率范围与分流权重的关系,当速率在第一范围时,分流权重为20%,而在第二范围时,分流权重为80%等等方式。It should be understood that the foregoing method for calculating the split weight according to the interface rate may adopt other manners, for example, pre-setting the relationship between the rate range and the split weight. When the rate is in the first range, the split weight is 20%, and in the second range. , the weight of the shunt is 80% and so on.
当根据时延计算分流权重时,时延与分流权重成反比,例如,第一接口的时延为D1、第二接口的时延为D2,则第一接口的分流权重为D2/(D1+D2),第二接口的权重为D1/(D1+D2)。When the weight of the traffic is calculated according to the delay, the delay is inversely proportional to the weight of the traffic. For example, if the delay of the first interface is D1 and the delay of the second interface is D2, the traffic weight of the first interface is D2/(D1+). D2), the weight of the second interface is D1/(D1+D2).
应理解,还可采用其它的方式设定时延与分流权重的关系,例如,预先设定时延超过一定值时,将其分流权重设为0等方式。It should be understood that the relationship between the delay and the split weight may be set in other manners. For example, when the preset delay exceeds a certain value, the split weight is set to 0 or the like.
在一个实施例中,若出现预设异常情况,则将分流权重设定为1:1,即默认按1:1的权重进行分流。例如,预设异常情况包括但不限于:当最大速率不大于预设值,而未检测到接口的时延时。In one embodiment, if a preset abnormality occurs, the shunt weight is set to 1:1, that is, the shunt is performed by a weight of 1:1 by default. For example, the preset abnormal conditions include, but are not limited to, when the maximum rate is not greater than the preset value, and the time delay of the interface is not detected.
在本发明实施例中,通过计算调整了分流权重后,即可根据实时分流权重将数据传输过程中新建立的链接分配到各个接口以进行数据业务的传输。由此,本发明实施例中,可根据实时分流权重建立一当前路由规则。当前路 由规则与初始路由规则的区别在于,当前路由规则中是根据计算得到的实时分流权重,将建立的链接分配到各个处于连通状态接口。例如,若连通的接口为3个,建立的链接数为9条,计算得到的实时分流权重为3:4:2,则分配到第一接口进行传输的链接数调整为3条,分配到第二接口进行传输的链接数调整为4条,分配到第三接口进行传输的链接数调整为2条。In the embodiment of the present invention, after the split weight is adjusted by calculation, the newly established link in the data transmission process can be allocated to each interface according to the real-time split weight to perform data service transmission. Therefore, in the embodiment of the present invention, a current routing rule can be established according to the real-time offload weight. Current road The difference between the rule and the initial routing rule is that the current routing rule is based on the calculated real-time offload weight, and the established link is assigned to each of the connected state interfaces. For example, if there are three connected interfaces, the number of links established is nine, and the calculated real-time split weight is 3:4:2, the number of links allocated to the first interface for transmission is adjusted to three, and the number is allocated to The number of links for transmission on the second interface is adjusted to four, and the number of links allocated for transmission to the third interface is adjusted to two.
为了保证建立的链接按照分流权重(初始分流权重和实时分流权重)通过相应的接口进行传输,本发明实施例中,可以采用标记链接数据包的方式,对链接的数据包进行标记。由此,在传输时,根据数据包的标记值使得不同链接可走相应的接口进行传输。In order to ensure that the established link is transmitted through the corresponding interface according to the split weight (the initial split weight and the real-time split weight), in the embodiment of the present invention, the linked data packet may be marked by means of marking the link data packet. Thus, at the time of transmission, different links can be transmitted along the corresponding interface according to the tag value of the data packet.
参见表1,为根据分流权重对数据包进行标记后形成的路由规则的一实施例。Referring to Table 1, an embodiment of a routing rule formed by marking a data packet according to a split weight.
链接link Mark值Mark value 接口interface
11 0X010X01 第一接口(例如,WIFI接口)First interface (for example, WIFI interface)
22 0X020X02 第二接口(例如,第一LTE接口)Second interface (eg, first LTE interface)
33 0X030X03 第三接口(例如,第二LTE接口)Third interface (eg, second LTE interface)
……...... ……...... ……......
表1Table 1
表1中的Mark值是各链接中的数据包的标记值。在本发明实施例中,每条链接的第一个数据包被进行标记,而后面的数据包则按照第一个数据包的接口进行传输。The Mark value in Table 1 is the tag value of the packet in each link. In the embodiment of the present invention, the first data packet of each link is marked, and the subsequent data packets are transmitted according to the interface of the first data packet.
参见图7,在进行标记时:首先获取数据包,并判断该数据包的链接跟踪状态是否为预设状态。在这里,预设状态为NEW状态即是否为某一链接的第一个数据包;Referring to FIG. 7, when marking is performed, the data packet is first acquired, and it is determined whether the link tracking state of the data packet is a preset state. Here, the preset state is the NEW state, that is, whether it is the first data packet of a certain link;
如果为预设状态(即为第一个数据包),则根据该链接被分配到的接口,对该数据包进行标记,并将标记值保存。具体的,可保存到对应链接跟踪标记中;如果不是预设状态(即不是第一个数据包),则将保存的该链接的第一个数据包的标记值赋予该数据包,并根据数据包的标记值,将数据包分配至相应的接口进行传输。 If it is the default state (that is, the first packet), the packet is marked according to the interface to which the link is assigned, and the tag value is saved. Specifically, it may be saved in the corresponding link tracking mark; if it is not the preset state (ie, not the first data packet), the saved tag value of the first data packet of the link is given to the data packet, and according to the data The tag value of the packet, which is assigned to the corresponding interface for transmission.
由此,本发明实施例中的数据包标记值具有双重意义,一是可以确定该数据包所属的链接,二是可以确定该数据包应该走哪个接口进行传输。Therefore, the data packet tag value in the embodiment of the present invention has a double meaning. First, the link to which the data packet belongs can be determined, and second, it can be determined which interface the data packet should go to.
在本发明实施例中,对于已经被分配到相应接口的链接,会通过该接口进行传输直到完成。但若在传输过程中,处于连通状态的接口变为未连通状态,则通过该接口传输的链接被中止,而通过新建链接的方式继续该链接的数据传输。例如,某一链接需要传输的数据大小为1M,当传输到0.5M大小时,相应的传输接口发生异常中断,则这种变化将体现在当前路由规则中,分流权重会发生改变。这样,新建链接后,将按照当前路由规则将该新建的链接分配到相应的接口,以继续进行剩下0.5M数据的传输。In the embodiment of the present invention, a link that has been assigned to the corresponding interface is transmitted through the interface until completion. However, if the interface in the connected state becomes unconnected during the transmission, the link transmitted through the interface is aborted, and the data transmission of the link is continued by creating a new link. For example, if the data size of a link needs to be transmitted is 1M, when the corresponding transmission interface is abnormally interrupted when it is transmitted to 0.5M, the change will be reflected in the current routing rule, and the weight of the offload will change. In this way, after the new link is created, the newly created link will be assigned to the corresponding interface according to the current routing rule to continue the transmission of the remaining 0.5M data.
在本发明实施例中,当全部数据业务传输完成后,关闭接口,并将当前路由规则删除。为了某些需要,也可以不删除路由规则,例如,保存的路由规则可供下次数据传输时使用。In the embodiment of the present invention, after all data services are transmitted, the interface is closed and the current routing rule is deleted. For some needs, you can also not delete routing rules. For example, saved routing rules can be used for the next data transmission.
这种情况下,初始建立的链接按照1:1的分流权重进行分配,而新建立的连接基于计算得到的分流权重进行分配,这样,可提高分配效率,也能提高接口利用率和传输速率。In this case, the initially established links are allocated according to the 1:1 split weight, and the newly established connections are allocated based on the calculated split weights, so that the allocation efficiency can be improved, and the interface utilization rate and the transmission rate can be improved.
第二种情况:“建立的链接”为一开始即建立的链接,即检测到有数据业务时,最初建立的链接即按照计算得到的分流权重被到相应的接口进行传输The second case: "established link" is a link established at the beginning, that is, when a data service is detected, the initially established link is transmitted to the corresponding interface according to the calculated split weight.
此种情况下,分流权重是基于上一次数据传输时,根据接口的速率和时延计算得到的实时分流权重。在本发明的实施例中,将其称为预存的分流权重。具体的,若终端所处的网络环境未发生较大的改变,例如,终端的位置未发生改变、两次数据传输的间隔时间小于10s等情况下,当进行新的数据传输时,可以采用上一次数据传输的分流权重。终端的位置是否发生改变,可由终端中的GPS等模块获取。而两次数据传输的间隔时间可通过计时器等模块获取。In this case, the offload weight is based on the real-time offload weight calculated based on the rate and delay of the interface during the last data transmission. In an embodiment of the invention, this is referred to as a pre-stored split weight. Specifically, if the network environment in which the terminal is located does not change greatly, for example, if the location of the terminal does not change, and the interval between two data transmissions is less than 10 s, when a new data transmission is performed, the upper data may be used. The weight of the split for one data transfer. Whether the location of the terminal changes or not can be obtained by a module such as GPS in the terminal. The interval between two data transmissions can be obtained by a module such as a timer.
此种情况下,本发明实施例的数据传输方法具体包括:终端实时检测各接口的连通性;终端检测到有数据需要传输时,基于预存的分流权重,将建立的多条链接分配到处于连通状态的接口以进行数据传输;在数据业务的传输过程中,根据接口的速率和时延计算分流权重,或根据接口的速率计算分 流权重;并基于计算得到的实时分流权重,将新建的链接按照实时分流权重分配到处于连通状态的接口以进行数据传输。In this case, the data transmission method of the embodiment of the present invention specifically includes: the terminal detects the connectivity of each interface in real time; when the terminal detects that there is data to be transmitted, the terminal allocates the established multiple links to be connected based on the pre-stored split weight. The interface of the state is used for data transmission; in the transmission process of the data service, the weight of the offload is calculated according to the rate and delay of the interface, or the rate is calculated according to the rate of the interface. The flow weight is based on the calculated real-time split weight, and the newly-added link is allocated to the interface in the connected state according to the real-time split weight for data transmission.
应理解,预存的分流权重即为“上一次数据传输的分流权重”,其具体为当前数据传输最近的一次数据传输时的分流权重。在该实施例中,上一次数据传输时计算得到分流权重及相应的路由规则被保存,以便使用。It should be understood that the pre-stored offload weight is “the split weight of the last data transmission”, which is specifically the split weight of the most recent data transmission of the current data transmission. In this embodiment, the shunt weights are calculated at the time of the last data transmission and the corresponding routing rules are saved for use.
在该种情况下,初始建立的链接即按照保存的分流权重和路由规则进行传输,在数据的传输过程中,则依然如第一种情况中所述的,根据接口的速率和时延计算各接口的分流权重,并基于计算后的分流权重,调整分配到各接口的链接数。这个过程已在上述第一种情况中被详细描述,在此不再赘述。In this case, the initially established link is transmitted according to the saved split weight and routing rule. In the data transmission process, as described in the first case, each is calculated according to the rate and delay of the interface. The offload weight of the interface, and based on the calculated offload weight, adjust the number of links allocated to each interface. This process has been described in detail in the first case above, and will not be described again here.
这种情况,初始建立的链接不是按照1:1的分流权重进行分配,而是基于保存的分流权重和路由规则,可更加优化链接的分配,并能提高接口利用率和传输速率。In this case, the initially established links are not allocated according to the 1:1 split weight, but based on the saved split weights and routing rules, which can optimize the allocation of links and improve interface utilization and transmission rate.
应理解,上述所有的描述是基于终端从接收设备处获取资源(例如,下载应用程序)的,若终端上传资源至接收设备,则其数据传输方法和上述所述是相似的,区别仅在于,链接建立后,数据传输的过程是通过建立的链接将数据从各个相应的接口发送给接收设备。It should be understood that all the foregoing descriptions are based on the terminal acquiring resources (for example, downloading an application) from the receiving device. If the terminal uploads the resource to the receiving device, the data transmission method is similar to the foregoing, except that After the link is established, the process of data transmission is to send data from each corresponding interface to the receiving device through the established link.
当数据传输完成时,终端或接收设备将通过各条链接接收到的数据进行合成即可得到完整的数据资源。When the data transmission is completed, the terminal or the receiving device synthesizes the data received through each link to obtain a complete data resource.
通过本发明实施例的数据传输方法,基于接口速率和时延进行分流,实现了利用多条数据通道同时传输数据,极大的优化了数据流的分配比例;由于速率在一定程度上体现了接口带宽的大小,带宽大的接口本应承载更多的数据流,从而不容易出现大量数据从带宽小的接口流通,造成带宽小的接口的拥塞,造成延时大,丢包的状况,提高了用户验。The data transmission method according to the embodiment of the present invention performs offloading based on the interface rate and the delay, thereby realizing the simultaneous transmission of data by using multiple data channels, and greatly optimizing the distribution ratio of the data stream; since the rate reflects the interface to a certain extent The size of the bandwidth, the interface with a large bandwidth should carry more data streams, so that a large amount of data is not easily circulated from the interface with a small bandwidth, causing congestion of the interface with small bandwidth, resulting in large delay and packet loss. User verification.
实施例2Example 2
本发明的实施例2和上述实施例的区别在于,在实施例2中计算分流权重时,仅基于接口的速率,而不考虑时延。本发明实施例的数据传输方法包括:The difference between Embodiment 2 of the present invention and the above embodiment is that when calculating the offload weight in Embodiment 2, only the rate of the interface is used, regardless of the delay. The data transmission method of the embodiment of the present invention includes:
步骤S21、终端实时检测各接口的连通性。 Step S21: The terminal detects the connectivity of each interface in real time.
应理解,检测接口的连通性即是检测数据通道是否连通。例如,检测WIFI接口的连通性,即是检测是否可以通过WIFI数据通道接入到WIFI网络进行数据传输。It should be understood that detecting the connectivity of the interface means detecting whether the data channel is connected. For example, detecting the connectivity of the WIFI interface, that is, detecting whether the WIFI network can be accessed through the WIFI data channel for data transmission.
在本发明的实施例中,接口包括但不限于WIFI接口、LTE接口、3G接口等等。且每种接口的个数可以包括多个,接口的种类也可以是多种,例如,接口可以包括两个LTE接口和两个WIFI接口。In an embodiment of the invention, the interface includes, but is not limited to, a WIFI interface, an LTE interface, a 3G interface, and the like. The number of interfaces may be multiple, and the types of interfaces may be multiple. For example, the interface may include two LTE interfaces and two WIFI interfaces.
在一个实施例中,参见图5,接口连通性检测按照以下方式进行:In one embodiment, referring to Figure 5, interface connectivity detection proceeds as follows:
每隔第一预设时间(例如,10秒),从每个接口发一个ping报文,ping的目的ip地址为一固定DNS服务器的地址,例如,114.114.114.114。A ping message is sent from each interface every first preset time (for example, 10 seconds). The destination IP address of the ping is the address of a fixed DNS server, for example, 114.114.114.114.
等待第二预设时间(例如,10秒),若未收到回复,则将该接口标记为未连通(down),若收到回复,则将该接口标记为连通(UP)。Waiting for the second preset time (for example, 10 seconds), if the reply is not received, the interface is marked as down, and if a reply is received, the interface is marked as connected (UP).
在一些实施例中,若接口之前是连通状态,等待预设时长未收到回复,则将该接口标记为未连通状态。若接口之前是未连通状态,等待预设时长收到回复,则认为该链路已连通,将该接口标记为连通状态。In some embodiments, if the interface is in a connected state and waits for a preset duration to receive no reply, the interface is marked as not connected. If the interface is in the disconnected state and waits for the preset duration to receive a reply, the link is considered to be connected and the interface is marked as connected.
若某一接口为连通(UP)状态,则可将该接口添加到可用接口列表中;若某一接口为未连通(down),则不将其添加到可用接口列表中或将其从可用接口列表中删除。If an interface is in the connected (UP) state, the interface can be added to the list of available interfaces; if an interface is down, it is not added to the available interface list or from the available interface. Remove from the list.
应理解,这里仅仅是举例对接口的连通性进行描述,并不用于本发明实施例的保护范围,接口的连通性还可通过其它的方式进行,例如,发送空数据包等方式。It should be understood that the connectivity of the interface is only described by way of example, and is not used in the protection scope of the embodiment of the present invention. The connectivity of the interface may also be performed in other manners, for example, by sending an empty data packet.
步骤S22、终端检测到有数据业务时,建立多条链接。Step S22: When the terminal detects that there is a data service, multiple links are established.
建立链接是指在终端100与其它终端或服务器之间建立链接,例如,通过三次握手建立链接。链接的数量可根据实际情况设定,例如,终端100可支持的最大链接数、数据业务的数据量大小等。Establishing a link means establishing a link between the terminal 100 and other terminals or servers, for example, establishing a link through a three-way handshake. The number of links can be set according to actual conditions, for example, the maximum number of links that the terminal 100 can support, the amount of data of the data service, and the like.
这里的建立链接是指生成连接请求报文。应理解,需要建立多少条的链接,则需要生成多少个连接请求报文。The establishment of the link here refers to the generation of a connection request message. It should be understood that how many connection request messages need to be generated, how many link requests need to be created.
S23、终端根据分流权重,将建立的链接分配到处于连通状态的接口以与接收设备进行数据业务的传输。 S23. The terminal allocates the established link to the interface in the connected state to perform data service transmission with the receiving device according to the split weight.
在本发明的实施例中,分流权重包括1:1的初始分流权重和根据接口速率计算得到的实时分流权重。以下分别说明这两种情况:In the embodiment of the present invention, the offload weight includes an initial split weight of 1:1 and a real-time split weight calculated according to the interface rate. The following two cases are described separately:
(1)按照1:1的分流权重将建立的链接分配到处于连通状态的接口(1) Assign the established link to the connected interface according to the 1:1 split weight
在本发明实施例中,可以根据接口的连通性建立一个初始的路由规则。该初始的路由规则可按照均分的方式建立,即按照1:1的初始分流权重,使得处于连通状态的接口分配的待传输链接数相同。例如,若有3个接口处于连通状态,终端100建立的链接数为9条,则初始路由规则为第1、2和3条链接通过第一接口传输,第4、5和6条链接通过第二接口传输,第7、8和9条链接通过第三接口传输。In the embodiment of the present invention, an initial routing rule may be established according to the connectivity of the interface. The initial routing rule can be established in a uniform manner, that is, according to the initial split weight of 1:1, the number of links to be transmitted allocated by the interface in the connected state is the same. For example, if three interfaces are in the connected state and the number of links established by the terminal 100 is nine, the initial routing rule is that the first, second, and third links are transmitted through the first interface, and the fourth, fifth, and sixth links are passed through the first. The second interface transmits, and the seventh, eighth and nine links are transmitted through the third interface.
本发明实施例中,在传输数据时,首先依据初始的路由规则进行数据的传输。即将生成的连接请求报文均分到每个接口进行发送。接收设备接收到连接请求报文,对每个连接请求报文回复一个确认报文。确认报文经相应的接口分别回复给终端。终端通过各个接口接收确认报文并发送确认报文,以在终端和接收设备间建立多条TCP链接用于传输数据。In the embodiment of the present invention, when data is transmitted, data is first transmitted according to an initial routing rule. The connection request packets to be generated are distributed to each interface for transmission. The receiving device receives the connection request message and replies with an acknowledgement message for each connection request message. The acknowledgement message is respectively replied to the terminal via the corresponding interface. The terminal receives the acknowledgment message through each interface and sends an acknowledgment message to establish multiple TCP links between the terminal and the receiving device for transmitting data.
应理解,在本发明实施例中,终端与接收设备间建立了链接后,即可进行数据的传输,当链接完成其的数据传输任务后,即被释放。由此,本发明实施例中,在传输开始时建立的链接按照初始路由规则进行分配。若这些链接的建立已完成所有资源的传输,则无需再新建链接继续进行传输,否则再新建链接以进行资源的传输,直到所有资源传输完成。新建的链接将按照下述方式根据计算得到的分流权重分配到相应的接口。It should be understood that, in the embodiment of the present invention, after the link is established between the terminal and the receiving device, data transmission can be performed, and when the link completes its data transmission task, it is released. Thus, in the embodiment of the present invention, the link established at the beginning of the transmission is allocated according to the initial routing rule. If the establishment of these links has completed the transfer of all resources, there is no need to create a new link to continue the transfer, otherwise a new link will be created for the transfer of resources until all resource transfers are completed. The newly created link will be assigned to the corresponding interface based on the calculated shunt weights as follows.
(2)根据接口速率计算得到的实时分流权重将建立的链接分配到处于连通状态的接口(2) The real-time offload weight calculated according to the interface rate is used to assign the established link to the interface in the connected state.
这里的“建立的链接”包括两种情况:The "established link" here includes two situations:
第一种情况:“建立的链接”为上述新建的链接,即按照初始路由规则传输后,新建立的用于继续完成传输的链接。The first case: "established link" is the newly created link, that is, the newly established link for continuing to complete the transmission after being transmitted according to the initial routing rule.
此种情况下,由于网络环境是实时变化的,各接口的连通状态、速率等也是实时变化的,因此,在数据业务的传输过程中,根据接口的速率,计算分流权重;并基于计算后的分流权重,调整分配到各处于连通状态的接口的 链接数。In this case, since the network environment changes in real time, the connectivity status and rate of each interface also change in real time. Therefore, in the transmission process of the data service, the split weight is calculated according to the rate of the interface; and based on the calculated Divert the weights and adjust the interfaces assigned to each connected state. The number of links.
此种情况下,本发明实施例的数据传输方法具体包括以下步骤:终端实时检测各接口的连通性;终端检测到有数据需要传输时,基于初始分流权重,将建立的多条链接分配到处于连通状态的接口以进行数据传输;在数据传输的过程中,计算实时分流权重,并根据实时分流权重将新建立的链接分配到处于连通状态的接口以进行数据传输。In this case, the data transmission method of the embodiment of the present invention specifically includes the following steps: the terminal detects the connectivity of each interface in real time; when the terminal detects that there is data to be transmitted, the terminal allocates multiple links to be established based on the initial split weight. The interface of the connected state is used for data transmission; in the process of data transmission, the real-time split weight is calculated, and the newly established link is allocated to the interface in the connected state according to the real-time split weight for data transmission.
应理解,在进行数据传输时,可将待下载的数据业务划分为多个大小相同或不同的数据块,以分别通过建立的多条链接进行传输。例如,可将一个10M大小的APK,划分为10个数据块,每个数据块的大小为1M,且每个数据块通过一条链接进行传输。It should be understood that, when data transmission is performed, the data service to be downloaded may be divided into a plurality of data blocks of the same size or different size to be respectively transmitted through the established multiple links. For example, a 10M-sized APK can be divided into 10 data blocks, each of which has a size of 1M, and each data block is transmitted through a link.
在一些实施例中,终端100可建立的最大链接数不一定和划分的数据块相等,例如,数据块为10,而建立的最大链接数为5。则当完成某一链接的传输完成时,相应的即可新建一条链接以继续传输剩下的数据。由此,本发明实施例中调整分配到处于连通状态的接口的链接数具体为:将新建的链接按照计算后的分流权重分配到处于连通状态的接口。In some embodiments, the maximum number of links that the terminal 100 can establish is not necessarily equal to the divided data blocks, for example, the data block is 10, and the maximum number of links established is 5. Then when the transfer of a link is completed, a new link can be created to continue to transfer the remaining data. Therefore, in the embodiment of the present invention, the number of links allocated to the interface in the connected state is specifically: the newly-added link is allocated to the interface in the connected state according to the calculated split weight.
在数据的传输过程中,根据接口的速率计算各接口的分流权重,以将新建立的链接按照计算得到的分流权重分配到各接口,以实现优化分配比例。由于接口的速率在一定程度上体现了接口带宽的大小,带宽大的接口本应承载更多的数据流,从而不容易出现大量数据从带宽小的接口流通,这样,缓解了带宽小的接口的拥塞,缩短了数据传输延时,也减少了丢包的状况,提高了接口利用率和数据传输速率。During the data transmission process, the split weights of the interfaces are calculated according to the rate of the interface, so that the newly established links are allocated to the interfaces according to the calculated split weights to achieve an optimized allocation ratio. Since the interface rate reflects the bandwidth of the interface to a certain extent, the interface with large bandwidth should carry more data streams, so that a large amount of data is not easily circulated from the interface with small bandwidth, thus alleviating the interface with small bandwidth. Congestion shortens the data transmission delay, reduces the packet loss, and improves the interface utilization and data transmission rate.
具体的,每隔第一预设时间(例如,1秒)对接口进行测速,每隔第二预设时间(例如,5秒)根据接口对应的速率计算分流权重。Specifically, the interface is measured for speed every first preset time (for example, 1 second), and the split weight is calculated according to the rate corresponding to the interface every second preset time (for example, 5 seconds).
在本发明实施例中,可以按照以下方式进行接口的速率检测:In the embodiment of the present invention, the rate detection of the interface may be performed in the following manner:
每隔预设时间(例如,1秒),获取接口字节数的变化作为接口的当前速率。具体的,若为第一次检测某一接口的速率,则将检测得到的字节数保存。若不是第一次检测某一接口的速率,则将获取得到的接口字节数减去前一次获取得到的接口字节数,得到的差值再除以两次检测的时间即为该接口 的当前速率。The interval of the number of interface bytes is obtained as the current rate of the interface every preset time (for example, 1 second). Specifically, if the rate of an interface is detected for the first time, the number of detected bytes is saved. If the rate of an interface is not detected for the first time, the number of interface bytes obtained is subtracted from the number of interface bytes obtained before, and the obtained difference is divided by the time of two detections. Current rate.
在本发明实施例中,根据接口的速率计算分流权重可以采用以下方式:In the embodiment of the present invention, the calculation of the split weight according to the rate of the interface may be as follows:
对接口进行测速,并检测接口是否处于拥塞状态,若是,则判断当前的实时速率比之前统计的最大速率(max_speed)是否更小,如果更小,当前实时速率加上一预设值(例如,100KB/s)后是否小于最大速率(max_speed),如果是,则说明网络环境发生了较大的变化,将当前实时速率赋值给最大速率(max_speed);Measure the speed of the interface and check whether the interface is in a congested state. If yes, determine whether the current real-time rate is smaller than the previous maximum rate (max_speed). If it is smaller, the current real-time rate is added with a preset value (for example, Whether it is less than the maximum rate (max_speed) after 100KB/s), if it is, it indicates that the network environment has undergone a large change, and the current real-time rate is assigned to the maximum rate (max_speed);
若接口不处于拥塞状态,且当前实时速率大于max_speed,则将当前实时速率赋值给最大速率(max_speed)。If the interface is not in a congested state and the current real-time rate is greater than max_speed, the current real-time rate is assigned to the maximum rate (max_speed).
在本发明实施例中,检测接口是否处于拥塞状态,是通过检测接口的时延获知的,接口的时延检测方法有如下两种方式:In the embodiment of the present invention, the detection of whether the interface is in a congested state is obtained by detecting the delay of the interface. The delay detection method of the interface has the following two methods:
方式一:每隔预设时间(例如,5秒)通过接口发一组ping报文(例如,每组5个报文,每个报64Bytes),并根据接收到回复的时间差获取接口的时延。Manner 1: Send a set of ping packets through the interface every predetermined time (for example, 5 seconds) (for example, 5 packets per group, each of which is 64 Bytes), and obtain the delay of the interface according to the time difference of receiving the response. .
方式二:通过TCP三次握手计算时延,具体的:当接收到一个syn+ack报文时,判断是否处于SYN_SEND状态,若处于,则获取当前的系统时间,并将获取的当前系统时间减去系统发送syn报文的时间,获得一时间差。该时间差即为接口时延。Manner 2: Calculate the delay by TCP three-way handshake. Specifically: when receiving a syn+ack packet, determine whether it is in the SYN_SEND state. If it is, obtain the current system time and subtract the current system time obtained. The time when the system sends the syn message to obtain a time difference. This time difference is the interface delay.
若时延大于或等于一预设值(例如,1000ms),则将该接口标记为处于拥塞状态。若时延小于一预设值,则检测此链接的syn报文是否重传过,若重传过,则将该接口标记为处于拥塞状态,将时延值设定为1000ms;若未重传过,则接口不处于拥塞状态,将计算出的时延值作为接口的时延。If the delay is greater than or equal to a predetermined value (eg, 1000 ms), the interface is marked as being in a congested state. If the delay is less than a preset value, it is detected whether the syn message of the link is retransmitted. If the retransmission is repeated, the interface is marked as being in a congested state, and the delay value is set to 1000 ms; if not retransmitted If the interface is not in a congested state, the calculated delay value is used as the delay of the interface.
在本发明实施例中,当根据接口的速率计算分流权重时,按照以下公式进行计算:In the embodiment of the present invention, when the split weight is calculated according to the rate of the interface, the calculation is performed according to the following formula:
第i个接口的分流权重=第i个接口的最大速率/(第1个接口的最大速率+第2个接口的最大速率+……+第i个接口的最大速率+……)The shunt weight of the i-th interface = the maximum rate of the i-th interface / (the maximum rate of the first interface + the maximum rate of the second interface + ... + the maximum rate of the i-th interface + ...)
应理解,上述按照接口速率计算分流权重还可采用其它的方式,例如,预先设定速率范围与分流权重的关系,当速率在第一范围时,分流权重为 20%,而在第二范围时,分流权重为80%等等方式。It should be understood that the foregoing method for calculating the split weight according to the interface rate may also adopt other manners, for example, pre-setting the relationship between the rate range and the split weight. When the rate is in the first range, the split weight is 20%, while in the second range, the shunt weight is 80% and so on.
在本发明的实施例中,通过计算调整了分流权重后,即可根据新的实时分流权重将数据传输过程中新建立的链接分配到各个接口以进行数据业务的传输。由此,本发明实施例中,可根据实时分流权重建立一当前路由规则。当前路由规则与初始路由规则的区别在于,当前路由规则中是根据计算得到的分流权重,将建立的链接分配到各个处于连通状态接口。例如,若连通的接口为3个,建立的链接数为9条,计算得到的分流权重为3:4:2,则分配到第一接口进行传输的链接数调整为3条,分配到第二接口进行传输的链接数调整为4条,分配到第三接口进行传输的链接数调整为2条。In the embodiment of the present invention, after the split weight is adjusted by calculation, the newly established link in the data transmission process can be allocated to each interface according to the new real-time split weight for data service transmission. Therefore, in the embodiment of the present invention, a current routing rule can be established according to the real-time offload weight. The difference between the current routing rule and the initial routing rule is that the current routing rule is based on the calculated diversion weight, and the established link is assigned to each of the connected state interfaces. For example, if there are three connected interfaces, the number of established links is 9, and the calculated split weight is 3:4:2, the number of links allocated to the first interface for transmission is adjusted to three, and is assigned to the second. The number of links transmitted by the interface is adjusted to four, and the number of links allocated to the third interface for transmission is adjusted to two.
为了保证建立的链接按照分流权重(初始分流权重和实时分流权重)通过相应的接口进行传输,本发明实施例中,可以采用标记链接数据包的方式,对链接的数据包进行标记。由此,在传输时,根据数据包的标记值使得不同链接可走相应的接口进行传输。In order to ensure that the established link is transmitted through the corresponding interface according to the split weight (the initial split weight and the real-time split weight), in the embodiment of the present invention, the linked data packet may be marked by means of marking the link data packet. Thus, at the time of transmission, different links can be transmitted along the corresponding interface according to the tag value of the data packet.
在本发明实施例中,每条链接的第一个数据包被进行标记,而后面的数据包则按照第一个数据包的接口进行传输。In the embodiment of the present invention, the first data packet of each link is marked, and the subsequent data packets are transmitted according to the interface of the first data packet.
参见图7,在进行标记时:首先获取数据包,并判断该数据包的链接跟踪状态是否为预设状态。在这里,预设状态为NEW状态即是否为某一链接的第一个数据包;Referring to FIG. 7, when marking is performed, the data packet is first acquired, and it is determined whether the link tracking state of the data packet is a preset state. Here, the preset state is the NEW state, that is, whether it is the first data packet of a certain link;
如果为预设状态(即为第一个数据包),则根据该链接被分配到的接口,对该数据包进行标记,并将标记值保存。具体的,可保存到对应链接跟踪标记中;如果不是预设状态(即不是第一个数据包),则将保存的该链接的第一个数据包的标记值赋予该数据包,并根据数据包的标记值,将数据包分配至相应的接口进行传输。If it is the default state (that is, the first packet), the packet is marked according to the interface to which the link is assigned, and the tag value is saved. Specifically, it may be saved in the corresponding link tracking mark; if it is not the preset state (ie, not the first data packet), the saved tag value of the first data packet of the link is given to the data packet, and according to the data The tag value of the packet, which is assigned to the corresponding interface for transmission.
由此,本发明实施例中的数据包标记值具有双重意义,一是可以确定该数据包所属的链接,二是可以确定该数据包应该走哪个接口进行传输。Therefore, the data packet tag value in the embodiment of the present invention has a double meaning. First, the link to which the data packet belongs can be determined, and second, it can be determined which interface the data packet should go to.
在本发明实施例中,对于已经被分配到相应接口的链接,会通过该接口进行传输直到完成。但若在传输过程中,处于连通状态的接口变为未连通状态,则通过该接口传输的链接被中止,而通过新建链接的方式继续该链接的 数据传输。具体的,例如,某一链接需要传输的数据大小为1M,当传输到0.5M大小时,相应的传输接口发生异常中断,则这种变化将体现在当前路由规则中,分流权重会发生改变.这样,新建链接后,将按照当前路由规则将该新建的链接分配到相应的接口,以继续进行剩下0.5M数据的传输。In the embodiment of the present invention, a link that has been assigned to the corresponding interface is transmitted through the interface until completion. However, if the interface in the connected state becomes disconnected during the transmission, the link transmitted through the interface is aborted, and the link is continued by creating a new link. data transmission. Specifically, for example, the size of the data to be transmitted by a certain link is 1M. When the transmission to the 0.5M size, the corresponding transmission interface is abnormally interrupted, and the change will be reflected in the current routing rule, and the weight of the offload will change. In this way, after the new link is created, the newly created link will be assigned to the corresponding interface according to the current routing rule to continue the transmission of the remaining 0.5M data.
在本发明实施例中,当全部数据业务传输完成后,关闭接口,将当前路由规则删除。为了某些需要,也可以不删除路由规则,例如,保存的路由规则可供下次数据传输时使用。In the embodiment of the present invention, after all the data services are transmitted, the interface is closed, and the current routing rule is deleted. For some needs, you can also not delete routing rules. For example, saved routing rules can be used for the next data transmission.
这种情况下,初始建立的链接按照1:1的分流权重进行分配,而新建立的连接基于计算得到的分流权重进行分配,可提高分配效率,提高接口利用率和传输速率。In this case, the initially established links are allocated according to the 1:1 split weight, and the newly established connections are allocated based on the calculated split weights, which can improve the allocation efficiency, improve the interface utilization rate and the transmission rate.
第二种情况:“建立的链接”为一开始即建立的链接,即检测到有数据业务时,最初建立的链接即按照计算得到的分流权重被到相应的接口进行传输The second case: "established link" is a link established at the beginning, that is, when a data service is detected, the initially established link is transmitted to the corresponding interface according to the calculated split weight.
此种情况下,分流权重是基于上一次数据传输时,接口的速率计算得到的。具体的,若终端所处的网络环境未发生较大的改变,例如,终端的位置未发生改变、两次数据传输的间隔时间小于10S等情况下,当进行新的数据传输时,可以采用上一次数据传输的分流权重。终端的位置是否发生改变,可由终端中的GPS等模块获取。而两次数据传输的间隔时间可通过计时器等模块获取。In this case, the offload weight is calculated based on the rate of the interface at the time of the last data transmission. Specifically, if the network environment in which the terminal is located does not change greatly, for example, when the location of the terminal does not change, and the interval between two data transmissions is less than 10 S, when a new data transmission is performed, the upper data may be used. The weight of the split for one data transfer. Whether the location of the terminal changes or not can be obtained by a module such as GPS in the terminal. The interval between two data transmissions can be obtained by a module such as a timer.
此种情况下,本发明实施例的数据传输方法具体包括:终端实时检测各接口的连通性;终端检测到有数据需要传输时,基于预存的分流权重,将建立的多条链接分配到处于连通状态的接口以进行数据传输;在数据业务的传输过程中,根据接口的速率和时延计算分流权重,或根据接口的速率计算分流权重;并基于计算得到的实时分流权重,将新建的链接按照实时分流权重分配到处于连通状态的接口以进行数据传输。In this case, the data transmission method of the embodiment of the present invention specifically includes: the terminal detects the connectivity of each interface in real time; when the terminal detects that there is data to be transmitted, the terminal allocates the established multiple links to be connected based on the pre-stored split weight. The status interface is used for data transmission; in the data service transmission process, the traffic weight is calculated according to the rate and delay of the interface, or the traffic weight is calculated according to the rate of the interface; and based on the calculated real-time traffic weight, the newly created link is The real-time offloading weight is assigned to the interface in the connected state for data transmission.
应理解,预存的分流权重即为“上一次数据传输的分流权重”,其具体为当前数据传输最近的一次数据传输时的分流权重。在该实施例中,上一次数据传输时计算得到分流权重及相应的路由规则被保存,以便使用。 It should be understood that the pre-stored offload weight is “the split weight of the last data transmission”, which is specifically the split weight of the most recent data transmission of the current data transmission. In this embodiment, the shunt weights are calculated at the time of the last data transmission and the corresponding routing rules are saved for use.
在该种情况下,初始建立的链接按照保存的路由规则进行传输,在数据的传输过程中,则依然如第一种情况中所述的,根据接口的速率计算各接口的分流权重,并基于计算后的分流权重,调整分配到各接口的链接数。这个过程已在上述第一种情况中被详细描述,在此不再赘述。In this case, the initially established link is transmitted according to the saved routing rule. In the data transmission process, as described in the first case, the offload weight of each interface is calculated according to the rate of the interface, and based on The calculated shunt weights are adjusted to adjust the number of links assigned to each interface. This process has been described in detail in the first case above, and will not be described again here.
这种情况,初始建立的链接不是按照1:1的分流权重进行分配,而是基于保存的分流权重和路由规则,可更加优化链接的分配,提高接口利用率和传输速率。In this case, the initially established link is not allocated according to the 1:1 split weight, but based on the saved split weight and routing rules, which can optimize the link allocation and improve the interface utilization and transmission rate.
应理解,上述所有的描述是基于终端从接收设备处获取资源(例如,下载应用程序)的,若终端上传资源至接收设备,则其数据传输方法和上述所述是相似的,区别仅在于,链接建立后,数据传输的过程是通过建立的链接将数据从各个相应的接口发送给接收设备。It should be understood that all the foregoing descriptions are based on the terminal acquiring resources (for example, downloading an application) from the receiving device. If the terminal uploads the resource to the receiving device, the data transmission method is similar to the foregoing, except that After the link is established, the process of data transmission is to send data from each corresponding interface to the receiving device through the established link.
当数据传输完成时,终端或接收设备将通过各条链接接收到的数据进行合成即可得到完整的数据资源。When the data transmission is completed, the terminal or the receiving device synthesizes the data received through each link to obtain a complete data resource.
通过本发明实施例的数据传输方法,基于接口速率分流,实现了利用多条数据通道同时传输数据,极大的优化了数据流的分配比例;由于速率在一定程度上体现了接口带宽的大小,带宽大的接口本应承载更多的数据流,从而不容易出现大量数据从带宽小的接口流通,造成带宽小的接口的拥塞,造成延时大,丢包的状况,提高了用户验。The data transmission method of the embodiment of the invention, based on the interface rate splitting, realizes the simultaneous transmission of data by using multiple data channels, and greatly optimizes the distribution ratio of the data stream; since the rate reflects the interface bandwidth to a certain extent, An interface with a large bandwidth should carry more data streams, so that a large amount of data is not easily circulated from an interface with a small bandwidth, causing congestion of an interface with a small bandwidth, resulting in a large delay, a packet loss condition, and an improved user authentication.
本发明实施例还公开一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述两种数据传输方法之一或组合。The embodiment of the invention further discloses a computer readable storage medium storing computer executable instructions for performing one or a combination of the above two data transmission methods.
实施例3Example 3
参见图8为本发明一实施例的具有双L功能的用户设备的结构示意图,如图8所示,包括:第一用户识别模块206、第二用户识别模块306、第一通信模块801、第二通信模块802、切换模块803、控制模块804、应用程序处理模块202、麦克风500、编解码器204、数字信号处理芯片203、听筒600。FIG. 8 is a schematic structural diagram of a user equipment with dual L functions according to an embodiment of the present invention. As shown in FIG. 8, the method includes: a first user identification module 206, a second user identification module 306, and a first communication module 801. The second communication module 802, the switching module 803, the control module 804, the application processing module 202, the microphone 500, the codec 204, the digital signal processing chip 203, and the earpiece 600.
其中,第一通信模块801包括:第一协议栈201、第一射频205。第二通信模块802包括第二协议栈301和第二射频305。The first communication module 801 includes: a first protocol stack 201 and a first radio frequency 205. The second communication module 802 includes a second protocol stack 301 and a second radio frequency 305.
应用程序处理模块202,设置为提供用户交互接口,并将用户的操作指 令传输给控制模块804。The application processing module 202 is configured to provide a user interaction interface and refer to the user's operation The transmission is transmitted to the control module 804.
控制模块804,设置为根据用户的操作指令,输出第一控制指令和第二控制指令。The control module 804 is configured to output the first control instruction and the second control instruction according to an operation instruction of the user.
控制模块804还设置为根据第一控制指令,控制切换模块803,使得第一用户识别模块206或第二用户识别模块306与第一通信模块801连接。The control module 804 is further configured to control the switching module 803 according to the first control instruction such that the first user identification module 206 or the second user identification module 306 is connected to the first communication module 801.
第一通信模块801设置为建立与4G网络的数据业务连接,以进行数据业务传输,以及用于通过所述4G网络建立通话连接,以进行语音传输。The first communication module 801 is configured to establish a data service connection with the 4G network for data service transmission, and for establishing a call connection through the 4G network for voice transmission.
控制模块804还设置为根据第二控制指令,控制切换模块803,使得第一用户识别模块206或第二用户识别模块306与第二通信模块802连接。The control module 804 is further configured to control the switching module 803 according to the second control instruction such that the first user identification module 206 or the second user identification module 306 is connected to the second communication module 802.
第二通信模块802设置为建立与4G网络的数据业务连接,以进行数据业务传输。The second communication module 802 is configured to establish a data service connection with the 4G network for data service transmission.
在进行语音传输时,麦克风500,设置为采集语音信号;编解码器204,设置为对麦克风采集到的语音信号进行模数转换;数字信号处理芯片203,设置为编解码器模数转换后的信号进行音频处理并传输给第一协议栈201;第一射频202设置为将经第一协议栈201处理后的信号发送到4G网络。第一射频202还设置为接收来自4G网络的语音信号,并传输给第一协议栈201;数字信号处理芯片203设置为将经第一协议栈201处理后的信号进行音频处理并传输给编解码器204;编解码器204设置为对来自数字信号处理芯片的信号进行模数转换;听筒600,设置为输出经编解码器204处理后的语音信号。When performing voice transmission, the microphone 500 is configured to collect a voice signal; the codec 204 is configured to perform analog-to-digital conversion on the voice signal collected by the microphone; and the digital signal processing chip 203 is set to be code-decoded by the codec. The signal is audio processed and transmitted to the first protocol stack 201; the first radio frequency 202 is arranged to transmit the signal processed by the first protocol stack 201 to the 4G network. The first radio frequency 202 is further configured to receive a voice signal from the 4G network and transmit the signal to the first protocol stack 201. The digital signal processing chip 203 is configured to perform audio processing on the signal processed by the first protocol stack 201 and transmit the code to the codec. The codec 204 is arranged to perform analog-to-digital conversion on the signal from the digital signal processing chip; the earpiece 600 is arranged to output the voice signal processed by the codec 204.
在一个实施例中,第一协议栈201为LTE协议栈,4G网络为LTE网络;第二协议栈301为LTE协议栈,4G网络为LTE网络。In one embodiment, the first protocol stack 201 is an LTE protocol stack, the 4G network is an LTE network, the second protocol stack 301 is an LTE protocol stack, and the 4G network is an LTE network.
由此,该实施例的用户设备可支持双LTE进行数据传输,其具体的实现原理和细节可参照申请号为201510827714.4的在先申请。且应理解,该实施例的双LTE技术仅为一示例性的,还可以采用其它的技术实现双LTE功能。Therefore, the user equipment of this embodiment can support dual LTE for data transmission. For the specific implementation principle and details, refer to the prior application with the application number 201510827714.4. It should be understood that the dual LTE technology of this embodiment is only an exemplary one, and other technologies may also be used to implement dual LTE functions.
在本发明的实施例中,控制模块804还设置为检测第一通信模块801和第二通信模块802的连通性,建立路由规则;检测到有数据业务时,建立多条链接,并计算处于连通状态的通信模块的分流权重;根据分流权重,将建 立的链接分配到处于连通状态的通信模块以进行数据业务的传输。In the embodiment of the present invention, the control module 804 is further configured to detect connectivity of the first communication module 801 and the second communication module 802, establish a routing rule, and when a data service is detected, establish multiple links, and the calculation is in communication. The split weight of the communication module of the state; according to the split weight, it will be built The established link is assigned to the communication module in the connected state for the transmission of the data service.
应理解,在实际中,由于4G LTE是可以向下兼容3G和2G的,因此,本发明实施例的用户设备可兼容3G和2G。另一方面,用户设备还可包括与控制模块804连接的至少一个WIFI模块(图中未示出),用于连接到WIFI网络进行数据传输。由此,该实施例的用户设备的可用数据传输接口包括第一LTE接口、第二LTE接口、WIFI接口。其中,第一LTE接口与第一通信模块相对应,第二LTE接口与第二通信模块相对应,WIFI接口与WIFI模块相对应。当发生网络切换时,第一LTE接口和第二LTE接口还可分别由第一3G接口和第二3G接口替代,或第一LTE接口和第二LTE接口可分别由第一2G接口和第二2G接口替代。应理解,在本发明实施例的用户设备中,WIFI模块可为一个或多个,由此,本发明实施例的接口可包括:第一LTE接口、第二LTE接口、第一WIFI接口和第二WIFI接口。It should be understood that, in practice, since 4G LTE is backward compatible with 3G and 2G, the user equipment of the embodiment of the present invention is compatible with 3G and 2G. On the other hand, the user equipment may further include at least one WIFI module (not shown) connected to the control module 804 for connecting to the WIFI network for data transmission. Thus, the available data transmission interface of the user equipment of this embodiment includes a first LTE interface, a second LTE interface, and a WIFI interface. The first LTE interface corresponds to the first communication module, the second LTE interface corresponds to the second communication module, and the WIFI interface corresponds to the WIFI module. When the network switching occurs, the first LTE interface and the second LTE interface may also be replaced by the first 3G interface and the second 3G interface, respectively, or the first LTE interface and the second LTE interface may be respectively configured by the first 2G interface and the second 2G interface replacement. It should be understood that, in the user equipment of the embodiment of the present invention, the WIFI module may be one or more. The interface of the embodiment of the present invention may include: a first LTE interface, a second LTE interface, a first WIFI interface, and a Two WIFI interfaces.
基于第一LTE接口、第二LTE接口、第一WIFI接口和第二WIFI接口,本发明实施例的控制模块804还用于实时检测各接口的连通性;检测到有数据业务时,建立多条链接;根据分流权重,将建立的链接分配到处于连通状态的接口以进行数据业务的传输。The control module 804 of the embodiment of the present invention is further configured to detect connectivity of each interface in real time based on the first LTE interface, the second LTE interface, the first WIFI interface, and the second WIFI interface; and when multiple data services are detected, multiple entries are established. Link; according to the split weight, the established link is assigned to the interface in the connected state for data service transmission.
本发明实施例的用户设备的工作原理为:开启各接口,并实时进行链路的连通性检测;若发生网络切换,则重新置位对应接口信息。在该步骤中可以选择将某些接口的状态设置为关闭,例如,由于2G传输速率较慢,则可将其对应的接口设置为关闭。检测到接口的状态为连通时,将该接口添加到可用接口列表中;若为未连通,则将该接口从可用接口列表中删除,或不将其添加到可用接口列表中。The working principle of the user equipment in the embodiment of the present invention is: opening each interface and performing link connectivity detection in real time; if network switching occurs, re-setting the corresponding interface information. In this step, you can choose to set the state of some interfaces to off. For example, because the 2G transmission rate is slow, you can set its corresponding interface to off. When the status of the interface is detected as connected, the interface is added to the list of available interfaces; if it is not connected, the interface is removed from the list of available interfaces or is not added to the list of available interfaces.
在该步骤中,链路连通性实时检测可采用以下方式:每隔10秒从每个接口发一个ping报文,ping目的ip地址114.114.114.114。该地址为一固定DNS服务器的地址。Ping报文最长等待回复时长为10秒,如果10秒未收到回复,如果接口之前是UP状态,则认为该链路不能上网,将该接口标记为down状态,不对该接口分流。若在10秒内收到回复,如果接口之前是down状态,更改接口状态为up,可对该接口分流。In this step, real-time detection of link connectivity may be performed by sending a ping message from each interface every 10 seconds, and pinging the destination IP address 114.114.114.114. This address is the address of a fixed DNS server. The maximum length of the ping message is 10 seconds. If the interface does not receive a response, the interface is considered to be in the down state and the interface is not down. If the reply is received within 10 seconds, if the interface is in the down state and the interface status is up, the interface can be offloaded.
当用户设备检测到有数据业务需要传输时,建立多条链接。具体的,该 过程可按照上述实施例1中的步骤S2或上述实施例2中的步骤S22实施,其实现细节可参照上述所述,在此不再赘述。When the user equipment detects that there is a data service that needs to be transmitted, a plurality of links are established. Specifically, the The process can be implemented according to the step S2 in the above-mentioned embodiment 1 or the step S22 in the above-mentioned embodiment 2. The implementation details can be referred to the above description, and details are not described herein again.
根据分流权重将建立的链接分配到处于连通状态的接口以与另一用户设备(例如,服务器等)进行数据业务的传输。具体的,该过程可按照上述实施例1中的步骤S3或上述实施例2中的步骤S23实施,其实现细节可参照上述所述,在此不再赘述。The established link is assigned to the interface in the connected state according to the split weight to perform data service transmission with another user equipment (for example, a server or the like). Specifically, the process may be implemented according to the step S3 in the foregoing Embodiment 1 or the step S23 in the foregoing Embodiment 2. The implementation details may be referred to the foregoing, and details are not described herein again.
本发明实施例的用户设备,具有双L功能,且基于接口速率分流,极大的优化了数据流的分配比例,实现利用多条数据通道同时进行数据传输,降低延时、丢包率、拥塞率等,提高了用户体验。The user equipment in the embodiment of the present invention has dual L functions, and is based on interface rate offloading, which greatly optimizes the proportion of data stream allocation, realizes simultaneous data transmission by using multiple data channels, and reduces delay, packet loss rate, and congestion. Rate, etc., improve the user experience.
本发明实施例的用户设备可以以各种形式来实施。例如,本发明中描述的用户设备可以包括诸如手机、移动电话、智能电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、导航装置等等的移动终端。The user equipment of the embodiments of the present invention may be implemented in various forms. For example, the user equipment described in the present invention may include, for example, a mobile phone, a mobile phone, a smart phone, a notebook computer, a digital broadcast receiver, a PDA (Personal Digital Assistant), a PAD (Tablet), a PMP (Portable Multimedia Player), navigation A mobile terminal of a device or the like.
相应的,本发明实施例还提供一种数据传输装置,适用于具有多个无线数据传输接口的终端,所述数据传输装置包括:Correspondingly, the embodiment of the present invention further provides a data transmission apparatus, which is applicable to a terminal having multiple wireless data transmission interfaces, and the data transmission apparatus includes:
检测模块,设置为实时检测各接口的连通性;The detection module is configured to detect the connectivity of each interface in real time;
初始分流模块,设置为检测到有数据需要传输时,基于初始分流权重,将建立的多条链接分配到处于连通状态的接口以进行数据传输;The initial shunt module is configured to, when detecting that there is data to be transmitted, allocate the established multiple links to the interface in the connected state for data transmission based on the initial shunt weight;
实时分流模块,设置为在数据传输的过程中,计算实时分流权重,并根据实时分流权重将新建立的链接分配到处于连通状态的接口以进行数据传输。The real-time shunt module is configured to calculate a real-time shunt weight in the process of data transmission, and allocate the newly established link to the interface in the connected state according to the real-time shunt weight for data transmission.
应理解,上述实施例的实施细节和原理均适用于该实施例的数据传输装置,在此不再赘述。It should be understood that the implementation details and principles of the foregoing embodiments are applicable to the data transmission apparatus of this embodiment, and details are not described herein again.
相应的,本发明实施例还提供一种数据传输装置,适用于具有多个无线数据传输接口的终端,该数据传输装置包括:Correspondingly, the embodiment of the present invention further provides a data transmission apparatus, which is applicable to a terminal having multiple wireless data transmission interfaces, and the data transmission apparatus includes:
检测模块,设置为实时检测各接口的连通性;The detection module is configured to detect the connectivity of each interface in real time;
分流传输模块,设置为检测到有数据需要传输时,基于预存的分流权重,将建立的多条链接分配到处于连通状态的接口以进行数据传输。 The offload transmission module is configured to, when detecting that data needs to be transmitted, allocate the established multiple links to the interface in the connected state for data transmission based on the pre-stored offload weights.
应理解,上述实施例的实施细节和原理均适用于该实施例的数据传输装置,在此不再赘述。It should be understood that the implementation details and principles of the foregoing embodiments are applicable to the data transmission apparatus of this embodiment, and details are not described herein again.
流程图中或在本发明的实施例中以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所述技术领域的技术人员所理解。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。Any process or method description in the flowcharts or otherwise described in the embodiments of the invention may be understood to represent code that includes one or more executable instructions for implementing the steps of a particular logical function or process. Modules, segments or portions, and the scope of the embodiments of the invention includes additional implementations, in which the functions may be performed in a substantially simultaneous manner or in an inverse order depending on the functions involved, in the order shown or discussed. This should be understood by those skilled in the art of the embodiments of the present invention. Further, in the description of the present invention, the meaning of "a plurality" is two or more unless otherwise specified.
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。The embodiments of the present invention have been described above with reference to the drawings, but the present invention is not limited to the specific embodiments described above, and the specific embodiments described above are merely illustrative and not restrictive, and those skilled in the art In the light of the present invention, many forms may be made without departing from the spirit and scope of the invention as claimed.
工业实用性Industrial applicability
本发明实施例提出的数据传输方法、装置及用户设备,基于分流权重为各接口分配链接,实现利用多条数据通道同时传输数据,极大的优化了数据流的分配比例;降低了接口的拥塞、延时和丢包率,提高了用户验。 The data transmission method, device and user equipment provided by the embodiments of the present invention allocate links for each interface based on the traffic weights, thereby realizing the simultaneous transmission of data by using multiple data channels, greatly optimizing the distribution ratio of the data streams, and reducing the congestion of the interfaces. , delay and packet loss rate, improve user authentication.

Claims (20)

  1. 一种数据传输方法,适用于具有多个无线数据传输接口的终端,包括:A data transmission method suitable for a terminal having multiple wireless data transmission interfaces, including:
    终端实时检测各无线数据传输接口的连通性;The terminal detects the connectivity of each wireless data transmission interface in real time;
    终端检测到有数据需要传输时,基于初始分流权重,将建立的多条链接分配到处于连通状态的无线数据传输接口以进行数据传输;When detecting that there is data to be transmitted, the terminal allocates the established multiple links to the wireless data transmission interface in the connected state for data transmission based on the initial split weight;
    在数据传输的过程中,计算实时分流权重,并根据实时分流权重将新建立的链接分配到处于连通状态的无线数据传输接口以进行数据传输。In the process of data transmission, the real-time shunt weight is calculated, and the newly established link is allocated to the wireless data transmission interface in the connected state according to the real-time shunt weight for data transmission.
  2. 根据权利要求1所述的数据传输方法,其中,所述终端检测到有数据需要传输时,基于初始分流权重,将建立的多条链接分配到处于连通状态的接口以进行数据传输,包括:The data transmission method according to claim 1, wherein when the terminal detects that there is data to be transmitted, the established plurality of links are allocated to the interface in the connected state for data transmission based on the initial split weight, including:
    所述终端检测到有数据需要传输时,将生成的多个连接请求报文均分到处于连通状态的无线数据传输接口进行发送;When the terminal detects that there is data to be transmitted, the multiple connection request messages are evenly distributed to the wireless data transmission interface in the connected state for transmission;
    通过所述终端的各个无线数据传输接口接收接收设备回复的确认报文,以在终端和接收设备间建立多条用于传输数据的链接。Receiving, by the respective wireless data transmission interfaces of the terminal, an acknowledgement message replied by the receiving device, to establish a plurality of links for transmitting data between the terminal and the receiving device.
  3. 根据权利要求1所述的数据传输方法,其中,所述在数据传输的过程中,计算实时分流权重,并根据实时分流权重将新建立的链接分配到处于连通状态的接口以进行数据传输,包括:The data transmission method according to claim 1, wherein in the process of data transmission, the real-time offload weight is calculated, and the newly established link is allocated to the interface in the connected state for data transmission according to the real-time offload weight, including :
    在所述数据业务的传输过程中,根据所述无线数据传输接口的速率和时延计算所述分流权重,或根据所述无线数据传输接口的速率计算所述分流权重;The split weight is calculated according to the rate and the delay of the wireless data transmission interface, or the split weight is calculated according to the rate of the wireless data transmission interface;
    基于计算得到的实时分流权重,将所述新建的链接按照实时分流权重分配到处于连通状态的无线数据传输接口以进行数据传输。Based on the calculated real-time offload weight, the newly created link is allocated according to the real-time split weight to the wireless data transmission interface in the connected state for data transmission.
  4. 根据权利要求1所述的数据传输方法,所述方法还包括:The data transmission method according to claim 1, further comprising:
    若所述数据的传输过程中,处于连通状态的无线数据传输接口变为未连通状态,则通过该无线数据传输接口传输的链接被中止;If the wireless data transmission interface in the connected state becomes disconnected during the transmission of the data, the link transmitted through the wireless data transmission interface is suspended;
    并通过所述新建链接的方式继续该链接的数据传输。And continuing the data transmission of the link by means of the new link.
  5. 根据权利要求1所述的数据传输方法,所述方法还包括检测所述无线 数据传输接口的状态,包括:The data transmission method according to claim 1, further comprising detecting said wireless The status of the data transfer interface, including:
    每隔第一预设时间,从每个无线数据传输接口发一个ping报文到预设服务器;Sending a ping message from each wireless data transmission interface to the preset server every first preset time;
    等待第二预设时间,若未收到回复信息,则该无线数据传输接口处于未连通状态,若收到回复信息,则该无线数据传输接口处于连通状态。Waiting for the second preset time, if the reply message is not received, the wireless data transmission interface is in a disconnected state, and if the reply message is received, the wireless data transmission interface is in a connected state.
  6. 根据权利要求1所述的数据传输方法,所述方法还包括:每隔预设时间,获取所述无线数据传输接口的字节数的变化以作为无线数据传输接口的当前速率。The data transmission method according to claim 1, further comprising: obtaining a change in the number of bytes of the wireless data transmission interface as a current rate of the wireless data transmission interface every preset time.
  7. 根据权利要求6所述的数据传输方法,所述方法还包括:The data transmission method according to claim 6, further comprising:
    所述计算实时分流权重之前,检测所述无线数据传输接口是否处于拥塞状态,若是,则判断所述无线数据传输接口的当前速率是否大于该接口的最大速率,若不大于最大速率,则将当前速率加上一预设值后与最大速率比较,若小于最大速率,则将当前速率作为所述无线数据传输接口的最大速率;Before the real-time offloading weight is calculated, detecting whether the wireless data transmission interface is in a congested state, and if yes, determining whether the current rate of the wireless data transmission interface is greater than a maximum rate of the interface, and if not greater than the maximum rate, the current The rate is compared with the maximum rate after adding a preset value, and if it is less than the maximum rate, the current rate is used as the maximum rate of the wireless data transmission interface;
    若所述无线数据传输接口不处于拥塞状态,且当前速率大于最大速率,则将当前速率作为所述无线数据传输接口的最大速率。If the wireless data transmission interface is not in a congested state and the current rate is greater than the maximum rate, the current rate is used as the maximum rate of the wireless data transmission interface.
  8. 根据权利要求7所述的数据传输方法,其中,所述计算实时分流权重包括:The data transmission method according to claim 7, wherein said calculating a real-time offload weight comprises:
    将所述最大速率与预设值进行比较,若所述最大速率大于预设值,则根据所述无线数据传输接口的最大速率计算分流权重;若所述最大速率不大于预设值,则根据所述无线数据传输接口的延时来确定分流权重。Comparing the maximum rate with a preset value, if the maximum rate is greater than a preset value, calculating a split weight according to a maximum rate of the wireless data transmission interface; if the maximum rate is not greater than a preset value, according to the The delay of the wireless data transmission interface determines the split weight.
  9. 根据权利要求7或8所述的数据传输方法,其中,任一所述无线数据传输接口的分流权重为该无线数据传输接口的最大速率与所有接口的最大速率之和的比值。The data transmission method according to claim 7 or 8, wherein the offload weight of any of the wireless data transmission interfaces is a ratio of a maximum rate of the wireless data transmission interface to a sum of maximum rates of all interfaces.
  10. 根据权利要求8所述的数据传输方法,其中,当通过一所述无线数据传输接口接收到一个syn+ack报文时,判断是否处于SYN_SEND状态,若处于SYN_SEND状态,则获取当前的系统时间,并将获取的当前系统时间减去系统发送syn报文的时间,获得的时间差为所述无线数据传输接口的时延。The data transmission method according to claim 8, wherein when a syn+ack message is received through a wireless data transmission interface, it is judged whether it is in the SYN_SEND state, and if it is in the SYN_SEND state, the current system time is obtained. The current system time obtained is subtracted from the time when the system sends a syn message, and the obtained time difference is the delay of the wireless data transmission interface.
  11. 根据权利要求8所述的数据传输方法,所述方法还包括: The data transmission method according to claim 8, the method further comprising:
    每隔预设时间通过每一所述无线数据传输接口分别发一组ping报文,并根据接收到回复信息的时间差获取所述无线数据传输接口的时延。A set of ping messages is sent through each of the wireless data transmission interfaces at a preset time, and the time delay of the wireless data transmission interface is obtained according to the time difference of receiving the reply information.
  12. 根据权利要求10或11所述的数据传输方法,其中,所述无线数据传输接口的时延与该无线数据传输接口的分流权重成反比。The data transmission method according to claim 10 or 11, wherein the delay of the wireless data transmission interface is inversely proportional to the weight of the traffic of the wireless data transmission interface.
  13. 根据权利要求1所述的数据传输方法,所述方法还包括:The data transmission method according to claim 1, further comprising:
    获取每一所述链接的数据包,并判断获取的数据包的链接跟踪状态是否为第一个数据包;Obtaining each of the linked data packets, and determining whether the link tracking status of the obtained data packet is the first data packet;
    如果为第一个数据包,则根据所述分流权重,对该数据包进行标记,并将标记值保存;如果不是第一个数据包,则将保存的该链接的第一个数据包的标记值赋予该数据包;If it is the first data packet, the data packet is marked according to the traffic weight, and the tag value is saved; if it is not the first data packet, the tag of the first data packet of the link is saved. The value is assigned to the data packet;
    所述方法还包括:根据数据包的标记值,将数据包分配至相应的所述无线数据传输接口进行传输。The method further includes allocating the data packet to the corresponding wireless data transmission interface for transmission according to the tag value of the data packet.
  14. 根据权利要求1所述的数据传输方法,其特征在于,所述多个无线数据传输接口包括以下接口中的至少一者:第一长期演进LTE接口、第二LTE接口、第一无线局域网WIFI接口和第二WIFI接口。The data transmission method according to claim 1, wherein the plurality of wireless data transmission interfaces comprise at least one of the following interfaces: a first long term evolution LTE interface, a second LTE interface, and a first wireless local area network WIFI interface. And the second WIFI interface.
  15. 一种数据传输方法,适用于具有多个无线数据传输接口的终端,包括:A data transmission method suitable for a terminal having multiple wireless data transmission interfaces, including:
    终端实时检测各无线数据传输接口的连通性;The terminal detects the connectivity of each wireless data transmission interface in real time;
    终端检测到有数据需要传输时,基于预存的分流权重,将建立的多条链接分配到处于连通状态的无线数据传输接口以进行数据传输。When the terminal detects that there is data to be transmitted, the established multiple links are allocated to the wireless data transmission interface in the connected state for data transmission based on the pre-stored offload weights.
  16. 根据权利要求15所述的数据传输方法,其中,所述预存的分流权重为所述终端上一次数据传输时所采用的实时分流权重。The data transmission method according to claim 15, wherein the pre-stored offload weight is a real-time offload weight used by the terminal for the last data transmission.
  17. 根据权利要求15所述的数据传输方法,所述方法还包括:The data transmission method according to claim 15, the method further comprising:
    在数据业务的传输过程中,根据所述无线数据传输接口的速率和时延计算分流权重,或者根据所述无线数据传输接口的速率计算分流权重;During the transmission of the data service, the offload weight is calculated according to the rate and delay of the wireless data transmission interface, or the split weight is calculated according to the rate of the wireless data transmission interface;
    并基于计算得到的实时分流权重,将新建的链接按照实时分流权重分配到处于连通状态的所述无线数据传输接口以进行数据传输。 And based on the calculated real-time split weight, the newly-added link is allocated according to the real-time split weight to the wireless data transmission interface in the connected state for data transmission.
  18. 一种用户设备,包括第一用户识别模块和第二用户识别模块,还包括:A user equipment, including a first user identification module and a second user identification module, further comprising:
    第一通信模块;First communication module;
    第二通信模块;a second communication module;
    切换模块;和Switching module; and
    控制模块,设置为根据用户的操作指令,输出第一控制指令和第二控制指令;The control module is configured to output the first control instruction and the second control instruction according to the operation instruction of the user;
    所述控制模块还设置为根据所述第一控制指令,控制所述切换模块,使得所述第一用户识别模块或所述第二用户识别模块与所述第一通信模块连接;The control module is further configured to control the switching module according to the first control instruction, so that the first user identification module or the second user identification module is connected to the first communication module;
    所述第一通信模块设置为建立与LTE网络的数据业务连接,以进行数据业务传输;The first communication module is configured to establish a data service connection with the LTE network for data service transmission;
    所述控制模块还设置为根据所述第二控制指令,控制所述切换模块,使得所述第一用户识别模块或所述第二用户识别模块与所述第二通信模块连接;The control module is further configured to control the switching module according to the second control instruction, so that the first user identification module or the second user identification module is connected to the second communication module;
    所述第二通信模块设置为建立与LTE网络的数据业务连接,以进行数据业务传输;The second communication module is configured to establish a data service connection with the LTE network for data service transmission;
    所述控制模块还设置为检测第一通信模块和第二通信模块的连通性;检测到有数据需要传输时,基于初始分流权重,将建立的多条链接分配到处于连通状态的通信模块以进行数据传输;在数据传输的过程中,计算实时分流权重,并根据实时分流权重将新建立的链接分配到处于连通状态的通信模块以进行数据传输。The control module is further configured to detect connectivity of the first communication module and the second communication module; when detecting that data needs to be transmitted, assign the established multiple links to the communication module in the connected state based on the initial split weight Data transmission; in the process of data transmission, the real-time shunt weight is calculated, and the newly established link is allocated to the communication module in the connected state according to the real-time shunt weight for data transmission.
  19. 根据权利要求18所述的用户设备,所述用户设备还包括:The user equipment of claim 18, the user equipment further comprising:
    两个WIFI模块,设置为连接到WIFI网络以进行数据传输;Two WIFI modules, configured to connect to a WIFI network for data transmission;
    所述控制模块,还设置为实时检测各接口的连通性;检测到有数据需要传输时,基于初始分流权重,将建立的多条链接分配到处于连通状态的无线数据传输接口以进行数据传输;在数据传输的过程中,计算实时分流权重,并根据实时分流权重将新建立的链接分配到处于连通状态的无线数据传输接 口以进行数据传输;The control module is further configured to detect connectivity of each interface in real time; when detecting that data needs to be transmitted, the established multiple links are allocated to the wireless data transmission interface in the connected state for data transmission based on the initial split weight; In the process of data transmission, the real-time shunt weight is calculated, and the newly established link is allocated to the wireless data transmission in the connected state according to the real-time shunt weight. Port for data transmission;
    所述无线数据传输接口包括:与所述第一通信模块相对应的第一LTE接口、与所述第二通信模块相对应的第二LTE接口、以及分别与所述两个WIFI模块对应的第一WIFI接口和第二WIFI接口。The wireless data transmission interface includes: a first LTE interface corresponding to the first communication module, a second LTE interface corresponding to the second communication module, and a corresponding to the two WIFI modules respectively A WIFI interface and a second WIFI interface.
  20. 一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1-14任一项和/或权利要求15-17任一项的方法。 A computer readable storage medium storing computer executable instructions for performing the method of any of claims 1-14 and/or any of claims 15-17.
PCT/CN2016/089419 2015-07-10 2016-07-08 Data transmission method, apparatus, and user device WO2017008701A1 (en)

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
CN201510408296.5A CN105228133A (en) 2015-07-10 2015-07-10 Multi-channel data method for down loading and system
CN201510404515.2A CN105101438A (en) 2015-07-10 2015-07-10 Data allocation method and device for multiple data channels
CN201510404515.2 2015-07-10
CN201510405867.X 2015-07-10
CN201510405867.XA CN105119825A (en) 2015-07-10 2015-07-10 Data transmission device and data transmission method
CN201510408296.5 2015-07-10
CN201510426987.8A CN105094960A (en) 2015-07-20 2015-07-20 Data loading device and method based on two channels
CN201510426987.8 2015-07-20
CN201610013264.XA CN105682146A (en) 2016-01-08 2016-01-08 Data transmission method and device and user equipment
CN201610013264.X 2016-01-08

Publications (1)

Publication Number Publication Date
WO2017008701A1 true WO2017008701A1 (en) 2017-01-19

Family

ID=57756662

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/089419 WO2017008701A1 (en) 2015-07-10 2016-07-08 Data transmission method, apparatus, and user device

Country Status (1)

Country Link
WO (1) WO2017008701A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112399484A (en) * 2020-11-13 2021-02-23 Oppo广东移动通信有限公司 Data transmission method, device, storage medium and electronic equipment
CN113553013A (en) * 2020-04-23 2021-10-26 北京小米移动软件有限公司 Data transmission method and device and multi-screen terminal equipment
CN114143892A (en) * 2021-11-30 2022-03-04 北京长焜科技有限公司 Double-current convergence method supporting NR and WiFi service dynamic allocation
CN114727343A (en) * 2022-01-24 2022-07-08 北京仁光科技有限公司 Multi-channel data transmission system
CN115396946A (en) * 2022-08-24 2022-11-25 重庆邮电大学 Unmanned aircraft data transmission method based on QoS evaluation
WO2023025019A1 (en) * 2021-08-27 2023-03-02 中兴通讯股份有限公司 Data transmission method, electronic device and computer-readable storage medium

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101110763A (en) * 2007-06-22 2008-01-23 中兴通讯股份有限公司 Method for fast weighing and selecting port
CN103200606A (en) * 2013-03-18 2013-07-10 东莞宇龙通信科技有限公司 Terminal and data service processing method
CN103547327A (en) * 2012-12-27 2014-01-29 华为技术有限公司 Multiple wireless application communication achieving method and user equipment
CN103580842A (en) * 2013-11-04 2014-02-12 惠州Tcl移动通信有限公司 Method and system for conducting parallel transmission through multiple types of wireless links
US20140247740A1 (en) * 2011-11-16 2014-09-04 Sk Telecom Co., Ltd. Apparatus and method for supporting simultaneous data transmission service over multiple networks
CN105101438A (en) * 2015-07-10 2015-11-25 努比亚技术有限公司 Data allocation method and device for multiple data channels
CN105094960A (en) * 2015-07-20 2015-11-25 努比亚技术有限公司 Data loading device and method based on two channels
CN105119825A (en) * 2015-07-10 2015-12-02 努比亚技术有限公司 Data transmission device and data transmission method
CN105228133A (en) * 2015-07-10 2016-01-06 努比亚技术有限公司 Multi-channel data method for down loading and system
CN105578528A (en) * 2016-01-08 2016-05-11 努比亚技术有限公司 Data interface distribution method and apparatus and terminal device
CN105656798A (en) * 2016-01-08 2016-06-08 努比亚技术有限公司 Data transmission method and device, multichannel routing method and user equipment
CN105682146A (en) * 2016-01-08 2016-06-15 努比亚技术有限公司 Data transmission method and device and user equipment

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101110763A (en) * 2007-06-22 2008-01-23 中兴通讯股份有限公司 Method for fast weighing and selecting port
US20140247740A1 (en) * 2011-11-16 2014-09-04 Sk Telecom Co., Ltd. Apparatus and method for supporting simultaneous data transmission service over multiple networks
CN103547327A (en) * 2012-12-27 2014-01-29 华为技术有限公司 Multiple wireless application communication achieving method and user equipment
CN103200606A (en) * 2013-03-18 2013-07-10 东莞宇龙通信科技有限公司 Terminal and data service processing method
CN103580842A (en) * 2013-11-04 2014-02-12 惠州Tcl移动通信有限公司 Method and system for conducting parallel transmission through multiple types of wireless links
CN105101438A (en) * 2015-07-10 2015-11-25 努比亚技术有限公司 Data allocation method and device for multiple data channels
CN105119825A (en) * 2015-07-10 2015-12-02 努比亚技术有限公司 Data transmission device and data transmission method
CN105228133A (en) * 2015-07-10 2016-01-06 努比亚技术有限公司 Multi-channel data method for down loading and system
CN105094960A (en) * 2015-07-20 2015-11-25 努比亚技术有限公司 Data loading device and method based on two channels
CN105578528A (en) * 2016-01-08 2016-05-11 努比亚技术有限公司 Data interface distribution method and apparatus and terminal device
CN105656798A (en) * 2016-01-08 2016-06-08 努比亚技术有限公司 Data transmission method and device, multichannel routing method and user equipment
CN105682146A (en) * 2016-01-08 2016-06-15 努比亚技术有限公司 Data transmission method and device and user equipment

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113553013A (en) * 2020-04-23 2021-10-26 北京小米移动软件有限公司 Data transmission method and device and multi-screen terminal equipment
CN112399484A (en) * 2020-11-13 2021-02-23 Oppo广东移动通信有限公司 Data transmission method, device, storage medium and electronic equipment
CN112399484B (en) * 2020-11-13 2023-09-12 Oppo广东移动通信有限公司 Data transmission method and device, storage medium and electronic equipment
WO2023025019A1 (en) * 2021-08-27 2023-03-02 中兴通讯股份有限公司 Data transmission method, electronic device and computer-readable storage medium
CN114143892A (en) * 2021-11-30 2022-03-04 北京长焜科技有限公司 Double-current convergence method supporting NR and WiFi service dynamic allocation
CN114727343A (en) * 2022-01-24 2022-07-08 北京仁光科技有限公司 Multi-channel data transmission system
CN115396946A (en) * 2022-08-24 2022-11-25 重庆邮电大学 Unmanned aircraft data transmission method based on QoS evaluation
CN115396946B (en) * 2022-08-24 2024-04-30 重庆邮电大学 Unmanned aircraft data transmission method based on QoS evaluation

Similar Documents

Publication Publication Date Title
WO2017117968A1 (en) Method and apparatus for branching data interface, terminal device and computer storage medium
CN104412628B (en) A kind of method, apparatus and computer-readable medium that application service is provided in telecommunication network
US10165486B2 (en) Multiple-communications-standard transmission method and apparatus
EP3565196B1 (en) Flow control method and apparatus
WO2020038256A1 (en) Data transmission method and apparatus
WO2017008701A1 (en) Data transmission method, apparatus, and user device
WO2018201407A1 (en) Report sending method, report receiving method, device and system
US11356294B2 (en) Packet processing method and device
CN110505714B (en) Multi-link communication method, equipment and terminal
CN111698755B (en) URSP rule-based application data routing method and user equipment
JP2014525196A (en) Sending short packet data messages via signaling radio bearers
JP2020518183A (en) Wireless communication method, network device and terminal device
CN111988212B (en) Message transmission method and related device
WO2016011849A1 (en) Method, device and system for controlling air interface resources
EP3439358A1 (en) Method for processing voice service and base station
US10645615B2 (en) Method and apparatus for establishing bearers in a wireless communication system
WO2017008697A1 (en) Data transmission method and device, multi-channel routing method, and user equipment
CN114173384A (en) QoS control method, device and processor readable storage medium
CN112087777B (en) MDBV (minimum drive buffer volume) determination method, device and system
CN109587053B (en) Network shunting method and related equipment
WO2015018056A1 (en) Service distribution method, device and system
WO2012146170A1 (en) Data distribution method and apparatus for multiple radio access technologies servicing one user equipment
US10798054B2 (en) IP address allocation method in D2D communication and user equipment
TW201929571A (en) Network redirection method and terminal, access network device, mobile management device
CN114846774B (en) Communication method and device

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: 16823848

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 07/06/2018)

122 Ep: pct application non-entry in european phase

Ref document number: 16823848

Country of ref document: EP

Kind code of ref document: A1