Data transmission method, communication device, storage medium, and computer program
The data transmission method in RTC systems optimizes routing by using protocol headers to indicate paths, supporting various data types and reducing latency and complexity in route switching, thus enhancing reliability and user experience.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- ZTE CORP
- Filing Date
- 2024-03-19
- Publication Date
- 2026-06-04
AI Technical Summary
Existing Real-Time Communication (RTC) systems in audio-video applications face challenges in data transmission, particularly in supporting a wide range of data types beyond voice and video, and require complex route switching processes that increase latency and reduce reliability.
A data transmission method that determines a first transmission path between nodes, generates a packet with a protocol header indicating this path, and transmits the packet without decapsulating it, allowing intermediate nodes to obtain routing information efficiently and support various data types.
This method reduces latency and improves reliability by enabling efficient routing and compatibility with diverse data types, enhancing user experience through seamless route switching without the need for complex decapsulation processes.
Smart Images

Figure 2026518286000001_ABST
Abstract
Description
Technical Field
[0004]
[0001] (Cross - reference to related applications) This application claims priority based on a Chinese patent application with application number 202310622275.8 filed on May 29, 2023 as the basic application, and all of its disclosure content is incorporated herein by reference.
[0002] This disclosure relates to the field of audio - video communication technology, and particularly to a data transmission method, a communication device , written memory medium and computer programs related thereto.
Background Art
[0003] With the popularization of mobile Internet and the commercialization of the 5th - generation mobile communication system (5G), users' demands for low - latency and high - reliability audio - video applications are increasing. Currently, Real - Time Communication (RTC) has, due to long - term technological accumulation in the video service field, quickly provided the industry with high - simultaneous - connection, low - latency, high - definition, smooth, safe, and highly reliable, full - scene, full - duplex, fully real - time audio - video services, which are applicable to various application scenarios such as online education, cloud conferencing, and social entertainment.
Summary of the Invention
Means for Solving the Problems
[0004] In one aspect, an embodiment of this disclosure provides a data transmission method performed on a first node. Therefore, The data transmission method includes a step of determining a first transmission path between a first node and a second node, where the first node is the source node of a first packet and the second node is the destination node of the first packet, and A step of generating a second packet according to a first packet and a first transmission path, wherein the second packet includes the first packet and a protocol header for indicating the first transmission path. This includes the step of sending a second packet.
[0005] In another embodiment, the embodiments of the present disclosure have a third node Therefore, The present invention provides a data transmission method. The data transmission method is A step of receiving a second packet, wherein the second packet includes the first packet and a protocol header for indicating a first transmission path, the first transmission path being a path between a first node and a second node, the first node being the source node of the first packet, and the second node being the destination node of the first packet. The steps include: analyzing the second packet to obtain the protocol header for specifying the first transmission path; The process includes the step of sending a second service packet to the next node located after the third node in the first transmission path, based on a protocol header for indicating the first transmission path.
[0006] In yet another embodiment, an embodiment of the present disclosure provides a communication device applicable to a first node, the communication device including a processing module and a transmitting module.
[0007] The processing module is used to determine the first transmission path between the first node and the second node, where the first node is the source node of the first packet and the second node is the destination node of the first packet. The processing module is further used to generate a second packet according to the first packet and the first transmission path, the second packet including the first packet and a protocol header to indicate the first transmission path, The transmitting module is used to transmit the second packet.
[0008] In yet another embodiment, an embodiment of the present disclosure provides a communication device applicable to a third node. The communication device is Receiving module and processing module and Transmitter module and Includes.
[0009] The receiving module is used to receive the second packet, which includes the first packet and a protocol header indicating the first transmission path, the first transmission path being the path between the first node and the second node, the first node being the source node of the first packet, and the second node being the destination node of the first packet. The processing module is used to analyze the second packet and obtain the protocol header to indicate the first transmission path. The transmitting module is used to send a second service packet to the next node located after the third node in the first transmission path, based on a protocol header that indicates the first transmission path.
[0010] In yet another embodiment, an embodiment of the present disclosure provides a communication device, the communication device including a processor and memory, the memory storing instructions that can be executed by the processor, and the processor, when executing an instruction, In the manner of writing It is configured to allow the communication device to implement one of the methods provided in the context.
[0011] In yet another aspect, embodiments of the present disclosure provide a computer-readable storage medium. The computer-readable storage medium stores computer instructions, and when the computer instructions are executed by the computer, the above state Have the computer perform one of the methods provided by [the relevant authority / organization].
[0012] In yet another embodiment, embodiments of the present disclosure provide a computer program product that includes computer instructions. When such computer instructions are executed on a computer, the above In the manner Have the computer perform one of the methods provided.
[0013] The drawings are provided to deepen the understanding of the technical solutions of the present disclosure, constitute a part of the specification, and are used to explain the technical solutions of the present disclosure together with the embodiments of the present disclosure, and do not limit the technical solutions of the present disclosure.
Brief Description of the Drawings
[0014] [Figure 1] It is a diagram showing an audio-video system architecture according to some embodiments. [Figure 2] It is a flowchart showing a data transmission method according to some embodiments. [Figure 3] It is a flowchart showing the flow of path information transmission according to some embodiments. [Figure 4] It is a diagram showing a protocol header structure according to some embodiments. [Figure 5] It is a flowchart showing another data transmission method according to some embodiments. [Figure 6] It is a flowchart showing path switching according to some embodiments. [Figure 7] It is a flowchart showing yet another data transmission method according to some embodiments. [Figure 8] It is a diagram showing a data transmission process according to some embodiments. [Figure 9] It is a diagram showing the configuration of a data transmission device according to some embodiments. [Figure 10] It is a diagram showing the configuration of another data transmission device according to some embodiments. [Figure 11] It is a diagram showing the structure of a data transmission device according to some embodiments.
Modes for Carrying Out the Invention
[0015] The following describes the technical solutions of this disclosure clearly and completely with reference to the drawings of this disclosure. Obviously, the embodiments described are only a selection of embodiments of this disclosure, not all embodiments. All other embodiments that a person skilled in the art can obtain without creative work based on the embodiments of this disclosure are within the scope of this disclosure.
[0016] In this disclosure, unless otherwise specified, " / " means "or". For example, A / B can mean A or B. In this text, "and / or" describes only the relationship between related objects and indicates that there may be three types of relationships. For example, A and / or B can mean that only A exists, only B exists, or both A and B exist. Also, "at least one" refers to one or more, and "multiple" refers to two or more. Expressions such as "first," "second," etc., do not limit the quantity or order of execution, and expressions such as "first," "second," etc., do not necessarily limit them to being different.
[0017] In this disclosure, expressions such as “exemplary” or “for example” are used to provide examples, illustrations, or explanations. None of the embodiments or design solutions described “exemplary” or “for example” in this disclosure should be construed as having priority or superiority over other embodiments or design solutions. More precisely, the use of expressions such as “exemplary” or “for example” is intended to illustrate relevant concepts in detail.
[0018] Real-time voice and video network (RTN) systems can be classified into a control layer and a transmission layer according to their architecture, and the key technical points of RTN are also concentrated in the control and transmission layers. Data transmission, as the core technology of the RTN transmission layer, aims to enable high-speed and high-quality data transmission of service data according to the optimal path planned for it by the RTN system. However, there are still problems with RTN data transmission technology in some areas. The data type transmitted in an RTN system is single, and data transmission is applied only to voice and video data, and not so much to private protocol or non-voice and video data.
[0019] Considering these circumstances, the embodiments of this disclosure are configured at the first node. Therefore, The present invention provides a data transmission method, which includes the steps of first determining a first transmission path between a first node and a second node, wherein the first node is the source node of a first packet and the second node is the destination node of the first packet; then generating a second packet according to the first packet and the first transmission path, wherein the second packet includes the first packet and a protocol header for indicating the first transmission path; and transmitting the second packet.
[0020] Therefore, according to the embodiments of this disclosure, during service data transmission, an intermediate node can obtain routing information for the entire first packet without deencapsulating it, based on the protocol header for indicating the first transmission route. Furthermore, the intermediate node does not need to adapt to other data types and can support data transmission of various data types.
[0021] Figure 1 shows an audio-video system architecture according to an embodiment of the present disclosure. As shown in Figure 1, the audio-video system may include a control node 110 and an edge node 120, the edge node 120 being used to support access to and transmission of audio-video data.
[0022] In some embodiments, the audio-video system may include an audio-video cloud network, which is used to achieve a distributed deployment of edge computing infrastructure resources and to centrally manage these resources. Deployment points with a large number of resources and concentrated locations are called central clouds, while deployment points with a small number of resources and widely distributed locations are called edge clouds (also called edge cloud nodes). Because edge clouds have a wide distribution, they can be understood as cloud computing platforms closer to the terminal devices used by users, i.e., edge clouds can be understood as cloud platforms close to terminal devices, while central clouds can be understood as cloud platforms that centrally manage multiple edge clouds.
[0023] The control node 110 is deployed in the aforementioned central cloud and is responsible for controlling and managing the media nodes. It can receive and process node information and link quality information reported from the media nodes. In some embodiments, the control node 110 may also include a network sensing module and an access scheduling module. The network sensing module can collect edge data and arrange the network topology, and the access scheduling module can maintain an access-quantized network topology corresponding to each service and select and schedule appropriate edge nodes. Furthermore, the control node 110 may also be used for routing transmission path calculation, planning of optimal routing transmission paths, intelligent data transmission, and classified data management.
[0024] The edge node 120 is deployed in the aforementioned edge cloud, and the data transmission path may consist of multiple edge nodes 120 and links between nodes. The edge node 120 consists of multiple small nodes, is widely distributed, and may be used for managing edge routing tables, encapsulating and analyzing routing protocols, and sending and receiving data. The edge node 120 is used to implement routing proxy functions, routing management functions, data transmission functions, and data reception functions, and therefore, the edge node 120 may further include routing proxy modules, routing management modules, data transmission modules, and data reception modules.
[0025] In some embodiments, the audio-video system may further include clients that access the edge node 120. The clients may be various physical devices or software applications that support the generation, transmission, and display of data such as audio and video (e.g., mobile phone applications (Applications, Apps), software development kits (SDKs), or terminal devices (e.g., mobile phones, tablet computers, desktop computers, laptop computers, handheld computers, notebook computers, ultra-mobile personal computers (UMPCs), netbooks, and terminal devices such as mobile phones, personal digital assistants (PDAs), augmented reality (AR) / virtual reality (VR) devices)).
[0026] It is understood that the system architecture shown in Figure 1 is not limiting to the embodiments of this disclosure, and may include more or fewer components than those shown, or combine some components, or have a different component arrangement.
[0027] The methods provided by this disclosure will be described in detail below with reference to the drawings in the specification.
[0028] As shown in Figure 2, an embodiment of the present disclosure has a first node Therefore, A data transmission method is provided, which includes the following steps:
[0029] S101, the first transmission path between the first node and the second node is determined. The first node is the source node of the first packet, and the second node is the destination node of the first packet.
[0030] The first node is the source node, and the second node is address Taking the example of a node, the first transmission path described above is the path for transmitting the first packet. For illustrative purposes, the first and second nodes may be the two edge nodes in the audio-video system shown in Figure 1.
[0031] In some embodiments, the first node may determine the first transmission path by searching based on a pre-stored routing table. The routing table is used to describe paths in an audio-video system where the first node is the source node.
[0032] In some embodiments, this routing table may be stored using a hash table data structure, where the key of the hash table stores the identifier of the destination node (e.g., ID, integer type), and the value of the hash table stores the information from this edge node (first node) addressThis stores routing information (string type) to nodes. This allows the first node to quickly retrieve the corresponding routing information based on this routing table. For example, the information stored in this routing table is <2,”1-2”>, <3,”1-3”>, <4,”1-3-4”>, <5,”1-2-5”>, <6,”1-3-6”>, representing routes 1-2, 1-3, 1-3-4, 1-2-5, and 1-3-6, respectively. 1, 2, 3, 4, 5, and 6 are identifiers for edge node 1, edge node 2, edge node 3, edge node 4, edge node 5, and edge node 6, respectively.
[0033] In some embodiments, the first node may include a routing proxy module and a routing management module, and the routing table may be stored in the routing proxy module. This allows the routing management module to look up the routing table in the routing proxy module based on the destination node of the first packet (i.e., the second node) and obtain the first transmission route.
[0034] For example, if the source node of the first packet is edge node 1 and the destination node is edge node 5, the routing module of edge node 1 can look up to the routing proxy module. The routing proxy module searches for "value=1-2-5" based on "key=5", and the routing information at this time is "1-2-5", that is, a route consisting of nodes 1, 2, and 5.
[0035] In some embodiments, the control node of the audio-video system may, at a predetermined frequency, calculate the optimal path between any nodes of the audio-video system in real time and distribute the calculated path information synchronously to each edge node.
[0036] Furthermore, the time granularity at which the control node synchronously distributes the routing table can be matched with the time granularity at which edge data is collected. For example, if the control node collects data from edge nodes once every 5 seconds (i.e., at the predetermined frequency mentioned above), after collecting the data and calculating the route, the control node can distribute the routing table information, and therefore the frequency of synchronous distribution can also be set to once every 5 seconds.
[0037] In one example, the control node may group route information based on the source node of the route, and routes with the same source node may be divided into the same group. Furthermore, the route information for each group can be sent to the source node of the route information for that group. Exemplarily, as shown in Figure 3, if all the source nodes of the routes included in the route information of a certain group are edge node 1, the control node can send the route information for that group to edge node 1. Furthermore, the route proxy module of edge node 1 can receive and store the route information for that group.
[0038] As an example, suppose the route information determined by the control node includes routes 1-3-2, 1-3, 1-3-4, 1-3-5, 1-3-4-6, 2-3-1, 2-3, 2-4, 2-3-5, and 2-4-6. 1, 2, 3, 4, 5, and 6 are identifiers for edge node 1, edge node 2, edge node 3, edge node 4, edge node 5, and edge node 6, respectively.
[0039] The control node can synchronously transmit route information for routes 1-2, 1-3, 1-3-4, 1-2-5, and 1-3-6 to edge node 1. The control node can also synchronously transmit route information for routes 2-3-1, 2-3, 2-4, 2-3-5, and 2-4-6 to edge node 2.
[0040] In some embodiments, before searching based on a pre-stored routing table, the first node may further receive first routing information transmitted from the control node and generate a routing table according to the first routing information.
[0041] The first routing information is used by the control node to indicate a route originating from the first node, determined based on the collected edge node data. For example, the first node may use a hash table data structure to store this routing information.
[0042] When a service transmits data via an RTN system, it is usually necessary to first obtain a route at the control node, and the control node receives the load of each service flow from each edge node, resulting in a heavy load. In the embodiments of this disclosure, the edge node can obtain route information calculated and distributed by the center node in real time and generate a route table. Therefore, during data transmission, the edge node does not need to obtain route information from the control center, but can obtain route information directly from the edge node's route table, thereby reducing the load on the control layer.
[0043] S102 generates a second packet according to the first packet and the first transmission path. The second packet includes the first packet and a protocol header to indicate the first transmission path.
[0044] In some embodiments, the protocol header for indicating the first transmission path is located in the outer layer of the packet header of the second packet.
[0045] Furthermore, since the protocol header is encapsulated in the outer layer of the packet header, intermediate nodes do not need to decapsulate the entire packet when transmitting it (i.e., routing information can be obtained from the outer layer of the packet header). In addition, intermediate nodes do not need to consider compatibility issues with other data types (i.e., they can support the transmission of various data types).
[0046] In some embodiments, the protocol header for specifying a first transmission path includes a source port field, a destination port field, and a route information field, the route information field being used to specify the nodes included in the first transmission path.
[0047] In some embodiments, the protocol header for indicating a first transmission path further includes at least one of the following fields: a protocol header length field, a node identifier length field, a node identifier count field, a service type field, and a version number field.
[0048] For example, as shown in Figure 4, the protocol header for indicating the first transmission path is also called the route header, and the structure of the route header may include the following:
[0049] (1) Source port field (16 bits): Used to describe the source port information of the first transmission path.
[0050] (2) Destination port field (16 bits): Used to describe the destination port information of the first transmission path.
[0051] (3) Length field (8 bits): Used to describe the length of the protocol header for indicating the first transmission path.
[0052] (4) Service type field (2 bits): Used to describe the service type information of the service corresponding to the first packet.
[0053] (5) Version number field (2 bits): Used to describe version number information.
[0054] (6) Reserved bits (6 bits).
[0055] (7) Node ID length field (2 bits): Used to describe the length of the node ID of the node constituting the first transmission path.
[0056] (8) Node ID count field (4 bits): Used to describe the length of the number of nodes that make up the first transmission path.
[0057] (9) Route information field: Describes the node IDs of the nodes that constitute the first transmission route. The length of the route information field is determined based on the product of the length of the node IDs of the nodes that constitute the first transmission route and the number of node IDs.
[0058] In some embodiments, the length of the protocol header is 7 bytes or more.
[0059] In some embodiments, as shown in Figure 4, the second packet may further include an IP header, a UDP header, a Real-time Transport Protocol (RTP) / Real-time Transport Control Protocol (RTCP) header, and a payload portion. If the version number of the IP protocol used is IPv4, this IP header is typically 20 bytes long, and if the version number of the IP protocol used is IPv6, this IP header is typically 40 bytes long. The length of the UDP header is typically 8 bytes.
[0060] It is understood that the number of bits occupied by the field shown in Figure 4 is not fixed and can be adjusted according to actual needs.
[0061] S103 sends the second packet.
[0062] In some embodiments, the first node may transmit the second packet to the next node indicated by the first transmission path, so that the second packet is transmitted to the second node (i.e., the destination node of the second packet) based on the first transmission path.
[0063] For example, the routing module of the first node may, based on the second packet, parse the IP address and fixed port of the next node, and further transmit the second packet to the next node via the data transmission module.
[0064] In some embodiments, when the node following the first node receives the second packet, it may similarly analyze the IP address and fixed port of the next node based on the second packet and then transmit the second packet to the next node via a data transmission module. Furthermore, the second packet may be transmitted sequentially at each node constituting the first transmission path until it is transmitted to the second node (i.e., the destination node).
[0065] In embodiments of the present disclosure, the embodiments provide a protocol header for indicating a first transmission path, which, based on the protocol header, allows intermediate nodes to obtain routing information during service data transmission without decapsulating the entire packet. Because it is not necessary to decapsulate the entire packet, this method is applicable to data transmission of a wider range of data types.
[0066] In some embodiments, as shown in Figure 5, the data transmission method provided by the embodiments of the present disclosure may further include the following steps.
[0067] S104, Second route information is obtained via route detection.
[0068] The second routing information is used to specify a route that originates from the first node.
[0069] In some embodiments, based on the relevant description in S101 above, the control node can calculate the optimal route between any nodes of the audio-video system in real time at a predetermined frequency. The calculated route information is then distributed synchronously to each edge node. The route proxy module of the edge node can receive and store the acquired route information. In some embodiments, this route information may be stored in the form of a route table.
[0070] This allows the first node to retrieve the stored route information via the route sensing mechanism and look up the second route information in the stored route information where the source node is the second node. For example, the route management module of the first node may retrieve the stored route information in the route proxy module.
[0071] In some embodiments, the routing module of the first node may further periodically look up stored network topology information against the routing proxy module. This ensures the real-time and reliability of routing information through the message subscription mechanism and timing mechanism.
[0072] S105, If the second transmission path between the first node and the second node indicated by the second routing information is different from the first transmission path, the protocol header in the second packet that indicates the first transmission path is changed to a protocol header that indicates the second transmission path.
[0073] In some embodiments, if the second transmission path between the first and second nodes indicated by the second routing information differs from the first transmission path, the first node may update the second routing information in its service packet header based on the protocol header encapsulation method described above. Thus, route switching can be completed without the user's knowledge, improving the user experience.
[0074] For example, as shown in Figure 6, if the second transmission path between the first and second nodes indicated by the second routing information differs from the first transmission path, the routing proxy module of the first node can notify the routing management module of the route change in real time via the message subscription mechanism. Furthermore, the routing management module of the first node can update its service packet header with the second routing information.
[0075] In some embodiments, if the second transmission path indicated by the second route information differs from the first transmission path, the first node may further update the route table. The updated route table will include the second node. address The path designated as a node is listed as the second transmission path.
[0076] Based on the above embodiment, the source node can detect, via the route sensing mechanism, whether the current route information matches the updated route information, i.e., whether route switching is necessary. If route switching is necessary, the source node can directly update the service packet header with the second route information, eliminating the need for link detection or lookups to the control node, thereby reducing the complexity of the route switching process and shortening the time required for route switching.
[0077] In some embodiments, as shown in Figure 7, embodiments of the present disclosure provide yet another data transmission method. This method provides a third node Therefore, The third node is a node after the first node in the first transmission path. For example, the third node may be an edge node in the audio-video system shown in Figure 1. The method includes the following steps.
[0078] S201 receives the second packet. The second packet contains the first packet and a protocol header to indicate the first transmission path.
[0079] The first transmission path is the path between the first node and the second node, where the first node is the source node of the first packet and the second node is the destination node of the first packet.
[0080] In some embodiments, the protocol header for indicating the first transmission path is located in the outer layer of the packet header of the second packet.
[0081] Furthermore, since the protocol header indicating the first transmission path is encapsulated in the outer layer of the packet header, intermediate nodes do not need to decapsulate the entire packet when transmitting it (i.e., they can obtain the routing information from the outer layer of the packet header). In addition, intermediate nodes do not need to consider compatibility issues with other data types (i.e., they can support the transmission of various data types).
[0082] In some embodiments, the protocol header for specifying a first transmission path includes a source port field, a destination port field, and a route information field, the route information field being used to specify the nodes included in the first transmission path.
[0083] In some embodiments, the protocol header for indicating a first transmission path further includes at least one of the following fields: a protocol header length field, a node identifier length field, a node identifier count field, a service type field, and a version number field.
[0084] For example, if the third node is the node following the first node, as shown in Figure 8, the routing module of the first node (i.e., the source node) can obtain routing information for the first transmission path from the routing proxy module, encapsulate the protocol header and the first packet to indicate the first transmission path, and obtain the second packet. Furthermore, the data transmission module of the first node can transmit data to the third node. Correspondingly, the data reception module of the third node can receive this second packet.
[0085] S202 analyzes the second packet and obtains the protocol header to indicate the first transmission path.
[0086] In some embodiments, the third node can decapsulate the packet to obtain a protocol header indicating the first transmission path, and further obtain the ID information of the next hop node based on this protocol header.
[0087] For example, as shown in Figure 8, the data receiving module of the third node receives the second packet transmitted from the first node and transmits it to the routing module. The routing module can deencapsulate the packet, obtain the ID information of the next hop node of the third node based on the routing protocol format, convert the node ID to a node IP address, and transmit it to the data transmission module.
[0088] S203, based on the protocol header for indicating the first transmission path, sends the second service packet to the next node located after the third node in the first transmission path.
[0089] For example, as shown in Figure 8, the data transmission module of the third node may transmit packets to the next hop node according to the IP address of the next hop node and a fixed next hop port.
[0090] In some embodiments, if there are multiple intermediate nodes between the first node and the second node in the first transmission path, each intermediate node may first parse the protocol header to obtain the next node information based on the data transmission method shown in S201 to S203, then transmit the data, and continue until the data is transmitted to the last intermediate node.
[0091] In some embodiments, after receiving this second packet, the second node can analyze the routing protocol and, if no next node is analyzed, determine that the second node itself is the destination node. The second node can then remove this protocol header and obtain the original service data, i.e., the first packet described above.
[0092] For example, as shown in Figure 8, the data receiving module of the second node receives the second packet, performs internal data transmission, and transmits the second packet to the routing module. Furthermore, the routing module of the second node analyzes the routing protocol, removes the protocol header, and obtains the original service data, i.e., the first packet.
[0093] Based on the embodiments described above, during service data transmission, intermediate nodes can obtain routing information without decapsulating the entire packet, based on the protocol header for indicating the first transmission path provided by the embodiments of this disclosure. Thus, since it is not necessary to decapsulate the entire packet, it is applicable to data transmission of a wider range of data types.
[0094] The above describes the solutions provided by this disclosure primarily in terms of the interactions between each node. It is understood that in order for each node (e.g., a device or apparatus) to realize the functions described above, each node includes a corresponding hardware structure and / or software module that performs each individual function. Those skilled in the art should readily recognize, by combining the algorithmic steps of each example described in the embodiments of this disclosure, that the invention can be realized in hardware form or in a combination of hardware and computer software form. Whether a function is performed in hardware or in hardware driven by computer software depends on the specific application and design constraints of the technical solution. A skilled technician may realize the described functions using different methods for each specific application, but such realization should not be considered outside the scope of the invention.
[0095] Figure 9 is a diagram showing the configuration of a data transmission device according to several embodiments, and is applied to the first node. As shown in Figure 9, the data transmission device 90 includes a processing module 901 and a transmission module 902. In some embodiments, the data transmission device 90 further includes a receiving module 903.
[0096] In some embodiments, processing module 901 is used to determine a first transmission path between a first node and a second node, where the first node is the source node of the first packet and the second node is the destination node of the first packet. Processing module 901 is further used to generate a second packet according to the first packet and the first transmission path, where the second packet includes the first packet and a protocol header indicating the first transmission path. Transmitting module 902 is used to transmit the second packet.
[0097] In some embodiments, the protocol header for indicating the first transmission path is located in the outer layer of the packet header of the second packet.
[0098] In some embodiments, the protocol header for specifying a first transmission path includes a source port field, a destination port field, and a route information field, the route information field being used to specify the nodes included in the first transmission path.
[0099] In some embodiments, the protocol header for indicating a first transmission path further includes at least one of the following fields: a protocol header length field, a node identifier length field, a node identifier count field, a service type field, and a version number field.
[0100] In some embodiments, the processing module 901 is further used to determine a first transmission route by searching based on a pre-stored routing table. The routing table is used to describe routes in an audio-video system where the first node is the source node.
[0101] In some embodiments, the receiving module 903 is used to receive first route information transmitted from the control node, which the control node uses to indicate a route originating from the first node, determined based on the collected edge node data. The processing module 901 is used to generate a route table according to the first route information.
[0102] In some embodiments, the processing module 901 is used to obtain second route information via route sensing. The second route information is used to specify a route with the first node as the source node. Processing module 901 further: If the second transmission path between the first and second nodes, as indicated by the second routing information, differs from the first transmission path, the protocol header in the second packet that indicates the first transmission path is changed to a protocol header that indicates the second transmission path. Used for .
[0103] In some embodiments, the processing module 901 is used to update the routing table when the second transmission route indicated by the second routing information is different from the first transmission route. The updated routing table includes the second node. address The path designated as a node is listed as the second transmission path.
[0104] Note that the modules in Figure 9 may also be called units; for example, the transmitting module may be called a transmitting unit. Also, in the embodiment shown in Figure 9, the names of each module may not be those shown in the figure; for example, the transmitting module may be called a communication module.
[0105] Figure 10 is a diagram showing the configuration of another data transmission device according to several embodiments, which is applied to the third node. As shown in Figure 10, the data transmission device 100 includes a receiving module 1001, a processing module 1002, and a transmitting module 1003.
[0106] In some embodiments, a receiving module 1001 is used to receive a second packet, which includes the first packet and a protocol header indicating a first transmission path, the first transmission path being the path between a first node and a second node, the first node being the source node of the first packet, and the second node being the destination node of the first packet. A processing module 1002 is used to parse the second packet and obtain the protocol header indicating the first transmission path. A transmitting module 1003 is used to transmit a second service packet to the next node located after the third node in the first transmission path, based on the protocol header indicating the first transmission path.
[0107] In some embodiments, the protocol header for indicating the first transmission path is located in the outer layer of the packet header of the second packet.
[0108] In some embodiments, the protocol header for specifying a first transmission path includes a source port field, a destination port field, and a route information field, the route information field being used to specify the nodes included in the first transmission path.
[0109] In some embodiments, the protocol header for indicating a first transmission path further includes at least one of the following fields: a protocol header length field, a node identifier length field, a node identifier count field, a service type field, and a version number field.
[0110] Each unit in Figure 9 or Figure 10, if implemented as a software function module and sold or used as an independent product, can be stored on a computer-readable storage medium. Based on this understanding, the essence of the technical solutions of the embodiments of this disclosure, or their contributions to the prior art, or all or part of the technical solutions, can be expressed in the form of a computer software product, which is stored on a storage medium, and some of its instructions are used to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to perform all or part of the steps of the methods of each embodiment of this disclosure. Storage media for storing computer software products include a variety of media capable of storing program code, such as U disks, portable hard disks, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0111] When the functions of the integrated module described above are implemented in hardware form, the embodiments of this disclosure provide a schematic diagram of the structure of a data transmission device. The data transmission device may be the data transmission device 90 or the data transmission device 100. As shown in Figure 11, the data transmission device 110 includes a processor 1102, a communication interface 1103, and a bus 1104. In some embodiments, the data transmission device 110 may further include a memory 1101.
[0112] The processor 1102 can implement or execute various exemplary logic blocks, modules, and circuits described in relation to the disclosures of this disclosure. The processor 1102 may be a central processing unit, a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field-programmable gate array, other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. The processor 1102 can implement or execute various exemplary logic blocks, modules, and circuits described in relation to the disclosures of this disclosure. The processor 1102 may include combinations that implement computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, and so on.
[0113] The communication interface 1103 is used to connect to other devices via a communication network. This communication network may be Ethernet®, a wireless access network, a wireless local area network (WLAN), or the like.
[0114] The memory 1101 may be a read-only memory (ROM) or another type of static storage device capable of storing static information and instructions, a random access memory (RAM) or another type of dynamic storage device capable of storing information and instructions, an electrically erasable programmable read-only memory (EEPROM), a disk storage medium or other magnetic storage device, or any other medium accessible by a computer that can be used to transport or store desired program code having instruction or data structure form.
[0115] As one implementation, the memory 1101 can exist independently of the processor 1102, or it can be connected to the processor 1102 via the bus 1104 and used to store instructions or program code. When the processor 1102 calls and executes the instructions or program code stored in the memory 1101, the information processing method determination method provided by the embodiments of this disclosure can be realized.
[0116] In an alternative implementation, the memory 1101 may be integrated with the processor 1102.
[0117] Bus 1104 may be an extended industry standard architecture (EISA) bus, etc. Bus 1104 can be divided into an address bus, a data bus, a control bus, etc. For the sake of explanation, only one thick line is shown in Figure 11, but this does not mean that there is only one bus or only one type of bus.
[0118] Through the above description of the embodiments, those skilled in the art will readily understand that, for the sake of convenience and brevity of explanation, the division of each functional module described above has been explained only by example. In actual applications, the above functions can be assigned to different functional modules as needed; that is, the internal structure of the equipment or device can be divided into different functional modules to complete all or some of the functions described above.
[0119] Embodiments of the present disclosure further provide computer-readable storage media. All or part of the steps of the embodiments of the methods described above can be instructed by computer instructions to complete the associated hardware, and this program is storeable in the computer-readable storage media and, when executed, may include the steps of each embodiment of the methods described above. The computer-readable storage media may be the memory of any of the embodiments described above. The computer-readable storage media may also be an external storage device of the device or apparatus, such as a plug-in hard disk, SmartMedia card (SMC), Secure Digital (SD) card, or Flash card installed in the device or apparatus. Furthermore, the computer-readable storage media may include both internal storage units and external storage devices of the device or apparatus. The computer-readable storage media is used to store the computer program and other programs and data required by the device or apparatus. The computer-readable storage media may also be used to temporarily store output or planned output data. The readable storage media includes non-temporary computer-readable storage media.
[0120] Embodiments of the present disclosure further provide a computer program product. This computer program includes a computer program which, when executed on a computer, causes the computer to execute one of the information processing method determination methods provided in the embodiments described above.
[0121] While the present disclosure has been described here in relation to each embodiment, in the course of implementation, those skilled in the art can understand and implement other modifications of the present disclosure that require disclosure and protection by referring to the drawings, the content of the disclosure and the attached claims. In the claims, the term “comprising” does not exclude other components or steps, and “one” or “single” does not exclude the case of multiple. A single processor or other unit may implement the functions of several items listed in the claims. Although different means are described in different dependent claims, this does not mean that these means cannot be combined to produce good results.
[0122] While the detailed features and embodiments of this disclosure have been described, it is clear that various modifications and combinations are possible without departing from the spirit and scope of this disclosure. Therefore, this specification and the drawings are considered exemplary descriptions of the disclosure as defined by the claims and are deemed to cover any and all modifications, variations, combinations, or equivalents within the scope of this disclosure. Clearly, those skilled in the art can make various changes and variations to this disclosure without departing from the spirit and scope of this disclosure. Thus, if these changes and variations of this disclosure fall within the scope of the claims and equivalent art of this disclosure, this disclosure is also intended to include such changes and variations.
[0123] While specific embodiments of this disclosure have been described above, the scope of protection of this disclosure is not limited thereto. Any modifications or substitutions that may occur within the technical scope disclosed hereof should be included within the scope of protection of this disclosure. Therefore, the scope of protection of this disclosure should be determined by the scope of protection of the claims.
Claims
1. A data transmission method applied to the first node, A step of determining a first transmission path between the first node and the second node, wherein the first node is the source node of the first packet and the second node is the destination node of the first packet, A step of generating a second packet according to the first packet and the first transmission path, wherein the second packet includes the first packet and a protocol header for indicating the first transmission path, The step of transmitting the second packet, method.
2. The protocol header for indicating the first transmission path is located in the outer layer of the packet header of the second packet. The method according to claim 1.
3. The protocol header for specifying the first transmission path includes a source port field, a destination port field, and the route information field, the route information field being used to specify the nodes included in the first transmission path. The method according to claim 1.
4. The protocol header for indicating the first transmission path further includes at least one of the following: the protocol header length field, the node identifier length field, the node identifier count field, the service type field, and the version number field. The method according to claim 3.
5. The step of determining the first transmission path between the first node and the second node is: A step of determining the first transmission path by searching based on a pre-stored routing table, wherein the routing table is used to describe paths in an audio-video system where the first node is the source node. The method according to claim 1.
6. Before searching based on a pre-stored routing table, the method, A step of receiving first route information transmitted from a control node, wherein the first route information is used by the control node to indicate a route that originates from the first node, determined based on collected edge node data. The process further includes the step of generating the route table according to the first route information, The method according to claim 5.
7. A step of obtaining second route information via route sensing, wherein the second route information is used to indicate a route with the first node as the source node, The method further includes the step of changing the protocol header in the second packet that indicates the first transmission path to the second transmission path if the second transmission path between the first node and the second node indicated by the second routing information is different from the first transmission path, to a protocol header that indicates the second transmission path. The method according to claim 1.
8. A step of updating the route table when the second transmission route indicated by the second route information is different from the first transmission route, further comprising the step of updating the route table so that the route with the second node as the target node is listed as the second transmission route, The method according to claim 7.
9. A data transmission method applicable to a third node, A step of receiving a second packet, wherein the second packet includes a first packet and a protocol header for indicating a first transmission path, the first transmission path being a path between a first node and a second node, the first node being the source node of the first packet, and the second node being the destination node of the first packet. The steps include analyzing the second packet to obtain the protocol header for indicating the first transmission path, The step of transmitting the second service packet to the next node located after the third node in the first transmission path, based on the protocol header for indicating the first transmission path, method.
10. The protocol header for indicating the first transmission path is located in the outer layer of the packet header of the second packet. The method according to claim 9.
11. The protocol header for specifying the first transmission path includes a source port field, a destination port field, and the route information field, the route information field being used to specify the nodes included in the first transmission path. The method according to claim 9.
12. The protocol header for indicating the first transmission path further includes at least one of the following: the protocol header length field, the node identifier length field, the node identifier count field, the service type field, and the version number field. The method according to claim 10.
13. A communication device including a processor and memory, A memory and a processor are coupled, the memory is used to store instructions that the processor can execute, and when the processor executes an instruction, it performs the method according to any one of claims 1 to 12. Communication device.
14. A computer-readable storage medium, A computer instruction is stored in the computer-readable storage medium, and when the computer instruction is executed by the communication device, the communication device is instructed to execute the method according to any one of claims 1 to 12. A computer-readable storage medium.