WO2021213227A1 - Data transmission method, system and device - Google Patents

Data transmission method, system and device Download PDF

Info

Publication number
WO2021213227A1
WO2021213227A1 PCT/CN2021/087213 CN2021087213W WO2021213227A1 WO 2021213227 A1 WO2021213227 A1 WO 2021213227A1 CN 2021087213 W CN2021087213 W CN 2021087213W WO 2021213227 A1 WO2021213227 A1 WO 2021213227A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
transmission
transmission path
encoded data
data packet
Prior art date
Application number
PCT/CN2021/087213
Other languages
French (fr)
Chinese (zh)
Inventor
袁立平
蔡鑫
柳亮亮
叶进洲
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2021213227A1 publication Critical patent/WO2021213227A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/16Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0289Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/16Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
    • H04W28/18Negotiating wireless communication parameters
    • H04W28/20Negotiating bandwidth

Definitions

  • This application relates to the field of communications, and more specifically, to a method, system, and device for data transmission in the field of communications.
  • Channel coding technology can send the source code and the error correction code generated according to the source code from the source to the receiver during the transmission process.
  • information loss or errors will occur.
  • the wireless air interface will cause bit loss due to electromagnetic interference. Or error, or on the Internet, due to congestion or flash interruption of the router device responsible for forwarding, resulting in data packet loss.
  • the receiving end receives a part of the source code and error correction code processed by the channel coding technology, it can try to restore the source code according to the received information.
  • the receiving end can recover different degrees of transmission damage.
  • Batched sparse codes are coding schemes designed for the phenomenon of packet loss in the network.
  • BATS combines the advantages of traditional encoding technologies. By combining low-density parity-check (LDPC) and run-length encoding (RNLC) two encoding technologies, it can achieve economical redundant bandwidth. And calculation difficulty to recover the transmission damage in the multi-hop network.
  • LDPC low-density parity-check
  • RNLC run-length encoding
  • batch sparse coding when batch sparse coding is transmitted in the network, it may encounter bandwidth-constrained scenarios, such as congestion, packet loss, etc., which may cause the transmission of coded data to fail.
  • the present application provides a data transmission method, system and device, which are beneficial to improve the transmission success rate of encoded data packets and reduce the transmission delay of encoded data packets.
  • a data transmission method which includes: in a case where the current transmission path is congested, a first node determines at least two candidate transmission paths, and the at least two candidate transmission paths are all based on the first The node is the starting point and the destination node is the end point; the first node transmits from the at least two candidate transmission paths based on the remaining delay of the encoded data packet, the receiving bandwidth of the encoded data packet, and the information of the at least two candidate transmission paths At least one transmission path is determined among the paths; the first node sends the encoded data packet on the at least one transmission path.
  • the first node determines that the current transmission path is congested, it reselects transmission based on the remaining delay of the encoded data packet, the receiving bandwidth of the encoded data packet, and the information of at least two candidate transmission paths
  • the path, through the new transmission path for data transmission, is beneficial to improve the transmission success rate of the encoded data packet and reduce the transmission delay of the encoded data packet.
  • first node may be a source node or an intermediate node on the current transmission path, which is not limited in the embodiment of the present application.
  • the above-mentioned current transmission path congestion can be a bandwidth-constrained scenario, such as congestion, packet loss, or congestion and packet loss coexist, that is, the current transmission path has a bottleneck, and redundancy cannot be added to resist packet loss damage, resulting in the failure of encoded data transmission.
  • the above-mentioned current transmission path congestion may refer to: the bandwidth of the current transmission path is limited, the coded data packet is sent according to the original transmission matrix H, and the number of codes greater than or equal to rank (GH) cannot be received at the destination node. Data packet, causing the decoding to fail.
  • the first node determines that the current transmission path is congested, or is in a state of limited bandwidth, the first node can reselect the transmission path by using the method of the embodiment of the present application, so that the encoded data packet is successfully transmitted to the destination node .
  • the information of the at least two candidate transmission paths includes at least one of the following information: The transmission delay between nodes; the recoding delay of the nodes on each candidate transmission path; the available bandwidth of each candidate transmission path; or, the transmission delay between nodes on each candidate transmission path Packet loss rate.
  • the first node in the embodiment of the present application may select the at least one transmission path from the at least two candidate transmission paths based on at least one of the transmission delay, recoding delay, available bandwidth, and packet loss rate. .
  • the above-mentioned information may be collectively referred to as transmission path information, or path information, or other names, which are not limited here.
  • the above-mentioned information may be obtained in advance by the first node.
  • the first node may obtain path information in all transmission paths associated with the first node, for example, including a list of nodes, transmission delay between nodes, and packet loss between nodes Rate and so on.
  • the at least one transmission path includes a first transmission path, and the first transmission path satisfies the following condition: The sum of the transmission delays is less than or equal to the remaining delay of the encoded data packet; the available bandwidth of the first transmission path is greater than or equal to the receiving bandwidth of the encoded data packet; between nodes on the first transmission path The packet loss rate is less than or equal to the coded packet loss recovery rate.
  • the transmission delay may include forwarding delay, and may also include forwarding delay and recoding delay, which is not limited in the embodiment of the present application. If the transmission delay only includes the forwarding delay, the above condition "the sum of the transmission delays between nodes on the first transmission path is less than or equal to the remaining delay of the encoded data packet" can be replaced with the first transmission The sum of the transmission delay and the re-encoding delay between the nodes on the path is less than or equal to the remaining delay of the encoded data packet.
  • the aforementioned "available bandwidth of the first transmission path" may be replaced with the minimum value of the available bandwidth between nodes on the first transmission path.
  • the above “the packet loss rate between nodes on the first transmission path is less than or equal to the encoding loss recovery rate” can be replaced with the maximum value of the packet loss rate between nodes on the first transmission path being less than or equal to the encoding loss Recovery rate.
  • the encoded data packets to be transmitted include original data packets and redundant data packets.
  • the encoding loss recovery rate in the embodiment of the present application refers to the ratio of the number of redundant data packets to be transmitted to the number of original data packets. For example, if the number of original data packets is 10, in order to resist packet loss damage, the number of encoded data packets to be transmitted is 15, at this time, the encoding loss recovery rate is 50%.
  • the first node cannot send enough encoded data packets to the next node due to limited bandwidth, resulting in that the destination node cannot obtain enough encoded data packets to complete the decoding.
  • the first node can Reselect the transmission path, the total delay of the new transmission path is less than or equal to the remaining time delay of the encoded data packet at the first node, the packet loss rate between nodes is less than or equal to the encoding loss recovery rate, and the available bandwidth is greater than or equal to the encoding The receiving end bandwidth of the data packet.
  • some nodes can be set to be non-coding nodes, that is, simple forwarding nodes, and the nodes of the new transmission path complete the forwarding and re-encoding of the encoded data packet according to the path information indicated in the encoded data packet and the processing type of the node.
  • the transmission of the coded packet can be completed with a smaller bandwidth under the premise of meeting the time delay requirement, thereby solving the problem that the coded data packet cannot be transmitted on the original path.
  • the embodiment of the present application combines the principle of BATS coding, and uses time delay (which can still meet service requirements) to obtain a certain bandwidth gain, thereby solving the problem of bandwidth limitation.
  • the at least one transmission path includes at least two second transmission paths, and the at least two second transmission paths satisfy the following conditions: 2.
  • the sum of the transmission delays between nodes on the transmission path is less than or equal to the remaining delay of the encoded data packet; the sum of the available bandwidth of the at least two second paths is greater than or equal to the reception of the encoded data packet Bandwidth; the packet loss rate between nodes in the at least two second paths is less than or equal to the encoding packet loss recovery rate.
  • the transmission delay may include forwarding delay, and may also include forwarding delay and recoding delay, which is not limited in the embodiment of the present application. If the transmission delay only includes the forwarding delay, the above condition "the sum of the transmission delays between the nodes on the at least two second transmission paths is less than or equal to the remaining delay of the encoded data packet" can be replaced with The sum of the transmission delay and the re-encoding delay between the nodes on the at least two second transmission paths is less than or equal to the remaining delay of the encoded data packet.
  • the above-mentioned "the packet loss rate between the nodes on the at least two second transmission paths is less than or equal to the encoding loss recovery rate" can be replaced with the maximum value of the packet loss rate between the nodes on the at least two second transmission paths Less than or equal to the code loss recovery rate.
  • the encoded data packets to be transmitted may include original data packets and redundant data packets.
  • the encoding loss recovery rate in this embodiment of the present application refers to the ratio of the number of redundant data packets to be transmitted to the number of original data packets.
  • the method before the first node sends the encoded data packet on the at least one transmission path, the method further includes: the first node according to The available bandwidth of each of the at least two second transmission paths and the transmission delay between nodes on each of the second transmission paths are allocated to the at least two second transmission paths.
  • the encoded data packet; the first node sending the encoded data packet on the at least one transmission path includes: the first node separately sending the encoded data packet on the at least two second transmission paths .
  • the first node may also use the packet loss rate of the at least two second transmission paths as a parameter for allocating encoded data packets between the paths.
  • the embodiment of the application solves the problem that the original path cannot support the transmission of coded packets through the selection of the composite path, and other single transmission paths cannot meet the transmission requirements, but there are scenarios where the composite path meets the transmission of coded packets, which improves the data transmission. flexibility.
  • the at least one transmission path is the path with the largest number of nodes among the paths that satisfy the condition among the at least two candidate transmission paths.
  • the first node may determine the candidate transmission path with the largest number of nodes included as the first transmission path. In this way, a larger bandwidth can be obtained and the transmission reliability of the encoded data packet can be ensured.
  • the first node may determine the candidate transmission path including the least number of nodes as the first transmission path. In this way, a smaller transmission delay can be obtained, thereby improving the efficiency of data transmission.
  • the first node may separately judge all the candidate transmission paths in the at least two candidate transmission paths, and screen out the combination of at least two candidate transmission paths that meet the conditions .
  • the first node may determine a group of candidate transmission paths including the largest number of nodes as the above-mentioned at least two transmission paths. In this way, a larger bandwidth can be obtained and the transmission reliability of the encoded data packet can be ensured.
  • the first node may determine a group of candidate transmission paths including the least number of nodes as the above-mentioned at least two transmission paths. In this way, a smaller transmission delay can be obtained, thereby improving the efficiency of data transmission.
  • the method before the first node sends the encoded data packet on the at least one transmission path, the method further includes: the first node according to The information of the at least one transmission path determines the processing type of the node on the at least one transmission path, and the processing type includes at least one of forwarding, re-encoding, or decoding;
  • Sending the encoded data packet on one transmission path includes: the first node sends the encoded data packet on the at least one transmission path, and the encoded data packet carries processing of nodes on the at least one transmission path type.
  • the first node may determine the processing type of the node on the at least one transmission path after selecting the at least one transmission path. For example, the first node may determine the role of the node on at least one transmission path based on information such as the delay, packet loss rate, and available bandwidth on at least one transmission path, and set the role of each node in the encoded data packet
  • the processing type (handle type) is to determine the processing type of the node.
  • the encoded data packet carries at least one of the following information: service requirement information, which is used to indicate the delay requirement of this data transmission; the at least one transmission Path information is used to indicate the nodes on the at least one transmission path; the processing type is used to indicate that the next hop node that receives the encoded data packet performs forwarding, re-encoding, or decoding on the encoded data packet At least one of the treatments.
  • service requirement information which is used to indicate the delay requirement of this data transmission
  • the at least one transmission Path information is used to indicate the nodes on the at least one transmission path
  • the processing type is used to indicate that the next hop node that receives the encoded data packet performs forwarding, re-encoding, or decoding on the encoded data packet At least one of the treatments.
  • a data transmission device which is used to execute the method in any one of the possible implementation manners of the first aspect.
  • the device includes a unit for executing the method in any one of the possible implementation manners of the above-mentioned first aspect.
  • another data transmission device including a processor, which is coupled to a memory and can be used to execute instructions in the memory to implement the method in any one of the possible implementation manners of the first aspect.
  • the device further includes a memory.
  • the device further includes a communication interface, and the processor is coupled with the communication interface.
  • the data transmission device is a transmission node.
  • the communication interface may be a transceiver, or an input/output interface.
  • the data transmission device is a chip configured in a transmission node.
  • the communication interface may be an input/output interface.
  • a processor including: an input circuit, an output circuit, and a processing circuit.
  • the processing circuit is configured to receive signals through the input circuit and transmit signals through the output circuit, so that the processor executes the method in any one of the possible implementation manners of the first aspect.
  • the above-mentioned processor may be a chip, the input circuit may be an input pin, the output circuit may be an output pin, and the processing circuit may be a transistor, a gate circuit, a flip-flop, and various logic circuits.
  • the input signal received by the input circuit may be received and input by, for example, but not limited to, a receiver, and the signal output by the output circuit may be, for example, but not limited to, output to the transmitter and transmitted by the transmitter, and the input circuit and output
  • the circuit can be the same circuit, which is used as an input circuit and an output circuit at different times.
  • the embodiments of the present application do not limit the specific implementation manners of the processor and various circuits.
  • a processing device including a processor and a memory.
  • the processor is used to read instructions stored in the memory, and can receive signals through a receiver, and transmit signals through a transmitter, so as to execute the method in any one of the possible implementation manners of the first aspect.
  • processors there are one or more processors, and one or more memories.
  • the memory may be integrated with the processor, or the memory and the processor may be provided separately.
  • the memory can be a non-transitory (non-transitory) memory, such as a read only memory (ROM), which can be integrated with the processor on the same chip, or can be set in different On the chip, the embodiment of the present application does not limit the type of the memory and the setting mode of the memory and the processor.
  • ROM read only memory
  • sending instruction information may be a process of outputting instruction information from the processor
  • receiving capability information may be a process of receiving input capability information by the processor.
  • the processed output data may be output to the transmitter, and the input data received by the processor may come from the receiver.
  • the transmitter and receiver can be collectively referred to as a transceiver.
  • the processing device in the above fifth aspect may be a chip, and the processor may be implemented by hardware or software.
  • the processor When implemented by hardware, the processor may be a logic circuit, an integrated circuit, etc.; when implemented by software, When implemented, the processor may be a general-purpose processor, which is implemented by reading software codes stored in the memory.
  • the memory may be integrated in the processor, may be located outside the processor, and exist independently.
  • a computer program product includes: a computer program (also called code, or instruction), which when the computer program is executed, enables the computer to execute any one of the above-mentioned first aspects. The method in the way.
  • a computer-readable storage medium stores a computer program (also called code, or instruction) when it runs on a computer, so that the computer executes the above-mentioned first aspect Any one of the possible implementation methods.
  • a communication system including the aforementioned first node and destination node.
  • Fig. 1 shows a schematic diagram of a communication system according to an embodiment of the present application.
  • Fig. 2 shows a schematic diagram of the coding transmission process of batch sparse coding.
  • FIG. 3 shows a schematic flowchart of a data transmission method according to an embodiment of the present application.
  • FIG. 4 shows a schematic flowchart of another data transmission method according to an embodiment of the present application.
  • Fig. 5 shows a schematic block diagram of a data transmission device according to an embodiment of the present application.
  • Fig. 6 shows a schematic block diagram of another data transmission device according to an embodiment of the present application.
  • GSM global system for mobile communications
  • CDMA code division multiple access
  • WCDMA broadband code division multiple access
  • GPRS general packet radio service
  • LTE long term evolution
  • FDD frequency division duplex
  • TDD LTE Time division duplex
  • UMTS universal mobile telecommunication system
  • WiMAX worldwide interoperability for microwave access
  • SCMA sparse code multiple access
  • OFDM orthogonal Frequency division multiplexing
  • FBMC filter bank multi-carrier
  • GFDM generalized frequency division multiplexing
  • filtered-OFDM filtered-OFDM, F-OFDM
  • the technical solutions of the embodiments of the present application can also be widely applied to satellite communication networks, wireless sensor networks, and Internet of Things (IoT) systems.
  • IoT Internet of Things
  • the nodes in the embodiments of the present application may be terminal devices or network devices.
  • the aforementioned terminal equipment may refer to user equipment, access terminal, user unit, user station, mobile station, mobile station, remote station, remote terminal, mobile device, user terminal, terminal, wireless communication device, user agent, or user device.
  • the terminal device can also be a cellular phone, a cordless phone, a session initiation protocol (session initiation protocol, SIP) phone, a wireless local loop (WLL) station, a personal digital assistant (personal digital assistant, PDA), with wireless communication Functional handheld devices, computing devices or other processing devices connected to wireless modems, in-vehicle devices, wearable devices, terminal devices in the future 5G network, or future evolution of the public land mobile network (PLMN) Terminal equipment, etc., this embodiment of the present application is not limited thereto.
  • PLMN public land mobile network
  • the above-mentioned network equipment may be equipment used to communicate with terminal equipment.
  • the network equipment may be a base station in the global system for mobile communications (GSM) system or code division multiple access (CDMA).
  • Transceiver station, BTS can also be a base station (NodeB, NB) in a wideband code division multiple access (WCDMA) system, or an evolved base station (evoled NodeB, eNB, or eNodeB) in an LTE system ), it can also be a wireless controller in a cloud radio access network (cloud radio access network, CRAN) scenario, or the network device can be a relay station, an access point, an in-vehicle device, a wearable device, and a network in the future 5G network
  • the device or the network device in the future evolved PLMN network, etc. are not limited in the embodiment of the present application.
  • the terminal device or the network device includes a hardware layer, an operating system layer running on the hardware layer, and an application layer running on the operating system layer.
  • the hardware layer includes hardware such as a central processing unit (CPU), a memory management unit (MMU), and memory (also referred to as main memory).
  • the operating system can be any one or more computer operating systems that implement business processing through processes, for example, Linux operating systems, Unix operating systems, Android operating systems, iOS operating systems, or windows operating systems.
  • the application layer includes applications such as browsers, address books, word processing software, and instant messaging software.
  • the embodiments of the application do not specifically limit the specific structure of the execution body of the method provided in the embodiments of the application, as long as the program that records the codes of the methods provided in the embodiments of the application can be provided in accordance with the embodiments of the application.
  • the execution subject of the method provided in the embodiments of the present application may be a terminal device or a network device, or a functional module in the terminal device or the network device that can call and execute the program.
  • various aspects or features of the present application can be implemented as methods, devices, or products using standard programming and/or engineering techniques.
  • article of manufacture used in this application encompasses a computer program accessible from any computer-readable device, carrier, or medium.
  • computer-readable media may include, but are not limited to: magnetic storage devices (for example, hard disks, floppy disks, or tapes, etc.), optical disks (for example, compact discs (CD), digital versatile discs (DVD)) Etc.), smart cards and flash memory devices (for example, erasable programmable read-only memory (EPROM), cards, sticks or key drives, etc.).
  • various storage media described herein may represent one or more devices and/or other machine-readable media for storing information.
  • machine-readable medium may include, but is not limited to, wireless channels and various other media capable of storing, containing, and/or carrying instructions and/or data.
  • Fig. 1 shows a schematic diagram of a communication system suitable for an embodiment of the present application.
  • the communication system 100 may include a source node, a destination node, and an intermediate node, where nodes 1 to 6 are all intermediate nodes.
  • the source node may also be called the sending node or the sending end
  • the destination node may also be called the receiving node or the receiving end.
  • FIG. 1 exemplarily shows 8 nodes.
  • the network architecture 100 may include other numbers of nodes (the number of nodes may be greater than 8, or less than 8), and there may be Other network topologies are not limited in this embodiment of the application.
  • node 1 node 2, node 3, node 4, node 5, node 6
  • node 2 node 3
  • node 4 node 5
  • node 6 node 6
  • Path 1 Source node—>Intermediate node 1—>Destination node;
  • Path 2 Source node—>Intermediate node 1—>Intermediate node 2—>Intermediate node 3—>Destination node;
  • Path 3 Source node—>Intermediate node 1—>Intermediate node 3—>Destination node;
  • Path 4 Source node—>Intermediate node 2—>Intermediate node 3—>Destination node;
  • Path 5 Source node—>Intermediate node 6—>Intermediate node 5—>Intermediate node 4—>Destination node;
  • Path 6 Source node—>Intermediate node 6—>Intermediate node 2—>Intermediate node 5—>Intermediate node 3—>Intermediate node 4—>Destination node.
  • BATS codes Batched sparse codes
  • BATS code combines the advantages of fountain code without feedback, network coding allows intermediate nodes to participate in data processing, and reduces the overhead of combining coefficient vectors.
  • the BATS code has smaller coding and decoding complexity, the data packet header is smaller, and the intermediate nodes of the network require less buffering.
  • BATS code has a higher transmission rate and is no bit rate.
  • Batch sparse coding includes three processes: sender encoding, intermediate node re-encoding, and receiver decoding.
  • Figure 2 shows a schematic diagram of batch sparse coding.
  • All symbols and operations in BATS encoding and decoding are performed on the finite field Fq (q is generally 256). Assuming that the number of data packets to be encoded is K, the number of batches is n, and each batch contains M encoded data packets.
  • the n batches obtained after encoding are X 1 , X 2 ,..., X n , which are expressed as:
  • d i
  • G i is d i ⁇ M matrix of random, called a generator matrix. Theoretically, the number of batches n after encoding can be unlimited.
  • the BATS encoding transmission process can be shown in FIG. 2 , the dashed box at the generating matrix G i represents the generated batch, and the solid square in the dashed box represents the M encoded data packets in each batch.
  • the number of data packets arriving at the intermediate node in each batch may be less than M.
  • the intermediate node can use network coding for the data packets belonging to the same batch to regenerate M Data packets are forwarded to the next node, as shown in Figure 2.
  • the i-th batch that reaches the destination node can be expressed as:
  • Hi is a random matrix with M rows, called the transmission matrix.
  • the number of columns of Hi is equal to the number of data packets arriving at the destination node in the i-th batch. For different packets, this value may not be the same, but must be less than M.
  • the rank distribution can reflect the network performance Packet loss characteristics.
  • the commonly used decoding methods for BATS are belief propagation (BP) decoding and inactivation decoding.
  • BP belief propagation
  • rank (GH) is equal to the number of original data packets contained in this batch, the batch is solvable.
  • the original data packet contained in the solvable batch is called the solvable data packet.
  • BP decoding includes multiple iterations. In each iteration, a solvable data packet can be selected and brought into the associated and unsolvable batch. After being brought in, the data packet is marked as solvable, and the unsolvable batch may become solvable at this time. Then enter the next iteration. When there is no solvable data packet, the decoding ends.
  • Set-alive decoding is a decoding method with low computational complexity based on BP decoding.
  • the decoding process is: when the BP decoding cannot go on, randomly select a data packet that has not been solved, and regard it as a solvable data packet, which is called "set alive", and use this data packet for the data packet associated with it. Express. After that, the BP decoding iteration continues until all the original data packets have been decomposed or set alive. Finally, the Gaussian elimination method is used to decode the live data packets.
  • the number of data packets that are set alive can be referred to as the set alive number when decoding is set alive.
  • Table 1 lists the information carried in the above-mentioned encoded data packet, including the source node IP address (source IP address), destination node IP address (destination IP address), and next hop node IP address (next hop IP address). address), source packet length (packet size), source packet number (packet ID), encoded packet number (batch ID), number of encoded packets in each batch M, number of packets K, transmission matrix vector (vector) And the payload of the encoded packet (payload) and other information.
  • the present application proposes a data transmission method, system and device, which are beneficial to improve the transmission success rate of the encoded data packet and reduce the transmission delay of the encoded data packet.
  • the first, second, and various numerical numbers are only for easy distinction for description, and are not used to limit the scope of the embodiments of the present application. For example, distinguish different nodes, distinguish different transmission paths, and so on.
  • At least one refers to one or more, and "at least two” and “multiple” refer to two or more.
  • And/or describes the association relationship of the associated objects, indicating that there can be three relationships, for example, A and/or B, which can mean: A alone exists, A and B exist at the same time, and B exists alone, where A, B can be singular or plural.
  • the character “/” generally indicates that the associated objects before and after are in an “or” relationship.
  • the following at least one item (a) or similar expressions refers to any combination of these items, including any combination of a single item (a) or a plurality of items (a).
  • At least one of a, b, and c can mean: a, or b, or c, or a and b, or a and c, or b and c, or a, b and c, where a, b, c can be single or multiple.
  • FIG. 3 shows a schematic flowchart of a data transmission method 300 provided by an embodiment of the present application. This method can be applied to the communication system shown in FIG. 1, but the embodiment of the present application does not limit this.
  • the method 300 includes:
  • the first node determines at least two candidate transmission paths, and the at least two candidate transmission paths both start from the first node and end at the destination node.
  • the first node determines at least one transmission path from the at least two candidate transmission paths based on the remaining time delay of the encoded data packet, the received bandwidth of the encoded data packet, and the information of the at least two candidate transmission paths.
  • the first node sends the encoded data packet on the at least one transmission path.
  • At least one transmission path includes a first transmission path, and the next hop node of the first node on the first transmission path is intermediate node 1. Therefore, the first node forwards to intermediate node 1.
  • the encoded data packet is sent, and correspondingly, the intermediate node 1 receives the encoded data packet.
  • the first node determines that the current transmission path is congested, it reselects transmission based on the remaining delay of the encoded data packet, the receiving bandwidth of the encoded data packet, and the information of at least two candidate transmission paths
  • the path, through the new transmission path for data transmission, is beneficial to improve the transmission success rate of the encoded data packet and reduce the transmission delay of the encoded data packet.
  • first node may be a source node or an intermediate node on the current transmission path, which is not limited in the embodiment of the present application.
  • the above-mentioned current transmission path congestion can be a bandwidth-constrained scenario, such as congestion, packet loss, or congestion and packet loss coexist, that is, the current transmission path has a bottleneck, and redundancy cannot be added to resist packet loss damage, resulting in the failure of encoded data transmission.
  • the above-mentioned current transmission path congestion may refer to: the bandwidth of the current transmission path is limited, the encoded data packet is sent according to the original transmission matrix H, and the number of encoded data greater than or equal to rank(GH) cannot be received at the destination node Packet, causing the decoding to fail.
  • the first node determines that the current transmission path is congested, or is in a state of limited bandwidth, the first node can reselect the transmission path by using the method of the embodiment of the present application, so that the encoded data packet is successfully transmitted to the destination node .
  • the above-mentioned remaining delay may be calculated by the first node according to the service requirements of this data transmission.
  • the service requirement information of this data transmission carries the delay of this data transmission, and the first node may be based on the time delay. Calculate the remaining time delay of the encoded data packet and the time delay that has been consumed in the previous transmission process of the first node. It should be understood that if the first node is the source node, the remaining time delay of the encoded data packet is equal to the time delay of this data transmission.
  • the above-mentioned receiving bandwidth of the encoded data packet refers to the bandwidth of the encoded data packet that the destination node can receive when the encoded data packet reaches the destination node. Similar to the above-mentioned time delay of this data transmission, the receiving bandwidth of the encoded data packet can also be carried in the service requirement information of this data transmission, but this embodiment of the application does not limit this.
  • the first node may generate an encoded data packet carrying the following information, and send the encoded data packet to the next hop node on at least one transmission path.
  • the encoded data packet carries at least one of the following information:
  • Service requirement information used to indicate the delay requirement of this data transmission
  • the information of the at least one transmission path is used to indicate a node on the at least one transmission path
  • the processing type is used to instruct the next hop node that receives the encoded data packet to perform at least one of forwarding, re-encoding, or decoding on the encoded data packet.
  • Table 2 lists the information carried in the encoded data packet of the embodiment of this application, including the source node IP address (source IP address), destination node IP address (destination IP address), source packet number (packet ID), source packet Length (packet size), encoding packet number (batch ID), number of encoded packets in each batch M, number of packets K, encoding information, number of nodes, processing type (handle type), node ID, transmission matrix vector (vector) and the payload of the encoded packet (payload) and other information.
  • the IP address can also be replaced with a media access control (MAC) address or other addresses.
  • the encoding information can include the initial test timestamp of the encoded data bar, end-to-end delay requirements, bandwidth requirements, and other information, and the number of nodes Refers to the number of subsequent nodes on the selected transmission path (that is, at least one transmission path).
  • the processing type includes at least processing operations such as forwarding, re-encoding, and decoding.
  • the node ID refers to the identification of the node on at least one transmission path, and may be, for example, a node number.
  • the aforementioned at least two candidate transmission paths may be transmission paths from the first node to the destination node, and may include the current transmission path.
  • the information of the at least two candidate transmission paths may be a path table from the first node to the destination node, including the information of the next hop node of each node on the transmission path.
  • the at least two candidate transmission paths may include the following paths:
  • Path 1 Source node—>Intermediate node 1—>Destination node;
  • Path 2 Source node—>Intermediate node 1—>Intermediate node 2—>Intermediate node 3—>Destination node;
  • Path 3 Source node—>Intermediate node 1—>Intermediate node 3—>Destination node;
  • Path 4 Source node—>Intermediate node 2—>Intermediate node 3—>Destination node;
  • Path 5 Source node—>Intermediate node 6—>Intermediate node 5—>Intermediate node 4—>Destination node;
  • Path 6 Source node—>Intermediate node 6—>Intermediate node 2—>Intermediate node 5—>Intermediate node 3—>Intermediate node 4—>Destination node.
  • the above-mentioned first node may be the intermediate node 1, and the at least two candidate transmission paths may include the following paths:
  • Path 1 Intermediate node 1 -> destination node
  • Path 3 Intermediate node 1—>Intermediate node 3—>Intermediate node 4—>Destination node.
  • the first node may also be other intermediate nodes, such as node 2, node 3, etc., which depends on the current transmission path, and will not be repeated here.
  • the information of the at least two candidate transmission paths includes at least one of the following information:
  • the packet loss rate between nodes on each candidate transmission path is the packet loss rate between nodes on each candidate transmission path.
  • the first node in the embodiment of the present application may select the at least one transmission path from the at least two candidate transmission paths based on at least one of the transmission delay, recoding delay, available bandwidth, and packet loss rate. .
  • the above-mentioned information may be collectively referred to as transmission path information, or path information, or other names, which are not limited here.
  • the above-mentioned information may be obtained in advance by the first node.
  • the first node can obtain path information in all transmission paths associated with the first node, for example, including a list of nodes, transmission delay between nodes, and packet loss between nodes Rate and so on.
  • the at least one transmission path selected by the first node may be one transmission path or multiple transmission paths (or referred to as a composite transmission path), which is not limited in the embodiment of the present application.
  • a composite transmission path which is not limited in the embodiment of the present application.
  • At least one transmission path includes one transmission path, which is called the first transmission path.
  • the first transmission path satisfies the following conditions:
  • the sum of the transmission delays between nodes on the first transmission path is less than or equal to the remaining delay of the encoded data packet
  • the available bandwidth of the first transmission path is greater than or equal to the receiving bandwidth of the encoded data packet
  • the packet loss rates between nodes on the first transmission path are all less than or equal to the encoding packet loss recovery rate.
  • the transmission delay may include forwarding delay, and may also include forwarding delay and recoding delay, which is not limited in the embodiment of the present application. If the transmission delay only includes the forwarding delay, the above condition 1 can be replaced with the transmission delay between nodes on the first transmission path and the sum of the re-encoding delay is less than or equal to the remaining delay of the encoded data packet.
  • the aforementioned "available bandwidth of the first transmission path" may be replaced with the minimum value of the available bandwidth between nodes on the first transmission path.
  • the above “the packet loss rate between nodes on the first transmission path is less than or equal to the encoding loss recovery rate” can be replaced with the maximum value of the packet loss rate between nodes on the first transmission path being less than or equal to the encoding loss Recovery rate.
  • the encoded data packets to be transmitted include original data packets and redundant data packets.
  • the encoding loss recovery rate in this embodiment of the present application refers to the ratio of the number of redundant data packets to be transmitted to the number of original data packets. For example, if the number of original data packets is 10, in order to resist packet loss damage, the number of encoded data packets to be transmitted is 15, at this time, the encoding loss recovery rate is 50%.
  • the first node may screen from the determined at least two candidate transmission paths, and select the first transmission path that satisfies the foregoing conditions.
  • the first node may make a judgment one by one, and once a candidate transmission path that satisfies the above conditions is determined, the candidate transmission path is determined to be the first transmission path.
  • the first node may separately judge all the candidate transmission paths in the at least two candidate transmission paths, and screen out the candidate transmission paths that meet the above conditions.
  • the first node may determine the candidate transmission path as the first transmission path; if there are multiple candidate transmission paths that meet the above conditions, the first node may select one of the multiple candidate transmission paths that meet the conditions The candidate transmission path is taken as the first transmission path.
  • the first node may determine a candidate transmission path including the largest number of nodes as the first transmission path. In this way, a larger bandwidth can be obtained and the transmission reliability of the encoded data packet can be ensured.
  • the first node may determine a candidate transmission path including the least number of nodes as the first transmission path. In this way, a smaller transmission delay can be obtained, thereby improving the efficiency of data transmission.
  • the foregoing first node is the source node in the communication system shown in FIG. 1, and the foregoing first transmission path is source node—>intermediate node 1—>intermediate node 3—>destination node.
  • the intermediate node 1 is a forwarding node, that is, it does not re-encode the received encoded data packet, and directly forwards the received encoded data packet.
  • the intermediate node 2 is an encoding node, which can re-encode the received encoded data packet to compensate for the previous packet loss, and then forward it.
  • the first transmission path satisfies the above conditions, that is, the transmission delay from the source node to the intermediate node 1, the transmission delay from the intermediate node 1 to the intermediate node 3, the recoding delay of the intermediate node 3, and the transmission from the intermediate node 3 to the destination node.
  • the sum of the delays is less than or equal to the remaining delay of the encoded data packet, the available bandwidth of the transmission path is greater than or equal to the receiving bandwidth of the encoded data packet, the packet loss rate from the source node to the intermediate node 1, and the packet loss rate from the intermediate node 1 to the intermediate node 3
  • the packet loss rate and the packet loss rate from the intermediate node 3 to the destination node are all less than the coded packet loss recovery rate.
  • the method may further include the following steps:
  • the intermediate node 1 directly forwards the encoded data packet to the intermediate node 3; correspondingly, the intermediate node 3 receives the encoded data packet.
  • the intermediate node 1 receives an encoded data packet, and the processing type in the encoded data packet indicates "forwarding", that is, the intermediate node 1 is a forwarding node, and the intermediate node 1 can determine the intermediate node according to the information shown in Table 2 above. 1.
  • the IP address of the next hop node (ie, the intermediate node 3) on the first transmission path, and the encoded data packet is forwarded to the next hop node (ie, the intermediate node 3).
  • the intermediate node 1 needs to update the node information in the encoded data packet shown in Table 2, for example, delete the processing type and ID of the intermediate node 1, reduce the number of nodes by 1, and then send the updated node to the intermediate node 3. Encode the data packet.
  • S350 The intermediate node 3 re-encodes the encoded data packet to obtain a new encoded data packet.
  • the intermediate node 3 receives an encoded data packet, and the processing type in the encoded data packet indicates "re-encoding + forwarding", that is, the intermediate node 3 is an encoding node, and the intermediate node 3 can be based on the relationship between the intermediate node 3 and the destination node.
  • the packet loss rate is selected, and the transmission matrix is selected to re-encode the received data packet.
  • the intermediate node 3 can determine the IP address of the next hop node (that is, the destination node) of the intermediate node 3 on the first transmission path according to the information shown in Table 2 above, and forward the IP address to the next hop node (that is, the destination node).
  • the encoded data packet is the IP address of the next hop node (that is, the destination node) of the intermediate node 3 on the first transmission path according to the information shown in Table 2 above, and forward the IP address to the next hop node (that is, the destination node).
  • the intermediate node 3 needs to update the node information in the encoded data packet shown in Table 2, for example, delete the processing type and ID of the intermediate node 3, reduce the number of nodes by 1, and then send the updated code to the destination node data pack.
  • S360 The intermediate node 3 sends a new encoded data packet to the destination node, and correspondingly, the destination node receives the new encoded data packet.
  • the receiving node receives the encoded data packet, and can try to decode it according to the "decoding" indicated by the processing type.
  • the destination node can decode successfully.
  • the first node cannot send enough encoded data packets to the next node due to limited bandwidth, resulting in that the destination node cannot obtain enough encoded data packets to complete the decoding.
  • the first node can Reselect the transmission path, the total delay of the new transmission path is less than or equal to the remaining time delay of the encoded data packet at the first node, the packet loss rate between nodes is less than or equal to the encoding loss recovery rate, and the available bandwidth is greater than or equal to the encoding The receiving end bandwidth of the data packet.
  • some nodes can be set to be non-coding nodes, that is, simple forwarding nodes, and the nodes of the new transmission path complete the forwarding and re-encoding of the encoded data packet according to the path information indicated in the encoded data packet and the processing type of the node.
  • the transmission of the coded packet can be completed with a smaller bandwidth under the premise of meeting the time delay requirement, thereby solving the problem that the coded data packet cannot be transmitted on the original path.
  • the embodiment of the present application combines the principle of BATS coding, and uses time delay (which can still meet service requirements) to obtain a certain bandwidth gain, thereby solving the problem of bandwidth limitation.
  • At least one transmission path includes multiple transmission paths, which are referred to as at least two second transmission paths.
  • the aforementioned at least one transmission path includes at least two second transmission paths, and the at least two second transmission paths satisfy the following conditions:
  • the sum of transmission delays between nodes on at least two second transmission paths is less than or equal to the remaining delay of the encoded data packet
  • the sum of the available bandwidth of at least two second paths is greater than or equal to the receiving bandwidth of the encoded data packet
  • the packet loss rate between nodes in at least two second paths is less than or equal to the coded packet loss recovery rate.
  • the transmission delay may include forwarding delay, and may also include forwarding delay and recoding delay, which is not limited in the embodiment of the present application. If the transmission delay only includes the forwarding delay, the above condition 1 can be replaced with the transmission delay between the nodes on the second transmission path and the sum of the re-encoding delay is less than or equal to the remaining encoded data packet Time delay.
  • the above-mentioned "the packet loss rate between the nodes on the at least two second transmission paths is less than or equal to the encoding loss recovery rate" can be replaced with the maximum value of the packet loss rate between the nodes on the at least two second transmission paths Less than or equal to the code loss recovery rate.
  • the encoded data packets to be transmitted include original data packets and redundant data packets.
  • the encoding loss recovery rate in the embodiment of the present application refers to the ratio of the number of redundant data packets to be transmitted to the number of original data packets.
  • the first node may screen from the determined at least two candidate transmission paths, and select at least two second transmission paths that meet the above conditions.
  • the at least two second transmission paths may be referred to as a group of transmission paths. path.
  • the first node may make a judgment one by one, and once a group of candidate transmission paths meeting the above conditions is determined, the group of candidate transmission paths is determined to be at least two second transmission paths.
  • the first node may separately judge all the candidate transmission paths in the at least two candidate transmission paths, and filter out the combination of at least two candidate transmission paths that meet the above conditions, and if there is one If there are multiple sets of candidate transmission paths that meet the above conditions, the first node may determine the set of candidate transmission paths as at least two second transmission paths; if there are multiple sets of candidate transmission paths that meet the above conditions, the first node may select A group of candidate transmission paths is selected from the group of candidate transmission paths that meet the conditions, and used as at least two second transmission paths. Exemplarily, the first node may determine a group of candidate transmission paths including the largest number of nodes as the at least two second transmission paths.
  • the first node may determine a group of candidate transmission paths including the least number of nodes as the at least two second transmission paths. In this way, a smaller transmission delay can be obtained, thereby improving the efficiency of data transmission.
  • FIG. 4 shows a schematic flowchart of another data transmission method according to an embodiment of the present application.
  • S410-S420 are the same as the above-mentioned S310-S320, and will not be repeated here.
  • the above-mentioned at least two second transmission paths may include the following two transmission paths:
  • Path 1 Intermediate node 1 -> destination node
  • Path 2 Intermediate node 1—>Intermediate node 3—>Destination node.
  • the coding node of the intermediate node 1 has a path reselection function, and the transmission path can be reselected according to the process shown in the above method 300.
  • the sum of the available bandwidth of path 1 and path 2 is greater than or equal to the receiving bandwidth of the encoded data packet, and the sum of the transmission delay and re-encoding delay of path 1 and path 2 is less than or equal to the remaining delay of the encoded data packet.
  • the packet loss rate between the nodes of 1 and path 2 is less than or equal to the coded packet loss recovery rate.
  • the method may further include the following steps:
  • the intermediate node 1 sends a part of the encoded data packet to the destination node; correspondingly, the destination node receives the encoded data packet.
  • the intermediate node 1 sends another part of the encoded data packet to the intermediate node 3; correspondingly, the intermediate node 3 receives the encoded data packet.
  • the intermediate node 1 may be at least according to the available bandwidth of each of the at least two second transmission paths and the transmission delay between nodes on each second transmission path.
  • the two second transmission paths distribute the encoded data packets; the intermediate node 1 sends the encoded data packets on at least two second transmission paths respectively.
  • the intermediate node 1 re-encodes the encoded data packet, and distributes the re-encoded encoded data packet to Path 1 and Path 2 in a ratio of 2:1.
  • the packet loss rates of the at least two second transmission paths described above may also be used as a parameter for allocating encoded data packets between the paths.
  • the intermediate node 1 may consider that the packet loss rate is proportional to the assigned coded data packet, while meeting other conditions. Assume that the packet loss rate of path 1 is 20%, the available bandwidth is 10, the packet loss rate of path 2 is 10%, the available bandwidth is 10, and the receiving bandwidth of the encoded data packet is 15. According to the packet loss rate, the coded data packets need to be distributed 2:1 on Path 1 and Path 2, and the available bandwidth limits the allocation quota. Taking the above constraints into consideration, the intermediate node 1 can send 10 coded data on Path 1. Packets, the destination node can receive 8 encoded data packets, send 8 encoded data packets on path 2, and the destination node can receive 7 encoded data packets. In this way, the total receiving bandwidth can reach 15.
  • S450 The intermediate node 3 re-encodes the encoded data packet to obtain a new encoded data packet.
  • the intermediate node 3 receives an encoded data packet, and the processing type in the encoded data packet indicates "re-encoding + forwarding", that is, the intermediate node 3 is an encoding node, and the intermediate node 3 can be based on the relationship between the intermediate node 3 and the destination node.
  • the packet loss rate is selected, and the transmission matrix is selected to re-encode the received data packet.
  • the intermediate node 3 can determine the IP address of the next hop node (that is, the destination node) of the intermediate node 3 on the path 2 according to the information shown in Table 2 above, and forward it to the next hop node (that is, the destination node) after re-encoding Packets.
  • the intermediate node 3 needs to update the node information in the encoded data packet shown in Table 2, for example, delete the processing type and ID of the intermediate node 3, reduce the number of nodes by 1, and then send the updated code to the destination node data pack.
  • S460 The intermediate node 3 sends a new encoded data packet to the destination node, and correspondingly, the destination node receives the new encoded data packet.
  • the receiving node receives the encoded data packets through the above multiple transmission paths, and can summarize the received encoded data packets, and can try to decode according to the "decoding" indicated by the processing type.
  • the receiving node is greater than or equal to rank( When the data packet of GH) is encoded, the destination node can decode successfully.
  • first node in the above case 1 is the source node
  • first node in the case 2 is the intermediate node 1.
  • the first node may first determine whether there is a transmission path that satisfies the condition of case 1, and if there is no transmission path that satisfies the condition of case 1, the first node then determines whether there is a transmission path that satisfies the condition of case 2.
  • the embodiment of the application solves the problem that the original path cannot support the transmission of coded packets through the selection of the composite path, and other single transmission paths cannot meet the transmission requirements, but there are scenarios where the composite path meets the transmission of coded packets, which improves the data transmission. flexibility.
  • the sending, by the first node, the encoded data packet on the at least one transmission path includes:
  • the first node sends the encoded data packet on the at least one transmission path, and the encoded data packet carries the processing type of the node on the at least one transmission path.
  • the first node may determine the processing type of the node on the at least one transmission path after selecting the at least one transmission path. For example, the first node may determine the role of the node on at least one transmission path based on information such as the delay, packet loss rate, and available bandwidth on at least one transmission path, and set the role of each node in the encoded data packet
  • the processing type (handle type) is to determine the processing type of the node in Table 2 above.
  • the available bandwidth of source node—>intermediate node 1 is kbps, and the packet loss rate is 10%.
  • the available bandwidth of intermediate node 1—>intermediate node 3 is m bps, and the packet loss rate is 30%.
  • the available bandwidth of intermediate node 3—>destination node is kbps, and the packet loss rate is 10%.
  • Intermediate node 1 and intermediate node 3 The re-encoding delay is 5ms, and the forwarding delay is 1ms.
  • the first node needs to consider the resistance to 30% packet loss, and the encoding bandwidth is n bps, n ⁇ k and n ⁇ m. If the remaining delay of the encoded data packet does not exceed 20ms, the first node can set both intermediate node 1 and intermediate node 3 as re-encoding nodes, because the total delay meets the requirements; if the remaining delay of the encoded data packet does not exceed 10ms, the first node A node can choose to let the intermediate node 1 re-encode and the intermediate node 3 only forwards, or let the intermediate node 1 only forward and the intermediate node 3 re-encode, so that the total delay meets the requirement.
  • FIG. 5 shows a data transmission device 500 provided by an embodiment of the present application.
  • the device 500 may be the above-mentioned first node, or may be a chip in the first node.
  • the device 500 includes: a processing unit 510 and a transceiver unit 520.
  • the apparatus 500 is configured to execute each process and step corresponding to the first node in the foregoing method embodiment.
  • the processing unit 510 is configured to: when the current transmission path is congested, determine at least two candidate transmission paths, the at least two candidate transmission paths both start from the device and end at the destination node; and, based on The remaining time delay of the encoded data packet, the reception bandwidth of the encoded data packet, and the information of the at least two candidate transmission paths, determine at least one transmission path from the at least two candidate transmission paths; the transceiver unit 520 is configured to: Sending the encoded data packet on the at least one transmission path.
  • the information of the at least two candidate transmission paths includes at least one of the following information: transmission delay between nodes on each candidate transmission path in the at least two candidate transmission paths; The recoding delay of the nodes on the candidate transmission path; the available bandwidth of each candidate transmission path; or, the packet loss rate between the nodes on each candidate transmission path.
  • the at least one transmission path includes a first transmission path, and the first transmission path satisfies the following condition: the sum of transmission delays between nodes on the first transmission path is less than or equal to the encoded data The remaining delay of the packet; the available bandwidth of the first transmission path is greater than or equal to the receiving bandwidth of the encoded data packet; the packet loss rate between nodes on the first transmission path is less than or equal to the encoding loss recovery Rate.
  • the at least one transmission path includes at least two second transmission paths, and the at least two second transmission paths satisfy the following condition: transmission delay between nodes on the at least two second transmission paths The sum is less than or equal to the remaining delay of the encoded data packet; the sum of the available bandwidth of the at least two second paths is greater than or equal to the receiving bandwidth of the encoded data packet; The packet loss rate between nodes is less than or equal to the coded packet loss recovery rate.
  • the processing unit 510 is specifically configured to: according to the available bandwidth of each of the at least two second transmission paths and the transmission time between nodes on each of the second transmission paths Extension, allocating the coded data packet to the at least two second transmission paths; the transceiving unit 520 is specifically configured to send the coded data packet on the at least two second transmission paths respectively.
  • the at least one transmission path is a path with the largest number of nodes among paths meeting the condition among the at least two candidate transmission paths.
  • the processing unit 510 is further configured to determine a processing type of a node on the at least one transmission path according to the information of the at least one transmission path, and the processing type includes forwarding, re-encoding, or decoding.
  • the transceiving unit 520 is configured to send the encoded data packet on the at least one transmission path, the encoded data packet carrying the processing type of the node on the at least one transmission path.
  • the encoded data packet carries at least one of the following information: service requirement information, used to indicate the delay requirement of the current data transmission; information of the at least one transmission path, used to indicate the at least one transmission Node on the path; processing type, used to instruct the next hop node that receives the encoded data packet to perform at least one of forwarding, re-encoding, or decoding on the encoded data packet.
  • service requirement information used to indicate the delay requirement of the current data transmission
  • information of the at least one transmission path used to indicate the at least one transmission Node on the path
  • processing type used to instruct the next hop node that receives the encoded data packet to perform at least one of forwarding, re-encoding, or decoding on the encoded data packet.
  • the device 500 here is embodied in the form of a functional unit.
  • the term "unit” here can refer to application specific integrated circuits (ASICs), electronic circuits, processors used to execute one or more software or firmware programs (such as shared processors, proprietary processors, or groups). Processor, etc.) and memory, merged logic circuits, and/or other suitable components that support the described functions.
  • ASICs application specific integrated circuits
  • the apparatus 500 may be specifically the first node in the above-mentioned embodiment, and the apparatus 500 may be used to execute various processes and/or processes corresponding to the first node in the above-mentioned method embodiment. Steps, in order to avoid repetition, will not be repeated here.
  • the apparatus 500 of each of the foregoing solutions has the function of implementing the corresponding steps executed by the first node in the foregoing method; the foregoing functions may be implemented by hardware, or may be implemented by hardware executing corresponding software.
  • the hardware or software includes one or more modules corresponding to the above-mentioned functions.
  • the above-mentioned transceiver unit 510 may include a sending unit and a receiving unit, and the sending unit may be used to implement various steps and/or procedures for performing the sending action corresponding to the above-mentioned transceiver unit, and the receiving unit may be used to implement the above-mentioned transceiver unit.
  • the various steps and/or processes used to perform the receiving action The sending unit can be replaced by a transmitter, and the receiving unit can be replaced by a receiver, respectively performing the receiving and sending operations and related processing operations in each method embodiment.
  • the device 500 in FIG. 5 may also be a chip or a chip system, such as a system on chip (system on chip, SoC).
  • the transceiver unit 510 may be the transceiver circuit of the chip, which is not limited here.
  • FIG. 6 shows another data transmission device 600 provided by an embodiment of the present application.
  • the device 600 includes a processor 610, a transceiver 620, and a memory 630.
  • the processor 610, the transceiver 620, and the memory 630 communicate with each other through an internal connection path.
  • the memory 630 is used to store instructions, and the processor 610 is used to execute the instructions stored in the memory 630 to control the transceiver 620 to send signals and / Or receive the signal.
  • the processor 610 is configured to: when the current transmission path is congested, determine at least two candidate transmission paths, the at least two candidate transmission paths both start from the device and end at the destination node; and , Determining at least one transmission path from the at least two candidate transmission paths based on the remaining time delay of the encoded data packet, the receiving bandwidth of the encoded data packet, and the information of the at least two candidate transmission paths; the transceiver 620 is configured to : Sending the encoded data packet on the at least one transmission path.
  • the apparatus 600 may be specifically the first node in the foregoing embodiment, and may be used to execute each step and/or process corresponding to the first node in the foregoing method embodiment.
  • the memory 630 may include a read-only memory and a random access memory, and provide instructions and data to the processor. A part of the memory may also include a non-volatile random access memory.
  • the memory can also store device type information.
  • the processor 610 may be used to execute instructions stored in the memory, and when the processor 610 executes the instructions stored in the memory, the processor 610 is used to execute each of the foregoing method embodiments corresponding to the terminal device or the network device. Steps and/or processes.
  • the transceiver 620 may include a transmitter and a receiver, and the transmitter may be used to implement various steps and/or processes for performing the sending action corresponding to the above transceiver, and the receiver may be used to implement the corresponding use of the above transceiver. To perform the various steps and/or processes of the receiving action.
  • the processor of the above-mentioned device may be a central processing unit (CPU), and the processor may also be other general-purpose processors, digital signal processors (DSP), or application-specific integrated circuits. (ASIC), Field Programmable Gate Array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc.
  • the general-purpose processor may be a microprocessor or the processor may also be any conventional processor or the like.
  • each step of the above method can be completed by an integrated logic circuit of hardware in the processor or instructions in the form of software.
  • the steps of the method disclosed in the embodiments of the present application may be directly embodied as being executed and completed by a hardware processor, or executed and completed by a combination of hardware and software units in the processor.
  • the software unit may be located in a mature storage medium in the field, such as random access memory, flash memory, read-only memory, programmable read-only memory, or electrically erasable programmable memory, registers.
  • the storage medium is located in the memory, and the processor executes the instructions in the memory and completes the steps of the above method in combination with its hardware. To avoid repetition, it will not be described in detail here.
  • the disclosed system, device, and method can be implemented in other ways.
  • the device embodiments described above are merely illustrative.
  • the division of the above-mentioned units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components may be combined or may be Integrate into another system, or some features can be ignored or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may also be electrical, mechanical or other forms of connection.
  • the units described above as separate components may or may not be physically separate, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments of the present application.
  • the functional units in the various embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit can be implemented in the form of hardware or software functional unit.
  • the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium.
  • the technical solution of this application is essentially or the part that contributes to the existing technology, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium. It includes several instructions to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the method described in each embodiment of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (read-only memory, ROM), random access memory (random access memory, RAM), magnetic disks or optical disks and other media that can store program codes. .

