CN112152925A - Data transmission method, terminal and communication system - Google Patents

Data transmission method, terminal and communication system Download PDF

Info

Publication number
CN112152925A
CN112152925A CN201910570205.6A CN201910570205A CN112152925A CN 112152925 A CN112152925 A CN 112152925A CN 201910570205 A CN201910570205 A CN 201910570205A CN 112152925 A CN112152925 A CN 112152925A
Authority
CN
China
Prior art keywords
terminal
data
transmission path
transmission
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910570205.6A
Other languages
Chinese (zh)
Other versions
CN112152925B (en
Inventor
杨庆昌
余庆华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910570205.6A priority Critical patent/CN112152925B/en
Priority to PCT/CN2020/097585 priority patent/WO2020259465A1/en
Publication of CN112152925A publication Critical patent/CN112152925A/en
Application granted granted Critical
Publication of CN112152925B publication Critical patent/CN112152925B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/124Shortest path evaluation using a combination of metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results

Abstract

The application discloses a data transmission method, which comprises the steps that a first terminal obtains first data to be transmitted to a second terminal, the first data are generated by a first application, then, the QoS (quality of service) information of each transmission path in N available transmission paths is obtained, N is an integer larger than 1, the N available transmission paths are communication paths between the first terminal and the second terminal, and then the first terminal determines the first transmission path of which the QoS information meets transmission conditions from the N transmission paths; the first terminal transmits the first data through the first transmission path. According to the scheme provided by the embodiment of the application, the terminal can determine the transmission path for transmitting the data generated by the application based on the QoS information of each transmission path, so that the requirement of data transmission on the QoS is met.

Description

Data transmission method, terminal and communication system
Technical Field
The present application relates to the field of communications technologies, and in particular, to a data transmission method, a terminal, and a communication system.
Background
In the internet or a data center network, multiple communication paths of an equivalent route or a similar equivalent route often exist between a source node and a destination node, and the multiple communication paths can be used for fault migration or for improving network transmission performance. For example, when a wireless fidelity (WiFi) signal is not good, a mobile phone transmits data through a 4th generation (4G) network, thereby implementing uninterrupted data transmission.
At present, some protocols support multipath transmission, such as multipath transmission control protocol (MPTCP), Stream Control Transmission Protocol (SCTP), etc., but these protocols also achieve the main goal of implementing failover or traffic aggregation.
At present, multipath transmission of data generated by application from a source terminal to a destination terminal often cannot meet transmission requirements, so that the transmission effect of the application data is poor.
Disclosure of Invention
The embodiment of the application provides a data transmission method, and a terminal can determine a transmission path for transmitting data of application based on QoS (quality of service) information of each transmission path, so that the requirement of data transmission on the QoS is met. The embodiment of the application also provides a corresponding terminal, a communication system and a storage medium.
A first aspect of the present application provides a data transmission method, which may include:
the method comprises the steps that a first terminal obtains first data to be transmitted to a second terminal, wherein the first data is generated by a first application;
the first terminal acquires quality of service (QoS) information of each transmission path in N available transmission paths, wherein N is an integer greater than 1, and the N available transmission paths are communication paths between the first terminal and the second terminal;
the first terminal determines a first transmission path with QoS information meeting transmission conditions from the N transmission paths;
and the first terminal transmits the first data through the first transmission path.
In the first aspect, the QoS information may include information describing quality of service, such as transmission bandwidth, transmission delay, packet loss rate, and jitter. The transmission conditions may be various, such as: the best service quality is taken as a transmission condition, the service qualities ranked at the top X are taken as the transmission condition, X is an integer greater than 1, a certain dimension in the service qualities is taken as the transmission condition, or one or more dimensions reaching a certain threshold value are taken as the transmission condition, and the transmission condition can be configured according to actual requirements and is not limited to the listed ones. In the first aspect, when data of an application is transmitted between terminals, a transmission path that meets a requirement of quality of service may be determined by a terminal that sends the data to perform data transmission, so that the requirement of data transmission on quality of service is met.
In a possible implementation manner of the first aspect, the obtaining, by the first terminal, quality of service QoS information of each transmission path of the N available transmission paths may include:
the first terminal determines N QoS flows, wherein each QoS flow corresponds to an available transmission path;
and the first terminal measures the QoS information of each transmission path in the N available transmission paths corresponding to the N QoS flows through the measurement message.
In this possible implementation, the QoS flow may be a triplet, a quadruplet or a quintet. If the QoS flow is a triple, it includes a source Internet Protocol (IP) address, an IP protocol, and a destination IP address. If the QoS flow is a quad then the source IP address, source port number, destination IP address and destination port number are included. If the QoS flow is a five-tuple, it includes a source IP address, a source port number, an IP protocol, a destination IP address, and a destination port number. Taking the example where the QoS flow is a quadruple, each quadruple corresponds to one available transmission path. When measuring the available transmission paths, a measurement packet may be sent to each available transmission path, and then a response packet corresponding to the measurement packet is received, thereby calculating QoS information on the available transmission paths. For example: the transmission delay can be counted according to the sending time of the measurement message and the receiving time of the response message. In the possible implementation manner, each transmission path is measured to obtain QoS information of each transmission path, and then the best or most appropriate transmission path is selected according to the QoS information, thereby improving the success rate of data transmission.
In a possible implementation manner of the first aspect, the determining, by the first terminal, a first transmission path in which QoS information satisfies a transmission condition from among the N transmission paths may include:
the first terminal determines demand information of data transmission of the first application on service quality in a first dimension, wherein the service quality comprises the first dimension and a second dimension;
and the first terminal determines the transmission path with the highest conformity in the first dimension from the N transmission paths as the first transmission path according to the demand information in the first dimension and the QoS information of each transmission path.
In this possible implementation, it is considered that some applications have higher requirements on transmission delay, such as navigation applications and instant messaging applications. Some applications have a high jitter requirement, such as voice applications and video applications. Some applications have higher requirements on the packet loss rate, such as applications related to precise control. The transmission delay, jitter and packet loss rate belong to different dimensions of QoS information respectively. Thus, when transmitting data of different applications, it is possible to select a suitable transmission path according to the requirements of various applications for different dimensions of QoS information, for example: there are three available transmission paths, where the transmission delay of the available transmission path 1 is the lowest, the jitter of the available transmission path 2 is the lowest, and the packet loss rate of the available transmission path 3 is the lowest. Thus, when selecting a transmission path for a navigation application, transmission path 1 is selected from the three available transmission paths, and data of the navigation application is transmitted using transmission path 1. The possible implementation mode can ensure that the applications with different dimensionality requirements can be transmitted in the respectively suitable available transmission paths, so that the data transmission success rate and efficiency of each application are improved.
In a possible implementation manner of the first aspect, the method may further include:
and the first terminal receives the received confirmation information of the first data sent by the second terminal through a second transmission path, wherein the deviation between the QoS information of the second transmission path and the QoS information of the first transmission path is within a preset range.
In the possible implementation manner, the preset range may be an offset range of QoS information values, or may be a sorted offset range, in order to avoid that the data sending end retransmits data because the data sending end cannot receive an Acknowledgement (ACK) message later, the data receiving end also selects a transmission path with the best QoS as possible to return an ACK message to the data sending end, so that the data sending end can avoid repeatedly sending data and wasting transmission resources because the data sending end cannot receive the acknowledgement message later.
In a possible implementation manner of the first aspect, the method may further include:
and when the first transmission path fails, the first terminal schedules the first data transmitted on the first transmission path to a third transmission path, and the QoS information of the third transmission path is the transmission path with the best service quality except the first transmission path in the N available transmission paths.
In this possible implementation, data is also transmitted as well as better as possible after the data has migrated due to a failure.
In a possible implementation manner of the first aspect, the method may further include:
the first terminal encapsulates a User Datagram Protocol (UDP) tunnel header in the first data;
the first terminal transmits first data encapsulating a UDP tunnel header through the first transmission path.
In this possible implementation manner, the upper layer application may not sense the transmission of the data, may transmit the first data in a tunnel manner, and may encapsulate a UDP tunnel header in the data to be transmitted when transmitting in the tunnel manner.
In a possible implementation manner of the first aspect, the method may further include:
the first terminal receives second data, wherein the second data comprises identification information of a first application;
and the first terminal dispatches the second data to the first application according to the identification information of the first application.
In the possible implementation manner, the upper-layer application is matched to realize data transmission, in this case, each application has a unique APP ID, when data is sent, the APP ID is written into the data, and after the data receiving device receives the data, the APP ID is analyzed, so that the second data can be scheduled to the corresponding application.
In a possible implementation manner of the first aspect, the obtaining, by the first terminal, first data to be transmitted to the second terminal may include:
the first terminal obtains the first data by running an instance of the first application, the first application is one of M applications, each application runs based on a different instance, M is an integer and is more than or equal to 1.
In this possible implementation, each application uses one instance to run, that is, there may be multiple instances, and each instance serves only one application.
A second aspect of the present application provides a terminal configured to perform the method of the first aspect or any possible implementation manner of the first aspect. In particular, the apparatus comprises means or elements for performing the method of the first aspect described above or any possible implementation manner of the first aspect.
A third aspect of the present application provides a terminal, comprising: at least one processor, a memory, a transceiver, and computer executable instructions stored in the memory and executable on the processor, the processor performing the method according to the first aspect or any one of the possible implementations of the first aspect when the computer executable instructions are executed by the processor.
A fourth aspect of the present application provides a computer-readable storage medium storing one or more computer-executable instructions that, when executed by a processor, perform a method as described in the first aspect or any one of the possible implementations of the first aspect.
A fifth aspect of the present application provides a computer program product storing one or more computer executable instructions that, when executed by the processor, perform the method of the first aspect or any one of the possible implementations of the first aspect.
The terminals described in the second and third aspects above may also be chips applied in terminals, or other combined devices, components, etc. having the above-described terminal functions.
The receiving unit in the terminal may be a receiver, and may include an antenna, a radio frequency circuit, and the like, and the processing unit may be a processor, for example: a Central Processing Unit (CPU), the sending unit may be a transmitter, may include an antenna and a radio frequency circuit, etc., wherein the receiver and the transmitter may be an integrated transceiver.
When the terminal is a component having the above-described terminal functions, the receiving unit may be a radio frequency unit, the processing unit may be a processor, and the transmitting unit may be a radio frequency unit.
When the terminal is a system-on-chip, the receiving unit may be an input port of the system-on-chip, the processing unit may be a processor of the system-on-chip, and the transmitting unit may be an output port of the system-on-chip.
For technical effects brought by any one of the possible implementation manners of the second aspect to the fifth aspect, reference may be made to technical effects brought by different possible implementation manners of the first aspect or the first aspect, and details are not described here.
According to the scheme provided by the embodiment of the application, the terminal can determine the transmission path for transmitting the data generated by the application based on the QoS information of each transmission path, so that the requirement of data transmission on the QoS is met.
Drawings
Fig. 1 is a schematic diagram of an embodiment of a communication system provided in an embodiment of the present application;
fig. 2 is a schematic diagram of an embodiment of a method for data transmission provided by an embodiment of the present application;
fig. 3 is a schematic diagram illustrating an example scenario of a method for data transmission according to an embodiment of the present application;
fig. 4 is a schematic diagram illustrating another exemplary scenario of a method for data transmission provided in an embodiment of the present application;
fig. 5 is a schematic diagram illustrating another exemplary scenario of a method for data transmission provided in an embodiment of the present application;
fig. 6 is a schematic diagram illustrating another exemplary scenario of a method for data transmission provided in an embodiment of the present application;
fig. 7 is a schematic diagram illustrating another exemplary scenario of a method for data transmission provided in an embodiment of the present application;
FIG. 8 is a diagram of a data structure provided by an embodiment of the present application;
FIG. 9 is a diagram of another data structure provided by an embodiment of the present application;
fig. 10 is a schematic diagram of an embodiment of a terminal provided in the present application;
fig. 11 is a schematic diagram of an embodiment of a communication device according to an embodiment of the present application.
Detailed Description
Embodiments of the present application will now be described with reference to the accompanying drawings, and it is to be understood that the described embodiments are merely illustrative of some, but not all, embodiments of the present application. As can be known to those skilled in the art, with the development of technology and the emergence of new scenarios, the technical solution provided in the embodiments of the present application is also applicable to similar technical problems.
The terms "first," "second," and the like in the description and in the claims of the present application and in the above-described drawings are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It will be appreciated that the data so used may be interchanged under appropriate circumstances such that the embodiments described herein may be practiced otherwise than as specifically illustrated or described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
The embodiment of the application provides a data transmission method, and a terminal can determine a transmission path for transmitting data of application based on QoS (quality of service) information of each transmission path, so that the requirement of data transmission on the QoS is met. The embodiment of the application also provides a corresponding terminal, a communication system and a storage medium. The following are detailed below.
A terminal (also referred to as User Equipment (UE)) is a device with wireless transceiving function, and can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; can also be deployed on the water surface (such as a ship and the like); and may also be deployed in the air (e.g., airplanes, balloons, satellites, etc.). The terminal may be a mobile phone (mobile phone), a tablet computer (pad), a computer with a wireless transceiving function, a Virtual Reality (VR) terminal, an Augmented Reality (AR) terminal, a wireless terminal in industrial control (industrial control), a wireless terminal in self driving (self driving), a wireless terminal in remote medical (remote medical), a wireless terminal in smart grid (smart grid), a wireless terminal in transportation safety (transportation safety), a wireless terminal in smart city (smart city), a wireless terminal in smart home (smart home), and the like.
Fig. 1 is a schematic diagram of an embodiment of a communication system according to an embodiment of the present application.
As shown in fig. 1, an embodiment of a communication system provided in the embodiment of the present application may include a first terminal 10A, a second terminal 10B, and a network 20. The first terminal 10A and the second terminal 10B communicate through the network 20. A plurality of routing devices may be included in the network 20.
The first terminal 10A acquires first data to be transmitted to the second terminal 10B, the first data being generated by the first application. The first terminal acquires quality of service (QoS) information of each transmission path in N available transmission paths, wherein N is an integer greater than 1, and the N available transmission paths are communication paths between the first terminal and the second terminal; the first terminal determines a first transmission path with QoS information meeting transmission conditions from the N transmission paths; and the first terminal transmits the first data through the first transmission path.
The second terminal receiving the first data from the first transmission path with 10B; scheduling the first data to the first application.
It should be noted that, in fig. 1, the first terminal 10A and the second terminal 10B are both mobile phones as an example, and actually, in different scenarios, the first terminal 10A and the second terminal 10B are not limited to mobile phones, and the first terminal 10A and the second terminal 10B may also be different terminal devices.
According to the communication system provided by the embodiment of the application, the terminal can determine the transmission path for transmitting the data generated by the application based on the QoS information of each transmission path, so that the requirement of data transmission on the QoS is met.
Having described the communication system provided in the embodiment of the present application, a method for data transmission provided in the embodiment of the present application is described below with reference to fig. 2.
As shown in fig. 2, an embodiment of a method for data transmission provided in the embodiment of the present application may include:
201. the first terminal acquires first data to be transmitted to the second terminal, wherein the first data is generated by a first application.
202. The first terminal obtains the QoS information of each transmission path in the N available transmission paths.
The N is an integer greater than 1, and the N available transmission paths are communication paths between the first terminal and the second terminal.
The QoS information may include information such as transmission bandwidth, transmission delay, packet loss rate, and jitter.
There may be multiple available transmission paths between the first terminal and the second terminal, and each available transmission path may be generated by the first terminal and the second terminal through negotiation, or may be generated by the first terminal and the second terminal through negotiation of an intermediate control device.
In some possible embodiments, this step 202 may include:
the first terminal determines N QoS flows, wherein each QoS flow corresponds to an available transmission path;
and the first terminal measures the QoS information of each transmission path in the N available transmission paths corresponding to the N QoS flows through the measurement message.
In the embodiment of the present application, the QoS flow may be a triplet, a quadruplet or a quintet. If the QoS flow is a triple, it includes a source Internet Protocol (IP) address, an IP protocol, and a destination IP address. If the QoS flow is a quad then the source IP address, source port number, destination IP address and destination port number are included. If the QoS flow is a five-tuple, it includes a source IP address, a source port number, an IP protocol, a destination IP address, and a destination port number.
Taking the example where the QoS flow is a quadruple, each quadruple corresponds to one available transmission path.
When measuring the available transmission paths, a measurement packet may be sent to each available transmission path, and then a response packet corresponding to the measurement packet is received, thereby calculating QoS information on the available transmission paths. For example: the transmission delay can be counted according to the sending time of the measurement message and the receiving time of the response message, and the packet loss rate can be determined according to the number of the sent measurement messages and the number of the received measurement messages fed back by the target terminal. Of course, this is merely an example, and other schemes for determining QoS information are suitable for the present application.
203. And the first terminal determines a first transmission path of which the QoS information meets the transmission condition from the N transmission paths.
The transmission conditions may be various, such as: the best service quality is taken as a transmission condition, the service qualities ranked at the top X are taken as the transmission condition, X is an integer greater than 1, a certain dimension in the service qualities is taken as the transmission condition, or one or more dimensions reaching a certain threshold value are taken as the transmission condition, and the transmission condition can be configured according to actual requirements and is not limited to the listed ones.
204. And the first terminal transmits the first data through the first transmission path.
205. And after receiving the first data, the second terminal schedules the first data to the first application.
According to the data transmission method provided by the embodiment of the application, the terminal can determine the transmission path for transmitting the data generated by the application based on the QoS information of each transmission path, so that the requirement of data transmission on the QoS is met.
In the above-described embodiments shown in fig. 1 and 2, the first terminal 10A is used as a data transmitting side, and the second terminal 10B is used as a data receiving side. In the actual data transmission process, the first terminal 10A may sometimes be a data transmitting end and sometimes a data receiving end, and similarly, the second terminal 10B may also sometimes be a data receiving end and sometimes a data transmitting end.
The functionality of the terminals involved in the data transmission process of the present application, whether it be the first terminal 10A or the second terminal 10B, can be understood with reference to an exemplary schematic diagram shown in fig. 3.
As shown in fig. 3, the terminal may include a plurality of Applications (APP), a scheduler (scheduler), a generator (generator), a listener (listener), a measurer (measurer), and a socket (socket).
It should be noted that the scheduler, producer, listener, measurer, and port socket described herein may be implemented by software.
Wherein, each application can generate data of the application, the first application is one of a plurality of applications, and the first data is the data generated by the first application.
The determination of N QoS flows described in step 202 may be performed by a generator (generator) configured to negotiate available IP addresses and ports at both ends of communication, or, without negotiation, generate QoS flows through preconfigured IP addresses and ports, that is, determine available transmission paths.
Taking the example of the generator generating four tuples, each four tuple corresponds to a port socket (socket).
The measurer may be configured to measure QoS information of each of the N available transmission paths, and the measurement principle of the measurer may be understood by referring to the corresponding description of measuring QoS information through a packet in step 202. The measurer reports the QoS information of each transmission path to the scheduler after measuring the QoS information of each transmission path. The measurer may send a measurement message through a port socket (socket).
The scheduler may be configured to perform step 203, that is, determine an appropriate transmission path for the data generated by the application according to the QoS information reported by the measurer, and schedule the data of the application on the transmission path. In addition, the scheduler may also distribute the received data of the application to the corresponding application.
The listener may be configured to receive flow measurement messages and data messages from a socket, where the data messages refer to data of an application. The listener, no matter receiving the measurement message, the measurement response or the applied data, will recognize first and then transmit. After receiving the measurement packet or the measurement response, the listener transfers the measurement packet or the measurement response to the measurer, so that the measurer can determine the QoS information of each transmission path. After the data of the application is received by the listener, the data of the application is transmitted to the scheduler and then distributed to the corresponding application through the scheduler. In addition, the listener can also transfer the message to be sent to a socket (socket) for message sending.
Based on the example shown in fig. 3, the process of transferring data of an application between a first terminal and a second terminal can be understood by participating in fig. 4.
As shown in fig. 4, a plurality of available transmission paths may be used between the first terminal and the second terminal, for example, the generator of the first terminal and the generator of the second terminal in fig. 4 negotiate two available transmission paths, that is, an available transmission path 1 formed by the first terminal via a router a and the second terminal in the network, and an available transmission path 2 formed by the first terminal via a router B and the second terminal in the network.
The measurer 1 on the first terminal measures the available transmission path 2 through the measurement message, the measurer 2 on the first terminal measures the available transmission path 1 through the measurement message, and reports the measured QoS information of the available transmission path 1 and the available transmission path 2 to the scheduler, wherein the QoS information of the available transmission path 2 is better than the QoS information of the available transmission path 1.
After the first application transmission of the first terminal generates the first data, the scheduler selects the available transmission path 2 for transmission of the first data according to the QoS information of the available transmission path 1 and the available transmission path 2. After the second terminal receives the first data, a scheduler of the second terminal schedules the first data to the first application.
In this scenario, a path with good service quality may be selected from available transmission paths to transmit the applied data, so as to improve the success rate and transmission efficiency of data transmission.
In some possible embodiments, the determining, by the first terminal, a first transmission path of which QoS information satisfies the transmission condition from the N transmission paths may include:
the first terminal determines demand information of data transmission of the first application on service quality in a first dimension, wherein the service quality comprises the first dimension and a second dimension;
and the first terminal determines the transmission path with the highest conformity in the first dimension from the N transmission paths as the first transmission path according to the demand information in the first dimension and the QoS information of each transmission path.
In the embodiment of the application, the requirement of some applications on transmission delay is considered to be higher, such as navigation applications and instant messaging applications. Some applications have a high jitter requirement, such as voice applications and video applications. Some applications have higher requirements on the packet loss rate, such as applications related to precise control. The transmission delay, jitter and packet loss rate belong to different dimensions of QoS information respectively. Thus, when transmitting data of different applications, it is possible to select a suitable transmission path according to the requirements of various applications for different dimensions of QoS information, for example: there are three available transmission paths, where the transmission delay of the available transmission path 1 is the lowest, the jitter of the available transmission path 2 is the lowest, and the packet loss rate of the available transmission path 3 is the lowest. Thus, when selecting a transmission path for a navigation application, transmission path 1 is selected from the three available transmission paths, and data of the navigation application is transmitted using transmission path 1.
In this scenario, as shown in fig. 5, the first application is a navigation application requiring a relatively high transmission delay, and the second application is a video application requiring a relatively high jitter. The jitter parameter value of the available transmission path 1 is smaller than the jitter parameter value of the available transmission path 2, and the transmission delay of the available transmission path 2 is smaller than the transmission delay of the available transmission path 1. After a first application on a first terminal generates data, a scheduler of the first terminal determines to select an available transmission path 2 for data transmission for the data of the first application according to the requirement information of the first application on transmission delay and service quality information of each dimension corresponding to the available transmission path 1 and the available transmission path 2. The second terminal, having received the data of the first application from the available transmission path 2, will dispatch the data of the first application to the first application. After a second application on the first terminal generates data, the scheduler of the first terminal determines to select an available transmission path 1 for data transmission for the data of the second application according to the requirement information of the second application for jitter and the service quality information of each dimension corresponding to the available transmission path 1 and the available transmission path 2.
In some possible embodiments, the method may further include:
and the first terminal receives the received confirmation information of the first data sent by the second terminal through a second transmission path, wherein the deviation between the QoS information of the second transmission path and the QoS information of the first transmission path is within a preset range.
In the embodiment of the present application, in order to avoid retransmission of data due to delayed reception of an Acknowledgement (ACK) message by the data transmitting end, the data receiving end also selects a transmission path having the best QoS as possible and returns an ACK message to the data transmitting end.
As shown in the scenario of fig. 6, the QoS information of the available transmission path 1 and the available transmission path 2 are the best two transmission paths among the plurality of available transmission paths, the first terminal has transmitted the first data through the available transmission path 2, and the second terminal can transmit the reply of the first data through the available transmission path 1. Therefore, the first terminal can be ensured to receive the response of the second terminal in time, and the data can be prevented from being repeatedly sent and wasting transmission resources due to the fact that the data sending terminal cannot receive the response message late.
In some possible embodiments, the method may further include:
and when the first transmission path fails, the first terminal schedules the first data transmitted on the first transmission path to a third transmission path, and the QoS information of the third transmission path is the transmission path with the best service quality except the first transmission path in the N available transmission paths.
In the embodiment of the application, when a transmission path fails, data migration is performed, and during the data migration, the best transmission path is selected from the remaining available transmission paths for transmitting the migrated data.
As shown in the scenario of fig. 7, the QoS information of the available transmission path 1 and the available transmission path 2 are the best two transmission paths in the plurality of available transmission paths, and when the first terminal transmits the first data of the first application through the available transmission path 2, and the available transmission path 2 fails, the scheduler of the first terminal may schedule the first data of the first application onto the available transmission path 1 for transmission.
In some possible embodiments, the method may further include:
the first terminal encapsulates a User Datagram Protocol (UDP) tunnel header in the first data;
the transmitting, by the first terminal, the first data through the first transmission path may include:
the first terminal transmits first data encapsulating a UDP tunnel header through the first transmission path.
In this embodiment of the application, the upper layer application may not sense the transmission of the data, may transmit the first data in a tunnel manner, and may encapsulate a UDP tunnel header in the data to be transmitted when transmitting in the tunnel manner. As shown in fig. 8, before the format of the IP, UDP/Transmission Control Protocol (TCP) and DATA (DATA) existing in the first DATA, the IP and UDP tunnel headers associated with the UDP tunnel are encapsulated, so that the first DATA can be transmitted by means of the UDP tunnel.
In some possible embodiments, the method may further include:
the first terminal receives second data, wherein the second data comprises identification information of a first application;
and the first terminal dispatches the second data to the first application according to the identification information of the first application.
In the embodiment of the present application, data transmission may also be realized by matching upper-layer applications, in this case, each application has a unique APP ID, when sending data, the APP ID is written into the data, and after the data receiving device receives the data, the data receiving device analyzes the APP ID and then schedules the second data to the corresponding application. As shown in fig. 9, an application identifier (APP ID) is added to the format of the first data, so that after receiving the second data, the first terminal can determine which application the second data corresponds to through the APP ID, and schedule the second data to the corresponding application.
In some possible embodiments, the obtaining, by the first terminal, first data to be transmitted to the second terminal may include:
the first terminal obtains the first data by running an instance of the first application, the first application is one of M applications, each application runs based on a different instance, M is an integer and is more than or equal to 1.
In the embodiment of the present application, each application may be run using one instance, that is, multiple instances may exist, each instance serves only one application, and in this implementation, when sending data, only the packet needs to be scheduled on the transmission path with the best QoS.
Having described the method for data transmission and the corresponding communication system, the terminal in the embodiments of the present application is described below with reference to the accompanying drawings.
As shown in fig. 10, an embodiment of the terminal 30 provided in the embodiment of the present application may include:
a processing unit 301, configured to obtain first data to be transmitted to a second terminal, obtain quality of service (QoS) information of each transmission path in N available transmission paths, and determine, from the N transmission paths, a first transmission path for which the QoS information meets a transmission condition, where the first data is generated by a first application, N is an integer greater than 1, and the N available transmission paths are communication paths between the first terminal and the second terminal;
a transceiving unit 302, configured to transmit the first data through the first transmission path determined by the processing unit 301.
According to the scheme provided by the embodiment of the application, the terminal can determine the transmission path for transmitting the data generated by the application based on the QoS information of each transmission path, so that the requirement of data transmission on the QoS is met.
In some possible embodiments, the processing unit 301 is specifically configured to:
determining N QoS flows, wherein each QoS flow corresponds to an available transmission path;
and measuring the QoS information of each transmission path in the N available transmission paths corresponding to the N QoS flows through the measurement message.
In some possible embodiments, the processing unit 301 is specifically configured to:
determining demand information of data transmission of the first application on service quality in a first dimension, wherein the service quality comprises the first dimension and a second dimension;
and determining the transmission path with the highest conformity in the first dimension as the first transmission path from the N transmission paths according to the demand information in the first dimension and the QoS information of each transmission path.
In some possible embodiments, the transceiving unit 302 is further configured to receive, through a second transmission path, acknowledgement information that the first data sent by the second terminal has been received, where an offset between the QoS information of the second transmission path and the QoS information of the first transmission path is within a preset range.
In some possible embodiments, the processing unit 301 is further configured to schedule the first data transmitted on the first transmission path to a third transmission path when the first transmission path fails, where the QoS information of the third transmission path is a transmission path with the best quality of service in the N available transmission paths except for the first transmission path.
In some possible embodiments, the processing unit 301 is further configured to encapsulate a user datagram protocol, UDP, tunnel header in the first data;
a transceiving unit 302, further configured to transmit the first data encapsulating the UDP tunnel header through the first transmission path.
In some possible embodiments, the transceiver unit 302 is further configured to receive second data, where the second data includes identification information of the first application;
the processing unit 301 is further configured to schedule the second data to the first application according to the identification information of the first application.
In some possible embodiments, the processing unit 301 is specifically configured to obtain the first data by running an instance of the first application, where the first application is one of M applications, each application runs based on a different instance, M is an integer, and M ≧ 1.
It should be noted that, since the terminal described above is based on the same concept as the embodiment of the method of the present application, the technical effect brought by the terminal is the same as the embodiment of the method of the present application, and specific contents can be referred to the description in the foregoing embodiment of the method of the present application, and are not described herein again.
The embodiment of the present application further provides a computer storage medium, where the computer storage medium stores a program, and the program executes some or all of the steps described in the above method embodiments.
As shown in fig. 11, a schematic structural diagram of another communication device according to the embodiment of the present application is shown, where the communication device may be a terminal, or may be another device that can implement the functions of the present application. The communication device may include: a processor 401 (e.g., a CPU), a memory 402, a transmitter 404, and a receiver 403; the transmitter 404 and the receiver 403 are coupled to the processor 401, and the processor 401 controls the transmitting action of the transmitter 404 and the receiving action of the receiver 403. The memory 402 may comprise a high-speed RAM memory, and may also include a non-volatile memory NVM, such as at least one disk memory, where the memory 402 may store various instructions for performing various processing functions and implementing the method steps of the embodiments of the present application. Optionally, the communication device according to the embodiment of the present application may further include: the power source 405 and one or more of the communication ports 406 may be connected through a communication bus, or may be connected through other connection manners, which is not limited in the embodiment of the present application. The receiver 403 and the transmitter 404 may be integrated into a transceiver of the communication device, or may be separate transmitting and receiving antennas of the communication device. The communication bus is used for realizing communication connection among the elements. The communication port 406 is used for implementing connection communication between the communication device and other peripherals.
In some embodiments, the processor 401 in the communication device may perform the actions performed by the processing module 301 in fig. 10, and the receiver 403 in the communication device may perform the actions performed by the transceiver unit 302 in fig. 10, which have similar implementation principles and technical effects, and are not described herein again.
In some embodiments, the memory 402 is used to store computer-executable program code, which includes instructions; when the processor 401 executes the instruction, the instruction causes the processor 401 to execute the action executed by the processing module of the communication device in the above embodiment, and causes the transmitter 404 to execute the action of the transceiver unit 302 of the communication device in the above embodiment, which has similar implementation principle and technical effect, and is not described herein again.
The present application further provides a chip system, which includes a processor, for supporting the above communication device to implement the functions related thereto, for example, to receive or process data and/or information related to the above method embodiments. In one possible design, the system-on-chip further includes a memory for storing program instructions and data necessary for the computer device. The chip system may be constituted by a chip, or may include a chip and other discrete devices.
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product.
The computer program product includes one or more computer instructions. When loaded and executed on a computer, cause the processes or functions described in accordance with the embodiments of the application to occur, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored on a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, from one website, computer, server, or data center to another website, computer, server, or data center via wire (e.g., coaxial cable, fiber optic, Digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that a computer can store or a data storage device, such as a server, a data center, etc., that is integrated with one or more available media. The usable medium may be a magnetic medium (e.g., floppy Disk, hard Disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., Solid State Disk (SSD)), among others.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other manners. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application may be substantially implemented or contributed to by the prior art, or all or part of the technical solution may be embodied in a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: various media capable of storing program codes, such as a usb disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk.
The above embodiments are only used for illustrating the technical solutions of the present application, and not for limiting the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions in the embodiments of the present application.

Claims (10)

1. A method of data transmission, comprising:
the method comprises the steps that a first terminal obtains first data to be transmitted to a second terminal, wherein the first data is generated by a first application;
the first terminal acquires QoS (quality of service) information of each transmission path in N available transmission paths, wherein N is an integer greater than 1, and the N available transmission paths are communication paths between the first terminal and the second terminal;
the first terminal determines a first transmission path with QoS information meeting transmission conditions from the N transmission paths;
and the first terminal transmits the first data through the first transmission path.
2. The method of claim 1, wherein the obtaining, by the first terminal, quality of service (QoS) information of each of N available transmission paths comprises:
the first terminal determines N QoS flows, wherein each QoS flow corresponds to an available transmission path;
and the first terminal measures the QoS information of each transmission path in the N available transmission paths corresponding to the N QoS flows through the measurement message.
3. The method according to claim 1 or 2, wherein the first terminal determines a first transmission path, from the N transmission paths, for which the QoS information satisfies the transmission condition, including:
the first terminal determines demand information of data transmission of the first application on service quality in a first dimension, wherein the service quality comprises the first dimension and a second dimension;
and the first terminal determines the transmission path with the highest conformity in the first dimension from the N transmission paths as the first transmission path according to the demand information in the first dimension and the QoS information of each transmission path.
4. The method according to claim 1 or 2, characterized in that the method further comprises:
and the first terminal receives the received confirmation information of the first data sent by the second terminal through a second transmission path, wherein the deviation between the QoS information of the second transmission path and the QoS information of the first transmission path is within a preset range.
5. The method according to claim 1 or 2, characterized in that the method further comprises:
and when the first transmission path fails, the first terminal schedules the first data transmitted on the first transmission path to a third transmission path, and the QoS information of the third transmission path is the transmission path with the best service quality except the first transmission path in the N available transmission paths.
6. The method according to any one of claims 1-5, further comprising:
the first terminal encapsulates a User Datagram Protocol (UDP) tunnel header in the first data;
the first terminal transmits the first data through the first transmission path, including:
the first terminal transmits first data encapsulating a UDP tunnel header through the first transmission path.
7. The method according to any one of claims 1-5, further comprising:
the first terminal receives second data, wherein the second data comprises identification information of a first application;
and the first terminal dispatches the second data to the first application according to the identification information of the first application.
8. The method according to any of claims 1-5, wherein the obtaining, by the first terminal, first data to be transmitted to the second terminal comprises:
the first terminal obtains the first data by running an instance of the first application, the first application is one of M applications, each application runs based on a different instance, M is an integer and is more than or equal to 1.
9. A terminal, comprising:
a processor, a memory and a transceiver, wherein the memory stores program code and the processor invokes the program code stored in the memory to cause the terminal to perform the data transmission method according to any one of claims 1 to 8.
10. A communication system, comprising: a first terminal and a second terminal;
the first terminal is configured to:
acquiring first data to be transmitted to the second terminal, wherein the first data is generated by a first application;
obtaining QoS (quality of service) information of each transmission path in N available transmission paths, wherein N is an integer greater than 1, and the N available transmission paths are communication paths between the first terminal and the second terminal;
determining a first transmission path of which the QoS information meets the transmission condition from the N transmission paths;
transmitting the first data through the first transmission path;
the second terminal is configured to:
receiving the first data from the first transmission path;
scheduling the first data to the first application.
CN201910570205.6A 2019-06-27 2019-06-27 Data transmission method, terminal and communication system Active CN112152925B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910570205.6A CN112152925B (en) 2019-06-27 2019-06-27 Data transmission method, terminal and communication system
PCT/CN2020/097585 WO2020259465A1 (en) 2019-06-27 2020-06-23 Data transmission method, terminal, and communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910570205.6A CN112152925B (en) 2019-06-27 2019-06-27 Data transmission method, terminal and communication system

Publications (2)

Publication Number Publication Date
CN112152925A true CN112152925A (en) 2020-12-29
CN112152925B CN112152925B (en) 2021-12-17

Family

ID=73868922

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910570205.6A Active CN112152925B (en) 2019-06-27 2019-06-27 Data transmission method, terminal and communication system

Country Status (2)

Country Link
CN (1) CN112152925B (en)
WO (1) WO2020259465A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114666265A (en) * 2022-03-28 2022-06-24 阿里巴巴(中国)有限公司 Data transmission method, device, computing equipment and medium

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115086199A (en) * 2021-03-15 2022-09-20 中国电信股份有限公司 Network quality testing method and device, storage medium and electronic equipment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105517028A (en) * 2014-10-17 2016-04-20 电信科学技术研究院 Method and apparatus triggering and configuring transmission path
CN107786448A (en) * 2016-08-30 2018-03-09 华为技术有限公司 The method and apparatus for establishing the forward-path of Business Stream
CN109587052A (en) * 2019-01-30 2019-04-05 展讯通信(上海)有限公司 A kind of multilink data transmission method and device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011120463A2 (en) * 2011-05-06 2011-10-06 华为技术有限公司 Method, system and network device for quality of service (qos) negotiation in cross-medium networks
CN103580773A (en) * 2012-07-18 2014-02-12 中兴通讯股份有限公司 Method and device for transmitting data frame
US10313251B2 (en) * 2016-02-01 2019-06-04 Netapp, Inc. Methods and systems for managing quality of service in a networked storage environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105517028A (en) * 2014-10-17 2016-04-20 电信科学技术研究院 Method and apparatus triggering and configuring transmission path
CN107786448A (en) * 2016-08-30 2018-03-09 华为技术有限公司 The method and apparatus for establishing the forward-path of Business Stream
CN109587052A (en) * 2019-01-30 2019-04-05 展讯通信(上海)有限公司 A kind of multilink data transmission method and device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114666265A (en) * 2022-03-28 2022-06-24 阿里巴巴(中国)有限公司 Data transmission method, device, computing equipment and medium
CN114666265B (en) * 2022-03-28 2024-04-02 阿里巴巴(中国)有限公司 Data transmission method, device, computing equipment and medium

Also Published As

Publication number Publication date
CN112152925B (en) 2021-12-17
WO2020259465A1 (en) 2020-12-30

Similar Documents

Publication Publication Date Title
CN113411313B (en) Data transmission method, device and system
US11277313B2 (en) Data transmission method and corresponding device
CN108881008B (en) Data transmission method, device and system
TWI710279B (en) End-to-end data transmission method, apparatus, and system
US10841205B2 (en) Multi-path wireless communication
US11582143B2 (en) Techniques for policy management of multi-connectivity network protocols
CN110636643A (en) Method and device for sending and receiving data packet and transmission system of data packet
US10362503B2 (en) Communication network aggregation test payload
CN109672708B (en) Communication method, device and system
KR20170036760A (en) Efficient centralized resource and schedule management in time slotted channel hopping networks
CN108809496B (en) Information processing method and equipment
CN112152925B (en) Data transmission method, terminal and communication system
CN111586784A (en) Data transmission method and device
EP3843453A1 (en) Communication method and device
KR20200138800A (en) Measurement of transmission delay
CN111490938A (en) Communication link checking method
CN110290553B (en) Terminal data wireless transmission system and method
US11469990B2 (en) Techniques for interaction between network protocols
CN114467269B (en) Communication method and communication device under multiple connections
CN110601948B (en) Network bandwidth superposition method and device and gateway equipment
CN115696273A (en) Communication method, device and system
CN117768066A (en) Enhanced retransmission method, related device and computer readable storage medium
CN116321223A (en) Data link self-organizing network throughput optimization method, system, equipment and medium
CN116436862A (en) Communication method and communication device

Legal Events

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