Data transmission method and corresponding device
By assigning different types of message identification to messages in the routing network and selecting appropriate forwarding routing and multi-path transmission technologies, the problems of poor transmission efficiency and quality in the prior art are solved, and efficient and low-latency data transmission is achieved.
Patent Information
- Application Number
- CN202410146404.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-01-31
- Publication Date
- 2025-08-01
AI Technical Summary
The existing multipath transmission technology is poor in efficiency and quality in routing networks and cannot meet end-to-end high bandwidth and low latency requirements.
By assigning different message identifiers (MIDs) to different types of messages and selecting appropriate forwarding routes in the routing network based on MIDs, differentiated transmission paths are realized, and multi-path transmission technologies such as WiFi and cellular networks are combined to improve transmission efficiency and quality.
It increases the transmission bandwidth in the routing network, reduces the transmission delay, improves the efficiency and quality of data transmission, and meets differentiated transmissions with different transmission needs.
Smart Images

Figure CN120416145A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technologies, and particularly to a method for data transmission and a corresponding device. Background Art
[0002] With the development of technologies such as mobile communication, Internet of Things, and virtual reality, centralized cloud computing can no longer meet the needs of applications for greater network bandwidth and lower end-to-end transmission latency. The integrated development of the edge and cloud has become an important development trend.
[0003] To meet the increasing bandwidth requirements of applications and considering that edge nodes usually support access to multiple networks, for example, wireless fidelity (WiFi) interfaces and cellular network interfaces, industry manufacturers are increasingly considering using multi-path transmission technology to increase the total bandwidth.
[0004] Currently, end-to-end transmission usually requires packet forwarding through a routing network (e.g., a real time network (RTN)). The routing network usually supports multi-path transmission as well, but the current multi-path transmission has poor efficiency and quality. Summary of the Invention
[0005] This application provides a method for data transmission to improve the efficiency and quality of data transmission in a routing network. This application also provides a corresponding device, a computer-readable storage medium, a computer program product, etc.
[0006] In a first aspect of this application, a method for data transmission is provided. The method is applied to an edge node and includes: determining a first message identification (MID) for a first type of message in the same transmission connection, and determining a second MID for a second type of message; where the message is a transmission unit of application data, the first MID is used to indicate the transmission requirement of the first type of message in the application layer in the target application, the second MID is used to indicate the transmission requirement of the second type of message in the application layer, the first type is different from the second type, and the first MID is different from the second MID; sending a first packet and a second packet to a source ingress point of the routing network; where the first packet contains the first type of message and the first MID, and the first MID is used for the source ingress point to determine a first forwarding route for the first packet, and the first forwarding route corresponds to the transmission requirement indicated by the first MID; the second packet contains the second type of message and the second MID, and the second MID is used for the source ingress point to determine a second forwarding route for the second packet, and the second forwarding route corresponds to the transmission requirement indicated by the second MID.
[0007] In this application, the edge node can be a client or a server, and can be applied to scenarios where one client communicates with another client, or to scenarios where a client communicates with a server, such as the scenario where a client downloads data from a server. In this application, the client or the server can both be an application (APP), and of course, can also be a terminal device, a server, a virtual machine (VM), or a container installed with an application. The above MID can be created or allocated at the application layer of the edge node, and then the MID will enter the transport layer along with the message, and after the message and the MID are encapsulated into a packet at the transport layer, they are sent.
[0008] In this application, the routing network can be a real-time network (RTN), or other networks that can forward packets. The routing network can include multiple points of presence (PoPs), and different PoPs forward packets containing messages, which can realize the transmission of packets in the routing network.
[0009] In this application, the same transport connection refers to the same connection in the transport layer, which is described by a set of source address, destination address, and transport protocol. For example: it can be the same Transmission Control Protocol (TCP) connection, the same Quick User Datagram Protocol Internet Connections (QUIC), or the same Real-Time Transport Protocol (RTP) connection.
[0010] In this application, the message is the transmission unit of application data, and this message can be a data frame or a data object.
[0011] In this application, the application can be any application that involves data transmission through a routing network, such as: a browser, a conferencing application, or an instant messaging application, etc.
[0012] In this application, the first type or the second type can be the type of a file, the type of a data object, or the type of a data frame, etc. Taking the data frame as an example, the first type can be the video type, the message of the first type can be a video frame, the second type can be the audio type, and the message of the second type can be an audio frame. Of course, other types of messages can also be included in the same transport connection, not limited to the two types mentioned in this application. Different MIDs can be generated for different types of messages in this application.
[0013] In this application, the source ingress point of the routing network can be determined according to the policy of accessing the routing network. For example, according to the policy of accessing the network nearby, an ingress point closer to the edge node can be selected as the source ingress point. The source ingress point can be a routing device or software running on the routing device.
[0014] In this application, the first forwarding route and the second forwarding route can be the same or different. The information of the destination end can be carried in both the first message and the second message. The source ingress point can determine a first forwarding route that meets the transmission requirements of the first message for the first message according to the first MID, the information of the destination end, and its own routing table. Similarly, a second forwarding route that meets the transmission requirements of the second message for the second message can be determined according to the second MID, the information of the destination end, and its own routing table.
[0015] In the solution provided in this first aspect, the edge node and the source ingress point in the routing network achieve the transmission coordination of different types of messages in the same transmission connection through the MID. In this way, the source ingress point in the routing network can, by identifying the MID, match different forwarding routes that meet the transmission requirements of different messages, so as to achieve the transmission of different types of messages in the same transmission connection using different transmission paths, increasing the transmission bandwidth of transmitting the data in this transmission connection in the routing network, providing differentiated transmission for messages with different transmission requirements, and improving the transmission efficiency and quality of data in the routing network.
[0016] In a possible implementation manner, the above step of sending the first message and the second message to the source ingress point of the routing network includes: sending the first message and the second message to the source ingress point based on a first scheduling path and a second scheduling path, where the first scheduling path and the second scheduling path are different transmission paths in the access network.
[0017] In this possible implementation manner, the scheduling path refers to the transmission path of the access network from the edge node to the source ingress point. The scheduling path can include a transmission path of wireless fidelity (WiFi) or a transmission path of a cellular network. For example, the first scheduling path can be a transmission path of WiFi, and the second scheduling path can be a transmission path of a cellular network. Of course, it can also be that the first scheduling path can be a transmission path of a cellular network, and the second scheduling path can be a transmission path of WiFi. It can be seen from this possible implementation manner that the edge node can transmit the first message and the second message to the source ingress point through multiple paths, increasing the transmission bandwidth of transmitting the data in this transmission connection in the wireless network and improving the transmission efficiency and quality of the message in the wireless network.
[0018] In a possible implementation, before determining a first message identifier MID for messages of a first type and a second MID for messages of a second type in the same transmission connection, the method further includes: sending, to a controller of a routing network, transmission requirements of a target application at an application layer, where the target application is an application associated with the transmission connection, and the transmission requirements of the target application at the application layer include the transmission requirements of messages of the first type at the application layer and the transmission requirements of messages of the second type at the application layer; wherein, the transmission requirements of the target application at the application layer are used by the controller to determine multiple transmission paths for an ingress point in the routing network, so as to update the routing table of the ingress point, and the ingress points of the routing network include a source ingress point, and the information of the multiple transmission paths includes a first forwarding route and a second forwarding route.
[0019] In this possible implementation, the end-side node may send the transmission requirements of the target application at the application layer to the controller of the routing network when starting the transmission connection of the target application. The transmission requirements of the target application at the application layer may include the transmission requirements of various types of messages involved in the target application at the application layer; wherein, the transmission requirements of the target application at the application layer include an application preference and / or a transmission level. The application preference is used to indicate the sensitive dimension of the quality of service during data transmission, and the transmission level is used to indicate the service level agreement (SLA) level. The sensitive dimension of the quality of service includes at least one of latency, throughput, or reliability. It can be seen from this possible implementation that through the pre-negotiation between the end-side node and the controller, the controller can determine multiple transmission paths that meet the transmission requirements of the target application at the application layer, and use the information of the multiple transmission paths to update the routing table of the source ingress point, thereby realizing end-network collaboration. In this way, when the end-side node sends a message, the source ingress point can query the forwarding route that meets the transmission requirements of the message of the target application according to the parameter requirements indicated by the MID and the updated routing table, thereby improving the efficiency and quality of message transmission in the routing network.
[0020] In a possible implementation, the method further includes: splitting a message of the first type into a first sub-message and a second sub-message; wherein, the first sub-message is associated with a first MID and a first SMID, the second sub-message is associated with the first MID and a second SMID, and the first SMID and the second SMID are different; the first SMID and the second SMID are used to indicate that the source ingress point uses different first forwarding routes to forward the first sub-message and the second sub-message.
[0021] In this possible implementation, when the edge node sends a message, it can split the message into multiple sub-messages, and then associate the message through the same MID and different SMIDs. In this way, the sub-messages of the same message can be transmitted through different transmission paths in the routing network, which can increase the transmission paths of the same message, increase the transmission bandwidth of the message in the routing network, and reduce the transmission delay of the message.
[0022] In a possible implementation, the method further includes: using different scheduling paths in the access network to transmit a first packet containing a first sub-message and a first packet containing a second sub-message to the source ingress point.
[0023] In this possible implementation, for packets containing different sub-messages, they can be transmitted to the source ingress point through different scheduling paths. In this way, the transmission delay of the split message can be reduced and the transmission efficiency can be improved.
[0024] A method for data transmission provided in the second aspect of the present application includes: receiving a first packet and a second packet; wherein, the first packet and the second packet come from the same transmission connection, the first packet contains a first type of message and a first message identifier MID, the second packet contains a second type of message and a second MID; the message is a transmission unit of application data, the first MID is used to indicate the transmission requirement of the first type of message in the application layer in the target application, the second MID is used to indicate the transmission requirement of the second type of message in the application layer in the target application, the first type is different from the second type, and the first MID is different from the second MID; determining a first forwarding route for the first packet according to the first MID, and determining a second forwarding route for the second packet according to the second MID; wherein, the first forwarding route corresponds to the transmission requirement indicated by the first MID, and the second forwarding route corresponds to the transmission requirement indicated by the second MID; forwarding the first packet according to the first forwarding route and forwarding the second packet according to the second forwarding route.
[0025] In the solution provided in the second aspect, the source ingress point in the routing network realizes the transmission coordination of different types of messages in the same transmission connection with the edge node through the MID. In this way, the source ingress point can match a forwarding route that meets the transmission requirement of the packet for different packets by identifying the MID, thereby realizing the transmission of different types of messages in the same transmission connection through different transmission paths, increasing the transmission bandwidth of the data in the transmission connection in the routing network, providing differentiated transmission for messages with different transmission requirements, and improving the transmission efficiency and quality of data in the routing network.
[0026] In a possible implementation, when there are multiple first messages including the first MID, one of the first messages further includes a first submessage ID (SMID), and another first message further includes a second SMID. The first SMID or the second SMID is used to indicate that the first type of message included in the first message is a submessage, and the first SMID and the second SMID are different. The above step: forwarding the first message according to the first forwarding route includes: sending the first message including the first SMID and the first message including the second SMID using different first forwarding routes.
[0027] In this possible implementation, when the source ingress point in the routing network forwards different submessages of the same message, they can be transmitted through different transmission paths. In this way, the transmission paths of the same message can be increased, the transmission bandwidth of the message in the routing network can be increased, and the transmission delay of the message can be reduced.
[0028] In a possible implementation, the method further includes: receiving a third message, where the third message includes a third MID, and the transmission requirement of the message indicated by the third MID at the application layer is the same as the transmission requirement of the first type of message indicated by the first MID at the application layer; when there are multiple first forwarding routes, the first message and the third message are sent in a round-robin manner through the multiple first forwarding routes.
[0029] In this possible implementation, for different messages with the same transmission requirement, when there are multiple forwarding routes matching the transmission requirement, different forwarding routes can be used to send different messages in a round-robin manner. In this way, the probability of transmission congestion can be reduced.
[0030] In a possible implementation, before receiving the first message and the second message, the method further includes: receiving information on multiple transmission paths sent by the controller of the routing network, where the multiple transmission paths are determined by the controller according to the transmission requirement of the target application at the application layer, the target application is the application associated with the transmission connection, the transmission requirement of the target application at the application layer includes the transmission requirement of the first type of message at the application layer and the transmission requirement of the second type of message at the application layer, and the information on the multiple transmission paths includes the first forwarding route and the second forwarding route; updating the routing table according to the information on the multiple transmission paths.
[0031] In this possible implementation, the source ingress point can update the routing table of the source ingress point according to the result of the pre-negotiation between the end-side node and the controller (the controller determines multiple transmission paths that meet the transmission requirements of the target application at the application layer), thereby achieving end-network collaboration. In this way, when the end-side node sends a message, the source ingress point can query the forwarding route that meets the transmission requirements of the message of the target application according to the parameter requirements indicated by the MID and the updated routing table, thereby improving the efficiency and quality of message transmission in the routing network.
[0032] The third aspect of this application provides a data transmission method, which is applied to the controller of the routing network. The method includes: receiving the transmission requirements of the target application at the application layer, where the transmission requirements of the target application at the application layer include the transmission requirements of the first type of message at the application layer and the transmission requirements of the second type of message at the application layer; determining multiple transmission paths for the ingress points in the routing network according to the transmission requirements of the target application at the application layer to update the routing tables of the ingress points.
[0033] In the solution provided by the third aspect, the controller can pre-negotiate with the end-side node, and then determine multiple transmission paths that meet the transmission requirements of the target application at the application layer, so that the source ingress point can update the routing table according to the information of the multiple transmission paths. In this way, when the end-side node sends a message, the source ingress point can query the forwarding route that meets the transmission requirements of the message of the target application according to the parameter requirements indicated by the MID and the updated routing table, thereby improving the efficiency and quality of message transmission in the routing network.
[0034] In a possible implementation, the above step of determining multiple transmission paths for the ingress points in the routing network according to the transmission requirements of the target application at the application layer to update the routing tables of the ingress points includes: determining multiple transmission paths according to the transmission requirements of the target application at the application layer, the topology of the routing network, and the link quality reported by the ingress points in the routing network.
[0035] In this possible implementation, the controller can determine multiple transmission paths by combining the transmission requirements of the target application at the application layer, the topology of the routing network, and the link quality reported by the ingress points in the routing network. The quality of the multiple transmission paths determined in this way is better, which is beneficial to improving the transmission quality of the routing network.
[0036] In a possible implementation, when receiving the transmission requirements of the target application at the application layer, the method further includes:
[0037] Receiving the information of the source ingress point for forwarding the data of the target application and the information of the destination end for receiving the data of the target application; correspondingly, the multiple transmission paths are different transmission paths from the source ingress point to the destination end.
[0038] In this possible implementation, if the edge node sends the information of the source ingress point and the information of the destination end to the controller, then only multiple transmission paths between the source ingress point and the destination end can be determined. In this way, the efficiency of determining multiple transmission paths can be improved.
[0039] A fourth aspect of the present application provides a computer device, which can be an edge node. The edge node includes: a transceiver unit and a processing unit; wherein,
[0040] The processing unit is configured to determine a first message identifier MID for a first type of message in the same transmission connection, and determine a second MID for a second type of message; wherein, the message is a transmission unit of application data, the first MID is used to indicate the transmission requirement of the first type of message in the application layer in the target application, the second MID is used to indicate the transmission requirement of the second type of message in the application layer, the first type is different from the second type, and the first MID is different from the second MID;
[0041] The transceiver unit is configured to send a first packet and a second packet to the source ingress point of the routing network; wherein, the first packet includes a first type of message and the first MID, and the first MID is used for the source ingress point to determine a first forwarding route for the first packet, and the first forwarding route corresponds to the transmission requirement indicated by the first MID; the second packet includes a second type of message and the second MID, and the second MID is used for the source ingress point to determine a second forwarding route for the second packet, and the second forwarding route corresponds to the transmission requirement indicated by the second MID.
[0042] In a possible implementation, the transceiver unit is configured to send the first packet and the second packet to the source ingress point based on a first scheduling path and a second scheduling path, and the first scheduling path and the second scheduling path are different transmission paths in the access network.
[0043] In a possible implementation, the transceiver unit is further configured to send the transmission requirements of the target application in the application layer to the controller of the routing network before determining the first message identifier MID for the first type of message and the second MID for the second type of message in the same transmission connection. The target application is the application associated with the transmission connection, and the transmission requirements of the target application in the application layer include the transmission requirements of the first type of message in the application layer and the transmission requirements of the second type of message in the application layer; wherein, the transmission requirements of the target application in the application layer are used for the controller to determine multiple transmission paths for the ingress points in the routing network to update the routing tables of the ingress points. The ingress points of the routing network include source ingress points, and the information of the multiple transmission paths includes the first forwarding route and the second forwarding route.
[0044] In a possible implementation, the processing unit is further configured to split a first type of message into a first sub-message and a second sub-message; wherein, the first sub-message is associated with a first MID and a first SMID, the second sub-message is associated with the first MID and a second SMID, and the first SMID and the second SMID are different; the first SMID and the second SMID are used to instruct the source ingress point to forward the first sub-message and the second sub-message using different first forwarding routes.
[0045] In a possible implementation, the transceiver unit is further configured to use different scheduling paths in the access network to transmit a first packet containing the first sub-message and a first packet containing the second sub-message to the source ingress point.
[0046] A fifth aspect of the present application provides a computer device, including: a transceiver unit and a processing unit; wherein,
[0047] The transceiver unit is configured to receive a first packet and a second packet; wherein, the first packet and the second packet come from the same transmission connection, the first packet contains a first type of message and a first message identifier MID, and the second packet contains a second type of message and a second MID; the message is a transmission unit of application data, the first MID is used to indicate the transmission requirement of the first type of message in the application layer in the target application, the second MID is used to indicate the transmission requirement of the second type of message in the application layer in the target application, the first type is different from the second type, and the first MID is different from the second MID;
[0048] The processing unit is configured to determine a first forwarding route for the first packet according to the first MID, and determine a second forwarding route for the second packet according to the second MID; wherein, the first forwarding route corresponds to the transmission requirement indicated by the first MID, and the second forwarding route corresponds to the transmission requirement indicated by the second MID;
[0049] The transceiver unit is further configured to forward the first packet according to the first forwarding route and forward the second packet according to the second forwarding route.
[0050] In a possible implementation, the transceiver unit is specifically configured to, when there are multiple first packets containing the first MID, where one first packet further includes a first SMID and the other first packet further includes a second SMID, and the first SMID and the second SMID are different; when the first SMID or the second SMID is used to indicate that the first type of message contained in the first packet is a sub-message, use different first forwarding routes to send the first packet containing the first SMID and the first packet containing the second SMID.
[0051] In a possible implementation, the transceiver unit is further configured to receive a third message, where the third message includes a third MID, and the transmission requirements of the message indicated by the third MID at the application layer are the same as those of the first type of message indicated by the first MID at the application layer; when there are multiple first forwarding routes, the first message and the third message are sent in a round-robin manner through the multiple first forwarding routes.
[0052] In a possible implementation, the transceiver unit is further configured to, before receiving the first message and the second message, receive information about multiple transmission paths sent by the controller of the routing network. The multiple transmission paths are determined by the controller according to the transmission requirements of the target application at the application layer. The target application is the application associated with the transmission connection, and the transmission requirements of the target application at the application layer include the transmission requirements of the first type of message at the application layer and the transmission requirements of the second type of message at the application layer. The information about the multiple transmission paths includes a first forwarding route and a second forwarding route.
[0053] The processing unit is further configured to update the routing table according to the information about the multiple transmission paths.
[0054] A sixth aspect of the present application provides a computer device, including: a transceiver unit and a processing unit; where
[0055] The transceiver unit is configured to receive the transmission requirements of the target application at the application layer. The transmission requirements of the target application at the application layer include the transmission requirements of the first type of message at the application layer and the transmission requirements of the second type of message at the application layer.
[0056] The processing unit is configured to determine multiple transmission paths for the ingress point in the routing network according to the transmission requirements of the target application at the application layer, so as to update the routing table of the ingress point.
[0057] In a possible implementation, the processing unit is specifically configured to determine multiple transmission paths according to the transmission requirements of the target application at the application layer, the topological structure of the routing network, and the link quality reported by the ingress point in the routing network.
[0058] In a possible implementation, the transceiver unit is further configured to, when receiving the transmission requirements of the target application at the application layer, receive information about the source ingress point for forwarding the data of the target application and information about the destination end for receiving the data of the target application; correspondingly, the multiple transmission paths are different transmission paths from the source ingress point to the destination end.
[0059] In a possible implementation, the transmission requirements of the target application at the application layer include application preferences and / or a transmission level. The application preferences are used to indicate the sensitive dimensions of the quality of service during data transmission, and the transmission level is used to indicate the service level agreement (SLA) level. The sensitive dimensions of the quality of service include at least one of delay, throughput, or reliability.
[0060] The seventh aspect of the present application provides a computer device, including: a communication interface, a processor, and a memory. The communication interface and the processor are coupled to the memory. The memory is used to store programs or instructions. When the programs or instructions are executed by the processor, the computer device executes the method in the foregoing first aspect or any possible implementation manner of the first aspect.
[0061] The eighth aspect of the present application provides a computer device, including: a communication interface, a processor, and a memory. The communication interface and the processor are coupled to the memory. The memory is used to store programs or instructions. When the programs or instructions are executed by the processor, the computer device executes the method in the foregoing second aspect or any possible implementation manner of the second aspect.
[0062] The ninth aspect of the present application provides a computer device, including: a communication interface, a processor, and a memory. The communication interface and the processor are coupled to the memory. The memory is used to store programs or instructions. When the programs or instructions are executed by the processor, the computer device executes the method in the foregoing third aspect or any possible implementation manner of the third aspect.
[0063] The tenth aspect of the present application provides a chip system. The chip system includes one or more interface circuits and one or more processors. The interface circuits and the processors are interconnected by lines. The interface circuits are used to receive signals from the memory of the computer device and send the signals to the processors. The signals include computer instructions stored in the memory. When the processors execute the computer instructions, the computer device executes the method in the foregoing first aspect or any possible implementation manner of the first aspect.
[0064] The eleventh aspect of the present application provides a chip system. The chip system includes one or more interface circuits and one or more processors. The interface circuits and the processors are interconnected by lines. The interface circuits are used to receive signals from the memory of the computer device and send the signals to the processors. The signals include computer instructions stored in the memory. When the processors execute the computer instructions, the computer device executes the method in the foregoing second aspect or any possible implementation manner of the second aspect.
[0065] The twelfth aspect of the present application provides a chip system. The chip system includes one or more interface circuits and one or more processors. The interface circuits and the processors are interconnected by lines. The interface circuits are used to receive signals from the memory of the computer device and send the signals to the processors. The signals include computer instructions stored in the memory. When the processors execute the computer instructions, the computer device executes the method in the foregoing third aspect or any possible implementation manner of the third aspect.
[0066] The thirteenth aspect of the present application provides a computer-readable storage medium, on which a computer program or instruction is stored. When the computer program or instruction runs on a computer device, the computer device is caused to execute the method in the foregoing first aspect or any possible implementation manner of the first aspect.
[0067] The fourteenth aspect of the present application provides a computer-readable storage medium, on which a computer program or instruction is stored. When the computer program or instruction runs on a computer device, the computer device is caused to execute the method in the foregoing second aspect or any possible implementation manner of the second aspect.
[0068] The fifteenth aspect of the present application provides a computer-readable storage medium, on which a computer program or instruction is stored. When the computer program or instruction runs on a computer device, the computer device is caused to execute the method in the foregoing third aspect or any possible implementation manner of the third aspect.
[0069] The sixteenth aspect of the present application provides a computer device program product, which includes computer device program code. When the computer device program code is executed on a computer device, the computer device is caused to execute the method in the foregoing first aspect or any possible implementation manner of the first aspect.
[0070] The seventeenth aspect of the present application provides a computer device program product, which includes computer device program code. When the computer device program code is executed on a computer device, the computer device is caused to execute the method in the foregoing second aspect or any possible implementation manner of the second aspect.
[0071] The eighteenth aspect of the present application provides a computer device program product, which includes computer device program code. When the computer device program code is executed on a computer device, the computer device is caused to execute the method in the foregoing third aspect or any possible implementation manner of the third aspect.
[0072] The nineteenth aspect of the present application provides a communication system, which includes an end-side node and a routing network. The routing network includes a source ingress point and a controller; wherein, the end-side node is configured to execute the method in the foregoing first aspect or any possible implementation manner of the first aspect; the source ingress point is configured to execute the method in the foregoing second aspect or any possible implementation manner of the second aspect; the controller is configured to execute the method in the foregoing third aspect or any possible implementation manner of the third aspect.
[0073] Among them, for the technical effects brought by the fourth aspect to the nineteenth aspect or any one of their possible implementation manners, reference may be made to the technical effects brought by the first aspect or different possible implementation manners of the first aspect, the second aspect or different possible implementation manners of the second aspect, and the third aspect or different possible implementation manners of the third aspect, which will not be elaborated herein. BRIEF DESCRIPTION OF THE DRAWINGS
[0074] Figure 1A FIG. 1 is a schematic diagram of an architecture of a communication system provided by an embodiment of the present application;
[0075] Figure 1B FIG. 2 is another schematic diagram of an architecture of a communication system provided by an embodiment of the present application;
[0076] Figure 2A FIG. 3 is a schematic diagram of an architecture of a real-time network provided by an embodiment of the present application;
[0077] Figure 2B FIG. 4 is another schematic diagram of an architecture of a real-time network provided by an embodiment of the present application;
[0078] Figure 3 FIG. 5 is a schematic diagram of an information negotiation architecture provided by an embodiment of the present application;
[0079] Figure 4 FIG. 6 is a schematic diagram of an embodiment of a method for data transmission provided by an embodiment of the present application;
[0080] Figure 5 FIG. 7 is a schematic diagram of a structure of a message identifier provided by an embodiment of the present application;
[0081] Figure 6 FIG. 8 is a schematic diagram of a structure of a message identifier and a sub-message identifier provided by an embodiment of the present application;
[0082] Figure 7A FIG. 9 is a schematic diagram of a scenario provided by an embodiment of the present application;
[0083] Figure 7B FIG. 10 is a schematic diagram of a structure of a message header provided by an embodiment of the present application;
[0084] Figure 8 FIG. 11 is another schematic diagram of a scenario provided by an embodiment of the present application;
[0085] Figure 9 FIG. 12 is a schematic diagram of a structure of a computer device provided by an embodiment of the present application;
[0086] Figure 10 FIG. 13 is a schematic diagram of a structure of a computer equipment provided by an embodiment of the present application;
[0087] Figure 11 FIG. 14 is a schematic diagram of a structure of an end-side node provided by an embodiment of the present application. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0088] The embodiments of the present application will be described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all of them. Those of ordinary skill in the art will understand that with the development of technology and the emergence of new scenarios, the technical solutions provided by the embodiments of the present application are equally applicable to similar technical problems.
[0089] Terms such as "first" and "second" in the specification, claims and the above-mentioned drawings of the present application are used to distinguish similar objects, and do not necessarily need to describe a specific order or sequence. It should be understood that such data can be interchanged under appropriate circumstances, so that the embodiments described herein can be implemented in an order different from that shown or described herein. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device that includes a series of steps or units does not necessarily have to be limited to those steps or units clearly listed, but may include other steps or units not clearly listed or inherent to these processes, methods, products or devices.
[0090] The embodiments of the present application provide a data transmission method for improving the efficiency and quality of data transmission in a routing network. The present application also provides corresponding devices, computer-readable storage media, computer program products, etc. The following will be described in detail respectively.
[0091] For ease of understanding, the following briefly introduces the technical terms related to the embodiments of the present application:
[0092] 1. Routing network: refers to a network that can forward data / messages. The routing network of the present application is mainly a transmission network with a centralized control + distributed routing forwarding mode, such as: real time network (RTN), content delivery network (CDN), etc.
[0093] 2. RTN: A low-latency and high-reliability network constructed mainly based on the idea of an overlay network, cooperating with various transmission protocols based on the user datagram protocol (UDP), such as: quick user datagram protocol internet connections (QUIC) and real-time transport protocol (RTP), etc., provides an underlying network guarantee for real-time services (such as: cloud games, real-time audio and video, etc.), ensuring the end-to-end experience of users globally.
[0094] 3. Overlay Network: Also known as a virtual network, it can be simply understood as establishing a logical network on top of a physical network. Without large-scale modification to the physical network's general framework, it can achieve the bearer of applications on the physical network, separate from other network services, and construct and expand the network for edge network devices through control protocols. It is the core networking technology used in software-defined wide area network (SD-WAN) and data center solutions.
[0095] 4. Transmission Control Protocol (TCP) is a connection-oriented (connection-oriented), reliable, and Internet Protocol (IP)-based transport layer protocol.
[0096] 5. QUIC: A low-latency Internet transport layer protocol based on UDP. It well addresses various requirements faced by the current transport layer and application layer, including handling more connections, security, and low latency.
[0097] 6. RTP: Provides end-to-end delivery services with real-time characteristics for data, such as interactive video, audio, or analog data under multicast or unicast network services.
[0098] The data transmission method provided by the embodiments of this application can be applied to a communication system. The structure of the communication system can be referred to Figure 1A for understanding. As Figure 1A shown, the communication system includes: an end-side node, an access network, a routing network, and a cloud system. The end-side node can access the routing network through the access network and then communicate with the cloud system through the routing network.
[0099] Figure 1A Although only the communication direction from the end-side node to the cloud system is drawn in . In fact, this communication direction can also be from the cloud system to the end-side node. At this time, the cloud system can also be understood as the server side, which is a type of end-side node. The server side can transmit data to the end-side node (client) through the routing network and then through the access network.
[0100] In this application, both the client or the server side can be an application (APP). Of course, it can also be a terminal device, a server, a virtual machine (VM), or a container installed with an application.
[0101] Figure 1AThe end-side node shown takes a terminal device as an example. This terminal device is also known as a user equipment (UE), mobile station (MS), mobile terminal (MT), etc. It is a device that includes wireless communication functions (providing voice / data connectivity to users). For example, it is a handheld device with wireless connection functions. Currently, some examples of terminal devices are: mobile phone, tablet computer, laptop computer, palmtop computer, laptop computer, wireless router, mobile internet device (MID), wearable device, virtual reality (VR) device, augmented reality (AR) device, wireless terminal in industrial control, wireless terminal in self-driving, wireless terminal in the internet of things (IoT) system, wireless terminal in vehicle networking, wireless terminal in remote medical surgery, wireless terminal in smart grid, wireless terminal in transportation safety, wireless terminal in smart city, or wireless terminal in smart home, etc.
[0102] When the end-side node is a server, the server can be a physical machine, VM, or container.
[0103] The access network can include wireless networks such as wireless fidelity (WiFi) networks and cellular networks.
[0104] Devices in a WiFi network can be access nodes in a WiFi system, such as: wireless routers, etc.
[0105] The cellular network can be a Long-Term Evolution (LTE) network, an LTE Frequency Division Duplex (FDD) network, an LTE Time Division Duplex (TDD), a Universal Mobile Telecommunication System (UMTS), a Worldwide Interoperability for Microwave Access (WiMAX) communication network, a 4th generation (4G) communication network, a 5th generation (5G) communication network, a New Generation (NR) communication network, and a 6th-generation (6G) mobile communication network, etc.
[0106] The wireless access device in a cellular network can be a device with wireless transceiver functions. The access network device can be a device that provides wireless communication function services and is usually located on the network side, including but not limited to: the next-generation base station (gNodeB, gNB) in the fifth-generation communication system, the next-generation base station in the sixth-generation (mobile communication system), the base station in the future mobile communication system, or the evolved node B (eNB) in the LTE system, the radio network controller (RNC), the node B (NB), the base station controller (BSC), the home base station (e.g., home evolved NodeB, or home Node B, HNB), the wireless access point, the base band unit (BBU), the transmission reception point (TRP), the transmitting point (TP), the base transceiver station (BTS), etc. In a network structure, the access network device can include a centralized unit (CU) node, or a distributed unit (DU) node, or a RAN device including a CU node and a DU node, or a RAN device with a control-plane CU node, a user-plane CU node, and a DU node. The access network device can be a macro base station, a micro base station or an indoor station, and can also be a relay node or a donor node, a device that provides wireless communication services for user equipment in a V2X communication system, a wireless controller in a cloud radio access network (CRAN) scenario, a relay station, a vehicle-mounted device, a wearable device, and network devices in a future evolved network, etc. The embodiments of the present application do not limit the specific technologies and specific device forms adopted by the access network device.
[0107] The routing network is a network for implementing packet forwarding and can include multiple routers or switches, or other devices that can perform routing forwarding.
[0108] The cloud system can include multiple servers or physical machines, and the cloud system can provide cloud services for users through resource virtualization. The cloud system can be a public cloud, a private cloud or a hybrid cloud.
[0109] The Figure 1A In the shown end-cloud scenario, multiple applications can be involved, such as: cloud camera scenario, game scenario, audio-video scenario, etc.
[0110] The embodiment of the present application also provides the structure of another communication system. As Figure 1B shown, the communication system includes: an end-side node 1, an access network 1, a routing network, an access network 2, and an end-side node 2. The end-side node 1 can access the routing network through the access network 1, and then communicate with the end-side node 2 through the routing network and the access network 2.
[0111] Figure 1B Although only the communication direction from the end-side node 1 to the end-side node 2 is shown in
[0112] . Actually, the communication direction can also be from the end-side node 2 to the end-side node 1. In addition, the communication system may further include a cloud system, and the end-side node 1 and the end-side node 2 can communicate with each other through the access network 1, the routing network, the cloud system, and the access network 2.
[0112] It should be noted that the access network 1 and the access network 2 can be the same access network or different access networks.
[0113] Regarding the end-side node 1 and the end-side node 2, which are shown as terminal devices in Figure 1B can be understood by referring to the introduction in Figure 1A part. Other aspects regarding the access network and the routing network can be understood by referring to the introduction in Figure 1A part.
[0114] The routing network in the above communication system can be an RTN. In the embodiment of the present application, the architecture of the routing network is introduced by taking the RTN as an example.
[0115] As Figure 2A shown, the RTN provided by the embodiment of the present application includes a controller ( Figure 2A the controller is a global controller in
[0116] Figure 2A and multiple points of presence (PoPs). Among them, the global controller can communicate with each PoP, and each PoP can be connected to at least one other PoP, so as to realize the transmission of packets in the RTN network. Figure 2A shows 5 PoPs, namely PoP A, PoP B, PoP C, PoP D, and PoP E. Among them, PoP A is respectively connected to PoP B, PoP C, and PoP D, and PoP B, PoP C, and PoP D are also respectively connected to PoP E. Although,
[0117] In the RTN, each ingress point can serve as the source ingress point for nearby end-side nodes to access the network. Then, the source ingress point can determine the transmission path of the message in the routing network based on the destination of the received message. Taking ingress point A as the source ingress point as an example, if the destination ingress point is determined to be ingress point E according to the information of the destination carried in the message, three transmission paths can be determined for this message, namely A→B→E, A→C→E, and A→D→E. The quality of service (QoS) of these three transmission paths may be different, and the source ingress point can select a transmission path with better QoS to transmit the message.
[0118] Among them, the QoS of the transmission path can be determined by the global controller collecting the link conditions of each PoP and then distributing the QoS to the PoP.
[0119] For the management of PoP by the global controller, reference can be made to Figure 2B for understanding. As Figure 2B shown, the global controller can include four modules: network management, routing calculation engine, network measurement, and network control.
[0120] The network management module is used to manage the PoP and obtain the connection relationship between PoPs from multiple PoPs (such as Figure 2B ① in it), and then determine the network topology composed of multiple PoPs, and then transfer the network topology composed of multiple PoPs to the routing calculation engine module (such as Figure 2B ② in it).
[0121] The network measurement module is used to collect the link performance index samples reported from the PoP (such as Figure 2B ④ in it), aggregate and denoise the samples, and then report the results of network measurement to the routing calculation engine module (such as Figure 2B ⑤ in it).
[0122] The path calculation engine module is used to calculate the optimal path set between different source PoPs and destination PoPs according to the traffic demand matrix and link quality, and then transfer the final path set to the network control module (such as Figure 2B ⑥ in it).
[0123] The network control module is used to apply damping control to the network routes in the optimal path set to avoid routing oscillations between the RTN and the underlying network, and after damping control, uniformly distribute them to the PoP (such as Figure 2B ⑦ in it).
[0124] The PoP includes a local controller and a data plane (compass) module. The local controller communicates with the compass module (as shown in ③ of Figure 2B ).
[0125] The local controller is used for information interaction with the global controller (as shown in ① of Figure 2B ), route reception (as shown in ⑦ of Figure 2B ), and collection and reporting of local measurement information (as shown in ④ of Figure 2B ).
[0126] The Compass module is usually deployed in a cluster mode for high-performance routing and forwarding of packets (as shown in ③ of Figure 2B ).
[0127] To improve the transmission efficiency and quality of data in the routing network, the data transmission method provided in the embodiments of this application performs end-network coordination. This end-network coordination refers to the coordination between the end-side nodes and the routing network (such as: RTN). This coordination process can transmit information through the access network.
[0128] The process of this end-network coordination can be referred to Figure 3 for understanding. As shown in Figure 3 , the end-side nodes include: an information negotiation module 1, a message identification (MID) creation module, and a multipath transmission module. The global controller in the RTN network includes an information negotiation module 2 and a routing calculation module. The source ingress point of the RTN network includes a packet parsing module, a routing table management module, and a multi-routing forwarding module.
[0129] Among them, the information negotiation module 1 in the end-side nodes can negotiate information with the information negotiation module 2 in the global controller. The process of information negotiation can be that the end-side nodes send the transmission requirements of the application to the global controller. This application can be the target application that triggers the transmission connection. This target application can be a game application, a conference application, or an instant messaging application, etc. The process of negotiation between the end-side nodes and the global controller can be to add a northbound interface for upper-layer applications on the global controller, such as a rest application programming interface (Rest API) or a remote procedure call protocol (RPC) interface, etc.
[0130] The edge node passes the transmission requirements of the application to the RTN by calling the interface provided by the global controller. The transmission requirements of the application may include application preferences and / or transmission levels. The application preferences are used to indicate the sensitive dimensions of the quality of service (QoS) for data transmission. The sensitive dimensions of the QoS include at least one of latency, throughput, or reliability, such as latency-sensitive, throughput-intensive, or highly reliable. The transmission level is used to indicate the service level agreement (SLA) level, such as low grade, middle grade, or high grade. Of course, the SLA level can also be indicated by a numerical value, such as 0, 1, 2, …, etc., which are used to indicate different SLA levels respectively. Taking the edge node calling the Rest API as an example, the calling method is as follows: POST / apps / preference+grade#get the preference and grade of all applications.
[0131] The process of the routing calculation module in the global controller calculating the optimal path set can refer to Figure 2B the process of the cooperation of several modules in the architecture for understanding. The difference is that Figure 3 the routing calculation module in
[0132] the global controller will also obtain the transmission requirements of the target application at the application layer transmitted by the information negotiation module 2. In this way, the information of the multiple transmission paths in the optimal path set finally determined by the global controller will be configured with the corresponding transmission requirements, such as at least one of latency, throughput, or reliability, and the SLA level.
[0133] The routing table management module in the source ingress point will update its own routing table according to the information of the transmission paths related to the source ingress point in the information of the multiple transmission paths.
[0134] The MID creation module in the edge node will generate an MID for the message generated by the target application, and use this MID to indicate the transmission requirements for the PoP to transmit the packet containing this message, such as using the MID to indicate the preferences and SLA level of the target application.
[0135] The multipath transmission module in the edge node can schedule the packet encapsulating the message and MID to a network interface (such as: WiFi or cellular network) for transmission to the source ingress point. Among them, the source ingress point can be determined according to the policy of accessing the routing network. For example, according to the policy of accessing the network nearby, an ingress point closer to the edge node can be selected as the source ingress point. The source ingress point can be a routing device or software running on the routing device.
[0136] After the source ingress point receives the packet, the packet parsing module will determine the MID by parsing the packet header, and then combine the forwarding routes maintained in the routing table management module to determine the forwarding route that matches the transmission requirement indicated by the MID, and forward the packet through this forwarding route.
[0137] When there are multiple forwarding routes that match the MID and there are also multiple packets containing the MID indicating the same transmission requirement, multiple forwarding routes can be polled for use, and multiple packets can be sent by polling.
[0138] Based on the above Figures 1A to 3 introduction, the data transmission method provided by the embodiments of the present application can be understood by referring to Figure 4 this.
[0139] For example Figure 4 as shown, an embodiment of the data transmission method provided by the embodiments of the present application includes:
[0140] 401. The edge node sends the transmission requirement of the target application at the application layer to the controller. Correspondingly, the controller receives the transmission requirement of the target application at the application layer from the edge node.
[0141] In the embodiments of the present application, the target application can be various applications that involve data transmission through the routing network as introduced above. When the target application in the edge node is started by the user, it can send the transmission requirement of the target application at the application layer to the controller. Regarding the transmission requirement of the target application at the application layer and the transmission method, it can be understood by referring to the relevant introduction in Figure 3 this part.
[0142] When the edge node runs the target application, various types of messages will be generated. For example, in a video conference scenario, video type messages, audio type messages, and some auxiliary stream type messages will be generated. The transmission requirements of these different types of messages at the application layer may not all be the same. The edge node will transmit the transmission requirements of various types of messages involved in the target application at the application layer to the controller. It can also be understood that: the transmission requirement of the target application at the application layer includes the transmission requirements of various types of messages at the application layer.
[0143] 402. The controller determines multiple transmission paths for the ingress point in the routing network according to the transmission requirements of the target application at the application layer.
[0144] Optionally, step 402 may be that the controller determines multiple transmission paths according to the transmission requirements of the target application at the application layer, the topology of the routing network, and the link quality reported by the ingress point in the routing network. The specific process can be referred to Figure 2B and Figure 3 the introduction in the relevant part for understanding.
[0145] 403. The controller sends the information of multiple transmission paths to the source ingress point. Correspondingly, the source ingress point receives the information of multiple transmission paths.
[0146] 404. The source ingress point updates the routing table according to the information of multiple transmission paths.
[0147] This step 404 can be referred to Figure 3 the introduction in the relevant part of the routing table management module for understanding.
[0148] 405. The end-side node determines a first message identifier MID for the first type of message and a second MID for the second type of message in the same transmission connection.
[0149] Wherein, the message is a transmission unit of application data, and the message can be a data frame or a data object. The first MID is used to indicate the transmission requirements of the first type of message at the application layer, and the second MID is used to indicate the transmission requirements of the second type of message at the application layer.
[0150] In this application, the same transmission connection refers to the same connection in the transport layer, a transmission connection described by a set of source address, destination address, and transport protocol. For example: it can be the same TCP connection, the same QUIC, or the same RTP connection.
[0151] In this application, the message is a transmission unit of application data, and the message can be a data frame or a data object.
[0152] In this application, the first type or the second type can be the type of file, the type of data object, or the type of data frame, etc. Taking the data frame as an example, the first type can be the video type, the message of the first type can be a video frame, and the second type can be the audio type. The message of the second type can be an audio frame. Of course, other types of messages can also be included in the same transmission connection, not limited to the two types mentioned in this application.
[0153] In the embodiments of the present application, the MIDs in different types of messages are different, and the MIDs in the same type of messages can be the same or different. For example, all messages of the first type are uniformly identified by 1, and all messages of the second type are uniformly identified by 2. It can also be that, regardless of the type of message, different MIDs are created. For the structure of the created MID, reference can be made to Figure 5 for understanding. As Figure 5 shown, the MID can be a 64-bit number, which includes a prefix, an application preference, and a grade. Among them, the prefix can be generated by the token information exchanged between the end-side node and the server (or the other end-side node); the preference represents the application preference (such as latency-sensitive, throughput-intensive, and high-reliability, etc.); the grade represents the application grade (such as high, medium, low, etc.), and each grade indicates a different SLA range. For example, the SLA range of the high grade of the latency-sensitive type is within 100 ms. Among them, 4-bit preference can carry 16 kinds of application preferences, and 2-bit grade can indicate 4 kinds of application grades. The present application does not limit the structure of the MID, and the number of bytes of each part in the MID can also be extended as needed.
[0154] 406. The end-side node sends a first message and a second message to the source ingress point of the routing network. Correspondingly, the source ingress point receives the first message and the second message.
[0155] Among them, the first message includes a message of the first type and a first MID. The first MID is used for the source ingress point to determine a first forwarding route for the first message, and the first forwarding route corresponds to the transmission requirement indicated by the first MID. The second message includes a message of the second type and a second MID. The second MID is used for the source ingress point to determine a second forwarding route for the second message, and the second forwarding route corresponds to the transmission requirement indicated by the second MID.
[0156] After the target application running on the end-side node generates a message and creates an MID, it can enter the protocol stack. In the protocol stack, the message and the MID can be encapsulated into a message, and the MID can be encapsulated in the message header. Then, the end-side node can send the first message and the second message to the source ingress point through the access network. It should be noted that the first message and the second message in the present application are sent successively in the order of message generation. For the selection of the source ingress point, reference can be made to the previous introduction for understanding, and it will not be repeated here.
[0157] 407. The source ingress point determines a first forwarding route for the first message according to the first MID, and determines a second forwarding route for the second message according to the second MID.
[0158] Among them, the first forwarding route corresponds to the transmission requirement indicated by the first MID, and the second forwarding route corresponds to the transmission requirement indicated by the second MID; the first message is forwarded according to the first forwarding route, and the second message is forwarded according to the second forwarding route.
[0159] It should be noted that both the first message and the second message carry information about the destination end. The source ingress point can determine the information about the destination PoP in the routing network based on the information about the destination end. The destination PoP can be the PoP that is the closest or relatively close (within a certain range of distance) to the destination end.
[0160] After parsing the first MID from the first message, the source ingress point can determine the preference and grade in the first MID, and then can search the routing table based on the information about the destination PoP, as well as the preference and grade in the first MID, so as to determine the first forwarding route for the first message.
[0161] The source PoP can obtain the MID through the tag-length-value (TLV) encoding format, such as: MID = rtn_tlv_get(data, len, type).
[0162] The structure of the routing table provided by the embodiments of the present application can be understood with reference to Table 1. As shown in Table 1, Table 1 shows the routing table where the source PoP is A and the destination PoP is E, and what is shown in Table 1 can be a part of the content in the routing table maintained by the source PoP.
[0163] Table 1: Routing Table
[0164]
[0165] It can be seen from Table 1 that among the forwarding routes from A to E, there are two forwarding routes that meet the requirements of latency sensitivity and high grade, which are A→B→E and A→E respectively; there are two forwarding routes that meet the requirements of latency sensitivity and medium grade, which are A→C→E and A→D→E respectively; there are two forwarding routes that meet the requirements of reliability and high grade, which are A→E and A→C→E respectively; there are two forwarding routes that meet the requirements of reliability and medium grade, which are A→B→E and A→D→E respectively.
[0166] When the preference indicated by the first MID in the first message is preference for reliability and the level is high level, it can be determined that there are two first forwarding routes that can be used to forward the first message, namely A→E and A→C→E. Then, one of the forwarding routes can be selected as the first forwarding route to send the first message. If there are multiple first messages indicating the same application preference and level, the polling method can be adopted, first using A→E and then using A→C→E to poll and send multiple first messages. Alternatively, the source ingress point also receives a third message, the third message includes a third MID, and the transmission requirement indicated by the third MID is the same as the transmission requirement indicated by the first MID; when there are multiple first forwarding routes, the first message and the third message are polled and sent through the multiple first forwarding routes. For example, the first message is sent using A→E, and the third message is sent using A→C→E.
[0167] When the preference indicated by the second MID in the second message is delay sensitivity and the level is medium level, it can be determined that there are two second forwarding routes that can be used to forward the second message, namely A→C→E and A→D→E. Then, one of the forwarding routes can be selected as the second forwarding route to send the second message. If there are multiple second messages indicating the same application preference and level, the polling method can be adopted, first using A→C→E and then using A→D→E to poll and send multiple second messages.
[0168] For different messages with the same transmission requirement, when there are multiple forwarding routes that match the transmission requirement, different forwarding routes can be used to poll and send different messages. In this way, the probability of transmission congestion can be reduced.
[0169] 408. The source ingress point forwards the first message according to the first forwarding route and forwards the second message according to the second forwarding route.
[0170] In the embodiment of the present application, the end-side node and the source ingress point in the routing network achieve the transmission coordination of different types of messages in the same transmission connection through the MID. In this way, the source ingress point in the routing network can, by identifying the MID, match different forwarding routes that meet the transmission requirements of the messages for different messages, so as to achieve the transmission of different types of messages in the same transmission connection using different transmission paths, increasing the transmission bandwidth of the data in the routing network for this transmission connection, providing differentiated transmission for messages with different transmission requirements, and improving the transmission efficiency and quality of the data in the routing network.
[0171] Optionally, before sending the first message and the second message, the above-mentioned edge node may further: determine a first scheduling path for messages of the first type according to the first MID, where the first scheduling path is used to transmit the first message to the source ingress point; determine a second scheduling path for messages of the second type according to the second MID; where the second scheduling path is used to transmit the second message to the source ingress point.
[0172] In this way, step 408 may be: based on the first scheduling path and the second scheduling path, send the first message and the second message to the source ingress point, and the first scheduling path and the second scheduling path are different transmission paths in the access network.
[0173] The scheduling path in the embodiments of the present application refers to the transmission path of the access network from the edge node to the source ingress point. The scheduling path may include a transmission path of wireless fidelity (WiFi) or a transmission path of a cellular network. For example: the first scheduling path may be a transmission path of WiFi, and the second scheduling path may be a transmission path of a cellular network; of course, it may also be that the first scheduling path is a transmission path of a cellular network, and the second scheduling path is a transmission path of WiFi. In this way, the edge node can transmit the first message and the second message to the source ingress point through multiple paths, increasing the transmission bandwidth of the data in the transmission connection in the wireless network and improving the transmission efficiency and quality of the message in the wireless network.
[0174] Optionally, the above-mentioned edge node may further: split the message of the first type into a first sub-message and a second sub-message; where the first sub-message is associated with the first MID and a first sub-message ID (SMID), and the second sub-message is associated with the first MID and a second SMID, and the first SMID and the second SMID are different. Correspondingly, the source ingress point uses different first forwarding routes to send the first message containing the first SMID and the first message containing the second SMID.
[0175] In the embodiments of the present application, the SMID is used to identify the sub-message after splitting a message. For the relationship between the MID and the SMID, reference can be made to Figure 6 for understanding. As Figure 6 shown, 4 bits can be extended after the MID to be used as the bit positions of the SMID. The edge node can send the first message containing different sub-messages to the source ingress point through different scheduling paths. After parsing the SMID from the first message, the source ingress point will use different first forwarding routes to send the first message containing different SMIDs. For example: use A→E in Table 1 above to send the first message containing the first SMID, and use A→C→E in Table 1 above to send the first message containing the second SMID.
[0176] The following introduces two scenarios in which the data transmission method of the embodiments of the present application is applied in combination with the accompanying drawings.
[0177] As Figure 7A shown, the application scenario is a web access scenario. As Figure 7A shown, in the web access scenario, when a user browses a web page through a web browser on the client side, the web browser usually needs to request various different types of page objects from the server side. For example, it includes hyper text markup language (HTML), cascading style sheets (CSS), (JavaScript, JS) scripts, as well as pictures and videos, etc. Each page object is transmitted at the message granularity.
[0178] In order to reduce the white screen time of the first screen, the client needs to first download HTML / CSS, etc. to display the page template, and then download JS scripts and other files to cooperate to complete data acquisition and rendering. All page objects in this scenario will be transmitted through the same transmission connection (source internet protocol (IP), source port, destination IP, destination port, transport layer protocol).
[0179] This Figure 7A shown scenario will perform end-network negotiation through the solution introduced in the previous embodiments. The ingress point of the RTN will maintain a routing table such as Table 1 shown above during the page download process. As Figure 7A shown, the page objects requested by the web browser are downloaded to the local from the server side through the end-network cooperation method. The server marks the requested HTML and CSS files as high-priority for time-sensitive, and the high priority here is equal to the high SLA level, where the SLA is a delay less than 100 ms. Mark other JS scripts, pictures, videos, etc. as high-priority for bandwidth-intensive, and the SLA is a bandwidth greater than 30 Mbps. Each page object carries the above application's transmission requirements through the MID. The RTN currently has two paths. As Figure 7A shown in the table, where the delay of path1 is 90 ms and the bandwidth is 10 Mbps, which is delay preference and high priority, and the delay of path2 is 140 ms and the bandwidth is 35 Mbps, which is bandwidth preference and high priority.
[0180] During the download process, the server will carry different MIDs in different objects. The transport layer of the protocol stack sends these messages to the RTN - software development kit (SDK) through the same connection, and then encapsulates the MID in the RTN protocol header in the RTN-SDK. The structure of the encapsulated packet header can be referred toFigure 7B Understand. Among them, it may include: IP header, UDP header, RTN header (including MID), and payload, and the payload part carries a message.
[0181] After receiving the packet, the RTN source PoP parses the application preference and level in the RTN protocol header and uses the destination PoP to look up the routing table. Specifically, the RTN source PoP will select path1 with a high priority for delay preference for packets belonging to HTML and CSS, and select path2 for packets belonging to JS scripts, pictures, and videos. In this way, different messages belonging to the same transport layer connection make full use of the multi-routing forwarding ability in RTN and select paths that meet the application requirements. For example: when transmitting a 500KB HTML and CSS file, a 4.5MB JS script, audio, and video, web performance metrics such as first contentful paint (FCP) can be reduced by about 67%, and the time to interactive (TTI) can be reduced by about 56%.
[0182] Such as Figure 8 The application scenario shown is a real-time audio and video transmission scenario. During the communication process of this scenario, different data sources (such as cameras, microphones, etc.) usually send multiple types of data streams to the receiving end, including audio, video, secondary streams, etc. Here, taking video stream transmission as an example, usually the video stream is in units of frames (I, P frames), and one video frame corresponds to one message. Low-latency transmission of frames is a basic service requirement, and an increase in latency seriously affects the user experience. Therefore, the application requirement of the video frame (taking the I frame as an example) is set to a high priority for delay preference, and the corresponding MID is generated and carried in the video frame.
[0183] To reduce the transmission time of video frames, the sending end can split a video frame into different sub-messages and transmit them through multiple paths at the transport layer of the protocol stack, such as Figure 8As shown in the figure. Through multi-path scheduling decisions (such as based on the actual bandwidth of 5G and WiFi), an I-frame is split into sub-message1 and sub-message2 in a suitable proportion, and corresponding SMID1 and SMID2 are generated for the MID corresponding to this video frame. In the RTN-SDK, MID, SMID1, and SMID2 are encapsulated in the RTN protocol header of the corresponding message. The sending end sends sub-message1 and sub-message2 to the source PoP through 5G and WiFi connections respectively. After receiving the message of sub-message1, the RTN source PoP parses the application preferences and levels in the RTN protocol header, uses the destination PoP to look up the routing table, and selects path1 for sending; similarly, the source PoP selects path2 for sending the received message of sub-message2. Since both path1 and path2 can transmit the message to the receiving end within 100 ms and can make full use of the bandwidth of two non-intersecting network paths, the transmission delay can be reduced when the size of the I-frame is fixed.
[0184] The method for data transmission provided by the embodiments of the present application is introduced above. Next, in combination with the attached Figure 9 The computer device in the embodiments of the present application is introduced. The computer device 90 includes a processing unit 901 and a transceiver unit 902. When the computer device is an end-side node:
[0185] The processing unit 901 is configured to determine a first message identifier MID for a first type of message in the same transmission connection, and determine a second MID for a second type of message; wherein, the message is a transmission unit of application data, the first MID is used to indicate the transmission requirements of the first type of message in the application layer in the target application, the second MID is used to indicate the transmission requirements of the second type of message in the application layer, the first type is different from the second type, and the first MID is different from the second MID.
[0186] The transceiver unit 902 is configured to send a first message and a second message to the source ingress point of the routing network; wherein, the first message includes a first type of message and the first MID, and the first MID is used for the source ingress point to determine a first forwarding route for the first message, and the first forwarding route corresponds to the transmission requirements indicated by the first MID; the second message includes a second type of message and the second MID, and the second MID is used for the source ingress point to determine a second forwarding route for the second message, and the second forwarding route corresponds to the transmission requirements indicated by the second MID.
[0187] Optionally, the transceiver unit 902 is configured to send the first message and the second message to the source ingress point based on a first scheduling path and a second scheduling path, and the first scheduling path and the second scheduling path are different transmission paths in the access network.
[0188] Optionally, the transceiver unit 902 is further configured to send the transmission requirements of the target application at the application layer to the controller of the routing network before determining the first message identifier MID for the first type of message and the second MID for the second type of message in the same transmission connection, where the target application is the application associated with the transmission connection, and the transmission requirements of the target application at the application layer include the transmission requirements of the first type of message at the application layer and the transmission requirements of the second type of message at the application layer; wherein, the transmission requirements of the target application at the application layer are used by the controller to determine multiple transmission paths for the ingress point in the routing network to update the routing table of the ingress point, the ingress points of the routing network include the source ingress point, and the information of the multiple transmission paths includes the first forwarding route and the second forwarding route.
[0189] Optionally, the processing unit 901 is further configured to split the first type of message into a first sub-message and a second sub-message; wherein, the first sub-message is associated with the first MID and the first SMID, the second sub-message is associated with the first MID and the second SMID, and the first SMID and the second SMID are different; the first SMID and the second SMID are used to instruct the source ingress point to forward the first sub-message and the second sub-message using different first forwarding routes.
[0190] Optionally, the transceiver unit 902 is further configured to transmit a first packet containing the first sub-message and a first packet containing the second sub-message to the source ingress point using different scheduling paths in the access network.
[0191] The computer device may be the source ingress point of the above routing network. In this case, the computer device includes:
[0192] The transceiver unit 902 is configured to receive a first packet and a second packet; wherein, the first packet and the second packet come from the same transmission connection, the first packet contains the first type of message and the first message identifier MID, the second packet contains the second type of message and the second MID; the message is a transmission unit of application data, the first MID is used to indicate the transmission requirements of the first type of message in the target application at the application layer, the second MID is used to indicate the transmission requirements of the second type of message in the target application at the application layer, the first type is different from the second type, and the first MID is different from the second MID.
[0193] The processing unit 901 is configured to determine a first forwarding route for the first packet according to the first MID and a second forwarding route for the second packet according to the second MID; wherein, the first forwarding route corresponds to the transmission requirements indicated by the first MID, and the second forwarding route corresponds to the transmission requirements indicated by the second MID.
[0194] The transceiver unit 902 is further configured to forward the first packet according to the first forwarding route and forward the second packet according to the second forwarding route.
[0195] Optionally, the transceiver unit 902 is specifically configured to, when there are multiple first messages including the first MID, where one first message further includes a first SMID and another first message further includes a second SMID, and the first SMID and the second SMID are different; when the first SMID or the second SMID is used to indicate that the first type of message included in the first message is a sub-message, use different first forwarding routes to send the first message including the first SMID and the first message including the second SMID.
[0196] Optionally, the transceiver unit 902 is further configured to receive a third message, where the third message includes a third MID, and the transmission requirement of the message indicated by the third MID at the application layer is the same as the transmission requirement of the first type of message indicated by the first MID at the application layer; when there are multiple first forwarding routes, poll to send the first message and the third message through the multiple first forwarding routes.
[0197] Optionally, the transceiver unit 902 is further configured to, before receiving the first message and the second message, receive information on multiple transmission paths sent by a controller of the routing network, where the multiple transmission paths are determined by the controller according to the transmission requirements of the target application at the application layer, the target application is the application associated with the transmission connection, and the transmission requirements of the target application at the application layer include the transmission requirements of the first type of message at the application layer and the transmission requirements of the second type of message at the application layer, and the information on the multiple transmission paths includes a first forwarding route and a second forwarding route.
[0198] The processing unit 901 is further configured to update the routing table according to the information on the multiple transmission paths.
[0199] The computer device may also be a controller of the routing network. In this case, the computer device includes:
[0200] The transceiver unit 902 is configured to receive the transmission requirements of the target application at the application layer, where the transmission requirements of the target application at the application layer include the transmission requirements of the first type of message at the application layer and the transmission requirements of the second type of message at the application layer.
[0201] The processing unit 901 is configured to determine multiple transmission paths for an ingress point in the routing network according to the transmission requirements of the target application at the application layer, so as to update the routing table of the ingress point.
[0202] Optionally, the processing unit 901 is specifically configured to determine multiple transmission paths according to the transmission requirements of the target application at the application layer, the topological structure of the routing network, and the link quality reported by the ingress point in the routing network.
[0203] Optionally, the transceiver unit 902 is further configured to, when receiving the transmission requirement of the target application at the application layer, receive the information of the source ingress point for forwarding the data of the target application and the information of the destination end for receiving the data of the target application; correspondingly, the multiple transmission paths are different transmission paths from the source ingress point to the destination end.
[0204] Optionally, the transmission requirement of the target application at the application layer includes application preference and / or transmission level. The application preference is used to indicate the sensitive dimension of the quality of service during data transmission, and the transmission level is used to indicate the service level agreement (SLA) level. The sensitive dimension of the quality of service includes at least one of delay, throughput, or reliability.
[0205] In addition, for the computer device provided in the embodiment of the present application, when it is a global controller or an ingress point, the structure of the computer device can be understood by referring to Figure 10 the computer device shown in Figure 10 As shown, the computer device 100 provided in the embodiment of the present application includes: a processor 1001, a communication interface 1002, a memory 1003, and a bus 1004. The processor 1001, the communication interface 1002, and the memory 1003 are interconnected through the bus 1004. In the embodiment of the present application, the processor 1001 is used to control and manage the actions of the computer device 100. For example, the processor 1001 is used to determine multiple transmission paths or update the routing table and other steps. The communication interface 1002 is used to support the computer device 100 to communicate. For example, the communication interface 1002 can execute steps such as receiving the transmission requirement of the application or receiving or forwarding the message. The memory 1003 is used to store the program code and data of the computer device 100.
[0206] Wherein, the processor 1001 can be a central processing unit, a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field-programmable gate array, or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute various exemplary logic blocks, modules, and circuits described in combination with the disclosure of the present application. The processor can also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a digital signal processor and a microprocessor, and so on. The bus 1004 can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For the sake of representation, Figure 10 only a thick line is used to represent it in the figure, but it does not mean that there is only one bus or one type of bus.
[0207] When the computer device provided in the embodiment of the present application is an edge-side node and the edge-side node is a terminal device, the structure of the edge-side node can be referred to Figure 11 for understanding. As Figure 11 shown, the edge-side node includes a processor, a memory, and a transceiver. The memory can store computer program codes. The transceiver includes a transmitter 1131, a receiver 1132, a radio frequency circuit (not shown in the figure), an antenna 1133, and an input / output device (not shown in the figure). The processor is mainly used to process communication protocols and communication data, control the edge-side node, execute software programs, process data of software programs, etc. The memory is mainly used to store software programs and data. The radio frequency circuit is mainly used for the conversion between baseband signals and radio frequency signals and the processing of radio frequency signals. The antenna is mainly used to transmit and receive radio frequency signals in the form of electromagnetic waves. The input / output device, such as a touch screen, a display screen, a keyboard, etc., is mainly used to receive data input by users and output data to users. It should be noted that some types of edge-side nodes may not have an input / output device.
[0208] When data needs to be sent, after the processor performs baseband processing on the data to be sent, it outputs a baseband signal to the radio frequency circuit. The radio frequency circuit performs radio frequency processing on the baseband signal and then sends the radio frequency signal outwards in the form of electromagnetic waves through the antenna. When data is sent to the edge-side node, the radio frequency circuit receives the radio frequency signal through the antenna, converts the radio frequency signal into a baseband signal, and outputs the baseband signal to the processor. The processor converts the baseband signal into data and processes the data. For the convenience of description, Figure 11 only one memory, processor, and transceiver are shown in
[0209] In the embodiment of the present application, the antenna and the radio frequency circuit with transceiver functions can be regarded as the transceiver unit of the edge-side node, and the processor with processing functions can be regarded as the processing unit of the edge-side node.
[0210] As Figure 11 shown, the edge-side node includes a processor 1110, a memory 1120, and a transceiver 1130. The processor 1110 can also be called a processing unit, a processing board, a processing module, a processing device, etc. The transceiver 1130 can also be called a transceiver unit, a transceiver, a transceiver device, etc.
[0211] Optionally, the devices in the transceiver 1130 for implementing the receiving function can be regarded as a receiving unit, and the devices in the transceiver 1130 for implementing the transmitting function can be regarded as a transmitting unit, that is, the transceiver 1130 includes a receiver and a transmitter. The transceiver can sometimes also be referred to as a transceiver unit, a transceiver circuit, etc. The receiver can sometimes also be referred to as a receiver unit, a receiving circuit, etc. The transmitter can sometimes also be referred to as a transmitter unit, a transmitting circuit, etc.
[0212] For example, in one implementation, the processor 1110 is used to execute Figure 4 the processing actions of the end-side node in the illustrated embodiment, and the transceiver 1130 is used to execute Figure 4 the transceiver actions of the end-side node in the illustrated embodiment. For example, the transceiver 1130 is used to execute Figure 4 the transceiver operations of step 401 and step 406 in the illustrated embodiment. The processor 1110 is used to execute Figure 4 the processing operation of step 405 in the illustrated embodiment.
[0213] It should be understood that Figure 11 only as an example rather than a limitation, the above end-side node including a transceiver unit and a processing unit may not depend on Figure 11 the illustrated structure.
[0214] When the communication device 1100 is a chip, the chip includes a processor, a memory, and a transceiver. Among them, the transceiver can be an input / output circuit or a communication interface; the processor can be a processing unit integrated on the chip, a microprocessor, or an integrated circuit. The sending operation of the end-side node in the above method embodiment can be understood as the output of the chip, and the receiving operation of the end-side node in the above method embodiment can be understood as the input of the chip.
[0215] In another embodiment of the present application, a computer-readable storage medium is further provided. Computer-executable instructions are stored in the computer-readable storage medium. When the processor of the computer device executes the computer-executable instructions, the computer device executes the above Figures 4 to 8 steps performed by the end-side node, the controller, or the source ingress point.
[0216] In another embodiment of the present application, a computer program product is further provided. The computer program product includes computer program code. When the computer program code is executed on a computer, the computer device executes the above Figures 4 to 8 steps performed by the end-side node, the controller, or the source ingress point.
[0217] In another embodiment of the present application, a chip system is further provided. The chip system includes one or more interface circuits and one or more processors; the interface circuits and the processors are interconnected by lines; the interface circuits are configured to receive signals from the memory of a computer device and send the signals to the processors, and the signals include computer instructions stored in the memory; when the processors execute the computer instructions, the computer device performs the steps performed by the foregoing mid-end side node, controller, or source ingress point. Figures 4 to 8 Steps performed by the mid-end side node, controller, or source ingress point.
[0218] In a possible design, the chip system may further include a memory for storing necessary program instructions and data of the source device or source end. The chip system may be composed of chips or may include chips and other discrete devices.
[0219] In several embodiments provided by the present application, it should be understood that the disclosed systems, devices, and methods may be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of units is only a logical function division, and there may be other division methods in actual implementation. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections to each other may be through some interfaces, and the indirect couplings or communication connections of devices or units may be in electrical, mechanical, or other forms.
[0220] 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 may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0221] In addition, the functional units in each embodiment of the present application may be integrated in a processing unit, or each unit may exist physically alone, or two or more units may be integrated in one unit. The above-mentioned integrated units may be implemented in whole or in part through software, hardware, firmware, or any combination thereof.
[0222] When the integrated unit is implemented using software, it can be implemented in the form of a computer program product, wholly or partly. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions described in the embodiments of this application are wholly or partly generated. 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. For example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by wire (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wirelessly (such as infrared, wireless, microwave, etc.). The computer-readable storage medium may be any available medium accessible by a computer or a data storage device such as a server or data center that includes one or more integrated available media. The available medium may be a magnetic medium (such as a floppy disk, hard disk, magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid state disk (SSD)), etc.
Claims
1. A method for data transmission, characterized in that, The method is applied to an edge node, and the method includes: Determine a first message identifier MID for messages of a first type in the same transmission connection, and determine a second MID for messages of a second type; wherein, the messages are transmission units of application data, the first MID is used to indicate the transmission requirements of the messages of the first type in the application layer in the target application, the second MID is used to indicate the transmission requirements of the messages of the second type in the application layer in the target application, the first type is different from the second type, and the first MID is different from the second MID; Send a first packet and a second packet to the source ingress point of the routing network; wherein, the first packet contains the messages of the first type and the first MID, and the first MID is used for the source ingress point to determine a first forwarding route for the first packet, and the first forwarding route corresponds to the transmission requirements indicated by the first MID; the second packet contains the messages of the second type and the second MID, and the second MID is used for the source ingress point to determine a second forwarding route for the second packet, and the second forwarding route corresponds to the transmission requirements indicated by the second MID.
2. The method according to claim 1, characterized in that, The sending the first packet and the second packet to the source ingress point of the routing network includes: Send the first packet and the second packet to the source ingress point based on a first scheduling path and a second scheduling path, where the first scheduling path and the second scheduling path are different transmission paths in the access network.
3. The method according to claim 1 or 2, characterized in that, Before determining a first message identifier MID for messages of a first type in the same transmission connection and determining a second MID for messages of a second type, the method further includes: Send the transmission requirements of the target application in the application layer to the controller of the routing network, where the target application is the application associated with the transmission connection, and the transmission requirements of the target application in the application layer include the transmission requirements of the messages of the first type in the application layer and the transmission requirements of the messages of the second type in the application layer; wherein, the transmission requirements of the target application in the application layer are used for the controller to determine multiple transmission paths for the ingress points in the routing network to update the routing table of the ingress points, the ingress points of the routing network include the source ingress point, and the information of the multiple transmission paths includes the first forwarding route and the second forwarding route.
4. The method according to any one of claims 1 to 3, characterized in that, The method further includes: Split the messages of the first type into a first sub-message and a second sub-message; wherein, the first sub-message is associated with the first MID and a first sub-message identifier SMID, and the second sub-message is associated with the first MID and a second SMID; the first SMID and the second SMID are different, and the first SMID and the second SMID are used to indicate that the source ingress point uses different first forwarding routes to forward the first sub-message and the second sub-message.
5. The method according to claim 4, wherein The method further includes: Use different scheduling paths in the access network to transmit a first packet containing the first sub-message and a first packet containing the second sub-message to the source ingress point.
6. A method for data transmission, characterized in that, The method includes: Receive a first message and a second message; wherein, the first message and the second message come from the same transmission connection, the first message includes a message of a first type and a first message identifier MID, and the second message includes a message of a second type and a second MID; the message is a transmission unit of application data, the first MID is used to indicate the transmission requirement of the message of the first type in the application layer of the target application, the second MID is used to indicate the transmission requirement of the message of the second type in the application layer of the target application, the first type is different from the second type, and the first MID is different from the second MID; Determine a first forwarding route for the first message according to the first MID, and determine a second forwarding route for the second message according to the second MID; wherein, the first forwarding route corresponds to the transmission requirement indicated by the first MID, and the second forwarding route corresponds to the transmission requirement indicated by the second MID; Forward the first message according to the first forwarding route and forward the second message according to the second forwarding route.
7. The method according to claim 6, characterized in that, When there are multiple first messages including the first MID, wherein, one first message further includes a first SMID, and another first message further includes a second SMID, the first SMID or the second SMID is used to indicate that the message of the first type included in the first message is a sub-message, and the first SMID is different from the second SMID; The forwarding the first message according to the first forwarding route includes: Send the first message including the first SMID and the first message including the second SMID using different first forwarding routes.
8. The method according to claim 6, characterized in that, The method further includes: Receive a third message, the third message includes a third MID, and the transmission requirement of the message indicated by the third MID in the application layer is the same as the transmission requirement of the message of the first type indicated by the first MID in the application layer; When there are multiple first forwarding routes, send the first message and the third message by polling through the multiple first forwarding routes.
9. The method according to any one of claims 6-8, characterized in that, Before receiving the first message and the second message, the method further includes: Receive information on multiple transmission paths sent by a controller of the routing network, the multiple transmission paths are determined by the controller according to the transmission requirements of the target application in the application layer, the target application is the application associated with the transmission connection, and the transmission requirements of the target application in the application layer include the transmission requirements of the message of the first type in the application layer and the transmission requirements of the message of the second type in the application layer, and the information on the multiple transmission paths includes the first forwarding route and the second forwarding route; Update the routing table according to the information on the multiple transmission paths.
10. A method for data transmission, characterized in that, The method includes: Receive the transmission requirements of the target application in the application layer, and the transmission requirements of the target application in the application layer include the transmission requirements of the message of the first type in the application layer and the transmission requirements of the message of the second type in the application layer; Determine multiple transmission paths for an ingress point in the routing network according to the transmission requirements of the target application at the application layer, so as to update the routing table of the ingress point.
11. The method according to claim 10, characterized in that, The determining multiple transmission paths for an ingress point in the routing network according to the transmission requirements of the target application at the application layer to update the routing table of the ingress point includes: Determine the multiple transmission paths according to the transmission requirements of the target application at the application layer, the topology of the routing network, and the link quality reported by the ingress points in the routing network.
12. The method according to claim 11, wherein When receiving the transmission requirements of the target application at the application layer, the method further includes: Receive information of a source ingress point for forwarding data of the target application and information of a destination end for receiving data of the target application; correspondingly, the multiple transmission paths are different transmission paths from the source ingress point to the destination end.
13. The method according to any one of claims 10 to 12, characterized in that The transmission requirements of the target application at the application layer include application preferences and / or a transmission level. The application preferences are used to indicate sensitive dimensions of the quality of service during data transmission, and the transmission level is used to indicate the service level agreement (SLA) level. The sensitive dimensions of the quality of service include at least one of latency, throughput, or reliability.
14. A computer device, comprising: A transceiver unit and a processing unit; wherein, the transceiver unit is used to execute the steps related to sending or receiving in any one of claims 1-5, 6-9, 10-13 above, and the processing unit is used to execute the steps other than sending and receiving in any one of claims 1-5, 6-9, 10-13 above.
15. A computer device, characterized in that, Comprising: A communication interface, a processor, and a memory. The communication interface and the processor are coupled to the memory. The memory is used to store programs or instructions. When the programs or instructions are executed by the processor, the computer device is caused to execute the method according to any one of claims 1-5, 6-9, 10-13.
16. A communication system, characterized in that, Comprising: An end-side node and a routing network. The routing network includes a source ingress point and a controller; wherein, the end-side node is used to execute the method according to any one of claims 1-5 above; The source ingress point is used to execute the method according to any one of claims 6-9 above; the controller is used to execute the method according to any one of claims 10-13 above.
17. A computer-readable storage medium, characterized in that, Instructions are stored in the computer-readable storage medium. When the instructions run on a computer device, the computer device is caused to execute the method according to any one of claims 1-5, 6-9, 10-13.
18. A computer program product, characterized in that, The computer program product includes computer program code. When the computer program code runs on a computer device, the computer device is caused to execute the method according to any one of claims 1-5, 6-9, 10-13.