Abstract

Provided in the present application are a data transmission method, system and device, which are beneficial for improving the success rate of transmission of an encoded data packet and reducing the latency of transmission of the encoded data packet. The method comprises: when congestion occurs in the current transmission path, a first node determining at least two candidate transmission paths, wherein the at least two candidate transmission paths all take the first node as a starting point and a destination node as an end point; on the basis of the remaining time delay of an encoded data packet, a reception bandwidth for the encoded data packet, and information of the at least two candidate transmission paths, the first node determining at least one transmission path from among the at least two candidate transmission paths; and the first node sending the encoded data packet on the at least one transmission path.

Description

数据传输的方法、***和装置Method, system and device for data transmission
本申请要求于2020年4月21日提交中国国家知识产权局、申请号为202010316063.3、申请名称为“数据传输的方法、***和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of a Chinese patent application filed with the State Intellectual Property Office of China, the application number is 202010316063.3, and the application name is "Methods, Systems and Devices for Data Transmission" on April 21, 2020, the entire contents of which are incorporated by reference In this application.
技术领域Technical field
本申请涉及通信领域,更具体地,涉及通信领域中一种数据传输的方法、***和装置。This application relates to the field of communications, and more specifically, to a method, system, and device for data transmission in the field of communications.
背景技术Background technique
信道编码技术可以在传输过程中将源码和根据源码产生的纠错码一起从源端发送到接收端,在传输过程中,会产生信息丢失或错误,例如,无线空口由于电磁干扰会产生比特丢失或错误,或者在因特网上,由于负责转发的路由器设备出现拥塞或闪断,造成数据包丢失等。接收端接收到经过信道编码技术处理的一部分源码以及纠错码时,可以根据收到的信息尝试恢复源码,但是,由于信道编码技术的差异,接收端可以恢复不同程度的传输损伤。Channel coding technology can send the source code and the error correction code generated according to the source code from the source to the receiver during the transmission process. During the transmission, information loss or errors will occur. For example, the wireless air interface will cause bit loss due to electromagnetic interference. Or error, or on the Internet, due to congestion or flash interruption of the router device responsible for forwarding, resulting in data packet loss. When the receiving end receives a part of the source code and error correction code processed by the channel coding technology, it can try to restore the source code according to the received information. However, due to the difference in channel coding technology, the receiving end can recover different degrees of transmission damage.
分批稀疏编码(batched sparse codes,BATS codes)是针对网络中存在丢包现象而设计的编码方案。BATS结合了传统编码技术的优点,通过结合低密度奇偶校验码(low density parity check,LDPC)和行程长度编码(run-length encoding,RNLC)两种编码技术,可以以较为经济的冗余带宽和计算难度恢复多跳网络中的传输损伤。但是,分批稀疏编码在网络中传输时,可能遇到带宽受限的场景,例如拥塞、丢包等,导致编码数据传输失败。Batched sparse codes (BATS codes) are coding schemes designed for the phenomenon of packet loss in the network. BATS combines the advantages of traditional encoding technologies. By combining low-density parity-check (LDPC) and run-length encoding (RNLC) two encoding technologies, it can achieve economical redundant bandwidth. And calculation difficulty to recover the transmission damage in the multi-hop network. However, when batch sparse coding is transmitted in the network, it may encounter bandwidth-constrained scenarios, such as congestion, packet loss, etc., which may cause the transmission of coded data to fail.
发明内容Summary of the invention
本申请提供一种数据传输的方法、***和装置,有利于提高编码数据包的传输成功率,降低编码数据包的传输时延。The present application provides a data transmission method, system and device, which are beneficial to improve the transmission success rate of encoded data packets and reduce the transmission delay of encoded data packets.
第一方面,提供了一种数据传输的方法,包括:在当前传输路径出现拥塞的情况下,第一节点确定至少两条候选传输路径,所述至少两条候选传输路径均以所述第一节点为起点、以目的节点为终点;所述第一节点基于编码数据包的剩余时延、编码数据包的接收带宽以及所述至少两条候选传输路径的信息,从所述至少两条候选传输路径中确定至少一条传输路径;所述第一节点在所述至少一条传输路径上发送所述编码数据包。In a first aspect, a data transmission method is provided, which includes: in a case where the current transmission path is congested, a first node determines at least two candidate transmission paths, and the at least two candidate transmission paths are all based on the first The node is the starting point and the destination node is the end point; the first node transmits from the at least two candidate transmission paths based on the remaining delay of the encoded data packet, the receiving bandwidth of the encoded data packet, and the information of the at least two candidate transmission paths At least one transmission path is determined among the paths; the first node sends the encoded data packet on the at least one transmission path.
本申请实施例的数据传输的方法,通过第一节点确定当前传输路径出现拥塞之后,基于编码数据包的剩余时延、编码数据包的接收带宽以及至少两条候选传输路径的信息,重新选择传输路径,通过新的传输路径进行数据传输,有利于提高编码数据包的传输成功率,降低编码数据包的传输时延。In the data transmission method of the embodiment of the present application, after the first node determines that the current transmission path is congested, it reselects transmission based on the remaining delay of the encoded data packet, the receiving bandwidth of the encoded data packet, and the information of at least two candidate transmission paths The path, through the new transmission path for data transmission, is beneficial to improve the transmission success rate of the encoded data packet and reduce the transmission delay of the encoded data packet.
应理解,上述第一节点可以是源节点,也可以是当前传输路径上的中间节点,本申请实施例对此不作限定。It should be understood that the foregoing first node may be a source node or an intermediate node on the current transmission path, which is not limited in the embodiment of the present application.
上述当前传输路径出现拥塞可以是带宽受限的场景,例如拥塞、丢包、或者拥塞和丢包并存,即当前传输路径存在瓶颈,不能通过增加冗余来抵抗丢包损伤,导致编码数据传输失败。示例性地,上述当前传输路径出现拥塞可以是指:当前传输路径的带宽受限,编码数据包按照原来的传输矩阵H发送,在目的节点无法收到数量大于或等于秩rank(GH)的编码 数据包,导致解码失败。在这种情况下,即第一节点确定当前传输路径拥塞,或者说处于带宽受限状态,该第一节点可以采用本申请实施例的方法重新选择传输路径,使得编码数据包成功传输至目的节点。The above-mentioned current transmission path congestion can be a bandwidth-constrained scenario, such as congestion, packet loss, or congestion and packet loss coexist, that is, the current transmission path has a bottleneck, and redundancy cannot be added to resist packet loss damage, resulting in the failure of encoded data transmission. . Exemplarily, the above-mentioned current transmission path congestion may refer to: the bandwidth of the current transmission path is limited, the coded data packet is sent according to the original transmission matrix H, and the number of codes greater than or equal to rank (GH) cannot be received at the destination node. Data packet, causing the decoding to fail. In this case, that is, the first node determines that the current transmission path is congested, or is in a state of limited bandwidth, the first node can reselect the transmission path by using the method of the embodiment of the present application, so that the encoded data packet is successfully transmitted to the destination node .
结合第一方面,在第一方面的某些实现方式中,所述至少两条候选传输路径的信息包括下列信息中的至少一个:所述至少两条候选传输路径中每条候选传输路径上的节点之间的传输时延;所述每条候选传输路径上的节点的再编码时延;所述每条候选传输路径的可用带宽;或,所述每条候选传输路径上的节点之间的丢包率。With reference to the first aspect, in some implementations of the first aspect, the information of the at least two candidate transmission paths includes at least one of the following information: The transmission delay between nodes; the recoding delay of the nodes on each candidate transmission path; the available bandwidth of each candidate transmission path; or, the transmission delay between nodes on each candidate transmission path Packet loss rate.
应理解,本申请实施例的第一节点可以基于上述传输时延、再编码时延、可用带宽以及丢包率等信息中的至少一个从上述至少两条候选传输路径中选择上述至少一条传输路径。上述信息可以统称为传输路径的信息、或者路径信息、或者其他名称,此处不作限定。上述信息可以是第一节点预先获取的。示例性地,在网络拓扑建立之后,第一节点可以获取与该第一节点相关联的所有传输路径中的路径信息,例如包括节点列表、节点之间的传输时延、节点之间的丢包率等等。It should be understood that the first node in the embodiment of the present application may select the at least one transmission path from the at least two candidate transmission paths based on at least one of the transmission delay, recoding delay, available bandwidth, and packet loss rate. . The above-mentioned information may be collectively referred to as transmission path information, or path information, or other names, which are not limited here. The above-mentioned information may be obtained in advance by the first node. Exemplarily, after the network topology is established, the first node may obtain path information in all transmission paths associated with the first node, for example, including a list of nodes, transmission delay between nodes, and packet loss between nodes Rate and so on.
结合第一方面,在第一方面的某些实现方式中,所述至少一条传输路径包括第一传输路径,所述第一传输路径满足如下条件:所述第一传输路径上的节点之间的传输时延之和小于或等于所述编码数据包的剩余时延;所述第一传输路径的可用带宽大于或等于所述编码数据包的接收带宽;所述第一传输路径上的节点之间的丢包率均小于或等于编码丢包恢复率。With reference to the first aspect, in some implementations of the first aspect, the at least one transmission path includes a first transmission path, and the first transmission path satisfies the following condition: The sum of the transmission delays is less than or equal to the remaining delay of the encoded data packet; the available bandwidth of the first transmission path is greater than or equal to the receiving bandwidth of the encoded data packet; between nodes on the first transmission path The packet loss rate is less than or equal to the coded packet loss recovery rate.
传输时延可以包括转发时延,也可以包括转发时延和再编码时延,本申请实施例对此不作限定。若传输时延仅包括转发时延,则上述条件“所述第一传输路径上的节点之间的传输时延之和小于或等于所述编码数据包的剩余时延”可以替换为第一传输路径上的节点之间的传输时延、再编码时延之和小于或等于所述编码数据包的剩余时延。上述“第一传输路径的可用带宽”可以替换为该第一传输路径上的节点之间的可用带宽的最小值。上述“第一传输路径上的节点之间的丢包率均小于或等于编码丢包恢复率”可以替换为第一传输路径上的节点之间的丢包率的最大值小于或等于编码丢包恢复率。待传输的编码数据包包括原始数据包和冗余数据包,本申请实施例中的编码丢包恢复率是指待传输的冗余数据包的数量与原始数据包的数量之比。例如,原始数据包的数量为10个,为了抵抗丢包损伤,待传输的编码数据包的数量为15个,此时编码丢包恢复率即为50%。The transmission delay may include forwarding delay, and may also include forwarding delay and recoding delay, which is not limited in the embodiment of the present application. If the transmission delay only includes the forwarding delay, the above condition "the sum of the transmission delays between nodes on the first transmission path is less than or equal to the remaining delay of the encoded data packet" can be replaced with the first transmission The sum of the transmission delay and the re-encoding delay between the nodes on the path is less than or equal to the remaining delay of the encoded data packet. The aforementioned "available bandwidth of the first transmission path" may be replaced with the minimum value of the available bandwidth between nodes on the first transmission path. The above “the packet loss rate between nodes on the first transmission path is less than or equal to the encoding loss recovery rate” can be replaced with the maximum value of the packet loss rate between nodes on the first transmission path being less than or equal to the encoding loss Recovery rate. The encoded data packets to be transmitted include original data packets and redundant data packets. The encoding loss recovery rate in the embodiment of the present application refers to the ratio of the number of redundant data packets to be transmitted to the number of original data packets. For example, if the number of original data packets is 10, in order to resist packet loss damage, the number of encoded data packets to be transmitted is 15, at this time, the encoding loss recovery rate is 50%.
在本申请实施例中,第一节点由于带宽受限而无法发送足够的编码数据包给下一节点,导致目的节点不能获得足够的编码数据包完成解码,在这种情况下,第一节点可以重新选择传输路径,新传输路径的总时延小于或等于编码数据包在第一节点的剩余时延,节点之间的丢包率小于或等于编码丢包恢复率,并且可用带宽大于或等于编码数据包的接收端带宽。此外,可以设置部分节点为非编码节点,即单纯的转发节点,新传输路径的节点按照编码数据包中指示的路径信息和节点的处理类型完成编码数据包的转发和再编码。通过以上处理,可以在满足时延要求的前提下,用更小的带宽完成编码包的传输,从而解决原始路径上无法传输编码数据包的问题。换句话说,本申请实施例结合了BATS编码的原理,利用牺牲时延(仍可满足业务要求)来获得一定的带宽增益,从而解决带宽受限的问题。In the embodiment of the present application, the first node cannot send enough encoded data packets to the next node due to limited bandwidth, resulting in that the destination node cannot obtain enough encoded data packets to complete the decoding. In this case, the first node can Reselect the transmission path, the total delay of the new transmission path is less than or equal to the remaining time delay of the encoded data packet at the first node, the packet loss rate between nodes is less than or equal to the encoding loss recovery rate, and the available bandwidth is greater than or equal to the encoding The receiving end bandwidth of the data packet. In addition, some nodes can be set to be non-coding nodes, that is, simple forwarding nodes, and the nodes of the new transmission path complete the forwarding and re-encoding of the encoded data packet according to the path information indicated in the encoded data packet and the processing type of the node. Through the above processing, the transmission of the coded packet can be completed with a smaller bandwidth under the premise of meeting the time delay requirement, thereby solving the problem that the coded data packet cannot be transmitted on the original path. In other words, the embodiment of the present application combines the principle of BATS coding, and uses time delay (which can still meet service requirements) to obtain a certain bandwidth gain, thereby solving the problem of bandwidth limitation.
结合第一方面,在第一方面的某些实现方式中,所述至少一条传输路径包括至少两条第二传输路径,所述至少两条第二传输路径满足如下条件:所述至少两条第二传输路径上的节点之间的传输时延之和小于或等于所述编码数据包的剩余时延;所述至少两条第二路径的可 用带宽之和大于或等于所述编码数据包的接收带宽;所述至少两条第二路径中的节点之间的丢包率均小于或等于编码丢包恢复率。With reference to the first aspect, in some implementations of the first aspect, the at least one transmission path includes at least two second transmission paths, and the at least two second transmission paths satisfy the following conditions: 2. The sum of the transmission delays between nodes on the transmission path is less than or equal to the remaining delay of the encoded data packet; the sum of the available bandwidth of the at least two second paths is greater than or equal to the reception of the encoded data packet Bandwidth; the packet loss rate between nodes in the at least two second paths is less than or equal to the encoding packet loss recovery rate.
应理解,传输时延可以包括转发时延,也可以包括转发时延和再编码时延,本申请实施例对此不作限定。若传输时延仅包括转发时延,则上述条件“所述至少两条第二传输路径上的节点之间的传输时延之和小于或等于所述编码数据包的剩余时延”可以替换为至少两条第二传输路径上的节点之间的传输时延、再编码时延之和小于或等于所述编码数据包的剩余时延。上述“至少两条第二传输路径上的节点之间的丢包率均小于或等于编码丢包恢复率”可以替换为至少两条第二传输路径上的节点之间的丢包率的最大值小于或等于编码丢包恢复率。待传输的编码数据包可以包括原始数据包和冗余数据包,本申请实施例中的编码丢包恢复率是指待传输的冗余数据包的数量与原始数据包的数量之比。It should be understood that the transmission delay may include forwarding delay, and may also include forwarding delay and recoding delay, which is not limited in the embodiment of the present application. If the transmission delay only includes the forwarding delay, the above condition "the sum of the transmission delays between the nodes on the at least two second transmission paths is less than or equal to the remaining delay of the encoded data packet" can be replaced with The sum of the transmission delay and the re-encoding delay between the nodes on the at least two second transmission paths is less than or equal to the remaining delay of the encoded data packet. The above-mentioned "the packet loss rate between the nodes on the at least two second transmission paths is less than or equal to the encoding loss recovery rate" can be replaced with the maximum value of the packet loss rate between the nodes on the at least two second transmission paths Less than or equal to the code loss recovery rate. The encoded data packets to be transmitted may include original data packets and redundant data packets. The encoding loss recovery rate in this embodiment of the present application refers to the ratio of the number of redundant data packets to be transmitted to the number of original data packets.
结合第一方面,在第一方面的某些实现方式中,在所述第一节点在所述至少一条传输路径上发送所述编码数据包之前,所述方法还包括:所述第一节点按照所述至少两条第二传输路径中每条第二传输路径的可用带宽和所述每条第二传输路径上的节点之间的传输时延,为所述至少两条第二传输路径分配所述编码数据包;所述第一节点在所述至少一条传输路径上发送所述编码数据包,包括:所述第一节点分别在所述至少两条第二传输路径上发送所述编码数据包。With reference to the first aspect, in some implementations of the first aspect, before the first node sends the encoded data packet on the at least one transmission path, the method further includes: the first node according to The available bandwidth of each of the at least two second transmission paths and the transmission delay between nodes on each of the second transmission paths are allocated to the at least two second transmission paths. The encoded data packet; the first node sending the encoded data packet on the at least one transmission path includes: the first node separately sending the encoded data packet on the at least two second transmission paths .
进一步地,第一节点也可以将上述至少两条第二传输路径的丢包率作为在路径间分配编码数据包的参数。Further, the first node may also use the packet loss rate of the at least two second transmission paths as a parameter for allocating encoded data packets between the paths.
本申请实施例通过复合路径的选取,解决了原路径不能支持编码包的传输的问题,以及其他单条传输路径也不能满足传输要求,但存在复合路径满足编码包传输的场景,提高了数据传输的灵活性。The embodiment of the application solves the problem that the original path cannot support the transmission of coded packets through the selection of the composite path, and other single transmission paths cannot meet the transmission requirements, but there are scenarios where the composite path meets the transmission of coded packets, which improves the data transmission. flexibility.
结合第一方面,在第一方面的某些实现方式中,所述至少一条传输路径为所述至少两条候选传输路径中满足所述条件的路径中、节点数量最多的路径。With reference to the first aspect, in some implementations of the first aspect, the at least one transmission path is the path with the largest number of nodes among the paths that satisfy the condition among the at least two candidate transmission paths.
在至少一条传输路径包括一条传输路径(即第一传输路径)的情况下,示例性地,第一节点可以将包括的节点数目最多的一条候选传输路径确定为上述第一传输路径。这样能够获得较大的带宽,保证编码数据包的传输可靠性。示例性地,第一节点可以将包括的节点数目最少的一条候选传输路径确定为上述第一传输路径。这样能够获得较小的传输时延,从而提高数据传输的效率。In a case where at least one transmission path includes one transmission path (ie, the first transmission path), for example, the first node may determine the candidate transmission path with the largest number of nodes included as the first transmission path. In this way, a larger bandwidth can be obtained and the transmission reliability of the encoded data packet can be ensured. Exemplarily, the first node may determine the candidate transmission path including the least number of nodes as the first transmission path. In this way, a smaller transmission delay can be obtained, thereby improving the efficiency of data transmission.
在至少一条传输路径包括至少两条传输路径的情况下,第一节点可以对至少两条候选传输路径中的所有候选传输路径分别进行判断,将满足条件的至少两条候选传输路径的组合筛选出来。示例性地,第一节点可以将包括的节点数目最多的一组候选传输路径确定为上述至少两条传输路径。这样能够获得较大的带宽,保证编码数据包的传输可靠性。示例性地,第一节点可以将包括的节点数目最少的一组候选传输路径确定为上述至少两条传输路径。这样能够获得较小的传输时延,从而提高数据传输的效率。In the case where at least one transmission path includes at least two transmission paths, the first node may separately judge all the candidate transmission paths in the at least two candidate transmission paths, and screen out the combination of at least two candidate transmission paths that meet the conditions . Exemplarily, the first node may determine a group of candidate transmission paths including the largest number of nodes as the above-mentioned at least two transmission paths. In this way, a larger bandwidth can be obtained and the transmission reliability of the encoded data packet can be ensured. Exemplarily, the first node may determine a group of candidate transmission paths including the least number of nodes as the above-mentioned at least two transmission paths. In this way, a smaller transmission delay can be obtained, thereby improving the efficiency of data transmission.
结合第一方面,在第一方面的某些实现方式中,在所述第一节点在所述至少一条传输路径上发送所述编码数据包之前,所述方法还包括:所述第一节点根据所述至少一条传输路径的信息,确定所述至少一条传输路径上的节点的处理类型,所述处理类型包括转发、再编码、或解码中的至少一项;所述第一节点在所述至少一条传输路径上发送所述编码数据包,包括:所述第一节点在所述至少一条传输路径上发送所述编码数据包,所述编码数据包携带所述至 少一条传输路径上的节点的处理类型。With reference to the first aspect, in some implementation manners of the first aspect, before the first node sends the encoded data packet on the at least one transmission path, the method further includes: the first node according to The information of the at least one transmission path determines the processing type of the node on the at least one transmission path, and the processing type includes at least one of forwarding, re-encoding, or decoding; Sending the encoded data packet on one transmission path includes: the first node sends the encoded data packet on the at least one transmission path, and the encoded data packet carries processing of nodes on the at least one transmission path type.
示例性地,为了进一步提高数据传输的效率,第一节点可以在选择上述至少一条传输路径之后,确定该至少一条传输路径上的节点的处理类型。例如,第一节点可以根据至少一条传输路径上的时延、丢包率、可用带宽等信息,来确定至少一条传输路径上的节点所承担的角色,并设定在编码数据包中每个节点的处理类型(handle type),即确定节点的处理类型。Exemplarily, in order to further improve the efficiency of data transmission, the first node may determine the processing type of the node on the at least one transmission path after selecting the at least one transmission path. For example, the first node may determine the role of the node on at least one transmission path based on information such as the delay, packet loss rate, and available bandwidth on at least one transmission path, and set the role of each node in the encoded data packet The processing type (handle type) is to determine the processing type of the node.
结合第一方面,在第一方面的某些实现方式中,所述编码数据包携带下列信息中的至少一个:业务要求信息,用于指示本次数据传输的时延要求;所述至少一条传输路径的信息,用于指示所述至少一条传输路径上的节点;处理类型,用于指示接收到所述编码数据包的下一跳节点对所述编码数据包执行转发、再编码、或解码中的至少一项处理。With reference to the first aspect, in some implementations of the first aspect, the encoded data packet carries at least one of the following information: service requirement information, which is used to indicate the delay requirement of this data transmission; the at least one transmission Path information is used to indicate the nodes on the at least one transmission path; the processing type is used to indicate that the next hop node that receives the encoded data packet performs forwarding, re-encoding, or decoding on the encoded data packet At least one of the treatments.
第二方面,提供了一种数据传输的装置,用于执行上述第一方面中任一种可能的实现方式中的方法。具体地,该装置包括用于执行上述第一方面中任一种可能的实现方式中的方法的单元。In a second aspect, a data transmission device is provided, which is used to execute the method in any one of the possible implementation manners of the first aspect. Specifically, the device includes a unit for executing the method in any one of the possible implementation manners of the above-mentioned first aspect.
第三方面,提供了另一种数据传输的装置,包括处理器,该处理器与存储器耦合,可用于执行存储器中的指令,以实现上述第一方面中任一种可能实现方式中的方法。可选地,该装置还包括存储器。可选地,该装置还包括通信接口,处理器与通信接口耦合。In a third aspect, another data transmission device is provided, including a processor, which is coupled to a memory and can be used to execute instructions in the memory to implement the method in any one of the possible implementation manners of the first aspect. Optionally, the device further includes a memory. Optionally, the device further includes a communication interface, and the processor is coupled with the communication interface.
在一种实现方式中,该数据传输的装置为传输节点。当该数据传输的装置为传输节点时,通信接口可以是收发器,或,输入/输出接口。In an implementation manner, the data transmission device is a transmission node. When the data transmission device is a transmission node, the communication interface may be a transceiver, or an input/output interface.
在另一种实现方式中,该数据传输的装置为配置于传输节点中的芯片。当该数据传输的装置为配置于传输节点中的芯片时,通信接口可以是输入/输出接口。In another implementation manner, the data transmission device is a chip configured in a transmission node. When the data transmission device is a chip configured in a transmission node, the communication interface may be an input/output interface.
第四方面,提供了一种处理器,包括:输入电路、输出电路和处理电路。处理电路用于通过输入电路接收信号,并通过输出电路发射信号,使得处理器执行上述第一方面中任一种可能实现方式中的方法。In a fourth aspect, a processor is provided, including: an input circuit, an output circuit, and a processing circuit. The processing circuit is configured to receive signals through the input circuit and transmit signals through the output circuit, so that the processor executes the method in any one of the possible implementation manners of the first aspect.
在具体实现过程中,上述处理器可以为芯片,输入电路可以为输入管脚,输出电路可以为输出管脚,处理电路可以为晶体管、门电路、触发器和各种逻辑电路等。输入电路所接收的输入的信号可以是由例如但不限于接收器接收并输入的,输出电路所输出的信号可以是例如但不限于输出给发射器并由发射器发射的,且输入电路和输出电路可以是同一电路,该电路在不同的时刻分别用作输入电路和输出电路。本申请实施例对处理器及各种电路的具体实现方式不做限定。In the specific implementation process, the above-mentioned processor may be a chip, the input circuit may be an input pin, the output circuit may be an output pin, and the processing circuit may be a transistor, a gate circuit, a flip-flop, and various logic circuits. The input signal received by the input circuit may be received and input by, for example, but not limited to, a receiver, and the signal output by the output circuit may be, for example, but not limited to, output to the transmitter and transmitted by the transmitter, and the input circuit and output The circuit can be the same circuit, which is used as an input circuit and an output circuit at different times. The embodiments of the present application do not limit the specific implementation manners of the processor and various circuits.
第五方面,提供了一种处理装置,包括处理器和存储器。该处理器用于读取存储器中存储的指令,并可通过接收器接收信号,通过发射器发射信号,以执行上述第一方面中任一种可能实现方式中的方法。In a fifth aspect, a processing device is provided, including a processor and a memory. The processor is used to read instructions stored in the memory, and can receive signals through a receiver, and transmit signals through a transmitter, so as to execute the method in any one of the possible implementation manners of the first aspect.
可选地,处理器为一个或多个,存储器为一个或多个。Optionally, there are one or more processors, and one or more memories.
可选地,存储器可以与处理器集成在一起,或者存储器与处理器分离设置。Optionally, the memory may be integrated with the processor, or the memory and the processor may be provided separately.
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请实施例对存储器的类型以及存储器与处理器的设置方式不做限定。In the specific implementation process, the memory can be a non-transitory (non-transitory) memory, such as a read only memory (ROM), which can be integrated with the processor on the same chip, or can be set in different On the chip, the embodiment of the present application does not limit the type of the memory and the setting mode of the memory and the processor.
应理解,相关的数据交互过程例如发送指示信息可以为从处理器输出指示信息的过程,接收能力信息可以为处理器接收输入能力信息的过程。具体地,处理输出的数据可以输出给发射器,处理器接收的输入数据可以来自接收器。其中,发射器和接收器可以统称为收发器。It should be understood that the related data interaction process, for example, sending instruction information may be a process of outputting instruction information from the processor, and receiving capability information may be a process of receiving input capability information by the processor. Specifically, the processed output data may be output to the transmitter, and the input data received by the processor may come from the receiver. Among them, the transmitter and receiver can be collectively referred to as a transceiver.
上述第五方面中的处理装置可以是一个芯片,该处理器可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外,独立存在。The processing device in the above fifth aspect may be a chip, and the processor may be implemented by hardware or software. When implemented by hardware, the processor may be a logic circuit, an integrated circuit, etc.; when implemented by software, When implemented, the processor may be a general-purpose processor, which is implemented by reading software codes stored in the memory. The memory may be integrated in the processor, may be located outside the processor, and exist independently.
第六方面,提供了一种计算机程序产品,计算机程序产品包括:计算机程序(也可以称为代码,或指令),当计算机程序被运行时,使得计算机执行上述第一方面中任一种可能实现方式中的方法。In a sixth aspect, a computer program product is provided. The computer program product includes: a computer program (also called code, or instruction), which when the computer program is executed, enables the computer to execute any one of the above-mentioned first aspects. The method in the way.
第七方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序(也可以称为代码,或指令)当其在计算机上运行时,使得计算机执行上述第一方面中任一种可能实现方式中的方法。In a seventh aspect, a computer-readable storage medium is provided, and the computer-readable storage medium stores a computer program (also called code, or instruction) when it runs on a computer, so that the computer executes the above-mentioned first aspect Any one of the possible implementation methods.
第八方面,提供了一种通信***,包括前述的第一节点和目的节点。In an eighth aspect, a communication system is provided, including the aforementioned first node and destination node.
附图说明Description of the drawings
图1示出了本申请实施例的通信***的示意图。Fig. 1 shows a schematic diagram of a communication system according to an embodiment of the present application.
图2示出了分批稀疏编码的编码传输过程的示意图。Fig. 2 shows a schematic diagram of the coding transmission process of batch sparse coding.
图3示出了本申请实施例的数据传输的方法的示意性流程图。FIG. 3 shows a schematic flowchart of a data transmission method according to an embodiment of the present application.
图4示出了本申请实施例的另一数据传输的方法的示意性流程图。FIG. 4 shows a schematic flowchart of another data transmission method according to an embodiment of the present application.
图5示出了本申请实施例的数据传输的装置的示意性框图。Fig. 5 shows a schematic block diagram of a data transmission device according to an embodiment of the present application.
图6示出了本申请实施例的另一数据传输的装置的示意性框图。Fig. 6 shows a schematic block diagram of another data transmission device according to an embodiment of the present application.
具体实施方式Detailed ways
下面将结合附图,对本申请中的技术方案进行描述。The technical solution in this application will be described below in conjunction with the accompanying drawings.
本申请实施例的技术方案可以应用于各种通信***,例如:全球移动通信(global system for mobile communications,GSM)***、码分多址(code division multiple access,CDMA)***、宽带码分多址(wideband code division multiple access,WCDMA)***、通用分组无线业务(general packet radio service,GPRS)、长期演进(long term evolution,LTE)***、LTE频分双工(frequency division duplex,FDD)***、LTE时分双工(time division duplex,TDD)、通用移动通信***(universal mobile telecommunication system,UMTS)、全球互联微波接入(worldwide interoperability for microwave access,WiMAX)通信***、未来的第五代(5th generation,5G)***或新无线(new radio,NR)等。The technical solutions of the embodiments of this application can be applied to various communication systems, such as: global system for mobile communications (GSM) system, code division multiple access (CDMA) system, broadband code division multiple access (wideband code division multiple access, WCDMA) system, general packet radio service (GPRS), long term evolution (LTE) system, LTE frequency division duplex (FDD) system, LTE Time division duplex (TDD), universal mobile telecommunication system (UMTS), worldwide interoperability for microwave access (WiMAX) communication system, the future fifth generation (5th generation, 5G) system or new radio (NR), etc.
还应理解,本申请实施例的技术方案还可以应用于各种基于非正交多址接入技术的通信***,例如稀疏码多址接入(sparse code multiple access,SCMA)***,当然SCMA在通信领域也可以被称为其他名称;进一步地,本申请实施例的技术方案可以应用于采用非正交多址接入技术的多载波传输***,例如采用非正交多址接入技术正交频分复用(orthogonal frequency division multiplexing,OFDM)、滤波器组多载波(filter bank multi-carrier,FBMC)、通用频分复用(generalized frequency division multiplexing,GFDM)、滤波正交频分复用(filtered-OFDM,F-OFDM)***等。It should also be understood that the technical solutions of the embodiments of the present application can also be applied to various communication systems based on non-orthogonal multiple access technologies, such as sparse code multiple access (SCMA) systems. Of course, SCMA is The field of communication can also be called other names; further, the technical solutions of the embodiments of the present application can be applied to a multi-carrier transmission system using non-orthogonal multiple access technology, for example, using non-orthogonal multiple access technology orthogonal Frequency division multiplexing (orthogonal frequency division multiplexing, OFDM), filter bank multi-carrier (FBMC), generalized frequency division multiplexing (GFDM), filtered orthogonal frequency division multiplexing ( filtered-OFDM, F-OFDM) system, etc.
本申请实施例的技术方案还可以广泛应用于卫星通信网络、无线传感网络和物联网(internet of things,IoT)***等。The technical solutions of the embodiments of the present application can also be widely applied to satellite communication networks, wireless sensor networks, and Internet of Things (IoT) systems.
本申请实施例中的节点(包括源节点、中间节点和目的节点)可以为终端设备,也可以为网络设备。The nodes (including source nodes, intermediate nodes, and destination nodes) in the embodiments of the present application may be terminal devices or network devices.
上述终端设备可以指用户设备、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。终端设备还可以是蜂窝电话、无绳电话、会话启动协议(session initiation protocol,SIP)电话、无线本地环路(wireless local loop,WLL)站、个人数字助理(personal digital assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备,未来5G网络中的终端设备或者未来演进的公用陆地移动通信网络(public land mobile network,PLMN)中的终端设备等,本申请实施例对此并不限定。The aforementioned terminal equipment may refer to user equipment, access terminal, user unit, user station, mobile station, mobile station, remote station, remote terminal, mobile device, user terminal, terminal, wireless communication device, user agent, or user device. The terminal device can also be a cellular phone, a cordless phone, a session initiation protocol (session initiation protocol, SIP) phone, a wireless local loop (WLL) station, a personal digital assistant (personal digital assistant, PDA), with wireless communication Functional handheld devices, computing devices or other processing devices connected to wireless modems, in-vehicle devices, wearable devices, terminal devices in the future 5G network, or future evolution of the public land mobile network (PLMN) Terminal equipment, etc., this embodiment of the present application is not limited thereto.
上述网络设备可以是用于与终端设备通信的设备,该网络设备可以是全球移动通信(global system for mobile communications,GSM)***或码分多址(code division multiple access,CDMA)中的基站(base transceiver station,BTS),也可以是宽带码分多址(wideband code division multiple access,WCDMA)***中的基站(NodeB,NB),还可以是LTE***中的演进型基站(evoled NodeB,eNB或eNodeB),还可以是云无线接入网络(cloud radio access network,CRAN)场景下的无线控制器,或者该网络设备可以为中继站、接入点、车载设备、可穿戴设备以及未来5G网络中的网络设备或者未来演进的PLMN网络中的网络设备等,本申请实施例并不限定。The above-mentioned network equipment may be equipment used to communicate with terminal equipment. The network equipment may be a base station in the global system for mobile communications (GSM) system or code division multiple access (CDMA). Transceiver station, BTS), can also be a base station (NodeB, NB) in a wideband code division multiple access (WCDMA) system, or an evolved base station (evoled NodeB, eNB, or eNodeB) in an LTE system ), it can also be a wireless controller in a cloud radio access network (cloud radio access network, CRAN) scenario, or the network device can be a relay station, an access point, an in-vehicle device, a wearable device, and a network in the future 5G network The device or the network device in the future evolved PLMN network, etc., are not limited in the embodiment of the present application.
在本申请实施例中,终端设备或网络设备包括硬件层、运行在硬件层之上的操作***层,以及运行在操作***层上的应用层。该硬件层包括中央处理器(central processing unit,CPU)、内存管理单元(memory management unit,MMU)和内存(也称为主存)等硬件。该操作***可以是任意一种或多种通过进程(process)实现业务处理的计算机操作***,例如,Linux操作***、Unix操作***、Android操作***、iOS操作***或windows操作***等。该应用层包含浏览器、通讯录、文字处理软件、即时通信软件等应用。并且,本申请实施例并未对本申请实施例提供的方法的执行主体的具体结构特别限定,只要能够通过运行记录有本申请实施例的提供的方法的代码的程序,以根据本申请实施例提供的方法进行通信即可,例如,本申请实施例提供的方法的执行主体可以是终端设备或网络设备,或者,是终端设备或网络设备中能够调用程序并执行程序的功能模块。In the embodiment of the present application, the terminal device or the network device includes a hardware layer, an operating system layer running on the hardware layer, and an application layer running on the operating system layer. The hardware layer includes hardware such as a central processing unit (CPU), a memory management unit (MMU), and memory (also referred to as main memory). The operating system can be any one or more computer operating systems that implement business processing through processes, for example, Linux operating systems, Unix operating systems, Android operating systems, iOS operating systems, or windows operating systems. The application layer includes applications such as browsers, address books, word processing software, and instant messaging software. Moreover, the embodiments of the application do not specifically limit the specific structure of the execution body of the method provided in the embodiments of the application, as long as the program that records the codes of the methods provided in the embodiments of the application can be provided in accordance with the embodiments of the application. For example, the execution subject of the method provided in the embodiments of the present application may be a terminal device or a network device, or a functional module in the terminal device or the network device that can call and execute the program.
另外,本申请的各个方面或特征可以实现成方法、装置或使用标准编程和/或工程技术的制品。本申请中使用的术语“制品”涵盖可从任何计算机可读器件、载体或介质访问的计算机程序。例如,计算机可读介质可以包括,但不限于:磁存储器件(例如,硬盘、软盘或磁带等),光盘(例如,压缩盘(compact disc,CD)、数字通用盘(digital versatile disc,DVD)等),智能卡和闪存器件(例如,可擦写可编程只读存储器(erasable programmable read-only memory,EPROM)、卡、棒或钥匙驱动器等)。另外,本文描述的各种存储介质可代表用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”可包括但不限于,无线信道和能够存储、包含和/或承载指令和/或数据的各种其它介质。In addition, various aspects or features of the present application can be implemented as methods, devices, or products using standard programming and/or engineering techniques. The term "article of manufacture" used in this application encompasses a computer program accessible from any computer-readable device, carrier, or medium. For example, computer-readable media may include, but are not limited to: magnetic storage devices (for example, hard disks, floppy disks, or tapes, etc.), optical disks (for example, compact discs (CD), digital versatile discs (DVD)) Etc.), smart cards and flash memory devices (for example, erasable programmable read-only memory (EPROM), cards, sticks or key drives, etc.). In addition, various storage media described herein may represent one or more devices and/or other machine-readable media for storing information. The term "machine-readable medium" may include, but is not limited to, wireless channels and various other media capable of storing, containing, and/or carrying instructions and/or data.
为便于理解本申请实施例,首先结合图1详细说明适用于本申请实施例的通信***。图1示出了适用于本申请实施例的通信***的示意图。如图1所示,该通信***100可以包括源节点、目的节点以及中间节点,其中,节点1~节点6均为中间节点。在本申请中,源节点也可以称为发送节点或发送端,目的节点也可以称为接收节点或接收端。In order to facilitate the understanding of the embodiments of the present application, a communication system applicable to the embodiments of the present application is first described in detail with reference to FIG. 1. Fig. 1 shows a schematic diagram of a communication system suitable for an embodiment of the present application. As shown in FIG. 1, the communication system 100 may include a source node, a destination node, and an intermediate node, where nodes 1 to 6 are all intermediate nodes. In this application, the source node may also be called the sending node or the sending end, and the destination node may also be called the receiving node or the receiving end.
应理解,图1示例性地示出了8个节点,可选地,该网络架构100可以包括其他数量的节点(节点的数量可以大于8,或者小于8),且这些节点之间还可以具有其他网络拓扑结构,本申请实施例对此不作限定。It should be understood that FIG. 1 exemplarily shows 8 nodes. Optionally, the network architecture 100 may include other numbers of nodes (the number of nodes may be greater than 8, or less than 8), and there may be Other network topologies are not limited in this embodiment of the application.
在图1所示的通信***中,针对一个源节点和一个目的节点,存在多条候选传输路径。具体而言,源节点与目的节点间存在中间节点(节点1、节点2、节点3、节点4、节点5、节点6),这些节点组成了从源节点到目的节点的如下多条路径:In the communication system shown in FIG. 1, there are multiple candidate transmission paths for one source node and one destination node. Specifically, there are intermediate nodes (node 1, node 2, node 3, node 4, node 5, node 6) between the source node and the destination node, and these nodes form the following multiple paths from the source node to the destination node:
路径1:源节点—>中间节点1—>目的节点;Path 1: Source node—>Intermediate node 1—>Destination node;
路径2:源节点—>中间节点1—>中间节点2—>中间节点3—>目的节点;Path 2: Source node—>Intermediate node 1—>Intermediate node 2—>Intermediate node 3—>Destination node;
路径3:源节点—>中间节点1—>中间节点3—>目的节点;Path 3: Source node—>Intermediate node 1—>Intermediate node 3—>Destination node;
路径4:源节点—>中间节点2—>中间节点3—>目的节点;Path 4: Source node—>Intermediate node 2—>Intermediate node 3—>Destination node;
路径5:源节点—>中间节点6—>中间节点5—>中间节点4—>目的节点;Path 5: Source node—>Intermediate node 6—>Intermediate node 5—>Intermediate node 4—>Destination node;
路径6:源节点—>中间节点6—>中间节点2—>中间节点5—>中间节点3—>中间节点4—>目的节点。Path 6: Source node—>Intermediate node 6—>Intermediate node 2—>Intermediate node 5—>Intermediate node 3—>Intermediate node 4—>Destination node.
上述6条路径仅仅是示例性说明,图1所示的源节点到目的节点之间还存在其他路径,此处不再一一列举。The above-mentioned six paths are merely illustrative, and there are other paths between the source node and the destination node shown in FIG. 1, and they will not be listed here.
为便于理解,下面先介绍本申请实施例涉及的分批稀疏编码。To facilitate understanding, the following first introduces the batch sparse coding involved in the embodiments of the present application.
分批稀疏编码(batched sparse codes,BATS codes)是针对网络中存在丢包现象而设计的编码方案。BATS码结合了喷泉码无需反馈、网络编码允许中间节点参与数据处理的优势,且降低了组合系数向量的开销。相比于一般的线性网络编码方案,BATS码具有较小的编解码复杂度,数据包头较小,网络中间节点所需缓存较少。相比于低复杂性的随机线性网络编码,如EC码、Gamma码、L-chunked码,BATS码具有更高的传输速率且是***率的。Batched sparse codes (BATS codes) are coding schemes designed for the phenomenon of packet loss in the network. BATS code combines the advantages of fountain code without feedback, network coding allows intermediate nodes to participate in data processing, and reduces the overhead of combining coefficient vectors. Compared with the general linear network coding scheme, the BATS code has smaller coding and decoding complexity, the data packet header is smaller, and the intermediate nodes of the network require less buffering. Compared with low-complexity random linear network coding, such as EC code, Gamma code, L-chunked code, BATS code has a higher transmission rate and is no bit rate.
下面先介绍分批稀疏编码的编解码原理。分批稀疏编码包括发送端编码、中间节点再编码和接收端解码三个过程。图2示出了分批稀疏编码的示意图。The following first introduces the coding and decoding principle of batch sparse coding. Batch sparse coding includes three processes: sender encoding, intermediate node re-encoding, and receiver decoding. Figure 2 shows a schematic diagram of batch sparse coding.
1、编码1. Coding
BATS编解码中所有符号和运算均在有限域Fq(q一般为256)上进行。假设待编码的数据包的数量为K,分批(batch)数量为n,每个batch包含M个编码数据包。待编码数据包(即原始数据包)编号为1~K,集合B=(1,…,K)表示所有数据包的集合,集合Bi[],B,i=1,…,n表示部分数据包的集合。编码后得到n个batch为X 1,X 2,…,X n,其表示为: All symbols and operations in BATS encoding and decoding are performed on the finite field Fq (q is generally 256). Assuming that the number of data packets to be encoded is K, the number of batches is n, and each batch contains M encoded data packets. The number of the data packet to be encoded (ie the original data packet) is 1~K, the set B=(1,...,K) represents the set of all data packets, and the set Bi[], B, i=1,..., n represents part of the data Collection of packages. The n batches obtained after encoding are X 1 , X 2 ,..., X n , which are expressed as:
X i=B iG i X i =B i G i
其中,令d i=|B i|,即B i中包含d i个原始数据包,称d i是batch X i的度,i=1,…,n,度di是独立同分布的随机变量,称其分布Ψ=(Ψ 1,…,Ψ k)为度分布(degree distribution),即Pr{d i=k}=Ψ k。G i是d i×M的随机矩阵,称为生成矩阵。理论上,编码后的batch数目n可以是无限的。 Wherein letting d i = | B i |, i.e., B i contains d i raw data packets, called d i is the degree of batch X i is, i = 1, ..., n , the degree of di random variables iid , And call its distribution Ψ=(Ψ 1 ,...,Ψ k ) the degree distribution, that is, Pr{d i =k}=Ψ k . G i is d i × M matrix of random, called a generator matrix. Theoretically, the number of batches n after encoding can be unlimited.
BATS编码传输过程可以如图2所示,生成矩阵G i处的虚线框表示生成的batch,虚线框内的实心方块表示每个batch内的M个编码数据包。 The BATS encoding transmission process can be shown in FIG. 2 , the dashed box at the generating matrix G i represents the generated batch, and the solid square in the dashed box represents the M encoded data packets in each batch.
2、传输2. Transmission
源节点或中间节点在传输数据包时,由于存在丢包现象,每个batch到达中间节点的数据包的数量可能少于M,中间节点可以对属于同一batch的数据包使用网络编码,重新产生M个数据包,并转发给下一节点,如图2所示。到达目的节点的第i个batch可以表示为:When the source node or intermediate node is transmitting data packets, due to packet loss, the number of data packets arriving at the intermediate node in each batch may be less than M. The intermediate node can use network coding for the data packets belonging to the same batch to regenerate M Data packets are forwarded to the next node, as shown in Figure 2. The i-th batch that reaches the destination node can be expressed as:
Y i=X iH i=B iG iH i Y i =X i H i =B i G i H i
这里,H i是一个M行的随机矩阵,称为传输矩阵。H i的列数等于第i个batch到达目的节点的数据包的数目,对于不同的分组,该值不一定相同,但一定小于M。对传输矩阵H,令h k∈Pr{rank(H)=k},称h=(h 0,…,h M)为传输矩阵的秩分布,简称为秩分布,秩分布可以反映出网络的丢包特性。 Here, Hi is a random matrix with M rows, called the transmission matrix. The number of columns of Hi is equal to the number of data packets arriving at the destination node in the i-th batch. For different packets, this value may not be the same, but must be less than M. For the transmission matrix H, let h k ∈Pr{rank(H)=k}, and call h=(h 0 ,..., h M ) as the rank distribution of the transmission matrix, which is referred to as the rank distribution for short. The rank distribution can reflect the network performance Packet loss characteristics.
3、解码3. Decoding
BATS常用的解码方法是置信传输(belief propagation,BP)解码和置活(inactivation)解码。经过编码和传输之后,接收端收到的信息是:n个batch Y i,i=1,…,n,数据包头信息中包含的传输矩阵H,通过收发端协商得到的生成矩阵G。于是,解码器可以使用的解码信息是(Y i,G iH i),i=1,…,n,即相当于求解线性方程组。对于一个batch,其生成矩阵G和传输矩阵H,rank(GH)等于这个batch包含的原始数据包数目时,该batch可解。可解的batch中包含的原始数据包,称为可解的数据包。 The commonly used decoding methods for BATS are belief propagation (BP) decoding and inactivation decoding. After encoding and transmission, the information received by the receiving end is: n batch Y i , i=1,...,n, the transmission matrix H contained in the header information of the data packet, and the generating matrix G obtained through negotiation by the transmitting and receiving end. Therefore, the decoding information that the decoder can use is (Y i , G i H i ), i=1,...,n, which is equivalent to solving a linear equation system. For a batch, when its generating matrix G and transmission matrix H, rank (GH) is equal to the number of original data packets contained in this batch, the batch is solvable. The original data packet contained in the solvable batch is called the solvable data packet.
BP解码包含多次迭代,每次迭代时,可以选择一个可解的数据包,将其带入与之关联且不可解的batch中。带入后,该数据包被标记已解,此时不可解的batch可能会变得可解。然后进入下一次迭代。当没有任何可解的数据包时,解码结束。BP decoding includes multiple iterations. In each iteration, a solvable data packet can be selected and brought into the associated and unsolvable batch. After being brought in, the data packet is marked as solvable, and the unsolvable batch may become solvable at this time. Then enter the next iteration. When there is no solvable data packet, the decoding ends.
当BP解码无法进行下去时,还可通过高斯消元法对剩余的batch进行解码,但高斯消元法的解码复杂度过高。置活解码是一种基于BP解码的计算复杂度较低的解码方式。其解码过程为,当BP解码无法进行下去时,随机选择一个尚未解出来的数据包,将其作为可解的数据包,称为“置活”,与之有关联的数据包用该数据包表示。之后继续进行BP解码迭代,直到所有的原始数据包均已解或置活。最后,再使用高斯消元法对置活的数据包进行解码。置活解码时,置活的数据包数目可以被称为置活数。置活数越多时,越多的数据包难以解出,使用高斯消元法带来的计算量也越大。When the BP decoding cannot go on, the remaining batch can also be decoded by the Gaussian elimination method, but the decoding complexity of the Gaussian elimination method is too high. Set-alive decoding is a decoding method with low computational complexity based on BP decoding. The decoding process is: when the BP decoding cannot go on, randomly select a data packet that has not been solved, and regard it as a solvable data packet, which is called "set alive", and use this data packet for the data packet associated with it. Express. After that, the BP decoding iteration continues until all the original data packets have been decomposed or set alive. Finally, the Gaussian elimination method is used to decode the live data packets. The number of data packets that are set alive can be referred to as the set alive number when decoding is set alive. The more the number of live-lives is, the more data packets are difficult to solve, and the greater the amount of calculation brought by the Gaussian elimination method.
示例性地,表一列出了上述编码数据包所携带的信息,其中包括源节点IP地址(source IP address)、目的节点IP地址(destination IP address)、下一跳节点IP地址(next hop IP address)、源包长度(packet size)、源包编号(packet ID)、编码包编号(batch ID)、每个batch内编码包的个数M、包的个数K、传输矩阵向量(vector)以及编码包的有效载荷(payload)等信息。Exemplarily, Table 1 lists the information carried in the above-mentioned encoded data packet, including the source node IP address (source IP address), destination node IP address (destination IP address), and next hop node IP address (next hop IP address). address), source packet length (packet size), source packet number (packet ID), encoded packet number (batch ID), number of encoded packets in each batch M, number of packets K, transmission matrix vector (vector) And the payload of the encoded packet (payload) and other information.
表一Table I
Figure PCTCN2021087213-appb-000001
Figure PCTCN2021087213-appb-000001
分批稀疏编码的编码包在网络中传输时,可能遇到带宽受限的场景,例如拥塞、丢包、或者拥塞和丢包并存,即当前传输路径存在瓶颈,不能通过增加冗余来抵抗丢包损伤,导致编码数据传输失败。例如,在上述图1所示的通信***中,假设源节点选择路径1进行传输,当节点1与目的节点之间出现了拥塞,不能满足编码所需带宽,即目的节点接收到的编码包 的数量小于rank(GH),则无法继续在路径1执行编码传输,传输失败。When batches of sparsely coded encoded packets are transmitted in the network, they may encounter bandwidth-constrained scenarios, such as congestion, packet loss, or the coexistence of congestion and packet loss, that is, there is a bottleneck in the current transmission path, and the loss cannot be resisted by increasing redundancy. The packet is damaged, causing the transmission of the encoded data to fail. For example, in the communication system shown in Figure 1 above, assuming that the source node selects path 1 for transmission, when congestion occurs between node 1 and the destination node, the bandwidth required for encoding cannot be met, that is, the encoding packet received by the destination node If the number is less than rank(GH), the encoding transmission cannot be continued on path 1, and the transmission fails.
有鉴于此,本申请提出了一种数据传输的方法、***和装置,有利于提高编码数据包的传输成功率,降低编码数据包的传输时延。In view of this, the present application proposes a data transmission method, system and device, which are beneficial to improve the transmission success rate of the encoded data packet and reduce the transmission delay of the encoded data packet.
在介绍本申请实施例提供的方法之前,先做出以下几点说明。Before introducing the method provided by the embodiment of the present application, the following points are explained first.
第一,在下文示出的实施例中,各术语及英文缩略语,如编码数据包的接收带宽、编码丢包恢复率等,均为方便描述而给出的示例性举例,不应对本申请构成任何限定。本申请并不排除在已有或未来的协议中定义其它能够实现相同或相似功能的术语的可能。First, in the embodiments shown below, various terms and English abbreviations, such as the reception bandwidth of encoded data packets, the recovery rate of encoded packet loss, etc., are all illustrative examples for the convenience of description, and should not be used in this application. Constitute any limitation. This application does not exclude the possibility of defining other terms that can achieve the same or similar functions in existing or future agreements.
第二,在下文示出的实施例中第一、第二以及各种数字编号仅为描述方便进行的区分,并不用来限制本申请实施例的范围。例如,区分不同的节点、区分不同的传输路径等。Second, in the embodiments shown below, the first, second, and various numerical numbers are only for easy distinction for description, and are not used to limit the scope of the embodiments of the present application. For example, distinguish different nodes, distinguish different transmission paths, and so on.
第三,“至少一个”是指一个或者多个,“至少两个”和“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b和c中的至少一项(个),可以表示:a,或b,或c,或a和b,或a和c,或b和c,或a、b和c,其中a,b,c可以是单个,也可以是多个。Third, "at least one" refers to one or more, and "at least two" and "multiple" refer to two or more. "And/or" describes the association relationship of the associated objects, indicating that there can be three relationships, for example, A and/or B, which can mean: A alone exists, A and B exist at the same time, and B exists alone, where A, B can be singular or plural. The character "/" generally indicates that the associated objects before and after are in an "or" relationship. "The following at least one item (a)" or similar expressions refers to any combination of these items, including any combination of a single item (a) or a plurality of items (a). For example, at least one of a, b, and c can mean: a, or b, or c, or a and b, or a and c, or b and c, or a, b and c, where a, b, c can be single or multiple.
下面将结合附图详细说明本申请提供的数据传输的方法、***和装置。The method, system and device for data transmission provided by the present application will be described in detail below with reference to the accompanying drawings.
图3示出了本申请实施例提供的数据传输的方法300的示意性流程图。该方法可以应用于图1所示的通信***中,但本申请实施例对此不作限定。该方法300包括:FIG. 3 shows a schematic flowchart of a data transmission method 300 provided by an embodiment of the present application. This method can be applied to the communication system shown in FIG. 1, but the embodiment of the present application does not limit this. The method 300 includes:
S310,在当前传输路径出现拥塞的情况下,第一节点确定至少两条候选传输路径,所述至少两条候选传输路径均以所述第一节点为起点、以目的节点为终点。S310: When the current transmission path is congested, the first node determines at least two candidate transmission paths, and the at least two candidate transmission paths both start from the first node and end at the destination node.
S320,所述第一节点基于编码数据包的剩余时延、编码数据包的接收带宽以及所述至少两条候选传输路径的信息,从所述至少两条候选传输路径中确定至少一条传输路径。S320: The first node determines at least one transmission path from the at least two candidate transmission paths based on the remaining time delay of the encoded data packet, the received bandwidth of the encoded data packet, and the information of the at least two candidate transmission paths.
S330,所述第一节点在所述至少一条传输路径上发送所述编码数据包。S330. The first node sends the encoded data packet on the at least one transmission path.
示例性地,在本申请实施例中,至少一条传输路径包括第一传输路径,第一节点在该第一传输路径上的下一跳节点为中间节点1,因此,第一节点向中间节点1发送编码数据包,对应地,中间节点1接收该编码数据包。Exemplarily, in the embodiment of the present application, at least one transmission path includes a first transmission path, and the next hop node of the first node on the first transmission path is intermediate node 1. Therefore, the first node forwards to intermediate node 1. The encoded data packet is sent, and correspondingly, the intermediate node 1 receives the encoded data packet.
本申请实施例的数据传输的方法,通过第一节点确定当前传输路径出现拥塞之后,基于编码数据包的剩余时延、编码数据包的接收带宽以及至少两条候选传输路径的信息,重新选择传输路径,通过新的传输路径进行数据传输,有利于提高编码数据包的传输成功率,降低编码数据包的传输时延。In the data transmission method of the embodiment of the present application, after the first node determines that the current transmission path is congested, it reselects transmission based on the remaining delay of the encoded data packet, the receiving bandwidth of the encoded data packet, and the information of at least two candidate transmission paths The path, through the new transmission path for data transmission, is beneficial to improve the transmission success rate of the encoded data packet and reduce the transmission delay of the encoded data packet.
应理解,上述第一节点可以是源节点,也可以是当前传输路径上的中间节点,本申请实施例对此不作限定。It should be understood that the foregoing first node may be a source node or an intermediate node on the current transmission path, which is not limited in the embodiment of the present application.
上述当前传输路径出现拥塞可以是带宽受限的场景,例如拥塞、丢包、或者拥塞和丢包并存,即当前传输路径存在瓶颈,不能通过增加冗余来抵抗丢包损伤,导致编码数据传输失败。示例性地,上述当前传输路径出现拥塞可以是指:当前传输路径的带宽受限,编码数据包按照原来的传输矩阵H发送,在目的节点无法收到数量大于或等于rank(GH)的编码数据包,导致解码失败。在这种情况下,即第一节点确定当前传输路径拥塞,或者说处于带宽受限状态,该第一节点可以采用本申请实施例的方法重新选择传输路径,使得编码数据包成 功传输至目的节点。The above-mentioned current transmission path congestion can be a bandwidth-constrained scenario, such as congestion, packet loss, or congestion and packet loss coexist, that is, the current transmission path has a bottleneck, and redundancy cannot be added to resist packet loss damage, resulting in the failure of encoded data transmission. . Exemplarily, the above-mentioned current transmission path congestion may refer to: the bandwidth of the current transmission path is limited, the encoded data packet is sent according to the original transmission matrix H, and the number of encoded data greater than or equal to rank(GH) cannot be received at the destination node Packet, causing the decoding to fail. In this case, that is, the first node determines that the current transmission path is congested, or is in a state of limited bandwidth, the first node can reselect the transmission path by using the method of the embodiment of the present application, so that the encoded data packet is successfully transmitted to the destination node .
上述剩余时延可以是第一节点根据本次数据传输的业务要求计算出来的,示例性地,本次数据传输的业务要求信息携带了本次数据传输的时延,第一节点可以基于该时延以及第一节点之前的传输过程中已经消耗的时延,计算出编码数据包的剩余时延。应理解,若第一节点为源节点,则编码数据包的剩余时延等于本次数据传输的时延。The above-mentioned remaining delay may be calculated by the first node according to the service requirements of this data transmission. Illustratively, the service requirement information of this data transmission carries the delay of this data transmission, and the first node may be based on the time delay. Calculate the remaining time delay of the encoded data packet and the time delay that has been consumed in the previous transmission process of the first node. It should be understood that if the first node is the source node, the remaining time delay of the encoded data packet is equal to the time delay of this data transmission.
上述编码数据包的接收带宽是指编码数据包在到达目的节点时,该目的节点所能接收到的编码数据包的带宽。与上述本次数据传输的时延类似,编码数据包的接收带宽也可以携带在本次数据传输的业务要求信息中,但本申请实施例对此不作限定。The above-mentioned receiving bandwidth of the encoded data packet refers to the bandwidth of the encoded data packet that the destination node can receive when the encoded data packet reaches the destination node. Similar to the above-mentioned time delay of this data transmission, the receiving bandwidth of the encoded data packet can also be carried in the service requirement information of this data transmission, but this embodiment of the application does not limit this.
在确定了至少一条传输路径之后,第一节点可以生成携带下列信息的编码数据包,并向至少一条传输路径上的下一跳节点发送该编码数据包。可选地,编码数据包携带下列信息中的至少一个:After determining at least one transmission path, the first node may generate an encoded data packet carrying the following information, and send the encoded data packet to the next hop node on at least one transmission path. Optionally, the encoded data packet carries at least one of the following information:
业务要求信息,用于指示本次数据传输的时延要求;Service requirement information, used to indicate the delay requirement of this data transmission;
所述至少一条传输路径的信息,用于指示所述至少一条传输路径上的节点;The information of the at least one transmission path is used to indicate a node on the at least one transmission path;
处理类型,用于指示接收到所述编码数据包的下一跳节点对所述编码数据包执行转发、再编码、或解码中的至少一项处理。The processing type is used to instruct the next hop node that receives the encoded data packet to perform at least one of forwarding, re-encoding, or decoding on the encoded data packet.
表二列出了本申请实施例的编码数据包所携带的信息,其中包括源节点IP地址(source IP address)、目的节点IP地址(destination IP address)、源包编号(packet ID)、源包长度(packet size)、编码包编号(batch ID)、每个batch内编码包的个数M、包的个数K、编码信息、节点数量、处理类型(handle type)、节点ID、传输矩阵向量(vector)以及编码包的有效载荷(payload)等信息。Table 2 lists the information carried in the encoded data packet of the embodiment of this application, including the source node IP address (source IP address), destination node IP address (destination IP address), source packet number (packet ID), source packet Length (packet size), encoding packet number (batch ID), number of encoded packets in each batch M, number of packets K, encoding information, number of nodes, processing type (handle type), node ID, transmission matrix vector (vector) and the payload of the encoded packet (payload) and other information.
表二Table II
Figure PCTCN2021087213-appb-000002
Figure PCTCN2021087213-appb-000002
其中,IP地址还可以替换成媒体访问控制(media access control,MAC)地址、或者其他地址,编码信息可以包括编码数据吧的初试时间戳、端到端的时延要求、带宽要求等信息,节点数量指所选择的传输路径(即至少一条传输路径)上的后续节点的数量,处理类型至少包括转发、再编码、解码等处理操作。节点ID指至少一条传输路径上的节点的标识,例如可以是节点编号。Among them, the IP address can also be replaced with a media access control (MAC) address or other addresses. The encoding information can include the initial test timestamp of the encoded data bar, end-to-end delay requirements, bandwidth requirements, and other information, and the number of nodes Refers to the number of subsequent nodes on the selected transmission path (that is, at least one transmission path). The processing type includes at least processing operations such as forwarding, re-encoding, and decoding. The node ID refers to the identification of the node on at least one transmission path, and may be, for example, a node number.
上述至少两条候选传输路径可以是第一节点到目的节点的传输路径,可以包括当前传输路径。示例性地,至少两条候选传输路径的信息可以是第一节点到目的节点的路径表,包括传输路径上每个节点的下一跳节点的信息。The aforementioned at least two candidate transmission paths may be transmission paths from the first node to the destination node, and may include the current transmission path. Exemplarily, the information of the at least two candidate transmission paths may be a path table from the first node to the destination node, including the information of the next hop node of each node on the transmission path.
以图1为例,若第一节点为源节点,则至少两条候选传输路径可以包括下列路径:Taking Figure 1 as an example, if the first node is the source node, the at least two candidate transmission paths may include the following paths:
路径1:源节点—>中间节点1—>目的节点;Path 1: Source node—>Intermediate node 1—>Destination node;
路径2:源节点—>中间节点1—>中间节点2—>中间节点3—>目的节点;Path 2: Source node—>Intermediate node 1—>Intermediate node 2—>Intermediate node 3—>Destination node;
路径3:源节点—>中间节点1—>中间节点3—>目的节点;Path 3: Source node—>Intermediate node 1—>Intermediate node 3—>Destination node;
路径4:源节点—>中间节点2—>中间节点3—>目的节点;Path 4: Source node—>Intermediate node 2—>Intermediate node 3—>Destination node;
路径5:源节点—>中间节点6—>中间节点5—>中间节点4—>目的节点;Path 5: Source node—>Intermediate node 6—>Intermediate node 5—>Intermediate node 4—>Destination node;
路径6:源节点—>中间节点6—>中间节点2—>中间节点5—>中间节点3—>中间节点4—>目的节点。Path 6: Source node—>Intermediate node 6—>Intermediate node 2—>Intermediate node 5—>Intermediate node 3—>Intermediate node 4—>Destination node.
若当前传输路径为源节点—>中间节点1—>目的节点,上述第一节点可以为中间节点1,则至少两条候选传输路径可以包括下列路径:If the current transmission path is the source node -> intermediate node 1 -> destination node, the above-mentioned first node may be the intermediate node 1, and the at least two candidate transmission paths may include the following paths:
路径1:中间节点1—>目的节点;Path 1: Intermediate node 1 -> destination node;
路径2:中间节点1—>中间节点3—>目的节点;Path 2: Intermediate node 1—>Intermediate node 3—>Destination node;
路径3:中间节点1—>中间节点3—>中间节点4—>目的节点。Path 3: Intermediate node 1—>Intermediate node 3—>Intermediate node 4—>Destination node.
应理解,第一节点还可以是其他中间节点,例如节点2、节点3等,这取决于当前传输路径,此处不再赘述。It should be understood that the first node may also be other intermediate nodes, such as node 2, node 3, etc., which depends on the current transmission path, and will not be repeated here.
作为一个可选的实施例,所述至少两条候选传输路径的信息包括下列信息中的至少一个:As an optional embodiment, the information of the at least two candidate transmission paths includes at least one of the following information:
所述至少两条候选传输路径中每条候选传输路径上的节点之间的传输时延;The transmission delay between nodes on each of the at least two candidate transmission paths;
所述每条候选传输路径上的节点的再编码时延;The recoding delay of each node on the candidate transmission path;
所述每条候选传输路径的可用带宽;或,The available bandwidth of each candidate transmission path; or,
所述每条候选传输路径上的节点之间的丢包率。The packet loss rate between nodes on each candidate transmission path.
应理解,本申请实施例的第一节点可以基于上述传输时延、再编码时延、可用带宽以及丢包率等信息中的至少一个从上述至少两条候选传输路径中选择上述至少一条传输路径。上述信息可以统称为传输路径的信息、或者路径信息、或者其他名称,此处不作限定。上述信息可以是第一节点预先获取的。示例性地,在网络拓扑建立之后,第一节点可以获取与该第一节点相关联的所有传输路径中的路径信息,例如包括节点列表、节点之间的传输时延、节点之间的丢包率等等。It should be understood that the first node in the embodiment of the present application may select the at least one transmission path from the at least two candidate transmission paths based on at least one of the transmission delay, recoding delay, available bandwidth, and packet loss rate. . The above-mentioned information may be collectively referred to as transmission path information, or path information, or other names, which are not limited here. The above-mentioned information may be obtained in advance by the first node. Exemplarily, after the network topology is established, the first node can obtain path information in all transmission paths associated with the first node, for example, including a list of nodes, transmission delay between nodes, and packet loss between nodes Rate and so on.
在本申请实施例中,第一节点所选择的至少一条传输路径可以为一条传输路径,也可以为多条传输路径(或者称为复合传输路径),本申请实施例对此不作限定。下面,分情况对上述至少一条传输路径进行说明。In the embodiment of the present application, the at least one transmission path selected by the first node may be one transmission path or multiple transmission paths (or referred to as a composite transmission path), which is not limited in the embodiment of the present application. Hereinafter, the above-mentioned at least one transmission path will be explained in different situations.
情况一、至少一条传输路径包括一条传输路径,称为第一传输路径。Case 1: At least one transmission path includes one transmission path, which is called the first transmission path.
在这种情况下,可选地,该第一传输路径满足如下条件:In this case, optionally, the first transmission path satisfies the following conditions:
1、第一传输路径上的节点之间的传输时延之和小于或等于所述编码数据包的剩余时延;1. The sum of the transmission delays between nodes on the first transmission path is less than or equal to the remaining delay of the encoded data packet;
2、第一传输路径的可用带宽大于或等于所述编码数据包的接收带宽;2. The available bandwidth of the first transmission path is greater than or equal to the receiving bandwidth of the encoded data packet;
3、第一传输路径上的节点之间的丢包率均小于或等于编码丢包恢复率。3. The packet loss rates between nodes on the first transmission path are all less than or equal to the encoding packet loss recovery rate.
传输时延可以包括转发时延,也可以包括转发时延和再编码时延,本申请实施例对此不作限定。若传输时延仅包括转发时延,则上述条件1可以替换为第一传输路径上的节点之间的传输时延、再编码时延之和小于或等于所述编码数据包的剩余时延。上述“第一传输路径的可用带宽”可以替换为该第一传输路径上的节点之间的可用带宽的最小值。上述“第一传输路径上的节点之间的丢包率均小于或等于编码丢包恢复率”可以替换为第一传输路径上的节点之间的丢包率的最大值小于或等于编码丢包恢复率。待传输的编码数据包包括原始数据包和冗余数据包,本申请实施例中的编码丢包恢复率是指待传输的冗余数据包的数量与原始 数据包的数量之比。例如,原始数据包的数量为10个,为了抵抗丢包损伤,待传输的编码数据包的数量为15个,此时编码丢包恢复率即为50%。The transmission delay may include forwarding delay, and may also include forwarding delay and recoding delay, which is not limited in the embodiment of the present application. If the transmission delay only includes the forwarding delay, the above condition 1 can be replaced with the transmission delay between nodes on the first transmission path and the sum of the re-encoding delay is less than or equal to the remaining delay of the encoded data packet. The aforementioned "available bandwidth of the first transmission path" may be replaced with the minimum value of the available bandwidth between nodes on the first transmission path. The above “the packet loss rate between nodes on the first transmission path is less than or equal to the encoding loss recovery rate” can be replaced with the maximum value of the packet loss rate between nodes on the first transmission path being less than or equal to the encoding loss Recovery rate. The encoded data packets to be transmitted include original data packets and redundant data packets. The encoding loss recovery rate in this embodiment of the present application refers to the ratio of the number of redundant data packets to be transmitted to the number of original data packets. For example, if the number of original data packets is 10, in order to resist packet loss damage, the number of encoded data packets to be transmitted is 15, at this time, the encoding loss recovery rate is 50%.
具体而言,第一节点可以从已确定的至少两条候选传输路径中进行筛选,选择出满足上述条件的第一传输路径。在一种可能的实现方式中,第一节点可以逐条进行判断,一旦确定出满足上述条件的一条候选传输路径,即将该候选传输路径确定为第一传输路径。在另一种可能的实现方式中,第一节点可以对至少两条候选传输路径中的所有候选传输路径分别进行判断,将满足上述条件的候选传输路径筛选出来,若存在一条满足上述条件的候选传输路径,则第一节点可以将该候选传输路径确定为第一传输路径;若存在多条满足上述条件的候选传输路径,则第一节点可以从该多条满足条件的候选传输路径中选择一条候选传输路径,将其作为第一传输路径。示例性地,第一节点可以将包括的节点数目最多的一条候选传输路径确定为第一传输路径。这样能够获得较大的带宽,保证编码数据包的传输可靠性。示例性地,第一节点可以将包括的节点数目最少的一条候选传输路径确定为第一传输路径。这样能够获得较小的传输时延,从而提高数据传输的效率。Specifically, the first node may screen from the determined at least two candidate transmission paths, and select the first transmission path that satisfies the foregoing conditions. In a possible implementation manner, the first node may make a judgment one by one, and once a candidate transmission path that satisfies the above conditions is determined, the candidate transmission path is determined to be the first transmission path. In another possible implementation manner, the first node may separately judge all the candidate transmission paths in the at least two candidate transmission paths, and screen out the candidate transmission paths that meet the above conditions. If there is one candidate that meets the above conditions, Transmission path, the first node may determine the candidate transmission path as the first transmission path; if there are multiple candidate transmission paths that meet the above conditions, the first node may select one of the multiple candidate transmission paths that meet the conditions The candidate transmission path is taken as the first transmission path. Exemplarily, the first node may determine a candidate transmission path including the largest number of nodes as the first transmission path. In this way, a larger bandwidth can be obtained and the transmission reliability of the encoded data packet can be ensured. Exemplarily, the first node may determine a candidate transmission path including the least number of nodes as the first transmission path. In this way, a smaller transmission delay can be obtained, thereby improving the efficiency of data transmission.
示例性地,假设上述第一节点为图1所示的通信***中的源节点,上述第一传输路径为源节点—>中间节点1—>中间节点3—>目的节点。中间节点1为转发节点,即不对接收到的编码数据包进行再编码,直接转发接收到的编码数据包。中间节点2为编码节点,可以对接收到的编码数据包进行再编码,补偿之前的丢包,再进行转发。该第一传输路径满足上述条件,即源节点至中间节点1的传输时延、中间节点1至中间节点3的传输时延、中间节点3的再编码时延、中间节点3至目的节点的传输时延之和小于或等于编码数据包的剩余时延,该传输路径的可用带宽大于或等于编码数据包的接收带宽,源节点至中间节点1的丢包率、中间节点1至中间节点3的丢包率、中间节点3至目的节点的丢包率均小于编码丢包恢复率。Illustratively, it is assumed that the foregoing first node is the source node in the communication system shown in FIG. 1, and the foregoing first transmission path is source node—>intermediate node 1—>intermediate node 3—>destination node. The intermediate node 1 is a forwarding node, that is, it does not re-encode the received encoded data packet, and directly forwards the received encoded data packet. The intermediate node 2 is an encoding node, which can re-encode the received encoded data packet to compensate for the previous packet loss, and then forward it. The first transmission path satisfies the above conditions, that is, the transmission delay from the source node to the intermediate node 1, the transmission delay from the intermediate node 1 to the intermediate node 3, the recoding delay of the intermediate node 3, and the transmission from the intermediate node 3 to the destination node. The sum of the delays is less than or equal to the remaining delay of the encoded data packet, the available bandwidth of the transmission path is greater than or equal to the receiving bandwidth of the encoded data packet, the packet loss rate from the source node to the intermediate node 1, and the packet loss rate from the intermediate node 1 to the intermediate node 3 The packet loss rate and the packet loss rate from the intermediate node 3 to the destination node are all less than the coded packet loss recovery rate.
可选地,该方法还可以包括下列步骤:Optionally, the method may further include the following steps:
S340,中间节点1直接转发编码数据包至中间节点3;对应地,中间节点3接收该编码数据包。S340: The intermediate node 1 directly forwards the encoded data packet to the intermediate node 3; correspondingly, the intermediate node 3 receives the encoded data packet.
示例性地,中间节点1接收到编码数据包,该编码数据包中的处理类型指示“转发”,即中间节点1为转发节点,中间节点1可以根据上述表二所示的信息,确定中间节点1在第一传输路径上的下一跳节点(即中间节点3)的IP地址,向该下一跳节点(即中间节点3)转发编码数据包。Exemplarily, the intermediate node 1 receives an encoded data packet, and the processing type in the encoded data packet indicates "forwarding", that is, the intermediate node 1 is a forwarding node, and the intermediate node 1 can determine the intermediate node according to the information shown in Table 2 above. 1. The IP address of the next hop node (ie, the intermediate node 3) on the first transmission path, and the encoded data packet is forwarded to the next hop node (ie, the intermediate node 3).
可选地,中间节点1需要更新如表二所示的编码数据包中的节点信息,例如删除该中间节点1的处理类型和ID、将节点数量减1,再向中间节点3发送更新后的编码数据包。Optionally, the intermediate node 1 needs to update the node information in the encoded data packet shown in Table 2, for example, delete the processing type and ID of the intermediate node 1, reduce the number of nodes by 1, and then send the updated node to the intermediate node 3. Encode the data packet.
S350,中间节点3对编码数据包进行再编码,获得新的编码数据包。S350: The intermediate node 3 re-encodes the encoded data packet to obtain a new encoded data packet.
示例性地,中间节点3接收到编码数据包,该编码数据包中的处理类型指示“再编码+转发”,即中间节点3为编码节点,中间节点3可以根据中间节点3与目的节点之间的丢包率,选择传输矩阵对接收到的数据包进行再编码。中间节点3可以根据上述表二所示的信息,确定中间节点3在第一传输路径上的下一跳节点(即目的节点)的IP地址,向该下一跳节点(即目的节点)转发再编码后的数据包。Exemplarily, the intermediate node 3 receives an encoded data packet, and the processing type in the encoded data packet indicates "re-encoding + forwarding", that is, the intermediate node 3 is an encoding node, and the intermediate node 3 can be based on the relationship between the intermediate node 3 and the destination node. The packet loss rate is selected, and the transmission matrix is selected to re-encode the received data packet. The intermediate node 3 can determine the IP address of the next hop node (that is, the destination node) of the intermediate node 3 on the first transmission path according to the information shown in Table 2 above, and forward the IP address to the next hop node (that is, the destination node). The encoded data packet.
可选地,中间节点3需要更新如表二所示的编码数据包中的节点信息,例如删除该中间节点3的处理类型和ID、将节点数量减1,再向目的节点发送更新后的编码数据包。Optionally, the intermediate node 3 needs to update the node information in the encoded data packet shown in Table 2, for example, delete the processing type and ID of the intermediate node 3, reduce the number of nodes by 1, and then send the updated code to the destination node data pack.
S360,中间节点3向目的节点发送新的编码数据包,对应地,目的节点接收该新的编码 数据包。S360: The intermediate node 3 sends a new encoded data packet to the destination node, and correspondingly, the destination node receives the new encoded data packet.
S370,目的节点对该新的编码数据包进行解码处理。S370: The destination node decodes the new encoded data packet.
具体而言,接收节点收到编码数据包,可以根据处理类型指示的“解码”,尝试解码,当收到大于或等于rank(GH)的编码数据包时,目的节点可以解码成功。Specifically, the receiving node receives the encoded data packet, and can try to decode it according to the "decoding" indicated by the processing type. When receiving an encoded data packet greater than or equal to rank (GH), the destination node can decode successfully.
在本申请实施例中,第一节点由于带宽受限而无法发送足够的编码数据包给下一节点,导致目的节点不能获得足够的编码数据包完成解码,在这种情况下,第一节点可以重新选择传输路径,新传输路径的总时延小于或等于编码数据包在第一节点的剩余时延,节点之间的丢包率小于或等于编码丢包恢复率,并且可用带宽大于或等于编码数据包的接收端带宽。此外,可以设置部分节点为非编码节点,即单纯的转发节点,新传输路径的节点按照编码数据包中指示的路径信息和节点的处理类型完成编码数据包的转发和再编码。通过以上处理,可以在满足时延要求的前提下,用更小的带宽完成编码包的传输,从而解决原始路径上无法传输编码数据包的问题。换句话说,本申请实施例结合了BATS编码的原理,利用牺牲时延(仍可满足业务要求)来获得一定的带宽增益,从而解决带宽受限的问题。In the embodiment of the present application, the first node cannot send enough encoded data packets to the next node due to limited bandwidth, resulting in that the destination node cannot obtain enough encoded data packets to complete the decoding. In this case, the first node can Reselect the transmission path, the total delay of the new transmission path is less than or equal to the remaining time delay of the encoded data packet at the first node, the packet loss rate between nodes is less than or equal to the encoding loss recovery rate, and the available bandwidth is greater than or equal to the encoding The receiving end bandwidth of the data packet. In addition, some nodes can be set to be non-coding nodes, that is, simple forwarding nodes, and the nodes of the new transmission path complete the forwarding and re-encoding of the encoded data packet according to the path information indicated in the encoded data packet and the processing type of the node. Through the above processing, the transmission of the coded packet can be completed with a smaller bandwidth under the premise of meeting the time delay requirement, thereby solving the problem that the coded data packet cannot be transmitted on the original path. In other words, the embodiment of the present application combines the principle of BATS coding, and uses time delay (which can still meet service requirements) to obtain a certain bandwidth gain, thereby solving the problem of bandwidth limitation.
情况二、至少一条传输路径包括多条传输路径,称为至少两条第二传输路径。Case 2: At least one transmission path includes multiple transmission paths, which are referred to as at least two second transmission paths.
在这种情况下,可选地,上述至少一条传输路径包括至少两条第二传输路径,该至少两条第二传输路径满足如下条件:In this case, optionally, the aforementioned at least one transmission path includes at least two second transmission paths, and the at least two second transmission paths satisfy the following conditions:
1、至少两条第二传输路径上的节点之间的传输时延之和小于或等于所述编码数据包的剩余时延;1. The sum of transmission delays between nodes on at least two second transmission paths is less than or equal to the remaining delay of the encoded data packet;
2、至少两条第二路径的可用带宽之和大于或等于所述编码数据包的接收带宽;2. The sum of the available bandwidth of at least two second paths is greater than or equal to the receiving bandwidth of the encoded data packet;
3、至少两条第二路径中的节点之间的丢包率均小于或等于编码丢包恢复率。3. The packet loss rate between nodes in at least two second paths is less than or equal to the coded packet loss recovery rate.
传输时延可以包括转发时延,也可以包括转发时延和再编码时延,本申请实施例对此不作限定。若传输时延仅包括转发时延,则上述条件1可以替换为至少两条第二传输路径上的节点之间的传输时延、再编码时延之和小于或等于所述编码数据包的剩余时延。上述“至少两条第二传输路径上的节点之间的丢包率均小于或等于编码丢包恢复率”可以替换为至少两条第二传输路径上的节点之间的丢包率的最大值小于或等于编码丢包恢复率。待传输的编码数据包包括原始数据包和冗余数据包,本申请实施例中的编码丢包恢复率是指待传输的冗余数据包的数量与原始数据包的数量之比。The transmission delay may include forwarding delay, and may also include forwarding delay and recoding delay, which is not limited in the embodiment of the present application. If the transmission delay only includes the forwarding delay, the above condition 1 can be replaced with the transmission delay between the nodes on the second transmission path and the sum of the re-encoding delay is less than or equal to the remaining encoded data packet Time delay. The above-mentioned "the packet loss rate between the nodes on the at least two second transmission paths is less than or equal to the encoding loss recovery rate" can be replaced with the maximum value of the packet loss rate between the nodes on the at least two second transmission paths Less than or equal to the code loss recovery rate. The encoded data packets to be transmitted include original data packets and redundant data packets. The encoding loss recovery rate in the embodiment of the present application refers to the ratio of the number of redundant data packets to be transmitted to the number of original data packets.
具体而言,第一节点可以从已确定的至少两条候选传输路径中进行筛选,选择出满足上述条件的至少两条第二传输路径,该至少两条第二传输路径可以称为一组传输路径。在一种可能的实现方式中,第一节点可以逐条进行判断,一旦确定出满足上述条件的一组候选传输路径,即将该组候选传输路径确定为至少两条第二传输路径。在另一种可能的实现方式中,第一节点可以对至少两条候选传输路径中的所有候选传输路径分别进行判断,将满足上述条件的至少两条候选传输路径的组合筛选出来,若存在一组满足上述条件的候选传输路径,则第一节点可以将该组候选传输路径确定为至少两条第二传输路径;若存在多组满足上述条件的候选传输路径,则第一节点可以从该多组满足条件的候选传输路径中选择一组候选传输路径,将其作为至少两条第二传输路径。示例性地,第一节点可以将包括的节点数目最多的一组候选传输路径确定为至少两条第二传输路径。这样能够获得较大的带宽,保证编码数据包的传输可靠性。示例性地,第一节点可以将包括的节点数目最少的一组候选传输路径确定为至少两条第二传输路径。这样能够获得较小的传输时延,从而提高数据传输的效率。Specifically, the first node may screen from the determined at least two candidate transmission paths, and select at least two second transmission paths that meet the above conditions. The at least two second transmission paths may be referred to as a group of transmission paths. path. In a possible implementation manner, the first node may make a judgment one by one, and once a group of candidate transmission paths meeting the above conditions is determined, the group of candidate transmission paths is determined to be at least two second transmission paths. In another possible implementation manner, the first node may separately judge all the candidate transmission paths in the at least two candidate transmission paths, and filter out the combination of at least two candidate transmission paths that meet the above conditions, and if there is one If there are multiple sets of candidate transmission paths that meet the above conditions, the first node may determine the set of candidate transmission paths as at least two second transmission paths; if there are multiple sets of candidate transmission paths that meet the above conditions, the first node may select A group of candidate transmission paths is selected from the group of candidate transmission paths that meet the conditions, and used as at least two second transmission paths. Exemplarily, the first node may determine a group of candidate transmission paths including the largest number of nodes as the at least two second transmission paths. In this way, a larger bandwidth can be obtained and the transmission reliability of the encoded data packet can be ensured. Exemplarily, the first node may determine a group of candidate transmission paths including the least number of nodes as the at least two second transmission paths. In this way, a smaller transmission delay can be obtained, thereby improving the efficiency of data transmission.
示例性地,假设上述第一节点为图1所示的通信***中的中间节点1,图4示出了本申请实施例的另一种数据传输方法的示意性流程图。S410-S420与上述S310-S320相同,此处不再赘述。Exemplarily, assume that the foregoing first node is the intermediate node 1 in the communication system shown in FIG. 1, and FIG. 4 shows a schematic flowchart of another data transmission method according to an embodiment of the present application. S410-S420 are the same as the above-mentioned S310-S320, and will not be repeated here.
在图4中,上述至少两条第二传输路径可以包括下列两条传输路径:In FIG. 4, the above-mentioned at least two second transmission paths may include the following two transmission paths:
路径1:中间节点1—>目的节点;Path 1: Intermediate node 1 -> destination node;
路径2:中间节点1—>中间节点3—>目的节点。Path 2: Intermediate node 1—>Intermediate node 3—>Destination node.
在这种情况下,中间节点1的编码节点,具有路径重选功能,可以按照上述方法300所示的流程重新选择传输路径。上述路径1和路径2的可用带宽之和大于或等于编码数据包的接收带宽,且路径1和路径2的传输时延与再编码时延之和小于或等于编码数据包的剩余时延,路径1和路径2的节点之间的丢包率均小于或等于编码丢包恢复率。In this case, the coding node of the intermediate node 1 has a path reselection function, and the transmission path can be reselected according to the process shown in the above method 300. The sum of the available bandwidth of path 1 and path 2 is greater than or equal to the receiving bandwidth of the encoded data packet, and the sum of the transmission delay and re-encoding delay of path 1 and path 2 is less than or equal to the remaining delay of the encoded data packet. The packet loss rate between the nodes of 1 and path 2 is less than or equal to the coded packet loss recovery rate.
可选地,该方法还可以包括下列步骤:Optionally, the method may further include the following steps:
S430,中间节点1向目的节点发送一部分编码数据包;对应地,目的节点接收该编码数据包。S430: The intermediate node 1 sends a part of the encoded data packet to the destination node; correspondingly, the destination node receives the encoded data packet.
S440,中间节点1向中间节点3发送另一部分编码数据包;对应地,中间节点3接收该编码数据包。S440: The intermediate node 1 sends another part of the encoded data packet to the intermediate node 3; correspondingly, the intermediate node 3 receives the encoded data packet.
作为一个可选的实施例,中间节点1可以按照上述至少两条第二传输路径中每条第二传输路径的可用带宽和每条第二传输路径上的节点之间的传输时延,为至少两条第二传输路径分配所述编码数据包;中间节点1分别在至少两条第二传输路径上发送编码数据包。As an optional embodiment, the intermediate node 1 may be at least according to the available bandwidth of each of the at least two second transmission paths and the transmission delay between nodes on each second transmission path. The two second transmission paths distribute the encoded data packets; the intermediate node 1 sends the encoded data packets on at least two second transmission paths respectively.
示例性地,中间节点1对需要传输的编码数据包在路径1和路径2之间实现按可用带宽之比以及传输时延反比进行分配,例如路径1的可用带宽:路径2的可用带宽=3:2,路径1的传输时延:路径2的传输时延=3:4,则路径1和路径2的编码数据包可以按照3/3:2/4进行分配,即按照2:1的方式分配。中间节点1对编码数据包进行再编码,将再编码的编码数据包按照2:1的比例分配给路径1和路径2。Exemplarily, the intermediate node 1 distributes the encoded data packets that need to be transmitted between path 1 and path 2 according to the ratio of available bandwidth and the inverse ratio of transmission delay, for example, the available bandwidth of path 1: the available bandwidth of path 2=3 : 2, the transmission delay of path 1: the transmission delay of path 2=3:4, then the encoded data packets of path 1 and path 2 can be distributed according to 3/3:2/4, that is, according to 2:1 distribute. The intermediate node 1 re-encodes the encoded data packet, and distributes the re-encoded encoded data packet to Path 1 and Path 2 in a ratio of 2:1.
进一步地,也可以将上述至少两条第二传输路径的丢包率作为在路径间分配编码数据包的参数。示例性地,中间节点1可以考虑丢包率与分配编码数据包成正比,同时满足其他的条件。假设上述路径1的丢包率是20%,可用带宽是10,路径2的丢包率10%,可用带宽是10,编码数据包的接收带宽为15。按照丢包率在路径1和路径2需要将编码数据包按照2:1的分配,而可用带宽又限制了分配的额度,综合考虑上述约束条件,中间节点1可以在路径1发10个编码数据包,目的节点能够接收到8个编码数据包,在路径2发8个编码数据包,目的节点能够接收到7个编码数据包,这样,总接收带宽能够达到15个。Further, the packet loss rates of the at least two second transmission paths described above may also be used as a parameter for allocating encoded data packets between the paths. Exemplarily, the intermediate node 1 may consider that the packet loss rate is proportional to the assigned coded data packet, while meeting other conditions. Assume that the packet loss rate of path 1 is 20%, the available bandwidth is 10, the packet loss rate of path 2 is 10%, the available bandwidth is 10, and the receiving bandwidth of the encoded data packet is 15. According to the packet loss rate, the coded data packets need to be distributed 2:1 on Path 1 and Path 2, and the available bandwidth limits the allocation quota. Taking the above constraints into consideration, the intermediate node 1 can send 10 coded data on Path 1. Packets, the destination node can receive 8 encoded data packets, send 8 encoded data packets on path 2, and the destination node can receive 7 encoded data packets. In this way, the total receiving bandwidth can reach 15.
S450,中间节点3对编码数据包进行再编码,获得新的编码数据包。S450: The intermediate node 3 re-encodes the encoded data packet to obtain a new encoded data packet.
示例性地,中间节点3接收到编码数据包,该编码数据包中的处理类型指示“再编码+转发”,即中间节点3为编码节点,中间节点3可以根据中间节点3与目的节点之间的丢包率,选择传输矩阵对接收到的数据包进行再编码。中间节点3可以根据上述表二所示的信息,确定中间节点3在路径2上的下一跳节点(即目的节点)的IP地址,向该下一跳节点(即目的节点)转发再编码后的数据包。Exemplarily, the intermediate node 3 receives an encoded data packet, and the processing type in the encoded data packet indicates "re-encoding + forwarding", that is, the intermediate node 3 is an encoding node, and the intermediate node 3 can be based on the relationship between the intermediate node 3 and the destination node. The packet loss rate is selected, and the transmission matrix is selected to re-encode the received data packet. The intermediate node 3 can determine the IP address of the next hop node (that is, the destination node) of the intermediate node 3 on the path 2 according to the information shown in Table 2 above, and forward it to the next hop node (that is, the destination node) after re-encoding Packets.
可选地,中间节点3需要更新如表二所示的编码数据包中的节点信息,例如删除该中间节点3的处理类型和ID、将节点数量减1,再向目的节点发送更新后的编码数据包。Optionally, the intermediate node 3 needs to update the node information in the encoded data packet shown in Table 2, for example, delete the processing type and ID of the intermediate node 3, reduce the number of nodes by 1, and then send the updated code to the destination node data pack.
S460,中间节点3向目的节点发送新的编码数据包,对应地,目的节点接收该新的编码 数据包。S460: The intermediate node 3 sends a new encoded data packet to the destination node, and correspondingly, the destination node receives the new encoded data packet.
S470,目的节点对该新的编码数据包进行解码处理。S470: The destination node decodes the new encoded data packet.
具体而言,接收节点通过上述多条传输路径接收到编码数据包,可以对接收到的编码数据包进行汇总,可以根据处理类型指示的“解码”,尝试解码,当收到大于或等于rank(GH)的编码数据包时,目的节点可以解码成功。Specifically, the receiving node receives the encoded data packets through the above multiple transmission paths, and can summarize the received encoded data packets, and can try to decode according to the "decoding" indicated by the processing type. When the receiving node is greater than or equal to rank( When the data packet of GH) is encoded, the destination node can decode successfully.
应理解,上述情况一中的第一节点为源节点,情况二中的第一节点为中间节点1,仅仅为便于理解的示例性说明,在其他实现方式中,第一节点还可以是其他中间节点,本申请实施例对此不作限定。It should be understood that the first node in the above case 1 is the source node, and the first node in the case 2 is the intermediate node 1. This is only an exemplary description for ease of understanding. In other implementation manners, the first node may also be other intermediate nodes. Nodes, this embodiment of the application does not limit this.
在一种可能的实现方式中,第一节点可以先判断是否存在满足情况一的条件的一条传输路径,若不存在满足情况一的条件一条传输路径,该第一节点再确定是否存在满足情况二的条件的至少两条传输路径。In a possible implementation manner, the first node may first determine whether there is a transmission path that satisfies the condition of case 1, and if there is no transmission path that satisfies the condition of case 1, the first node then determines whether there is a transmission path that satisfies the condition of case 2. The conditions of at least two transmission paths.
本申请实施例通过复合路径的选取,解决了原路径不能支持编码包的传输的问题,以及其他单条传输路径也不能满足传输要求,但存在复合路径满足编码包传输的场景,提高了数据传输的灵活性。The embodiment of the application solves the problem that the original path cannot support the transmission of coded packets through the selection of the composite path, and other single transmission paths cannot meet the transmission requirements, but there are scenarios where the composite path meets the transmission of coded packets, which improves the data transmission. flexibility.
作为一个可选的实施例,在所述第一节点在所述至少一条传输路径上发送所述编码数据包之前,所述方法还包括:As an optional embodiment, before the first node sends the encoded data packet on the at least one transmission path, the method further includes:
所述第一节点根据所述至少一条传输路径的信息,确定所述至少一条传输路径上的节点的处理类型,所述处理类型包括转发、再编码、或解码中的至少一项;Determining, by the first node, a processing type of a node on the at least one transmission path according to the information of the at least one transmission path, and the processing type includes at least one of forwarding, re-encoding, or decoding;
所述第一节点在所述至少一条传输路径上发送所述编码数据包,包括:The sending, by the first node, the encoded data packet on the at least one transmission path includes:
所述第一节点在所述至少一条传输路径上发送所述编码数据包,所述编码数据包携带所述至少一条传输路径上的节点的处理类型。The first node sends the encoded data packet on the at least one transmission path, and the encoded data packet carries the processing type of the node on the at least one transmission path.
示例性地,为了进一步提高数据传输的效率,第一节点可以在选择上述至少一条传输路径之后,确定该至少一条传输路径上的节点的处理类型。例如,第一节点可以根据至少一条传输路径上的时延、丢包率、可用带宽等信息,来确定至少一条传输路径上的节点所承担的角色,并设定在编码数据包中每个节点的处理类型(handle type),即确定上述表二中的节点的处理类型。假设至少一条传输路径是一条传输路径,由源节点—>中间节点1—>中间节点3—>目的节点组成,源节点—>中间节点1的可用带宽是k bps,丢包率是10%,中间节点1—>中间节点3的可用带宽是m bps,丢包率是30%,中间节点3—>目的节点的可用带宽是k bps,丢包率是10%,中间节点1和中间节点3的再编码时延是5ms,转发时延是1ms。因此,第一节点需要考虑要抵抗30%的丢包,需要编码带宽为n bps,n<k且n<m。若编码数据包的剩余时延不超过20ms,第一节点可以设置中间节点1和中间节点3都为再编码节点,因为总时延满足要求;若编码数据包的剩余时延不超过10ms,第一节点可以选择让中间节点1再编码,中间节点3仅转发,或者,让中间节点1仅转发,中间节点3再编码,使得总时延满足要求。Exemplarily, in order to further improve the efficiency of data transmission, the first node may determine the processing type of the node on the at least one transmission path after selecting the at least one transmission path. For example, the first node may determine the role of the node on at least one transmission path based on information such as the delay, packet loss rate, and available bandwidth on at least one transmission path, and set the role of each node in the encoded data packet The processing type (handle type) is to determine the processing type of the node in Table 2 above. Assuming that at least one transmission path is a transmission path, consisting of source node—>intermediate node 1—>intermediate node 3—>destination node, the available bandwidth of source node—>intermediate node 1 is kbps, and the packet loss rate is 10%. The available bandwidth of intermediate node 1—>intermediate node 3 is m bps, and the packet loss rate is 30%. The available bandwidth of intermediate node 3—>destination node is kbps, and the packet loss rate is 10%. Intermediate node 1 and intermediate node 3 The re-encoding delay is 5ms, and the forwarding delay is 1ms. Therefore, the first node needs to consider the resistance to 30% packet loss, and the encoding bandwidth is n bps, n<k and n<m. If the remaining delay of the encoded data packet does not exceed 20ms, the first node can set both intermediate node 1 and intermediate node 3 as re-encoding nodes, because the total delay meets the requirements; if the remaining delay of the encoded data packet does not exceed 10ms, the first node A node can choose to let the intermediate node 1 re-encode and the intermediate node 3 only forwards, or let the intermediate node 1 only forward and the intermediate node 3 re-encode, so that the total delay meets the requirement.
应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。It should be understood that the size of the sequence number of the foregoing processes does not mean the order of execution, and the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
上文中结合图1至图4,详细描述了根据本申请实施例的数据传输的方法,下面将结合图5和图6,详细描述根据本申请实施例的数据传输的装置。The data transmission method according to the embodiment of the present application is described in detail above with reference to FIGS. 1 to 4, and the data transmission device according to the embodiment of the present application will be described in detail below in conjunction with FIG. 5 and FIG. 6.
图5示出了本申请实施例提供的数据传输的装置500。在一种设计中,该装置500可以是上述第一节点,也可以是第一节点中的芯片。该装置500包括:处理单元510和收发单元 520。FIG. 5 shows a data transmission device 500 provided by an embodiment of the present application. In one design, the device 500 may be the above-mentioned first node, or may be a chip in the first node. The device 500 includes: a processing unit 510 and a transceiver unit 520.
在一种可能的实现方式中,装置500用于执行上述方法实施例中第一节点对应的各个流程和步骤。In a possible implementation manner, the apparatus 500 is configured to execute each process and step corresponding to the first node in the foregoing method embodiment.
该处理单元510用于:在当前传输路径出现拥塞的情况下,确定至少两条候选传输路径,所述至少两条候选传输路径均以所述装置为起点、以目的节点为终点;以及,基于编码数据包的剩余时延、编码数据包的接收带宽以及所述至少两条候选传输路径的信息,从所述至少两条候选传输路径中确定至少一条传输路径;该收发单元520用于:在所述至少一条传输路径上发送所述编码数据包。The processing unit 510 is configured to: when the current transmission path is congested, determine at least two candidate transmission paths, the at least two candidate transmission paths both start from the device and end at the destination node; and, based on The remaining time delay of the encoded data packet, the reception bandwidth of the encoded data packet, and the information of the at least two candidate transmission paths, determine at least one transmission path from the at least two candidate transmission paths; the transceiver unit 520 is configured to: Sending the encoded data packet on the at least one transmission path.
可选地,所述至少两条候选传输路径的信息包括下列信息中的至少一个:所述至少两条候选传输路径中每条候选传输路径上的节点之间的传输时延;所述每条候选传输路径上的节点的再编码时延;所述每条候选传输路径的可用带宽;或,所述每条候选传输路径上的节点之间的丢包率。Optionally, the information of the at least two candidate transmission paths includes at least one of the following information: transmission delay between nodes on each candidate transmission path in the at least two candidate transmission paths; The recoding delay of the nodes on the candidate transmission path; the available bandwidth of each candidate transmission path; or, the packet loss rate between the nodes on each candidate transmission path.
可选地,所述至少一条传输路径包括第一传输路径,所述第一传输路径满足如下条件:所述第一传输路径上的节点之间的传输时延之和小于或等于所述编码数据包的剩余时延;所述第一传输路径的可用带宽大于或等于所述编码数据包的接收带宽;所述第一传输路径上的节点之间的丢包率均小于或等于编码丢包恢复率。Optionally, the at least one transmission path includes a first transmission path, and the first transmission path satisfies the following condition: the sum of transmission delays between nodes on the first transmission path is less than or equal to the encoded data The remaining delay of the packet; the available bandwidth of the first transmission path is greater than or equal to the receiving bandwidth of the encoded data packet; the packet loss rate between nodes on the first transmission path is less than or equal to the encoding loss recovery Rate.
可选地,所述至少一条传输路径包括至少两条第二传输路径,所述至少两条第二传输路径满足如下条件:所述至少两条第二传输路径上的节点之间的传输时延之和小于或等于所述编码数据包的剩余时延;所述至少两条第二路径的可用带宽之和大于或等于所述编码数据包的接收带宽;所述至少两条第二路径中的节点之间的丢包率均小于或等于编码丢包恢复率。Optionally, the at least one transmission path includes at least two second transmission paths, and the at least two second transmission paths satisfy the following condition: transmission delay between nodes on the at least two second transmission paths The sum is less than or equal to the remaining delay of the encoded data packet; the sum of the available bandwidth of the at least two second paths is greater than or equal to the receiving bandwidth of the encoded data packet; The packet loss rate between nodes is less than or equal to the coded packet loss recovery rate.
可选地,所述处理单元510具体用于:按照所述至少两条第二传输路径中每条第二传输路径的可用带宽和所述每条第二传输路径上的节点之间的传输时延,为所述至少两条第二传输路径分配所述编码数据包;所述收发单元520具体用于:分别在所述至少两条第二传输路径上发送所述编码数据包。Optionally, the processing unit 510 is specifically configured to: according to the available bandwidth of each of the at least two second transmission paths and the transmission time between nodes on each of the second transmission paths Extension, allocating the coded data packet to the at least two second transmission paths; the transceiving unit 520 is specifically configured to send the coded data packet on the at least two second transmission paths respectively.
可选地,所述至少一条传输路径为所述至少两条候选传输路径中满足所述条件的路径中、节点数量最多的路径。Optionally, the at least one transmission path is a path with the largest number of nodes among paths meeting the condition among the at least two candidate transmission paths.
可选地,所述处理单元510还用于:根据所述至少一条传输路径的信息,确定所述至少一条传输路径上的节点的处理类型,所述处理类型包括转发、再编码、或解码中的至少一项;所述收发单元520用于:在所述至少一条传输路径上发送所述编码数据包,所述编码数据包携带所述至少一条传输路径上的节点的处理类型。Optionally, the processing unit 510 is further configured to determine a processing type of a node on the at least one transmission path according to the information of the at least one transmission path, and the processing type includes forwarding, re-encoding, or decoding. The transceiving unit 520 is configured to send the encoded data packet on the at least one transmission path, the encoded data packet carrying the processing type of the node on the at least one transmission path.
可选地,所述编码数据包携带下列信息中的至少一个:业务要求信息,用于指示本次数据传输的时延要求;所述至少一条传输路径的信息,用于指示所述至少一条传输路径上的节点;处理类型,用于指示接收到所述编码数据包的下一跳节点对所述编码数据包执行转发、再编码、或解码中的至少一项处理。Optionally, the encoded data packet carries at least one of the following information: service requirement information, used to indicate the delay requirement of the current data transmission; information of the at least one transmission path, used to indicate the at least one transmission Node on the path; processing type, used to instruct the next hop node that receives the encoded data packet to perform at least one of forwarding, re-encoding, or decoding on the encoded data packet.
应理解,这里的装置500以功能单元的形式体现。这里的术语“单元”可以指应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。在一个可选例子中,本领域技术人员可以理解,装置500可以具体为上述实施例中的第一节点,装置500可以用于执行上述方法实施例中与 第一节点对应的各个流程和/或步骤,为避免重复,在此不再赘述。It should be understood that the device 500 here is embodied in the form of a functional unit. The term "unit" here can refer to application specific integrated circuits (ASICs), electronic circuits, processors used to execute one or more software or firmware programs (such as shared processors, proprietary processors, or groups). Processor, etc.) and memory, merged logic circuits, and/or other suitable components that support the described functions. In an optional example, those skilled in the art can understand that the apparatus 500 may be specifically the first node in the above-mentioned embodiment, and the apparatus 500 may be used to execute various processes and/or processes corresponding to the first node in the above-mentioned method embodiment. Steps, in order to avoid repetition, will not be repeated here.
上述各个方案的装置500具有实现上述方法中第一节点执行的相应步骤的功能;上述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。例如,上述收发单元510可以包括发送单元和接收单元,该发送单元可以用于实现上述收发单元对应的用于执行发送动作的各个步骤和/或流程,该接收单元可以用于实现上述收发单元对应的用于执行接收动作的各个步骤和/或流程。该发送单元可以由发射器替代,该接收单元可以由接收器替代,分别执行各个方法实施例中的收发操作以及相关的处理操作。The apparatus 500 of each of the foregoing solutions has the function of implementing the corresponding steps executed by the first node in the foregoing method; the foregoing functions may be implemented by hardware, or may be implemented by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above-mentioned functions. For example, the above-mentioned transceiver unit 510 may include a sending unit and a receiving unit, and the sending unit may be used to implement various steps and/or procedures for performing the sending action corresponding to the above-mentioned transceiver unit, and the receiving unit may be used to implement the above-mentioned transceiver unit. The various steps and/or processes used to perform the receiving action. The sending unit can be replaced by a transmitter, and the receiving unit can be replaced by a receiver, respectively performing the receiving and sending operations and related processing operations in each method embodiment.
在本申请的实施例,图5中的装置500也可以是芯片或者芯片***,例如:片上***(system on chip,SoC)。对应的,收发单元510可以是该芯片的收发电路,在此不做限定。In the embodiment of the present application, the device 500 in FIG. 5 may also be a chip or a chip system, such as a system on chip (system on chip, SoC). Correspondingly, the transceiver unit 510 may be the transceiver circuit of the chip, which is not limited here.
图6示出了本申请实施例提供的另一数据传输的装置600。该装置600包括处理器610、收发器620和存储器630。其中,处理器610、收发器620和存储器630通过内部连接通路互相通信,该存储器630用于存储指令,该处理器610用于执行该存储器630存储的指令,以控制该收发器620发送信号和/或接收信号。FIG. 6 shows another data transmission device 600 provided by an embodiment of the present application. The device 600 includes a processor 610, a transceiver 620, and a memory 630. The processor 610, the transceiver 620, and the memory 630 communicate with each other through an internal connection path. The memory 630 is used to store instructions, and the processor 610 is used to execute the instructions stored in the memory 630 to control the transceiver 620 to send signals and / Or receive the signal.
其中,该处理器610用于:在当前传输路径出现拥塞的情况下,确定至少两条候选传输路径,所述至少两条候选传输路径均以所述装置为起点、以目的节点为终点;以及,基于编码数据包的剩余时延、编码数据包的接收带宽以及所述至少两条候选传输路径的信息,从所述至少两条候选传输路径中确定至少一条传输路径;该收发器620用于:在所述至少一条传输路径上发送所述编码数据包。Wherein, the processor 610 is configured to: when the current transmission path is congested, determine at least two candidate transmission paths, the at least two candidate transmission paths both start from the device and end at the destination node; and , Determining at least one transmission path from the at least two candidate transmission paths based on the remaining time delay of the encoded data packet, the receiving bandwidth of the encoded data packet, and the information of the at least two candidate transmission paths; the transceiver 620 is configured to : Sending the encoded data packet on the at least one transmission path.
应理解,装置600可以具体为上述实施例中的第一节点,并且可以用于执行上述方法实施例中与第一节点对应的各个步骤和/或流程。可选地,该存储器630可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。该处理器610可以用于执行存储器中存储的指令,并且当该处理器610执行存储器中存储的指令时,该处理器610用于执行上述与该终端设备或网络设备对应的方法实施例的各个步骤和/或流程。该收发器620可以包括发射器和接收器,该发射器可以用于实现上述收发器对应的用于执行发送动作的各个步骤和/或流程,该接收器可以用于实现上述收发器对应的用于执行接收动作的各个步骤和/或流程。It should be understood that the apparatus 600 may be specifically the first node in the foregoing embodiment, and may be used to execute each step and/or process corresponding to the first node in the foregoing method embodiment. Optionally, the memory 630 may include a read-only memory and a random access memory, and provide instructions and data to the processor. A part of the memory may also include a non-volatile random access memory. For example, the memory can also store device type information. The processor 610 may be used to execute instructions stored in the memory, and when the processor 610 executes the instructions stored in the memory, the processor 610 is used to execute each of the foregoing method embodiments corresponding to the terminal device or the network device. Steps and/or processes. The transceiver 620 may include a transmitter and a receiver, and the transmitter may be used to implement various steps and/or processes for performing the sending action corresponding to the above transceiver, and the receiver may be used to implement the corresponding use of the above transceiver. To perform the various steps and/or processes of the receiving action.
应理解,在本申请实施例中,上述装置的处理器可以是中央处理单元(central processing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。It should be understood that, in the embodiments of the present application, the processor of the above-mentioned device may be a central processing unit (CPU), and the processor may also be other general-purpose processors, digital signal processors (DSP), or application-specific integrated circuits. (ASIC), Field Programmable Gate Array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor or the like.
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件单元组合执行完成。软件单元可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器执行存储器中的指令,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。In the implementation process, each step of the above method can be completed by an integrated logic circuit of hardware in the processor or instructions in the form of software. The steps of the method disclosed in the embodiments of the present application may be directly embodied as being executed and completed by a hardware processor, or executed and completed by a combination of hardware and software units in the processor. The software unit may be located in a mature storage medium in the field, such as random access memory, flash memory, read-only memory, programmable read-only memory, or electrically erasable programmable memory, registers. The storage medium is located in the memory, and the processor executes the instructions in the memory and completes the steps of the above method in combination with its hardware. To avoid repetition, it will not be described in detail here.
本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和单 元,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。A person of ordinary skill in the art may realize that, in combination with the method steps and units described in the embodiments disclosed herein, they can be implemented by electronic hardware, computer software, or a combination of both, in order to clearly illustrate the possibilities of hardware and software. Interchangeability, in the above description, the steps and components of the embodiments have been generally described in accordance with their functions. Whether these functions are executed by hardware or software depends on the specific application and design constraint conditions of the technical solution. A person of ordinary skill in the art may use different methods for each specific application to implement the described functions, but such implementation should not be considered as going beyond the scope of the present application.
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。Those skilled in the art can clearly understand that, for the convenience and conciseness of description, the specific working process of the above-described system, device, and unit may refer to the corresponding process in the foregoing method embodiment, which will not be repeated here.
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。In the several embodiments provided in this application, it should be understood that the disclosed system, device, and method can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the above-mentioned units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components may be combined or may be Integrate into another system, or some features can be ignored or not implemented. In addition, the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may also be electrical, mechanical or other forms of connection.
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。The units described above as separate components may or may not be physically separate, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments of the present application.
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。In addition, the functional units in the various embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or software functional unit.
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。If the above-mentioned integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application is essentially or the part that contributes to the existing technology, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium. It includes several instructions to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage media include: U disk, mobile hard disk, read-only memory (read-only memory, ROM), random access memory (random access memory, RAM), magnetic disks or optical disks and other media that can store program codes. .
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。The above are only specific implementations of this application, but the protection scope of this application is not limited to this. Anyone familiar with the technical field can easily think of various modifications or changes within the technical scope disclosed in this application. Replacement, these modifications or replacements shall be covered within the scope of protection of this application. Therefore, the protection scope of this application shall be subject to the protection scope of the claims.

Claims (11)

  1. 一种数据传输的方法,其特征在于,包括:A method of data transmission, characterized in that it comprises:
    在当前传输路径出现拥塞的情况下,第一节点确定至少两条候选传输路径,所述至少两条候选传输路径均以所述第一节点为起点、以目的节点为终点;When the current transmission path is congested, the first node determines at least two candidate transmission paths, and the at least two candidate transmission paths both start from the first node and end at the destination node;
    所述第一节点基于编码数据包的剩余时延、编码数据包的接收带宽以及所述至少两条候选传输路径的信息,从所述至少两条候选传输路径中确定至少一条传输路径;The first node determines at least one transmission path from the at least two candidate transmission paths based on the remaining time delay of the encoded data packet, the reception bandwidth of the encoded data packet, and the information of the at least two candidate transmission paths;
    所述第一节点在所述至少一条传输路径上发送所述编码数据包。The first node sends the encoded data packet on the at least one transmission path.
  2. 根据权利要求1所述的方法,其特征在于,所述至少两条候选传输路径的信息包括下列信息中的至少一个:The method according to claim 1, wherein the information of the at least two candidate transmission paths includes at least one of the following information:
    所述至少两条候选传输路径中每条候选传输路径上的节点之间的传输时延;The transmission delay between nodes on each of the at least two candidate transmission paths;
    所述每条候选传输路径上的节点的再编码时延;The recoding delay of each node on the candidate transmission path;
    所述每条候选传输路径的可用带宽;或,The available bandwidth of each candidate transmission path; or,
    所述每条候选传输路径上的节点之间的丢包率。The packet loss rate between nodes on each candidate transmission path.
  3. 根据权利要求2所述的方法,其特征在于,所述至少一条传输路径包括第一传输路径,所述第一传输路径满足如下条件:The method according to claim 2, wherein the at least one transmission path comprises a first transmission path, and the first transmission path satisfies the following conditions:
    所述第一传输路径上的节点之间的传输时延之和小于或等于所述编码数据包的剩余时延;The sum of the transmission delays between nodes on the first transmission path is less than or equal to the remaining delay of the encoded data packet;
    所述第一传输路径的可用带宽大于或等于所述编码数据包的接收带宽;The available bandwidth of the first transmission path is greater than or equal to the receiving bandwidth of the encoded data packet;
    所述第一传输路径上的节点之间的丢包率均小于或等于编码丢包恢复率。The packet loss rates between nodes on the first transmission path are all less than or equal to the encoding packet loss recovery rate.
  4. 根据权利要求2所述的方法,其特征在于,所述至少一条传输路径包括至少两条第二传输路径,所述至少两条第二传输路径满足如下条件:The method according to claim 2, wherein the at least one transmission path includes at least two second transmission paths, and the at least two second transmission paths satisfy the following conditions:
    所述至少两条第二传输路径上的节点之间的传输时延之和小于或等于所述编码数据包的剩余时延;The sum of the transmission delays between the nodes on the at least two second transmission paths is less than or equal to the remaining delay of the encoded data packet;
    所述至少两条第二路径的可用带宽之和大于或等于所述编码数据包的接收带宽;The sum of the available bandwidth of the at least two second paths is greater than or equal to the receiving bandwidth of the encoded data packet;
    所述至少两条第二路径中的节点之间的丢包率均小于或等于编码丢包恢复率。The packet loss rates between nodes in the at least two second paths are both less than or equal to the encoding packet loss recovery rate.
  5. 根据权利要求4所述的方法,其特征在于,在所述第一节点在所述至少一条传输路径上发送所述编码数据包之前,所述方法还包括:The method according to claim 4, characterized in that, before the first node sends the encoded data packet on the at least one transmission path, the method further comprises:
    所述第一节点按照所述至少两条第二传输路径中每条第二传输路径的可用带宽和所述每条第二传输路径上的节点之间的传输时延,为所述至少两条第二传输路径分配所述编码数据包;According to the available bandwidth of each second transmission path of the at least two second transmission paths and the transmission delay between nodes on each second transmission path, the first node is the at least two transmission paths. The second transmission path allocates the encoded data packet;
    所述第一节点在所述至少一条传输路径上发送所述编码数据包,包括:The sending, by the first node, the encoded data packet on the at least one transmission path includes:
    所述第一节点分别在所述至少两条第二传输路径上发送所述编码数据包。The first node sends the encoded data packet on the at least two second transmission paths respectively.
  6. 根据权利要求3至5中任一项所述的方法,其特征在于,所述至少一条传输路径为所述至少两条候选传输路径中满足所述条件的路径中、节点数量最多的路径。The method according to any one of claims 3 to 5, wherein the at least one transmission path is the path with the largest number of nodes among the paths that satisfy the condition among the at least two candidate transmission paths.
  7. 根据权利要求1至6中任一项所述的方法,其特征在于,在所述第一节点在所述至少一条传输路径上发送所述编码数据包之前,所述方法还包括:The method according to any one of claims 1 to 6, characterized in that, before the first node sends the encoded data packet on the at least one transmission path, the method further comprises:
    所述第一节点根据所述至少一条传输路径的信息,确定所述至少一条传输路径上的节点的处理类型,所述处理类型包括转发、再编码、或解码中的至少一项;Determining, by the first node, a processing type of a node on the at least one transmission path according to the information of the at least one transmission path, and the processing type includes at least one of forwarding, re-encoding, or decoding;
    所述第一节点在所述至少一条传输路径上发送所述编码数据包,包括:The sending, by the first node, the encoded data packet on the at least one transmission path includes:
    所述第一节点在所述至少一条传输路径上发送所述编码数据包,所述编码数据包携带所述至少一条传输路径上的节点的处理类型。The first node sends the encoded data packet on the at least one transmission path, and the encoded data packet carries the processing type of the node on the at least one transmission path.
  8. 根据权利要求1至7中任一项所述的方法,其特征在于,所述编码数据包携带下列信息中的至少一个:The method according to any one of claims 1 to 7, wherein the encoded data packet carries at least one of the following information:
    业务要求信息,用于指示本次数据传输的时延要求;Service requirement information, used to indicate the delay requirement of this data transmission;
    所述至少一条传输路径的信息,用于指示所述至少一条传输路径上的节点;The information of the at least one transmission path is used to indicate a node on the at least one transmission path;
    处理类型,用于指示接收到所述编码数据包的下一跳节点对所述编码数据包执行转发、再编码、或解码中的至少一项处理。The processing type is used to instruct the next hop node that receives the encoded data packet to perform at least one of forwarding, re-encoding, or decoding on the encoded data packet.
  9. 一种数据传输的装置,其特征在于,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序,当所述程序被所述处理器执行时,使得所述装置执行上述权利要求1至8中任一项所述的方法。A data transmission device, characterized by comprising: a processor, the processor is coupled with a memory, the memory is used to store a program, and when the program is executed by the processor, the device is caused to execute the above The method of any one of claims 1 to 8.
  10. 一种数据传输的***,其特征在于,包括:如权利要求9所述的装置和目的节点。A data transmission system, characterized by comprising: the device according to claim 9 and a destination node.
  11. 一种计算机可读存储介质,用于存储计算机程序,其特征在于,所述计算机程序包括用于实现上述权利要求1至8中任一项所述的方法的指令。A computer-readable storage medium for storing a computer program, wherein the computer program includes instructions for implementing the method according to any one of claims 1 to 8.
PCT/CN2021/087213 2020-04-21 2021-04-14 Data transmission method, system and device WO2021213227A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010316063.3 2020-04-21
CN202010316063.3A CN113543206B (en) 2020-04-21 2020-04-21 Method, system and device for data transmission

Publications (1)

Publication Number Publication Date
WO2021213227A1 true WO2021213227A1 (en) 2021-10-28

Family

ID=78123786

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/087213 WO2021213227A1 (en) 2020-04-21 2021-04-14 Data transmission method, system and device

Country Status (2)

Country Link
CN (1) CN113543206B (en)
WO (1) WO2021213227A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116647330A (en) * 2022-02-16 2023-08-25 华为技术有限公司 Data transmission method and device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015169146A1 (en) * 2014-05-08 2015-11-12 华为技术有限公司 Path calculation method, message response method and related device
CN105357068A (en) * 2015-11-03 2016-02-24 华中科技大学 OpenFlow network flow control method for QoS assurance of application
CN106533960A (en) * 2016-12-23 2017-03-22 重庆邮电大学 Data center network routing method based on Fat-Tree structure
CN109039897A (en) * 2018-07-20 2018-12-18 南京邮电大学 A kind of software definition backhaul network method for routing based on service-aware

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150046558A1 (en) * 2013-03-15 2015-02-12 Google Inc. System and method for choosing lowest latency path
CN108023817B (en) * 2016-11-04 2021-03-02 华为技术有限公司 Method and device for determining data transmission path
CN109802889B (en) * 2017-11-17 2020-10-27 华为技术有限公司 Information transmission method and device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015169146A1 (en) * 2014-05-08 2015-11-12 华为技术有限公司 Path calculation method, message response method and related device
CN105357068A (en) * 2015-11-03 2016-02-24 华中科技大学 OpenFlow network flow control method for QoS assurance of application
CN106533960A (en) * 2016-12-23 2017-03-22 重庆邮电大学 Data center network routing method based on Fat-Tree structure
CN109039897A (en) * 2018-07-20 2018-12-18 南京邮电大学 A kind of software definition backhaul network method for routing based on service-aware

Also Published As

Publication number Publication date
CN113543206A (en) 2021-10-22
CN113543206B (en) 2023-08-22

Similar Documents

Publication Publication Date Title
US10523368B2 (en) Polar code processing method and communications device
JP6817452B2 (en) Rate matching method, encoding device, and communication device
EP3073642B1 (en) Polar code decoding method and decoding apparatus
Puducheri et al. The design and performance of distributed LT codes
Yang et al. BATS Codes: Theory and practice
WO2019158031A1 (en) Encoding method, decoding method, encoding device, and decoding device
Yang et al. BATS: Network coding in action
WO2019056941A1 (en) Decoding method and device, and decoder
US8438463B2 (en) Decoding tail-biting convolutional codes
Li et al. A low-complexity coded transmission scheme over finite-buffer relay links
WO2021213227A1 (en) Data transmission method, system and device
Garrido et al. Exploiting sparse coding: A sliding window enhancement of a random linear network coding scheme
US10523790B2 (en) System and method of header compression for online network codes
Xu et al. Quasi-universal BATS code
Yue et al. The design of degree distribution for distributed fountain codes in wireless sensor networks
WO2022268130A1 (en) Network encoding method and apparatus
WO2022148190A1 (en) L2tp message processing method and apparatus, and storage medium
Li et al. Systematic network coding for two-hop lossy transmissions
CN113133033B (en) Topology-aware random linear network coding retransmission method
Patil et al. An enhanced network coding based MAC optimization model for QoS oriented multicast transmission over LTE networks
WO2023072077A1 (en) Communication method and related apparatus
WO2024002171A1 (en) Encoding method and apparatus, and storage medium
WO2023174027A1 (en) Network coding method and apparatus
WO2023082950A1 (en) Method and apparatus for processing data
WO2022268064A1 (en) Data transmission method and related apparatus

Legal Events

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

Ref document number: 21792278

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21792278

Country of ref document: EP

Kind code of ref document: A1