WO2020259465A1 - 一种数据传输的方法、终端及通信系统 - Google Patents

一种数据传输的方法、终端及通信系统 Download PDF

Info

Publication number
WO2020259465A1
WO2020259465A1 PCT/CN2020/097585 CN2020097585W WO2020259465A1 WO 2020259465 A1 WO2020259465 A1 WO 2020259465A1 CN 2020097585 W CN2020097585 W CN 2020097585W WO 2020259465 A1 WO2020259465 A1 WO 2020259465A1
Authority
WO
WIPO (PCT)
Prior art keywords
terminal
data
transmission path
transmission
application
Prior art date
Application number
PCT/CN2020/097585
Other languages
English (en)
French (fr)
Inventor
杨庆昌
余庆华
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2020259465A1 publication Critical patent/WO2020259465A1/zh

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

Definitions

  • This application relates to the field of communication technology, and in particular to a method, terminal and communication system for data transmission.
  • the mobile phone transmits data through the 4th generation (4G) network to realize uninterrupted data transmission.
  • 4G 4th generation
  • MPTCP multipath transmission control protocol
  • SCTP stream control transmission protocol
  • the multi-path transmission of data generated by applications from the source terminal to the destination terminal often fails to meet the transmission requirements, resulting in poor transmission effects of the application data.
  • the embodiment of the present application provides a data transmission method.
  • a terminal can determine a transmission path for transmitting application data based on the quality of service QoS information of each transmission path, thereby meeting the quality of service requirement for data transmission.
  • the embodiments of the present application also provide corresponding terminals, communication systems, and storage media.
  • the first aspect of the application provides a data transmission method, which may include:
  • the first terminal obtains first data to be transmitted to the second terminal, where the first data is generated by the first application;
  • the first terminal obtains quality of service (QoS) information for each of the N available transmission paths, where N is an integer greater than 1, and the N available transmission paths are the first terminal A communication path with the second terminal;
  • QoS quality of service
  • the first terminal transmits the first data through the first transmission path.
  • the QoS information may include information used to describe the quality of service, such as transmission bandwidth, transmission delay, packet loss rate, and jitter.
  • the transmission condition can be configured according to actual needs, and is not limited to the ones listed here.
  • the terminal sending the data when transmitting application data between terminals, can determine a transmission path that meets the quality of service requirements for data transmission, thereby meeting the quality of service requirements for data transmission.
  • the first terminal acquiring the quality of service QoS information of each of the N available transmission paths may include:
  • the first terminal determines N QoS flows, where each QoS flow corresponds to an available transmission path;
  • the first terminal measures the QoS information of each transmission path in the N available transmission paths corresponding to the N QoS flows through a measurement message.
  • the QoS flow can be a triplet, a quadruple, or a quintuple. If the QoS flow is a triplet, it includes a source Internet protocol (IP) address, an IP protocol, and a destination IP address. If the QoS flow is a four-tuple, it includes the source IP address, source port number, destination IP address, and destination port number. If the QoS flow is a 5-tuple, it includes the source IP address, source port number, IP protocol, destination IP address, and destination port number. Taking the QoS flow as a four-tuple as an example, each four-tuple corresponds to an available transmission path.
  • IP Internet protocol
  • a measurement message can be sent to each available transmission path, and then a response message corresponding to the measurement message can be received, and then the QoS information on the available transmission path can be calculated.
  • the transmission delay can be counted according to the sending time of the measurement message and the receiving time of the response message.
  • each transmission path is measured to obtain the QoS information of each transmission path, and then the best or most suitable transmission path is selected according to the QoS information, thereby increasing the success rate of data transmission.
  • the first terminal determining, from the N transmission paths, the first transmission path whose QoS information meets a transmission condition may include:
  • 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.
  • some applications have relatively high requirements for transmission delay, such as navigation applications and instant messaging applications. Some applications have higher requirements for jitter, such as voice applications and video applications. Some applications require relatively high packet loss rates, such as applications related to precise control. Transmission delay, jitter, and packet loss rate belong to different dimensions of QoS information. In this way, when transmitting data for different applications, you can 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, of which the transmission delay of available transmission path 1 is the lowest. , The available transmission path 2 has the lowest jitter, and the available transmission path 3 has the lowest packet loss rate.
  • transmission path 1 is selected from the three available transmission paths, and transmission path 1 is used to transmit the data of the navigation application.
  • This possible implementation can ensure that applications with different dimensional requirements can be transmitted in their respective suitable available transmission paths, thereby improving the data transmission success rate and efficiency of each application.
  • the method may further include:
  • the first terminal receives the confirmation information sent by the second terminal through the second transmission path that the first data has been received, and the difference between the QoS information of the second transmission path and the QoS information of the first transmission path The offset is within the preset range.
  • the preset range can be an offset range of the QoS information value, or a sorted offset range.
  • the transmission path with the best QoS as possible is also selected to return an ACK message to the data sending end, so as to avoid repeated data transmission due to the delay in receiving the response message by the data sending end, and waste transmission Resources.
  • the method may further include:
  • 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 N available A transmission path with the best service quality among the transmission paths except for the first transmission path.
  • the method may further include:
  • the first terminal encapsulates a user datagram protocol (user datagram protocol, UDP) tunnel header in the first data;
  • UDP user datagram protocol
  • the first terminal transmits the first data encapsulated with the UDP tunnel header through the first transmission path.
  • the upper-layer application may not be aware of data transmission, and may transmit the first data in a tunnel mode, and encapsulate a UDP tunnel header in the data to be transmitted when transmitting in a tunnel mode.
  • the method may further include:
  • the first terminal receives second data, where the second data includes identification information of the first application
  • the first terminal schedules the second data to the first application according to the identification information of the first application.
  • the upper-layer application cooperates to realize data transmission.
  • each application has a unique APP ID.
  • the APP ID is written into the data, and the data receiving device receives it. After the data is analyzed, the APP ID can be parsed to dispatch the second data to the corresponding application.
  • the acquiring, by the first terminal, the 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, and each application runs based on a different instance, and the M is an integer , And M ⁇ 1.
  • each application uses one instance to run, that is, there may be multiple instances, and each instance only serves one application. In this implementation, there is no need to consider application scheduling issues, which can improve data transmission s efficiency.
  • the second aspect of the present application provides a terminal, which is used to execute the foregoing first aspect or any possible implementation of the first aspect.
  • the device includes a module or unit for executing the foregoing first aspect or any possible implementation of the first aspect.
  • the third aspect of the present application provides a terminal, including: at least one processor, a memory, a transceiver, and computer-executable instructions stored in the memory and running on the processor.
  • the processor executes the method described in the foregoing first aspect or any one of the possible implementation manners of the first aspect.
  • the fourth aspect of the present application provides a computer-readable storage medium storing one or more computer-executable instructions.
  • the processor executes any of the above-mentioned first aspect or first aspect.
  • One possible implementation is the method described.
  • the fifth aspect of the present application provides a computer program product storing one or more computer-executable instructions.
  • the processor executes any one of the first aspect or the first aspect. Ways of possible implementation.
  • the terminal described in the second aspect and the third aspect may also be a chip applied to the terminal, or other combined devices, components, etc. having the terminal functions described above.
  • the receiving unit in the terminal may be a receiver, which may include an antenna and a radio frequency circuit, etc.
  • the processing unit may be a processor, for example: a central processing unit (CPU), and the transmitting unit may be a transmitter, which may include an antenna and a radio frequency. Circuits, etc., where the receiver and transmitter can be integrated transceivers.
  • the receiving unit may be a radio frequency unit
  • the processing unit may be a processor
  • the sending unit may be a radio frequency unit
  • the receiving unit may be an input port of the chip system
  • the processing unit may be a processor of the chip system
  • the sending unit may be an output port of the chip system.
  • the technical effects brought by the second to fifth aspects or any one of the possible implementation manners may refer to the technical effects brought about by the first aspect or the different possible implementation manners of the first aspect, and details are not described herein again.
  • the terminal can determine the transmission path for transmitting data generated by the application based on the quality of service QoS information of each transmission path, thereby meeting the quality of service requirements for data transmission.
  • Fig. 1 is a schematic diagram of an embodiment of a communication system provided by an embodiment of the present application
  • FIG. 2 is a schematic diagram of an embodiment of a data transmission method provided by an embodiment of the present application.
  • FIG. 3 is a schematic diagram of a scenario example of a data transmission method provided by an embodiment of the present application.
  • FIG. 4 is a schematic diagram of another scenario example of a data transmission method provided by an embodiment of the present application.
  • FIG. 5 is a schematic diagram of another scenario example of a data transmission method provided by an embodiment of the present application.
  • FIG. 6 is a schematic diagram of another scenario example of a data transmission method provided by an embodiment of the present application.
  • FIG. 7 is a schematic diagram of another scenario example of a data transmission method provided by an embodiment of the present application.
  • FIG. 8 is a schematic diagram of a data structure provided by an embodiment of the present application.
  • FIG. 9 is a schematic 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 by an embodiment of the present application.
  • FIG. 11 is a schematic diagram of an embodiment of a communication device provided by an embodiment of the present application.
  • the embodiment of the present application provides a data transmission method.
  • a terminal can determine a transmission path for transmitting application data based on the quality of service QoS information of each transmission path, thereby meeting the quality of service requirement for data transmission.
  • the embodiments of the present application also provide corresponding terminals, communication systems, and storage media. Detailed descriptions are given below.
  • a terminal also referred to as user equipment (UE) is a device with a wireless transceiver function. It can be deployed on land, including indoor or outdoor, handheld or vehicle-mounted; it can also be deployed on water (such as ships, etc.) ); It can also be deployed in the air (for example, on airplanes, balloons, and satellites).
  • UE user equipment
  • the terminal may be a mobile phone (mobile phone), a tablet computer (pad), a computer with wireless transceiver function, a virtual reality (VR) terminal, an augmented reality (AR) terminal, and an industrial control (industrial control) Wireless terminals in, self-driving (self-driving), wireless terminals in remote medical, wireless terminals in smart grid, wireless terminals in transportation safety, Wireless terminals in a smart city, wireless terminals in a smart home, etc.
  • FIG. 1 is a schematic diagram of an embodiment of a communication system provided by an embodiment of this application.
  • an embodiment of the communication system 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.
  • the network 20 may include multiple routing devices.
  • the first terminal 10A obtains first data to be transmitted to the second terminal 10B, the first data being generated by the first application.
  • the first terminal obtains quality of service (QoS) information for each of the N available transmission paths, where N is an integer greater than 1, and the N available transmission paths are the first terminal A communication path with the second terminal; the first terminal determines from the N transmission paths a first transmission path whose QoS information meets transmission conditions; the first terminal transmits through the first transmission path The first data.
  • QoS quality of service
  • the second terminal uses 10B to receive the first data from the first transmission path; and schedule the first data to the first application.
  • first terminal 10A and the second terminal 10B in FIG. 1 are both mobile phones as examples. In fact, 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 are not limited to mobile phones. The terminal 10A and the second terminal 10B may also be different terminal devices.
  • the terminal can determine the transmission path for transmitting the data generated by the application based on the quality of service QoS information of each transmission path, thereby meeting the quality of service requirements for data transmission.
  • an embodiment of the data transmission method provided in the embodiment of the present application may include:
  • a first terminal acquires first data to be transmitted to a second terminal, where the first data is generated by a first application.
  • the first terminal obtains the quality of service QoS information of each of 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.
  • QoS information may include information such as transmission bandwidth, transmission delay, packet loss rate, and jitter.
  • each available transmission path may be generated through negotiation between the first terminal and the second terminal, or may be an intermediate connection between the first terminal and the second terminal.
  • Negotiation generated by the control device may be
  • step 202 may include:
  • the first terminal determines N QoS flows, where each QoS flow corresponds to an available transmission path;
  • the first terminal measures the QoS information of each transmission path in the N available transmission paths corresponding to the N QoS flows through a measurement message.
  • the QoS flow may be a triplet, a quadruple or a quintuple. If the QoS flow is a triplet, it includes a source Internet protocol (IP) address, an IP protocol, and a destination IP address. If the QoS flow is a four-tuple, it includes the source IP address, source port number, destination IP address, and destination port number. If the QoS flow is a 5-tuple, it includes the source IP address, source port number, IP protocol, destination IP address, and destination port number.
  • IP Internet protocol
  • each four-tuple corresponds to an available transmission path.
  • a measurement message can be sent to each available transmission path, and then a response message corresponding to the measurement message can be received, and then the QoS information on the available transmission path can be calculated.
  • 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 sent measurement messages and the number of received measurement messages fed back by the destination terminal.
  • this section is only an example, and other solutions that can determine QoS information are applicable to this application.
  • the first terminal determines from the N transmission paths a first transmission path whose QoS information meets a transmission condition.
  • transmission condition There can be multiple transmission conditions, such as: the best quality of service is used as the transmission condition, the quality of service is ranked first X as the transmission condition, X is an integer greater than 1, and a certain dimension of the quality of service is the best transmission condition , Or use one or more dimensions to reach a certain threshold as the transmission condition.
  • the transmission condition can be configured according to actual needs, and is not limited to the ones listed here.
  • the first terminal transmits the first data through the first transmission path.
  • the second terminal schedules the first data to the first application.
  • the terminal can determine the transmission path for transmitting the data generated by the application based on the quality of service QoS information of each transmission path, thereby meeting the quality of service requirements for data transmission.
  • the first terminal 10A is used as the data transmitting end and the second terminal 10B is used as the data receiving end for description.
  • the first terminal 10A may sometimes be the data sending end and sometimes the data receiving end.
  • the second terminal 10B may also be the data receiving end and sometimes the data sending end.
  • the terminal may include multiple applications (APP), schedulers (scheduler), generators (generator), listeners (listener), measurers (measurer) and port sockets (socket).
  • APP applications
  • schedulers schedulingr
  • generators generator
  • listeners listener
  • measurers measurer
  • port sockets port sockets
  • scheduler, generator, listener, measurer and port socket described here can be implemented by software.
  • each application generates application data
  • the aforementioned first application is one of multiple applications
  • the first data is data generated by the first application.
  • N QoS flows described in step 202 can be completed by a generator.
  • the generator is used to negotiate the available IP addresses and ports at both ends of the communication.
  • QoS through pre-configured IP addresses and ports without negotiation.
  • Flow that is, determine the available transmission path.
  • each quadruple corresponds to a port socket (socket).
  • the measurer can be used to measure the QoS information of each of the N available transmission paths.
  • the measurement principle of the measurer can be understood by referring to the corresponding description of measuring QoS information through a message in step 202. After measuring the QoS information of each transmission path, the measurer will report the QoS information of each transmission path to the scheduler.
  • the measurer can send measurement messages through a port socket.
  • the scheduler may be used to perform the above step 203, that is, it may determine a suitable 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 to the transmission path.
  • the scheduler can also distribute the received application data to corresponding applications.
  • the listener can be used to receive flow measurement packets and data packets from a port socket, where the data packets refer to application data. Whether the listener receives the measurement message, measurement response or application data, it will first identify it and then transmit it. After the listener receives the measurement message or measurement response, it will pass the measurement message or measurement response to the measurer, so that the measurer can determine the QoS information of each transmission path. After the listener receives the data of the application, it will pass the data of the application to the scheduler, and then distribute it to the corresponding application through the scheduler. In addition, the listener can also pass the message to be sent to the port socket for message transmission.
  • the generator of the first terminal and the generator of the second terminal negotiated two available transmission paths, which are The available transmission path 1 formed by the first terminal via the router A and the second terminal in the network, and the available transmission path 2 formed by the first terminal via the router B and the second terminal in the network.
  • the measurer 1 on the first terminal measured the available transmission path 2 through the measurement message
  • the measurer 2 on the first terminal measured the available transmission path 1 through the measurement message, and measured the available transmission path 1 and the available transmission.
  • the QoS information of path 2 is reported to the scheduler, and the QoS information of available transmission path 2 is better than that of available transmission path 1.
  • the scheduler selects the available transmission path 2 according to the QoS information of the available transmission path 1 and the available transmission path 2 to transmit the first data.
  • the scheduler of the second terminal schedules the first data to the first application.
  • a path with good service quality can be selected from the available transmission paths to transmit application data, which can improve the success rate and transmission efficiency of data transmission.
  • the determining, by the first terminal, from the N transmission paths that the QoS information meets the transmission condition of the first transmission path may include:
  • 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.
  • transmission delay such as navigation applications and instant messaging applications.
  • Some applications have higher requirements for jitter, such as voice applications and video applications.
  • Some applications require relatively high packet loss rates, such as applications related to precise control. Transmission delay, jitter, and packet loss rate belong to different dimensions of QoS information.
  • Transmission delay, jitter, and packet loss rate belong to different dimensions of QoS information.
  • the first application is a navigation application that requires relatively high transmission delay
  • the second application is a video application that requires relatively high jitter.
  • the jitter parameter value of the available transmission path 1 is less than the jitter parameter value of the available transmission path 2
  • the transmission delay of the available transmission path 2 is less than the transmission delay of the available transmission path 1.
  • the second terminal After receiving the data of the first application from the available transmission path 2, the second terminal will schedule the data of the first application to the first application. After the second application on the first terminal generates data, the scheduler of the first terminal determines the quality of service information in each dimension corresponding to the available transmission path 1 and the available transmission path 2 according to the jitter demand information of the second application Select the available transmission path 1 for the data of the second application for data transmission.
  • the method may further include:
  • the first terminal receives the confirmation information sent by the second terminal through the second transmission path that the first data has been received, and the difference between the QoS information of the second transmission path and the QoS information of the first transmission path The offset is within the preset range.
  • the data receiving end in order to prevent the data sender from retransmitting data due to the delay in receiving the ACK message, the data receiving end also selects a transmission path with the best QoS as possible to return an ACK message to the data sender.
  • the QoS information of the available transmission path 1 and the available transmission path 2 are the best two transmission paths among the multiple available transmission paths.
  • the first terminal transmits the first data through the available transmission path 2.
  • the two terminals can transmit the response of the first data through the available transmission path 1. In this way, it can be ensured that the first terminal can receive the response of the second terminal in time, thereby avoiding repeated data transmission due to the delay in receiving the response message by the data sending end, and wasting transmission resources.
  • the method may further include:
  • 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 N available A transmission path with the best service quality among the transmission paths except for the first transmission path.
  • the QoS information of the available transmission path 1 and the available transmission path 2 are the best two transmission paths among the multiple available transmission paths.
  • the available transmission path 2 fails, and the scheduler of the first terminal can schedule the first data modified to the first application to the available transmission path 1 for transmission.
  • the method may further include:
  • the first terminal encapsulates a user datagram protocol (user datagram protocol, UDP) tunnel header in the first data;
  • UDP user datagram protocol
  • the transmitting, by the first terminal, the first data through the first transmission path may include:
  • the first terminal transmits the first data encapsulated with the UDP tunnel header through the first transmission path.
  • the upper-layer application may not be aware of the transmission of data, and may transmit the first data in a tunnel mode.
  • TCP Transmission Control Protocol
  • DATA data
  • the IP and UDP tunnel headers related to the UDP tunnel are encapsulated.
  • the first data can be transmitted through a UDP tunnel.
  • the method may further include:
  • the first terminal receives second data, where the second data includes identification information of the first application
  • the first terminal schedules the second data to the first application according to the identification information of the first application.
  • the upper-layer application can also cooperate to realize data transmission.
  • each application has a unique APP ID.
  • the APP ID is written into the data, and the data receiving device After the data is received, the APP ID can be parsed to dispatch the second data to the corresponding application.
  • the application identification (APP ID) is added to the format of the first data, so that after the first terminal receives the second data, it can determine which application the second data corresponds to through the APP ID , So as to schedule the second data to the corresponding application.
  • acquiring the first data to be transmitted to the second terminal by the first 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, and each application runs based on a different instance, and the M is an integer , And M ⁇ 1.
  • each application may also be run using one instance, that is, there may be multiple instances, and each instance only serves one application.
  • each instance when sending data, only the message is scheduled to QoS. The best transmission path can be used.
  • an embodiment of the terminal 30 provided in the embodiment of the present application may include:
  • the processing unit 301 is configured to obtain the first data to be transmitted to the second terminal, obtain the quality of service QoS information of each of the N available transmission paths, and determine from the N transmission paths that the QoS information meets the transmission conditions
  • the first transmission path, the first data is generated by the first application, the N is an integer greater than 1, and the N available transmission paths are the communication paths between the first terminal and the second terminal ;
  • the transceiver unit 302 is configured to transmit the first data through the first transmission path determined by the processing unit 301.
  • the embodiment of the present application provides a solution, and the terminal can determine a transmission path for transmitting data generated by the application based on the quality of service QoS information of each transmission path, thereby meeting the quality of service requirement for data transmission.
  • the processing unit 301 is specifically configured to:
  • the processing unit 301 is specifically configured to:
  • the transmission path with the highest conformity in the first dimension is determined from the N transmission paths as the first Transmission path.
  • the transceiving unit 302 is further configured to receive, through a second transmission path, the confirmation information that the first data sent by the second terminal has been received, and the QoS information of the second transmission path and the The offset of the QoS information of the first transmission path is within a preset range.
  • 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, and the third transmission path
  • the QoS information is the transmission path with the best service quality among the N available transmission paths except for the first transmission path.
  • the processing unit 301 is further configured to encapsulate a user datagram protocol UDP tunnel header in the first data;
  • the transceiver unit 302 is further configured to transmit the first data encapsulated with the UDP tunnel header through the first transmission path.
  • 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.
  • the processing unit 301 is specifically configured to obtain the first data by running an instance of the first application.
  • the first application is one of M applications, and each application is based on a different In the example of running, the M is an integer, and M ⁇ 1.
  • An embodiment of the present application further provides a computer storage medium, wherein the computer storage medium stores a program, and the program executes a part or all of the steps recorded in the foregoing method embodiment.
  • the communication device may be a terminal or other devices that can implement the functions of this application.
  • the communication device may include: a processor 401 (for example, 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 sending and receiving of the transmitter 404 The receiving action of the device 403.
  • the memory 402 may include a high-speed RAM memory, or may also include a non-volatile memory NVM, such as at least one disk memory.
  • the memory 402 may store various instructions for completing various processing functions and implementing the methods of the embodiments of the present application. step.
  • the communication device involved in the embodiment of the present application may further include one or more of a power supply 405 and a communication port 406.
  • the devices described in FIG. 11 may be connected through a communication bus or through other The connection mode is connected, which is not limited in the embodiment of this application.
  • the receiver 403 and the transmitter 404 may be integrated in the transceiver of the communication device, or may be independent receiving and transmitting antennas on the communication device.
  • the communication bus is used to realize the communication connection between the components.
  • the aforementioned communication port 406 is used to implement connection and communication between the communication device and other peripherals.
  • 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, its implementation principles and technical effects Similar, not repeat them here.
  • the aforementioned memory 402 is used to store computer-executable program codes, and the program codes include instructions; when the processor 401 executes the instructions, the instructions cause the processor 401 to perform the actions performed by the processing module of the communication device in the aforementioned embodiments,
  • the transmitter 404 is made to perform the actions of the transceiver unit 302 of the communication device in the above-mentioned embodiment.
  • the implementation principles and technical effects are similar, and will not be repeated here.
  • the present application also provides a chip system, which includes a processor for supporting the above-mentioned communication device to realize its related functions, for example, receiving or processing the data and/or information involved in the above-mentioned method embodiment.
  • the chip system further includes a memory, and the memory is used to store necessary program instructions and data of the computer equipment.
  • the chip system can be composed of chips, or include chips and other discrete devices.
  • the computer program product includes one or more computer instructions.
  • the computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices.
  • the computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium.
  • the computer instructions may be transmitted from a website, computer, server, or data center. Transmission to another website, computer, server, or data center via wired (for example, coaxial cable, optical fiber, Digital Subscriber Line (DSL)) or wireless (for example, infrared, wireless, microwave, etc.).
  • wired for example, coaxial cable, optical fiber, Digital Subscriber Line (DSL)
  • wireless for example, infrared, wireless, microwave, etc.
  • the computer-readable storage medium may be any available medium that can be stored by a computer or a data storage device such as a server or data center integrated with one or more available media.
  • the usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk (SSD)).
  • the disclosed system, device, and method may be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components can be combined or It can be integrated into another system, or some features can be ignored or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
  • each unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit can be implemented in the form of hardware or software functional unit.
  • the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium.
  • the technical solution of this application essentially or the part that contributes to the existing technology or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , Including several instructions to make a computer device (which can be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk and other media that can store program code .

Landscapes

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

Abstract

本申请公开了一种数据传输的方法,包括第一终端获取待传输到第二终端的第一数据,第一数据是第一应用产生的,然后获取N条可用传输路径中每条传输路径的服务质量QoS信息,N为大于1的整数,N条可用传输路径为第一终端与第二终端之间的通信路径,进而第一终端从N条传输路径中确定QoS信息满足传输条件的第一传输路径;第一终端通过第一传输路径传输第一数据。本申请实施例提供的方案,终端可以基于各传输路径的服务质量QoS信息确定用于传输应用所产生的数据的传输路径,从而满足了数据传输对服务质量的需求。

Description

一种数据传输的方法、终端及通信系统
本申请要求于2019年6月27日提交中国专利局、申请号为201910570205.6、发明名称为“一种数据传输的方法、终端及通信系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,具体涉及一种数据传输的方法、终端及通信系统。
背景技术
在互联网或者数据中心网络中,源节点和目的节点间经常会存在等价路由或者类似等价路由的多条通信路径,多条通信路径可以用于故障迁移或者提升网络传输性能。例如,手机在无线保真(wireless fidelity,WiFi)信号不好的时候通过第四代(4th generation,4G)网络传输数据,实现不间断的数据传输。
目前也有一些协议支持多路径的传输,如多路径传输控制协议(multipath transmission control protocol,MPTCP),流控制传输协议(stream control transmission protocol,SCTP)等,但是这些协议实现的主要目标也是为了实现故障迁移或者流量聚合。
目前,针对应用产生的数据从源终端到目的终端的多路径传输经常无法满足传输需求,导致应用数据的传输效果不好。
发明内容
本申请实施例提供一种数据传输的方法,终端可以基于各传输路径的服务质量QoS信息确定用于传输应用的数据的传输路径,从而满足了数据传输对服务质量的需求。本申请实施例还提供了相应的终端、通信系统以及存储介质。
本申请第一方面提供一种数据传输的方法,可以包括:
第一终端获取待传输到第二终端的第一数据,所述第一数据是第一应用产生的;
所述第一终端获取N条可用传输路径中每条传输路径的服务质量(quality of service,QoS)信息,所述N为大于1的整数,所述N条可用传输路径为所述第一终端与所述第二终端之间的通信路径;
所述第一终端从所述N条传输路径中确定QoS信息满足传输条件的第一传输路径;
所述第一终端通过所述第一传输路径传输所述第一数据。
上述第一方面中,QoS信息可以包括传输带宽、传输时延、丢包率以及抖动等用于描述服务质量的信息。传输条件可以有多种,如:将服务质量最好做为传输条件,将服务质量排序在前X的作为传输条件,X为大于1的整数,将服务质量中某一维度最好作为传输条件,或者将一个或多个维度达到某个阈值作为传输条件,该传输条件可以根据实际需求配置,不限于这里列举的几种。该第一方面中,终端之间传输应用的数据时,可以由发送数据的终端确定满足服务质量需求的传输路径进行数据传输,从而满足了数据传输对服务质量的需求。
在第一方面的一种可能的实现方式中,所述第一终端获取N条可用传输路径中每条传输路径的服务质量QoS信息,可以包括:
所述第一终端确定N个QoS流,其中,每个QoS流对应一条可用传输路径;
所述第一终端通过测量报文测量所述N个QoS流所对应的N条可用传输路径中每条传输路径的QoS信息。
该种可能的实现方式中,QoS流可以是三元组、四元组或五元组。若QoS流是三元组则包括源互联网协议(internet protocol,IP)地址、IP协议和目的IP地址。若QoS流是四元组则包括源IP地址、源端口号、目的IP地址和目的端口号。若QoS流是五元组则包括源IP地址、源端口号、IP协议、目的IP地址和目的端口号。以QoS流是四元组为例,每个四元组对应一条可用传输路径。在测量可用传输路径时,可以向每条可用传输路径上发送测量报文,然后接收与该测量报文对应的响应报文,进而计算该可用传输路径上的QoS信息。例如:可以根据测量报文的发送时间和响应报文的接收时间统计传输时延。该种可能的实现方式中,对每条传输路径进行测量以获得每条传输路径的QoS信息,进而根据QoS信息选择最好的或者最合适的传输路径,从而提高了数据传输的成功率。
在第一方面的一种可能的实现方式中,所述第一终端从所述N条传输路径中确定QoS信息满足传输条件的第一传输路径,可以包括:
所述第一终端确定所述第一应用的数据传输对服务质量在第一维度上的需求信息,所述服务质量包括第一维度和第二维度;
所述第一终端根据所述在第一维度上的需求信息,以及所述每条传输路径的QoS信息,从所述N条传输路径中确定在所述第一维度上符合度最高的传输路径作为所述第一传输路径。
该种可能的实现方式中,考虑到有些应用对传输时延要求比较高,如导航应用、即时通信应用。有些应用对抖动要求比较高,如语音应用、视频应用。有些应用对丢包率要求比较高,如与精准控制相关的应用。传输时延、抖动和丢包率分别属于QoS信息不同的维度。这样,在传输不同应用的数据时,就可以根据各种应用对QoS信息不同的维度的需求,选择合适的传输路径,例如:有三条可用传输路径,其中,可用传输路径1的传输时延最低,可用传输路径2的抖动最低,可用传输路径3的丢包率最低。这样,在为导航应用选择传输路径时会从这三条可用传输路径中选择传输路径1,并使用传输路径1传输该导航应用的数据。该种可能的实现方式可以确保不同维度需求的应用都能在各自适合的可用传输路径中传输,从而提高了各应用的数据传输成功率和效率。
在第一方面的一种可能的实现方式中,该方法还可以包括:
所述第一终端通过第二传输路径接收所述第二终端发送的所述第一数据已收到的确认信息,所述第二传输路径的QoS信息与所述第一传输路径的QoS信息的偏移在预设范围内。
该种可能的实现方式中,预设范围可以是一个QoS信息取值的偏移范围,也可以是排序的偏移范围,该种实现方式中为了避免数据发送端因迟迟接收不到应答(ACK)消息而重发数据,在数据接收端也选择QoS尽可能好的传输路径向数据发送端返回ACK消息,从而可以避免因数据发送端迟迟接收不到应答消息而重复发送数据,浪费传输资源。
在第一方面的一种可能的实现方式中,该方法还可以包括:
当所述第一传输路径故障时,所述第一终端将所述第一传输路径上传输的第一数据调 度到第三传输路径,所述第三传输路径的QoS信息是所述N条可用传输路径中除所述第一传输路径之外服务质量最好的传输路径。
该种可能的实现方式中,数据在因故障而发生迁移后,也会尽可能得到较好的传输。
在第一方面的一种可能的实现方式中,该方法还可以包括:
所述第一终端在所述第一数据中封装用户数据报协议用户数据报协议(user datagram protocol,UDP)隧道头;
所述第一终端通过所述第一传输路径传输封装了UDP隧道头的第一数据。
该种可能的实现方式中,上层应用可以不感知数据的传输,可以通过隧道方式传输该第一数据,以隧道方式传输时在要传输的数据中封装UDP隧道头即可。
在第一方面的一种可能的实现方式中,该方法还可以包括:
所述第一终端接收第二数据,所述第二数据包括第一应用的标识信息;
所述第一终端根据所述第一应用的标识信息将所述第二数据调度给所述第一应用。
该种可能的实现方式中,由上层应用配合实现数据的传输,这种情况下,每个应用都有一个唯一的APP ID,在发送数据时,将APP ID写入数据中,数据接收设备接收数据后,解析出该APP ID就可以将该第二数据调度给相应的应用。
在第一方面的一种可能的实现方式中,所述第一终端获取待传输到第二终端的第一数据,可以包括:
所述第一终端通过运行所述第一应用的实例获取所述第一数据,所述第一应用为M个应用中的一个,每个应用各自基于一个不同的实例运行,所述M为整数,且M≥1。
该种可能的实现方式中,每个应用使用一个实例运行,即可能存在多个实例,每个实例只服务于一个应用,这种实现方式下,不需要考虑应用调度的问题,可以提升数据传输的效率。
本申请第二方面提供一种终端,用于执行上述第一方面或第一方面的任意可能的实现方式中的方法。具体地,该装置包括用于执行上述第一方面或第一方面的任意可能的实现方式中的方法的模块或单元。
本申请第三方面提供一种终端,包括:至少一个处理器、存储器、收发器以及存储在存储器中并可在处理器上运行的计算机执行指令,当所述计算机执行指令被所述处理器执行时,所述处理器执行如上述第一方面或第一方面任意一种可能的实现方式所述的方法。
本申请第四方面提供一种存储一个或多个计算机执行指令的计算机可读存储介质,当所述计算机执行指令被处理器执行时,所述处理器执行如上述第一方面或第一方面任意一种可能的实现方式所述的方法。
本申请第五方面提供一种存储一个或多个计算机执行指令的计算机程序产品,当所述计算机执行指令被所述处理器执行时,所述处理器执行上述第一方面或第一方面任意一种可能实现方式的方法。
上述第二方面和第三方面所描述的终端也可以是应用于终端中的芯片,或者其他具有上述终端功能的组合器件、部件等。
终端中的接收单元可以是接收器,可以包括天线和射频电路等,处理单元可以是处理 器,例如:中央处理单元(central processing unit,CPU),发送单元可以是发射器,可以包括天线和射频电路等,其中接收器和发射器可以是整合的收发器。
当终端是具有上述终端功能的部件时,接收单元可以是射频单元,处理单元可以是处理器,发送单元可以是射频单元。
当终端是芯片系统时,接收单元可以是芯片系统的输入端口、处理单元可以是芯片系统的处理器,发送单元可以是芯片系统的输出端口。
其中,第二至第五方面或者其中任一种可能实现方式所带来的技术效果可参见第一方面或第一方面不同可能实现方式所带来的技术效果,此处不再赘述。
本申请实施例提供的方案,终端可以基于各传输路径的服务质量QoS信息确定用于传输应用所产生的数据的传输路径,从而满足了数据传输对服务质量的需求。
附图说明
图1是本申请实施例提供的通信系统的一实施例示意图;
图2是本申请实施例提供的数据传输的方法的一实施例示意图;
图3是本申请实施例提供的数据传输的方法的一场景示例示意图;
图4是本申请实施例提供的数据传输的方法的另一场景示例示意图;
图5是本申请实施例提供的数据传输的方法的另一场景示例示意图;
图6是本申请实施例提供的数据传输的方法的另一场景示例示意图;
图7是本申请实施例提供的数据传输的方法的另一场景示例示意图;
图8是本申请实施例提供的一数据结构示意图;
图9是本申请实施例提供的另一数据结构示意图;
图10是本申请实施例提供的终端的一实施例示意图;
图11是本申请实施例提供的通信设备的一实施例示意图。
具体实施方式
下面结合附图,对本申请的实施例进行描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例提供一种数据传输的方法,终端可以基于各传输路径的服务质量QoS信息确定用于传输应用的数据的传输路径,从而满足了数据传输对服务质量的需求。本申请实施例还提供了相应的终端、通信系统以及存储介质。以下分别进行详细说明。
终端(也可以称为用户设备(user equipment,UE))是一种具有无线收发功能的设备, 可以部署在陆地上,包括室内或室外、手持或车载;也可以部署在水面上(如轮船等);还可以部署在空中(例如飞机、气球和卫星上等)。所述终端可以是手机(mobile phone)、平板电脑(pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端、增强现实(augmented reality,AR)终端、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等。
图1为本申请实施例提供的通信系统的一实施例示意图。
如图1所示,本申请实施例提供的通信系统的一实施例可以包括第一终端10A、第二终端10B和网络20。第一终端10A和第二终端10B通过网络20进行通信。该网络20中可以包括多个路由设备。
第一终端10A获取待传输到第二终端10B的第一数据,所述第一数据是第一应用产生的。所述第一终端获取N条可用传输路径中每条传输路径的服务质量(quality of service,QoS)信息,所述N为大于1的整数,所述N条可用传输路径为所述第一终端与所述第二终端之间的通信路径;所述第一终端从所述N条传输路径中确定QoS信息满足传输条件的第一传输路径;所述第一终端通过所述第一传输路径传输所述第一数据。
所述第二终端用10B从所述第一传输路径接收所述第一数据;将所述第一数据调度给所述第一应用。
需要说明的是,该图1中第一终端10A和第二终端10B都是以手机为例的,实际上,不同场景下,该第一终端10A和第二终端10B不限于手机,而且第一终端10A和第二终端10B也可以是不同的终端设备。
本申请实施例提供的通信系统,终端可以基于各传输路径的服务质量QoS信息确定用于传输应用所产生的数据的传输路径,从而满足了数据传输对服务质量的需求。
上述描述了本申请实施例提供的通信系统,下面结合图2介绍本申请实施例提供的数据传输的方法。
如图2所示,本申请实施例提供的数据传输的方法的一实施例可以包括:
201、第一终端获取待传输到第二终端的第一数据,所述第一数据是第一应用产生的。
202、第一终端获取N条可用传输路径中每条传输路径的服务质量QoS信息。
所述N为大于1的整数,所述N条可用传输路径为所述第一终端与所述第二终端之间的通信路径。
QoS信息可以包括传输带宽、传输时延、丢包率以及抖动等信息。
第一终端和第二终端之间可以有多条可用传输路径,每条可用传输路径都可以是第一终端和第二终端通过协商生成的,也可以是第一终端和第二终端通过中间的控制设备协商生成的。
一些可能的实施例中,该步骤202可以包括:
所述第一终端确定N个QoS流,其中,每个QoS流对应一条可用传输路径;
所述第一终端通过测量报文测量所述N个QoS流所对应的N条可用传输路径中每条传输 路径的QoS信息。
本申请实施例中,QoS流可以是三元组、四元组或五元组。若QoS流是三元组则包括源互联网协议(internet protocol,IP)地址、IP协议和目的IP地址。若QoS流是四元组则包括源IP地址、源端口号、目的IP地址和目的端口号。若QoS流是五元组则包括源IP地址、源端口号、IP协议、目的IP地址和目的端口号。
以QoS流是四元组为例,每个四元组对应一条可用传输路径。
在测量可用传输路径时,可以向每条可用传输路径上发送测量报文,然后接收与该测量报文对应的响应报文,进而计算该可用传输路径上的QoS信息。例如:可以根据测量报文的发送时间和响应报文的接收时间统计传输时延,可以根据发出的测量报文的数量,以及目的终端反馈的接收到的测量报文的数量确定丢包率。当然,本处只是举例,其他可以确定QoS信息的方案都适用于本申请。
203、第一终端从所述N条传输路径中确定QoS信息满足传输条件的第一传输路径。
传输条件可以有多种,如:将服务质量最好做为传输条件,将服务质量排序在前X的作为传输条件,X为大于1的整数,将服务质量中某一维度最好作为传输条件,或者将一个或多个维度达到某个阈值作为传输条件,该传输条件可以根据实际需求配置,不限于这里列举的几种。
204、第一终端通过所述第一传输路径传输所述第一数据。
205、第二终端接收第一数据后,将所述第一数据调度给第一应用。
本申请实施例提供的数据传输的方法,终端可以基于各传输路径的服务质量QoS信息确定用于传输应用所产生的数据的传输路径,从而满足了数据传输对服务质量的需求。
在上述图1和图2所示的实施例中,是以第一终端10A作为数据发送端,第二终端10B作为数据接收端进行说明的。在实际数据传输过程中,第一终端10A可能有时是数据发送端,有时是数据接收端,同理,第二终端10B也可能有时是数据接收端,有时是数据发送端。
无论是第一终端10A还是第二终端10B,在本申请数据传输过程中所涉及的终端的功能可以参阅图3所示的一示例示意图进行理解。
如图3所示,终端可以包括多个应用(APP)、调度器(scheduler)、生成器(generator)、监听器(listener)、测量器(measurer)和端口套接字(socket)。
需要说明的是,该处所描述的调度器、生成器、监听器、测量器和端口套接字可以是通过软件实现的。
其中,每个应用会产生应用的数据,上述第一应用为多个应用中的一个,第一数据为第一应用产生的数据。
步骤202中所描述的确定N个QoS流可以由生成器完成,生成器(generator)用于协商通信两端的可用IP地址和端口,当然也可以不用协商,通过预先配置的IP地址和端口生成QoS流,即确定可用传输路径。
以生成器生成四元组为例,每个四元组对应一个端口套接字(socket)。
测量器可以用于测量N条可用传输路径中每条传输路径的QoS信息,测量器的测量原理可以参阅上述步骤202中通过报文测量QoS信息的相应描述进行理解。测量器测量出每条传 输路径的QoS信息后会向调度器上报每条传输路径的QoS信息。测量器可以通过端口套接字(socket)发送测量报文。
调度器可以用于执行上述步骤203,即可以根据测量器上报的QoS信息为应用产生的数据确定合适的传输路径,并将该应用的数据调度到该传输路径上。另外,调度器还可以将接收到的应用的数据分发给对应的应用。
监听器可用于从端口套接字(socket)接收流测量报文以及数据报文,该处的数据报文指的是应用的数据。监听器无论是接收到测量报文、测量响应还是应用的数据后都会先进行识别,然后再进行传递。监听器接收到测量报文或测量响应后,会将该测量报文或测量响应传递给测量器,从而测量器可以确定每条传输路径的QoS信息。监听器接收到应用的数据后,会将该应用的数据传递给调度器,进而通过调度器分发给相应的应用。另外,监听器还可以将要发送的报文传递给端口套接字(socket)进行报文发送。
基于图3所示的示例,第一终端和第二终端之间传输应用的数据的过程可以参与图4进行理解。
如图4所示,第一终端和第二终端之间可以由多条可用传输路径,如图4中第一终端的生成器和第二终端的生成器协商了两条可用传输路径,分别是第一终端经网络中的路由器A和第二终端形成的可用传输路径1,以及第一终端经网络中的路由器B和第二终端形成的可用传输路径2。
第一终端上的测量器1通过测量报文测量了可用传输路径2,第一终端上的测量器2通过测量报文测量了可用传输路径1,并将测量到的可用传输路径1和可用传输路径2的QoS信息上报给调度器,可用传输路径2的QoS信息好于可用传输路径1的QoS信息。
在第一终端的第一应用传输产生第一数据后,调度器根据可用传输路径1和可用传输路径2的QoS信息选择了可用传输路径2传输该第一数据。第二终端接收到第一数据后,第二终端的调度器将该第一数据调度给第一应用。
该场景中,可以从可用传输路径中选择服务质量好的路径传输应用的数据,可以提高数据传输的成功率以及传输效率。
一些可能的实施例中,所述第一终端从所述N条传输路径中确定QoS信息满足传输条件的第一传输路径,可以包括:
所述第一终端确定所述第一应用的数据传输对服务质量在第一维度上的需求信息,所述服务质量包括第一维度和第二维度;
所述第一终端根据所述在第一维度上的需求信息,以及所述每条传输路径的QoS信息,从所述N条传输路径中确定在所述第一维度上符合度最高的传输路径作为所述第一传输路径。
本申请实施例中,考虑到有些应用对传输时延要求比较高,如导航应用、即时通信应用。有些应用对抖动要求比较高,如语音应用、视频应用。有些应用对丢包率要求比较高,如与精准控制相关的应用。传输时延、抖动和丢包率分别属于QoS信息不同的维度。这样,在传输不同应用的数据时,就可以根据各种应用对QoS信息不同的维度的需求,选择合适的传输路径,例如:有三条可用传输路径,其中,可用传输路径1的传输时延最低,可用传输 路径2的抖动最低,可用传输路径3的丢包率最低。这样,在为导航应用选择传输路径时会从这三条可用传输路径中选择传输路径1,并使用传输路径1传输该导航应用的数据。
该场景中,如图5所示,第一应用为对传输时延要求比较高的导航应用,第二应用为对抖动要求比较高的视频应用。可用传输路径1的抖动参数值小于可用传输路径2的抖动参数值,可用传输路径2的传输时延小于可用传输路径1的传输时延。第一终端上的第一应用产生数据后,第一终端的调度器根据第一应用对传输时延的需求信息,以及可用传输路径1和可用传输路径2所对应的各维度的服务质量信息,确定为第一应用的数据选择可用传输路径2进行数据传输。第二终端从可用传输路径2接收到第一应用的数据后,会将该第一应用的数据调度给第一应用。当第一终端上的第二应用产生数据后,第一终端的调度器根据第二应用对抖动的需求信息,以及可用传输路径1和可用传输路径2所对应的各维度的服务质量信息,确定为第二应用的数据选择可用传输路径1进行数据传输。
一些可能的实施例中,所述方法还可以包括:
所述第一终端通过第二传输路径接收所述第二终端发送的所述第一数据已收到的确认信息,所述第二传输路径的QoS信息与所述第一传输路径的QoS信息的偏移在预设范围内。
本申请实施例中,为了避免数据发送端因迟迟接收不到应答(ACK)消息而重发数据,在数据接收端也选择QoS尽可能好的传输路径向数据发送端返回ACK消息。
如图6的场景所示,可用传输路径1和可用传输路径2的QoS信息是多条可用传输路径中最好的两条传输路径,第一终端通过可用传输路径2传输了第一数据,第二终端可以通过可用传输路径1传输该第一数据的应答。这样,可以确保第一终端能及时收到第二终端的响应,从而可以避免因数据发送端迟迟接收不到应答消息而重复发送数据,浪费传输资源。
一些可能的实施例中,所述方法还可以包括:
当所述第一传输路径故障时,所述第一终端将所述第一传输路径上传输的第一数据调度到第三传输路径,所述第三传输路径的QoS信息是所述N条可用传输路径中除所述第一传输路径之外服务质量最好的传输路径。
本申请实施例中,在传输路径发生故障时,会进行数据迁移,在数据迁移时从剩余可用传输路径中选择最好的一条传输路径用于传输迁移来的数据。
如图7的场景所示,可用传输路径1和可用传输路径2的QoS信息是多条可用传输路径中最好的两条传输路径,当第一终端通过可用传输路径2传输第一应用的第一数据时,该可用传输路径2出现故障,则第一终端的调度器可以将改第一应用的第一数据调度到可用传输路径1上进行传输。
一些可能的实施例中,所述方法还可以包括:
所述第一终端在所述第一数据中封装用户数据报协议(user datagram protocol,UDP)隧道头;
所述第一终端通过所述第一传输路径传输所述第一数据,可以包括:
所述第一终端通过所述第一传输路径传输封装了UDP隧道头的第一数据。
本申请实施例中,上层应用可以不感知数据的传输,可以通过隧道方式传输该第一数据,以隧道方式传输时在要传输的数据中封装UDP隧道头即可。如图8所示,在第一数据已 有的IP、UDP/传输控制协议(Transmission Control Protocol,TCP)和数据(DATA)的格式前,再封装与UDP隧道相关的IP和UDP隧道头,这样就可以通过UDP隧道的方式传输该第一数据。
一些可能的实施例中,所述方法还可以包括:
所述第一终端接收第二数据,所述第二数据包括第一应用的标识信息;
所述第一终端根据所述第一应用的标识信息将所述第二数据调度给所述第一应用。
本申请实施例中,也可以是由上层应用配合实现数据的传输,这种情况下,每个应用都有一个唯一的APP ID,在发送数据时,将APP ID写入数据中,数据接收设备接收数据后,解析出该APP ID就可以将该第二数据调度给相应的应用。如图9所示,在第一数据的格式中加入应用的标识(APP ID),这样,第一终端接收到该第二数据后,就可以通过该APP ID确定该第二数据是对应哪个应用的,从而将该第二数据调度给相应的应用。
一些可能的实施例中,所述第一终端获取待传输到第二终端的第一数据,可以包括:
所述第一终端通过运行所述第一应用的实例获取所述第一数据,所述第一应用为M个应用中的一个,每个应用各自基于一个不同的实例运行,所述M为整数,且M≥1。
本申请实施例中,还可以是每个应用使用一个实例运行,即可能存在多个实例,每个实例只服务于一个应用,在这种实现中,发送数据时只需将报文调度到QoS最好的传输路径上即可。
以上描述了数据传输的方法以及相应的通信系统,下面结合附图描述本申请实施例中的终端。
如图10所示,本申请实施例提供的终端30的一实施例可以包括:
处理单元301,用于获取待传输到第二终端的第一数据,获取N条可用传输路径中每条传输路径的服务质量QoS信息,从所述N条传输路径中确定QoS信息满足传输条件的第一传输路径,所述第一数据是第一应用产生的,所述N为大于1的整数,所述N条可用传输路径为所述第一终端与所述第二终端之间的通信路径;
收发单元302,用于通过所述处理单元301确定的第一传输路径传输所述第一数据。
本申请实施例提供方案,终端可以基于各传输路径的服务质量QoS信息确定用于传输应用所产生的数据的传输路径,从而满足了数据传输对服务质量的需求。
一些可能的实施例中,处理单元301具体用于:
确定N个QoS流,其中,每个QoS流对应一条可用传输路径;
通过测量报文测量所述N个QoS流所对应的N条可用传输路径中每条传输路径的QoS信息。
一些可能的实施例中,处理单元301具体用于:
确定所述第一应用的数据传输对服务质量在第一维度上的需求信息,所述服务质量包括第一维度和第二维度;
根据所述在第一维度上的需求信息,以及所述每条传输路径的QoS信息,从所述N条传输路径中确定在所述第一维度上符合度最高的传输路径作为所述第一传输路径。
一些可能的实施例中,收发单元302,还用于通过第二传输路径接收所述第二终端发送的所述第一数据已收到的确认信息,所述第二传输路径的QoS信息与所述第一传输路径的 QoS信息的偏移在预设范围内。
一些可能的实施例中,处理单元301,还用于当所述第一传输路径故障时,将所述第一传输路径上传输的第一数据调度到第三传输路径,所述第三传输路径的QoS信息是所述N条可用传输路径中除所述第一传输路径之外服务质量最好的传输路径。
一些可能的实施例中,处理单元301,还用于在所述第一数据中封装用户数据报协议UDP隧道头;
收发单元302,还用于通过所述第一传输路径传输封装了UDP隧道头的第一数据。
一些可能的实施例中,收发单元302,还用于接收第二数据,所述第二数据包括第一应用的标识信息;
处理单元301,还用于根据所述第一应用的标识信息将所述第二数据调度给所述第一应用。
一些可能的实施例中,处理单元301,具体用于通过运行所述第一应用的实例获取所述第一数据,所述第一应用为M个应用中的一个,每个应用各自基于一个不同的实例运行,所述M为整数,且M≥1。
需要说明的是,上述所描述的终端由于与本申请方法实施例基于同一构思,其带来的技术效果与本申请方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储有程序,该程序执行包括上述方法实施例中记载的部分或全部步骤。
如图11所示,为本申请实施例的又一种通信设备的结构示意图,该通信设备可以是终端,也可以是其他可以实现本申请功能的设备。该通信设备可以包括:处理器401(例如CPU)、存储器402、发送器404和接收器403;发送器404和接收器403耦合至处理器401,处理器401控制发送器404的发送动作和接收器403的接收动作。存储器402可能包含高速RAM存储器,也可能还包括非易失性存储器NVM,例如至少一个磁盘存储器,存储器402中可以存储各种指令,以用于完成各种处理功能以及实现本申请实施例的方法步骤。可选的,本申请实施例涉及的通信设备还可以包括:电源405、以及通信端口406中的一个或多个,图11中所描述的各器件可以是通过通信总线连接,也可以是通过其他连接方式连接,对此,本申请实施例中不做限定。接收器403和发送器404可以集成在通信设备的收发器中,也可以为通信设备上分别独立的收、发天线。通信总线用于实现元件之间的通信连接。上述通信端口406用于实现通信设备与其他外设之间进行连接通信。
在一些实施例中,通信设备中的处理器401可以执行图10中处理模块301执行的动作,通信设备中的接收器403可以执行图10中收发单元302执行的动作,其实现原理和技术效果类似,在此不再赘述。
在一些实施例中,上述存储器402用于存储计算机可执行程序代码,程序代码包括指令;当处理器401执行指令时,指令使处理器401执行上述实施例中通信设备的处理模块执行的动作,使发送器404执行上述实施例中通信设备的收发单元302的动作,其实现原理和技术 效果类似,在此不再赘述。
本申请还提供了一种芯片系统,该芯片系统包括处理器,用于支持上述通信设备实现其所涉及的功能,例如,例如接收或处理上述方法实施例中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存计算机设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(Digital Subscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部 分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (10)

  1. 一种数据传输的方法,其特征在于,包括:
    第一终端获取待传输到第二终端的第一数据,所述第一数据是第一应用产生的;
    所述第一终端获取N条可用传输路径中每条传输路径的服务质量QoS信息,所述N为大于1的整数,所述N条可用传输路径为所述第一终端与所述第二终端之间的通信路径;
    所述第一终端从所述N条传输路径中确定QoS信息满足传输条件的第一传输路径;
    所述第一终端通过所述第一传输路径传输所述第一数据。
  2. 根据权利要求1所述的方法,其特征在于,所述第一终端获取N条可用传输路径中每条传输路径的服务质量QoS信息,包括:
    所述第一终端确定N个QoS流,其中,每个QoS流对应一条可用传输路径;
    所述第一终端通过测量报文测量所述N个QoS流所对应的N条可用传输路径中每条传输路径的QoS信息。
  3. 根据权利要求1或2所述的方法,其特征在于,所述第一终端从所述N条传输路径中确定QoS信息满足传输条件的第一传输路径,包括:
    所述第一终端确定所述第一应用的数据传输对服务质量在第一维度上的需求信息,所述服务质量包括第一维度和第二维度;
    所述第一终端根据所述在第一维度上的需求信息,以及所述每条传输路径的QoS信息,从所述N条传输路径中确定在所述第一维度上符合度最高的传输路径作为所述第一传输路径。
  4. 根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
    所述第一终端通过第二传输路径接收所述第二终端发送的所述第一数据已收到的确认信息,所述第二传输路径的QoS信息与所述第一传输路径的QoS信息的偏移在预设范围内。
  5. 根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
    当所述第一传输路径故障时,所述第一终端将所述第一传输路径上传输的第一数据调度到第三传输路径,所述第三传输路径的QoS信息是所述N条可用传输路径中除所述第一传输路径之外服务质量最好的传输路径。
  6. 根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
    所述第一终端在所述第一数据中封装用户数据报协议UDP隧道头;
    所述第一终端通过所述第一传输路径传输所述第一数据,包括:
    所述第一终端通过所述第一传输路径传输封装了UDP隧道头的第一数据。
  7. 根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
    所述第一终端接收第二数据,所述第二数据包括第一应用的标识信息;
    所述第一终端根据所述第一应用的标识信息将所述第二数据调度给所述第一应用。
  8. 根据权利要求1-5任一项所述的方法,其特征在于,所述第一终端获取待传输到第二终端的第一数据,包括:
    所述第一终端通过运行所述第一应用的实例获取所述第一数据,所述第一应用为M个应用中的一个,每个应用各自基于一个不同的实例运行,所述M为整数,且M≥1。
  9. 一种终端,其特征在于,包括:
    处理器、存储器和收发器,其中,所述存储器存储有程序代码,所述处理器调用所述存储器中存储的程序代码,使得所述终端执行如权利要求1-8任一项所述的数据传输方法。
  10. 一种通信系统,其特征在于,包括:第一终端和第二终端;
    所述第一终端用于:
    获取待传输到所述第二终端的第一数据,所述第一数据是第一应用产生的;
    获取N条可用传输路径中每条传输路径的服务质量QoS信息,所述N为大于1的整数,所述N条可用传输路径为所述第一终端与所述第二终端之间的通信路径;
    从所述N条传输路径中确定QoS信息满足传输条件的第一传输路径;
    通过所述第一传输路径传输所述第一数据;
    所述第二终端用于:
    从所述第一传输路径接收所述第一数据;
    将所述第一数据调度给所述第一应用。
PCT/CN2020/097585 2019-06-27 2020-06-23 一种数据传输的方法、终端及通信系统 WO2020259465A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910570205.6A CN112152925B (zh) 2019-06-27 2019-06-27 一种数据传输的方法、终端及通信系统
CN201910570205.6 2019-06-27

Publications (1)

Publication Number Publication Date
WO2020259465A1 true WO2020259465A1 (zh) 2020-12-30

Family

ID=73868922

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/097585 WO2020259465A1 (zh) 2019-06-27 2020-06-23 一种数据传输的方法、终端及通信系统

Country Status (2)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115086199A (zh) * 2021-03-15 2022-09-20 中国电信股份有限公司 网络质量测试方法及装置、存储介质、电子设备

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114666265B (zh) * 2022-03-28 2024-04-02 阿里巴巴(中国)有限公司 数据传输方法、装置、计算设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102204209A (zh) * 2011-05-06 2011-09-28 华为技术有限公司 跨媒介网络中的QoS协商方法和系统及网络设备
CN103580773A (zh) * 2012-07-18 2014-02-12 中兴通讯股份有限公司 数据帧的传输方法及装置
US20170222935A1 (en) * 2016-02-01 2017-08-03 Netapp, Inc. Methods and systems for managing quality of service in a networked storage environment

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105517028B (zh) * 2014-10-17 2020-03-24 电信科学技术研究院 一种触发和配置传输路径的方法及设备
CN107786448B (zh) * 2016-08-30 2021-11-19 华为技术有限公司 建立业务流的转发路径的方法和装置
CN109587052B (zh) * 2019-01-30 2022-03-15 展讯通信(上海)有限公司 一种多链路数据传输方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102204209A (zh) * 2011-05-06 2011-09-28 华为技术有限公司 跨媒介网络中的QoS协商方法和系统及网络设备
CN103580773A (zh) * 2012-07-18 2014-02-12 中兴通讯股份有限公司 数据帧的传输方法及装置
US20170222935A1 (en) * 2016-02-01 2017-08-03 Netapp, Inc. Methods and systems for managing quality of service in a networked storage environment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115086199A (zh) * 2021-03-15 2022-09-20 中国电信股份有限公司 网络质量测试方法及装置、存储介质、电子设备

Also Published As

Publication number Publication date
CN112152925A (zh) 2020-12-29
CN112152925B (zh) 2021-12-17

Similar Documents

Publication Publication Date Title
CN113411313B (zh) 数据传输方法、装置和系统
CN111586784B (zh) 一种数据传输方法及装置
WO2020207229A1 (zh) 数据传输方法及相关装置
TWI710279B (zh) 端到端傳輸數據的方法、設備和系統
US11924674B2 (en) Data transmission method and apparatus
WO2020238360A1 (zh) 数据传输方法及装置
JP2008104152A (ja) 通信システムのパケット伝送方法
TWI396398B (zh) 管理傳輸時間間隔集束傳輸之方法及通訊裝置
WO2020156261A1 (zh) 一种数据压缩的方法及基站
WO2020259465A1 (zh) 一种数据传输的方法、终端及通信系统
US11974162B2 (en) Communication method and device
WO2022205234A1 (zh) 一种通信方法及装置
US8539297B1 (en) Determining whether a wireless access node should retransmit data packets based on the condition of a reverse wireless link
WO2021036910A1 (zh) 数据传输方法及装置
Hansen et al. Bridging inter-flow and intra-flow network coding in wireless mesh networks: From theory to implementation
WO2018045521A1 (zh) 无线网络中传输信令的方法和装置
TW202029701A (zh) 通信鏈路檢查方法
WO2022267599A1 (zh) 一种非对称传输方法以及装置
CN112514490A (zh) 无线通信的方法和设备
CN111148123A (zh) 一种无线回传处理方法及通信装置
JP7379476B2 (ja) ワイヤレスメッシュネットワークにおけるマルチバンド通信
WO2021227076A1 (zh) 一种通信方法、装置及系统
CN116436862A (zh) 一种通信方法及通信装置
WO2017177438A1 (zh) 一种控制信息的传输方法及装置
WO2021062717A1 (zh) 一种缓冲区状态报告传输方法及装置

Legal Events

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

Ref document number: 20833228

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20833228

Country of ref document: EP

Kind code of ref document: A1