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

Data transmission method, device and system Download PDF

Info

Publication number
CN113206721A
CN113206721A CN202010079071.0A CN202010079071A CN113206721A CN 113206721 A CN113206721 A CN 113206721A CN 202010079071 A CN202010079071 A CN 202010079071A CN 113206721 A CN113206721 A CN 113206721A
Authority
CN
China
Prior art keywords
data
transmission
node
service
sent
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010079071.0A
Other languages
Chinese (zh)
Other versions
CN113206721B (en
Inventor
苏伟
常天海
向俊凌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010079071.0A priority Critical patent/CN113206721B/en
Publication of CN113206721A publication Critical patent/CN113206721A/en
Application granted granted Critical
Publication of CN113206721B publication Critical patent/CN113206721B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0052Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

The embodiment of the application discloses a data transmission method, a data transmission device and a data transmission system, which relate to the technical field of communication, can effectively simplify the data transmission process, reduce time delay and improve the fault-tolerant robustness in the transmission process so as to achieve the aim of improving the stability of end-to-end communication. The specific scheme is as follows: and the source node performs Forward Error Correction (FEC) coding on the data of the service to be transmitted to obtain transmission data. The source node distributes transmission data to M transmission channels between the source node and the intermediate node for transmission, wherein M is an integer which is greater than 1 and less than or equal to N, N is the minimum value of the number of the transmission channels between any two adjacent nodes on the transmission path, and the intermediate node is a downstream node of the source node on the transmission path. The data block distributed to each transmission channel of the M transmission channels carries a first identifier, and the first identifier is used to indicate that the corresponding data block belongs to the service to be sent.

Description

Data transmission method, device and system
Technical Field
The embodiment of the application relates to the technical field of communication, in particular to a data transmission method, device and system.
Background
In the communication process, data of one or more services often needs to be transmitted from one device (e.g., a source node) to another device (e.g., a sink node), that is, end-to-end (E2E) service communication is realized. In the data transmission process, there are some interference factors that may affect the quality of data received by the sink node, and further affect the stability of E2E communication.
Take the example of data transmission of E2E through optical communication. In the data transmission process, errors with different sizes are introduced to the transmitted data due to fiber breakage, excessive optical loss, optical signal interference and the like, and in the severe case, even a data transmission channel fails, which affects the quality of data received by a sink node, so that the stability of E2E communication is reduced.
Disclosure of Invention
The embodiment of the application provides a data transmission method, a data transmission device and a data transmission system, which can effectively simplify the data transmission process, reduce time delay and improve the fault tolerance robustness in the transmission process so as to achieve the purpose of improving the stability of E2E communication.
In order to achieve the above object, the embodiments of the present application provide the following technical solutions.
In a first aspect, a data transmission method is provided. The method comprises the following steps: the source node performs Forward Error Correction (FEC) coding on data of a service to be transmitted to obtain transmission data. The source node distributes the transmission data to M transmission channels between the source node and an intermediate node for transmission, wherein M is an integer greater than 1 and less than or equal to N, N is the minimum value of the number of the transmission channels between any two adjacent nodes on a transmission path of the data of the service to be transmitted, and the intermediate node is a downstream node of the source node on the transmission path. The data block distributed to each of the M transmission channels carries a first identifier, where the first identifier is used to indicate that the corresponding data block belongs to the service to be sent.
Based on the scheme, the source node performs FEC coding on one service or a plurality of services hosted by the same source, data blocks of a plurality of services hosted by different sources are not mixed together and are sent to the intermediate node, and meanwhile, the data blocks are identified to be the data blocks of the service to be sent through the first identification, so that other nodes can know the downstream nodes corresponding to the data blocks without performing FEC termination on the data. Meanwhile, a part of transmission channels (such as M transmission channels) are used for transmitting data of M data blocks corresponding to services to be transmitted, so that the data transmission efficiency of each transmission channel can be effectively improved, and meanwhile, the data blocks of one service can not be transmitted too dispersedly. Therefore, by the method, when data transmission is performed by using the FEC coding, the data transmission process can be effectively simplified, the data transmission delay is reduced, and meanwhile, the fault tolerance robustness in the transmission process is improved, so as to achieve the purpose of improving the stability of E2E communication.
In a possible design, the service to be sent is a single service to be sent, or the service to be sent includes multiple services to be sent from the same source and the same destination. Based on the scheme, a plurality of services with the same source and the same destination can be bound into one service for processing, and the transmission efficiency of the services with the same source and the same destination can be improved.
In a possible design, the data block distributed to each of the M transmission channels also carries a second identifier corresponding to the data block. Wherein the second identifier is used to indicate a position in the transmission data before the corresponding data block is distributed. Based on the scheme, other nodes can determine the position of the corresponding data block in the transmission data before being distributed through the second identifier, and the multi-path data block of one service can be recombined without confirming the channel for receiving the data block.
In one possible design, the method further includes: the source node FEC encodes the data block of each of the M transmission channels. Based on the scheme, the data block to be transmitted can be subjected to secondary FEC encoding, and the fault tolerance robustness in the transmission process is further improved.
In one possible design, the FEC encoding, by the source node, data of a service to be transmitted to obtain transmission data, includes: the source node maps the data of the service to be transmitted to an Optical Service Unit (OSU) frame to obtain an OSU frame carrying the data, and performs FEC coding on the OSU frame carrying the data to obtain the transmission data. Based on the scheme, the data block is carried by the OSU frame, and the FEC coding for the service to be sent is realized.
In one possible design, the method further includes: and the source node determines the number M of transmission channels for transmitting the service to be transmitted according to the number of the transmission channels between any two adjacent nodes in the transmission path. Based on the scheme, the source node can determine the number of the minimum required transmission channels according to the number of the transmission channels of each link on the transmission path of the service to be transmitted, and finally determine the number of the transmission channels used for transmitting the service to be transmitted. For example, the number M of transmission channels used for transmitting the service to be sent may be the determined minimum value, and for example, the number M of transmission channels used for transmitting the service to be sent may be smaller than the determined minimum value. Therefore, the problem that the number of data blocks is larger than that of transmission channels of downstream nodes when other nodes need to forward the data blocks of the service to be sent can be solved, the data sending efficiency of each transmission channel can be improved, and the data of one service can be prevented from being scattered in a plurality of transmission channels for transmission.
In a second aspect, a data transmission method is provided, which includes: a first node receives a first data block from a second node, the first node being any intermediate node on a transmission path of data of a service to be transmitted, the second node being an upstream node of the first node on the transmission path. The first data block carries a first identifier, and the first identifier is used to indicate that the first data block belongs to the service to be sent. The first node distributes the first data block to a first transmission channel for transmission according to the first identifier, wherein the first transmission channel is any one of transmission channels between the first node and nodes downstream of the first node on the transmission path. Based on the scheme, the data blocks transmitted by the first node through the upstream node all carry the identifier for indicating the service to which the data block belongs, and if the data blocks carry the first identifier for indicating that the corresponding data block belongs to the service to be transmitted, the first node can determine the downstream node of the service corresponding to the first data block without FEC termination, so that fast forwarding can be performed, and time consumption of FEC termination, recoding and distribution is saved.
In a possible design, the service to be sent is a single service to be sent, or the service to be sent includes multiple services to be sent from the same source and the same destination. Based on the scheme, a plurality of services with the same source and the same destination can be bound into one service for processing, and the transmission efficiency of the services with the same source and the same destination can be improved.
In one possible design, the method further includes: the first node receives a second data block from the second node, the second data block and the first data block being from different transmission channels between the second node and the first node. The second data block carries the first identity. The first node distributes the second data block to a second transmission channel for transmission according to the first identifier, wherein the second transmission channel is any one of transmission channels between the first node and a downstream node of the first node on the transmission path, and the second transmission channel is different from the first transmission channel. Based on the scheme, different data blocks belonging to the same service to be sent can be transmitted through different transmission channels, so that different data blocks can be transmitted relatively independently. Illustratively, when forwarding a data block, an intermediate node forwards the data block received by one transmission channel to one transmission channel of a downstream node, and if two or more data blocks of a service to be sent are sent in one upstream transmission channel, the node also needs to distinguish the data blocks and forward the data blocks separately when forwarding the data. Therefore, the scheme can effectively improve the data forwarding efficiency.
In a possible design, the first data block and the second data block further carry a second identifier respectively, and the second identifier is used to indicate a position in the transmission data before the corresponding data block is distributed. Based on the scheme, when the intermediate node forwards the data, the intermediate node can forward the data to any one transmission channel of the downstream node according to the second identifier.
In one possible design, the method further includes: the first node Forward Error Correction (FEC) decodes the first data block and the second data block. Based on the scheme, when the data block sent by the upstream node is the data block subjected to the secondary FEC encoding, the first node may perform FEC decoding on the data block first, so as to perform FEC recovery on the received data block and forward the recovered relatively complete data block.
In a third aspect, a data transmission method is provided, where the method includes: the sink node receives P paths of data blocks of the upstream node of the sink node on a transmission path of data from a service to be sent, wherein P is an integer larger than 1. And the host node determines a data block carrying a first identifier in the M paths of the P paths of data blocks, wherein the first identifier is used for indicating that the corresponding data block belongs to the service to be sent, and M is an integer which is greater than 1 and less than or equal to P. And the host node recombines the data block carrying the first identifier in the M path to obtain the data of the service to be sent. Based on the scheme, the destination node can screen out the M paths of data blocks belonging to the service to be sent from the received P paths of data blocks according to the first identification. It can be understood that when the sink node has screened out M data blocks from the P data blocks, all data of the service to be sent can be determined, and the data is recombined to obtain complete data related to the service to be sent.
In a possible design, the service to be sent is a single service to be sent, or the service to be sent includes multiple services to be sent from the same source and the same destination. Based on the scheme, a plurality of services with the same source and the same destination can be bound into one service for processing, and the transmission efficiency of the services with the same source and the same destination can be improved.
In a possible design, the M paths carry data blocks of a first identifier and also carry second identifiers respectively, where the second identifiers are used to indicate positions of corresponding data blocks in the data of the service to be sent. The host node recombines the data block carrying the first identifier in the M path, including: and the host node recombines the M paths of data blocks according to a second identifier carried by the data block carrying the first identifier in the M paths. Based on the scheme, after all the data blocks of the service to be sent are determined, the data blocks can be recombined according to the second identifier carried by each path of data block without referring to and acquiring the related information of the transmission channels of the data blocks, so that the data can be recombined more quickly and accurately.
In a possible design, the recombining, by the sink node, the M-way data block according to the second identifier carried by the data block carrying the first identifier in the M-way includes: and the host node obtains complete transmission data according to the second identifier carried by the data block carrying the first identifier in the M paths. The obtaining the data of the service to be sent includes: and the destination node performs FEC decoding on the transmission data to obtain the data of the service to be sent. Based on the scheme, after the recombined transmission data is obtained, the transmission data can be FEC decoded so as to realize the transmission purpose of obtaining the complete data of the service to be sent at the destination node.
In one possible design, the method further includes: the sink node Forward Error Correction (FEC) decodes the received P-way data block. Based on the scheme, when the data blocks received by the sink node are data blocks subjected to the secondary FEC coding, after the data blocks are received, the data blocks may be FEC decoded first and then reassembled to obtain corresponding complete data.
In a fourth aspect, a data transmission apparatus is provided, which may be a chip or a system on chip of a data transmission node. The data transmission apparatus may implement the functions performed by the source node in the first aspect or a possible design of the first aspect. These functions may be implemented by hardware, or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions. Such as: the data transmission apparatus may include: the encoding unit, the distribution unit and the determination unit are used for realizing the related functions of the source node. For example, the encoding unit may be configured to perform Forward Error Correction (FEC) encoding on data of a service to be transmitted to obtain transmission data, where the service to be transmitted is a single service, or multiple services co-hosted by the same source. The distribution unit may be configured to distribute the transmission data to M transmission channels between the source node and an intermediate node for transmission, where M is an integer greater than 1 and less than or equal to N, N is a minimum value of the number of transmission channels between any two adjacent nodes on a transmission path of the data of the service to be sent, and the intermediate node is a downstream node of the source node on the transmission path. The data block distributed to each of the M transmission channels carries a first identifier, where the first identifier is used to indicate that the corresponding data block belongs to the service to be sent. Of course, more or fewer units may be included in the data transmission apparatus to implement other functions of the source node.
In a fifth aspect, a data transmission apparatus is provided, which may be a chip or a system on a chip of a data transmission node. The data transfer apparatus may implement the functions performed by the intermediate node in the second aspect or a possible design of the second aspect. These functions may be implemented by hardware, or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions. Such as: the data transmission apparatus may include: a receiving unit, a decoding unit and a distributing unit to realize the related functions of the intermediate node. For example, the receiving unit may be configured to receive a first data block from an upstream node, where the service to be sent is a single service, or the service to be sent includes multiple services co-hosted by the same source. The first data block carries a first identifier, and the first identifier is used to indicate that the first data block belongs to the service to be sent. Of course, more or fewer units may be included in the data transmission apparatus to implement other functions of the intermediate node.
In a sixth aspect, a data transmission apparatus is provided, which may be a chip or a system on a chip of a data transmission node. The data transfer apparatus may implement the functions performed by the sink node in the third aspect or a possible design of the third aspect. These functions may be implemented by hardware, or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions. Such as: the data transmission apparatus may include: and the receiving unit, the determining unit and the recombining unit are used for realizing the related functions of the sink node. For example, the receiving unit may be configured to receive a P-way data block from an upstream node of the sink node on a transmission path of data from a service to be sent, where the service to be sent is a single service, or the service to be sent includes multiple services co-hosted by the same source, and P is an integer greater than 1. A determining unit, configured to determine a data block carrying a first identifier in M ways of the P-way data block, where the first identifier is used to indicate that the corresponding data block belongs to the service to be sent, and M is an integer greater than 1 and less than or equal to P. The reassembly unit may be configured to reassemble the data block carrying the first identifier in the M paths to obtain the data of the service to be sent. Of course, more or fewer units may be included in the data transmission apparatus to implement other functions of the sink node.
In a seventh aspect, a data transmission apparatus is provided that includes one or more processors coupled with one or more memories. The one or more memories store computer instructions. The computer instructions, when executed by the one or more processors, cause the data transfer apparatus to perform a data transfer method performed by a source node in a possible design of the first aspect or the first aspect, or the computer instructions, when executed by the one or more processors, cause the data transfer apparatus to perform a data transfer method performed by an intermediate node in a possible design of the second aspect or the second aspect, or the computer instructions, when executed by the one or more processors, cause the data transfer apparatus to perform a data transfer method performed by a sink node in any possible design of the third aspect or the third aspect.
In an eighth aspect, a computer-readable storage medium is provided, where the computer-readable storage medium stores instructions that, when executed, perform a data transmission method performed by a source node in the above first aspect or possible design in the first aspect, or perform a data transmission method performed by an intermediate node in the above second aspect or possible design in the second aspect, or perform a data transmission method performed by a sink node in the above third aspect or possible design in the third aspect, when executed.
A ninth aspect provides a computer program product comprising instructions which, when run on a computer, cause the computer to perform a data transfer method as performed by a source node in the first aspect or possible design thereof, or cause the computer to perform a data transfer method as performed by an intermediate node in the second aspect or possible design thereof, or cause the computer to perform a data transfer method as performed by a sink node in any one of the third aspect or possible design thereof.
A tenth aspect provides a chip system, which includes a processor and a communication interface, and is used for supporting a data transmission apparatus to implement the functions referred to in the foregoing aspects. In one possible design, the system-on-chip further includes a memory, which stores program instructions and data necessary for the network device. The chip system may be constituted by a chip, or may include a chip and other discrete devices.
In an eleventh aspect, there is provided a data transmission system comprising two or more data transmission devices as provided in the fourth and/or fifth and/or sixth and/or seventh aspects above, the two or more data transmission devices being respectively connected by a data transmission line such that data is transmitted according to the data transmission method as provided in the first aspect and its possible design and/or the second aspect and its possible design and/or the third aspect and its possible design.
Exemplarily, any design manner of the fourth aspect to the eleventh aspect may correspond to the first aspect and any possible design thereof or the second aspect and any possible design thereof or the third aspect and any possible design thereof, and therefore, similar technical effects can be brought, and are not described herein again.
Drawings
Fig. 1 is a schematic diagram of data transmission of a same source and sink service provided by the prior art;
fig. 2 is a schematic diagram of a multi-service transport network;
fig. 3 is a schematic flowchart of a data transmission method according to an embodiment of the present application;
fig. 4 is a schematic flowchart of another data transmission method according to an embodiment of the present application;
fig. 5 is a schematic flowchart of another data transmission method according to an embodiment of the present application;
fig. 6 is a schematic diagram of a method for data distribution according to an embodiment of the present application;
fig. 7 is a schematic diagram illustrating a method for mapping data to k frames of an optical payload unit according to an embodiment of the present application;
fig. 8 is a schematic flowchart of another data transmission method according to an embodiment of the present application;
fig. 9 is a schematic diagram illustrating a data transmission apparatus according to an embodiment of the present application;
fig. 10 is a schematic diagram illustrating a composition of another data transmission apparatus according to an embodiment of the present application;
fig. 11 is a schematic diagram illustrating a composition of another data transmission apparatus according to an embodiment of the present application;
fig. 12 is a schematic diagram illustrating a composition of another data transmission apparatus according to an embodiment of the present application;
fig. 13 is a schematic composition diagram of a chip system according to an embodiment of the present disclosure.
Detailed Description
In the E2E communication process, improving the stability of communication is an important method for improving the communication efficiency. The prior art achieves this by providing additional protection channels. Illustratively, when a transmission channel used for transmitting data has a fault (e.g., an error rate is too large), an automatic protection mechanism is triggered to switch the data to a protection channel for transmission, so as to implement incomplete interruption of data transmission. However, this method usually suffers from transmission data loss. For example, when a transmission channel being used fails at a first time, an automatic protection mechanism is triggered, data is switched to the protection channel for transmission, and the switching is completed at a second time. This results in the receiving end node not receiving the data that should be sent between the first time and the second time. This loss of data during transmission also reduces the stability of the E2E communication.
In order to avoid the above problem, redundant Forward Error Correction (FEC) coding may also be performed on the data to improve the stability of E2E communication. Illustratively, the data of the service is subjected to overall FEC encoding at the source node, and the FEC-encoded data is transmitted through a transmission channel. After receiving the FEC encoded data, the sink node decodes the FEC encoded data to obtain complete service data. Because the transmitted data is FEC encoded, even if the data received by the sink node is partially erroneous or lost, the sink node can obtain more complete service data through FEC decoding. The method can be suitable for various service scenes, such as spectrum migration, wavelength addition and deletion, wavelength color change, N: M fault protection and the like. The method effectively improves the stability of E2E communication service by improving the transmission fault tolerance robustness.
Generally, during data transmission, data of a plurality of different services are transmitted simultaneously. In the embodiment of the present application, different services with identical transmission paths (i.e., having the same source node, intermediate node, and sink node) may be referred to as homologous homologization. Different services with non-identical transmission paths are called non-homologous homologies. Exemplarily, 2 services are non-homonymous services, and the 2 services may be services having different source nodes, may also be services having different sink nodes, and may also be 2 services in which the source node and the sink node are the same but pass through different intermediate nodes in the transmission process.
Fig. 1 is a schematic diagram of data transmission of a same source and sink service provided in the prior art. Fig. 1 illustrates an example in which a transmission path of multiple services to be transmitted from a same source and a same sink includes a source node, 2 intermediate nodes (node 1 and node 2), and a sink node. Before data transmission, the source node performs overall FEC coding on data of multiple services to be transmitted, and uniformly distributes the coded data to each transmission channel between the source node and the node 1 to transmit to the node 1. The node 1 may receive a plurality of data blocks through a transmission channel with the source node and forward the data blocks to the node 2, and then forward the data blocks to the sink node by the node 2. After receiving the multiple data blocks through the transmission channel between the destination node and the node 2, the destination node reassembles the data blocks, and performs FEC decoding on the reassembled data, thereby acquiring the complete data of multiple services.
However, for multiple services that are not co-hosted by the same source, the transfer of data can become much more complex. The following detailed description is made with reference to the accompanying drawings. Fig. 2 is a schematic diagram of a multi-service transport network. Fig. 2 takes the example that the service to be sent includes service a, service B, service C, and service D that are not co-located at the same source. As shown in fig. 2, the transmission path of the service a includes 4 links, node 1-node 3-node 4-node 5-node 7. The transmission path of the service B comprises 3 links of the node 1, the node 3, the node 4 and the node 6. The transmission path of the service C comprises 4 links of the node 2, the node 3, the node 4, the node 5 and the node 8. The transmission path of the service D comprises 3 links of the node 2, the node 3, the node 4 and the node 6. In the embodiment of the present application, the transmission path of the traffic a may be represented as [ NE1< - > NE3] ═ N1, [ NE3< - > NE4] ═ N3, [ NE4< - > NE5] ═ N4, [ NE5< - > NE7] ═ N6. Where NE is used to denote a node, e.g., NE1 represents node 1, NE2 represents node 2, and so on. N corresponds to the number of transmission channels between the nodes. For example, N1 is the number of transmission channels between NE1 and NE3, N3 is the number of transmission channels between NE3 and NE4, and so on. Similarly, the transmission path of the traffic B can be represented by [ NE1< - > NE3] ═ N1, [ NE3< - > NE4] ═ N3, [ NE4< - > NE6] ═ N5. The transmission path of the traffic C can be represented by [ NE2< - > NE3] ═ N2, [ NE3< - > NE4] ═ N3, [ NE4< - > NE5] ═ N4, [ NE5< - > NE8] ═ N7. The transmission path of the traffic D can be represented as [ NE2< - > NE3] ═ N2, [ NE3< - > NE4] ═ N3, [ NE4< - > NE6] ═ N5.
In the data transmission process, after receiving data sent by an upstream node, an intermediate node needs to perform more complex processing to transmit the corresponding data to a downstream node on a transmission path corresponding to a service. NE4 is used as an example for explanation. NE4 will receive data from node 1 including both service a and service B, and from node 2 including both service C and service D. The transmission paths of data of different services are not the same. Therefore, after receiving these data, NE4 needs which data is the specific service, further determines the downstream node on the transmission path of the corresponding service, and transmits the data of the corresponding service to the corresponding downstream node. That is, after NE4 receives data from node 1 and node 2, it first needs to FEC decode all the received data, i.e. perform FEC termination, and reassemble the received data to obtain the complete data of service a, service B, service C and service D. Then, the service a and the service C are subjected to overall FEC encoding, and the encoded service data is transmitted to the node 5. Similarly, NE4 also needs to FEC encode traffic B and traffic D as a whole and transmit the encoded traffic data to node 6.
It can be understood that, in the above scheme, the data at the source node is FEC encoded, so that the subsequent node can recover the received data through FEC decoding, and the data can be received more completely, thereby achieving the effect of improving the robustness of fault tolerance in the transmission process, and finally improving the communication stability of the end-to-end service. However, since the transmitted data is FEC-encoded data, after receiving the data, the intermediate node needs to perform FEC termination, re-encoding and distribution. This may cause problems of high complexity and large time delay of the data transmission system, and further affect data transmission of the E2E service, which may also reduce stability of the communication process.
In order to solve the foregoing problems, embodiments of the present application provide a data transmission method, apparatus, and system, which can effectively simplify a data transmission process, reduce a delay, and improve fault tolerance robustness in the transmission process, so as to improve stability of E2E communication.
It should be noted that the technical solution provided in the embodiment of the present application may be applied to a data transmission system having a plurality of network elements (or referred to as nodes), different nodes may be connected by data transmission links, and different data transmission links may include one or more transmission channels. In the embodiment of the present application, each node may also be referred to as a data transmission device. Illustratively, the data transmission system may be an Optical Transport Network (OTN). The data transmission line between adjacent nodes may be one or more of an Optical carrier, an Optical Transport Unit (OTU), a bearer container, or an Optical data Unit k (ODUk). In some embodiments, the node may be an OTN device including a line card, a branch card, and a cross card.
The origin of the transmission of traffic data is also referred to as the source node of the traffic and the destination of its transmission is also referred to as the sink node of the traffic. The path through which the data of a service is transmitted is also referred to as the transmission path of the service. The traffic path is composed of links between a plurality of adjacent nodes on the transmission path. The traffic path may be determined prior to data transmission of the traffic. Alternatively, the traffic path may be adjusted in real time according to the network conditions. The embodiments of the present application are not limited thereto.
Optionally, the transmission path of the service may further include an intermediate node, which is used to forward data and implement long-distance transmission of the data. It should be noted that in the embodiment of the present application, one or more intermediate nodes may be provided. In the following, a description will be given by taking an example in which a plurality of nodes are included as intermediate nodes on a transmission path of a service.
Fig. 3 is a schematic flowchart of a data transmission method according to an embodiment of the present application. To more clearly illustrate the data transmission method provided in the embodiment of the present application, the data of the service to be transmitted is taken as the service a shown in fig. 2 as an example below. As shown in fig. 3, the method may include S301-S306.
S301, the source node performs FEC coding on the data of the service to be sent to obtain transmission data.
In the embodiment of the present application, an Optical Service Unit (OSU) frame may be used to carry data of a Service, so that a source node processes and sends the data of the Service. Illustratively, the OSU frame may include an overhead region and a payload region. The overhead area may be used to carry service-related identifiers. For example, the identification may include one or more of the following identifications: service frame header Indication, Trail Trace Identifier (TTI), X-Bit Interleaved Parity (BIP-X), Backward Error Indication (BEI), Backward Defect Indication (BDI), Status Indication (Status, STAT), timestamp, sequence Identifier, mapping overhead, etc. Of course, the overhead area may also include other information related to service transmission, and the implementation of the present application is not limited herein. The payload region of the OSU frame may be used to carry traffic data. For example, the payload area may include a data unit, and the data unit may provide a storage space with a size of 8 bytes, 16 bytes, 32 bytes, 64 bytes, 128 bytes, 196 bytes, 240 bytes, 256 bytes, or 512 bytes, etc. to store the service data.
As shown in fig. 2, NE1 is the source node of service a. NE1 may FEC encode the OSU frame carrying the data of service a to obtain the corresponding FEC encoded transmission data.
Alternatively, when two or more homologous hosted services are included in one source node, data of the homologous hosted services may be bundled and processed as one service, that is, the service to be sent may include multiple services hosted by the homologous nodes.
Of course, when the source node performs FEC coding on the data of the service, it may also use other data frame types different from the above OSU frame as the bearer of the data of the service a to perform FEC coding. Or, the source node may also directly perform FEC encoding on the service data and obtain corresponding transmission data. The embodiments of the present application are not limited thereto.
S302, the source node distributes the transmission data to M transmission channels between the source node and the intermediate node for transmission.
Wherein, M is an integer greater than 1 and less than or equal to N, N is a minimum value of the number of transmission channels between any two adjacent nodes on a transmission path of data of a service to be transmitted, and the intermediate node is a downstream node of a source node on the transmission path.
As shown in fig. 2, NE1 may send the transport data corresponding to service a that has undergone FEC encoding to the downstream node on the transport path corresponding to service a, that is, NE 3.
In the embodiment of the present application, when the NE1 distributes the transmission data corresponding to the service a to the transmission channel between the NE1 and the NE3, a part of the N1 transmission channels between the NE1 and the NE3 may be selected for transmission.
For example, the NE1 may determine, before distributing the transmission data corresponding to the service a, the number of transmission channels of each transmission link in a plurality of transmission links included in the transmission path of the service a, and take the minimum value as the number of channels for transmitting the transmission data corresponding to the service a. For example, NE1 may count the transmission paths of the traffic a, where the number of transmission lines of each transmission link is N1, N3, N4, and N6, respectively, and then NE1 may take N ═ min { N1, N3, N4, N6} as the number M of channels for transmitting data corresponding to the traffic a, that is, take M ═ N. Therefore, the problem that the number of transmission channels of the receiving end is larger than that of transmission channels of the transmitting end in the process of forwarding the transmission data corresponding to the service A by the intermediate node can be avoided. Meanwhile, the transmission data corresponding to the service A can be transmitted in a plurality of channels in a centralized manner, which is beneficial to improving the stability of data transmission.
In this embodiment of the application, the number M of channels through which data is transmitted corresponding to the transmission service a may also be any integer smaller than N and greater than 1. The specific setting of M may be flexibly set according to an actual usage scenario, as long as M is less than or equal to N, which is not limited herein in the embodiment of the present application.
The operation of NE1 for determining the number M of lanes for transmission data corresponding to the transmission service a may be performed before the transmission service a is started, or may be performed before the transmission data corresponding to the service a is distributed after FEC encoding is completed.
Illustratively, NE1 may distribute M data blocks in M branches into M transmission lanes in a predetermined order, so that other nodes (e.g., sink nodes) on the transmission path may know the position of the data block in the transmission data before being distributed according to the transmission lane receiving the M data blocks.
And S303, the intermediate node receives the data block from the upstream node.
The intermediate node may receive the plurality of data blocks via a transmission channel with the upstream node. Wherein one transmission channel corresponds to one data block. Exemplarily, in conjunction with fig. 2, for service a, intermediate node NE3 is taken as an example. NE3 may receive an OTUk frame carrying data blocks via each of the N1 tunnels with NE 1. Generally, in the data communication process, most transmission channels transmit data. Therefore, NE3 can receive N1 OTUk frames from N1 transport channels between NE 1. And the data block carried by each OUTk frame carries an identifier for indicating the service to which the corresponding data block belongs. In the embodiment of the present application, the above-mentioned intermediate node (e.g., NE3) may also be referred to as a first node, and its upstream node may also be referred to as a second node.
For example, NE3 may receive a first data block and a second data block from NE1, respectively. The first data is a data block 1 carrying data belonging to service a, and the second data is a data block 2 carrying data belonging to service a. The data block 1 and the data block 2 may carry a first identifier, respectively, for identifying that the corresponding data block belongs to the service a.
S304, the intermediate node forwards the received data to a corresponding channel communicated with the downstream node.
After receiving a data block in a transmission channel, the intermediate node may determine a downstream node corresponding to the data block according to an identifier carried by the data block and indicating a service to which the data block belongs, and forward the data block to the transmission channel corresponding to the downstream node.
Exemplarily, in conjunction with fig. 2, the intermediate node is NE3 as an example. NE3 may receive multiple OTUk frames from the transport channel with NE 1. Including OTUk frames carrying M data blocks carrying the first identity. For each OTUk frame in the received plurality of OTUk frames, the NE3 may determine to obtain the data block carried in the OTUk frame through demapping.
For example, NE3 receives the first data including an OTUk frame through a transmission channel with NE 1. First, a start position of the OTUk frame in the first data is determined, an OTUk overhead and an ODUk overhead are extracted from the OTUk frame, an Optical Payload Unit k (OPUk) frame in the OTUk frame is obtained, and then, a data block 1 carried in the OPUk frame may be obtained through demapping.
The NE3 may determine, through the identifier carried by the data block and used for indicating the service to which the corresponding data block belongs, the downstream node corresponding to the data block, and distribute the data block to the transmission channel between the corresponding downstream node and the downstream node.
For example, NE3 obtains data block 1 through demapping, and data block 1 carries a first identifier indicating that data block 1 belongs to service a. Then NE3 may distribute this data block 1 to a transport path (e.g. the first transport path) between NE3 and NE4 for transmission.
Similarly, NE3 may perform the above operations on data received through each of multiple transmission channels, and then NE3 may distribute the data block to a downstream transmission link on the transmission path according to the identifier carried by the data block and indicating the service to which the corresponding data block belongs.
It should be noted that NE3 may distribute different data blocks to different transmission channels, and ensure that one transmission channel does not send data blocks of two or more transmission channels from an upstream node in the same service. Illustratively, NE3 obtains data block 2 through demapping, where data block 2 carries the first identifier, then NE3 distributes data block 2 to a transmission channel (e.g., a second transmission channel) between NE3 and NE4, where the second transmission channel is a transmission channel between NE3 and NE4, and is different from the first transmission channel.
S305, the sink node receives the data block from the upstream node on the transmission path of the service to be sent.
S306, the sink node processes the received data to acquire the data of the service to be sent.
The destination node of the target node may receive the plurality of data blocks through a transmission channel with an upstream node on a transmission path of the service to be transmitted. Wherein one transmission channel corresponds to one data block.
Illustratively, the sink node (NE7) may receive a data block carrying an identifier for identifying a service to which the corresponding data block belongs via each of N6 transmission paths with NE 5. The NE7 may determine the service to which the corresponding data block belongs according to the identifier, and process the data blocks with the same identifier to obtain corresponding transmission data, thereby obtaining data of the corresponding service.
For example, NE7 may receive N6 OTUk frames carrying data blocks through N6 transmission channels, and through a similar demapping process as in S304, corresponding N6 data blocks may be obtained. The M data blocks carrying the first identifier are included. NE7 may reassemble the M data blocks to obtain the transmission data corresponding to service a. Media NE7 may FEC decode the transmission data to obtain the complete data of service a.
It should be noted that, in the embodiment of the present application, when the source node or the intermediate node performs distribution transmission on the data block, the transmission channel may be selected according to a preset rule, to perform distribution on the transmission channel corresponding to the data block, or may be randomly selected from a downstream transmission channel to perform transmission of one data block.
In some embodiments, when the data blocks are transmitted at the source node and the transmission channels of each segment link of each data block on the transmission path are already allocated, the node sending the data block may distribute the corresponding data block to the corresponding transmission channel for transmission. After receiving the plurality of data blocks, the sink node may determine a position in the transmission data before each data block is distributed according to the transmission channel receiving the data blocks, and perform reassembly of the data blocks.
In other embodiments, when the transmission channel of the data block on each link is not determined before the data block starts to be transmitted, the node sending the data block may randomly select one transmission channel from a plurality of transmission channels between the node and a downstream node for transmitting the data block, and add a corresponding exit identifier to the data block during transmission, so that the sink node may determine, according to the exit identifier during transmission of the data block on each link, a position of the data block in the transmission data before being distributed at the source node and perform reassembly of the data block.
The method can realize the transmission of non-homologous co-hosting and homologous co-hosting services. In the method, a source node performs FEC coding on data by taking service as a unit and transmits the coded data to a sink node through an intermediate node. In the process, the intermediate node can forward the data block according to the identifier indicating the service to which the corresponding data block belongs (for example, the data block corresponding to the service to be sent carries the first identifier) carried by each data block, without performing the processes of FEC termination, re-encoding and distribution, so that the robustness of a transmission channel is enhanced through FEC encoding, the time required by the intermediate node for forwarding data is obviously reduced, and the system complexity is reduced. Meanwhile, the least number of channels required for transmitting the data of the service to be transmitted is selected at the source node for transmission, so that the selection of the transmission channels in the data transmission process is more flexible.
As described above, in some embodiments of the present application, the OSU frame may be used to carry service data, and the OSU frame is subjected to related processing, so as to implement transmission of service data. Illustratively, as shown in fig. 4, when the OSU frame is used to carry data of a service, S301 may specifically include S401-S402.
S401 and NE1 map the data of service a to the data unit in the payload area in the OSU frame, so as to obtain the OSU data frame carrying the data of service a.
In general, the data unit of the payload region of one OSU frame may not carry data of all services a. Therefore, when mapping the data of the service a into the OSU frame, the NE1 may map the data of the service a into a plurality of OSU frames, and correspondingly may obtain a plurality of OSU data frames carrying the data of the service a. The method of Mapping data into the OSU frame may be synchronous Mapping, asynchronous Mapping, or any Mapping according to the General Mapping Procedure (GMP). Of course, the manner of mapping data into OSU frames may also be different from the above example, and this is not limited by the embodiment of the present application.
S402, NE1 FEC-encodes the OSU data frame to obtain the transmission data corresponding to the service a.
NE1 obtains the FEC coding information after FEC coding the OSU data frame. In the embodiment of the present application, the FEC coding information may be stored in an OSU coding frame. It should be noted that, in some embodiments, after FEC encoding is performed on an OSU data frame, the obtained OSU encoded frame may simultaneously include FEC encoding information and data of a service carried by the OSU data frame, and then the OSU encoded frame obtained after FEC encoding is performed on the OSU data frame corresponding to the service a is transmission data corresponding to the service a. In other embodiments, after FEC encoding the OSU data frame, the obtained OSU encoded frame may only include coding information related to FEC encoding. The transmission data corresponding to the service a may include an OSU data frame corresponding to the service a, and an OSU encoded frame obtained after FEC encoding is performed on the OSU data frame.
Thus, NE1 completes FEC encoding of the data of service a and obtains the corresponding transmission data. Similarly, for other services (such as service B, service C, and service D in fig. 2), the source node may also perform FEC encoding on the data of the corresponding service according to the above method, and obtain transmission data corresponding to the service.
In addition, in other embodiments of the present application, when performing the above S302, when the NE1 is to distribute the transmission data corresponding to the service a to the M transmission channels for transmission, the transmission data corresponding to the service a may be divided first. For example, when dividing the transmission data, referring to fig. 5, the above S302 may include S501 to S503.
S501 and NE1 distribute the transmission data corresponding to service a to M branches.
NE1 may implement the partitioning of the transport data by distributing the transport data into M branches. For example, as shown in fig. 6, the transmission data corresponding to the service a includes P OSU encoded frames and Q OSU data frames. NE1 may distribute the P OSU encoded frames and Q OSU data frames into M branches, respectively. Each branch may include a data block composed of an OSU encoded frame and/or an OSU data frame.
S502 and NE1 add a first identifier for indicating that the data block belongs to the service to be sent to the data block in each of the M branches.
Data transmission between any two adjacent nodes includes data of a plurality of services. Therefore, in the embodiment of the present application, an identifier for indicating a service to which a data block belongs may be added to the data block in each channel. Illustratively, NE1 may add a first identifier to each of the M data chunks in the M branches. For example, the identity may be "# service a", which may be represented by a 16-bit value. It can be understood that the data blocks belonging to the service to be sent carry the same first identifier.
It should be noted that, when the service to be sent is a service formed by binding two or more services hosted by the same source, the source node may add an aggregated service identifier to the data blocks in all branches corresponding to the bound service, so as to indicate that the data blocks belong to the corresponding services hosted by the same source.
S503 and NE1 respectively transmit the data blocks in the M branches to the intermediate node through M transmission channels.
Generally, each of a plurality of transmission channels between two adjacent nodes includes a corresponding transmission line frame. When data needs to be transmitted through one transmission channel, the data can be mapped into a transmission line frame corresponding to the transmission channel, so that the data can be transmitted through the transmission line frame.
Exemplarily, the transmission line frame is an OTUk frame. Wherein, one OTUk frame may include an ODUk frame for performing link monitoring. An ODUk frame may include an OPUk frame for carrying data and a corresponding ODUk overhead.
NE1 may map a data block (e.g., referred to as data block 1) in one of the M branches into an OPUk frame of one of the M transport channels, and obtain an OPUk frame carrying data block 1. Then, the NE1 may add an ODUk overhead to the OPUk frame carrying the data block 1, and acquire a corresponding ODUk frame. Then, the NE1 may add a corresponding OTUk overhead to the ODUk frame to obtain an OTUk frame carrying the data block 1. Similarly, the NE1 may map other data blocks in the M branches into different OTUk frames, respectively, so as to transmit the M data blocks to the intermediate node through the OTUk frames. Wherein, an OTUk frame in one transmission channel carries one data block.
It should be noted that, in the embodiment of the present application, before mapping the data blocks into the OPUk frame, a continuous payload area for storing data in the OPUk frame may be divided into a plurality of payload blocks, and each payload block may be used to carry one data block. The method and the device can realize the multiplexing of the storage space of the OPUk frame while improving the utilization rate of the storage space of the OPUk frame. As shown in fig. 7, assuming that 4 rows of payload regions can be included in one OPUk frame, the payload region of the 1 st row OPUk frame can be divided into a plurality of payload blocks, and the size of each payload block is equal to the size of one data block. NE1 may map data block 1 into the payload block numbered #1 and data block 2 consecutive to data block 1 into other payload blocks, e.g. data block 2 may be mapped into the payload block numbered # 3. Therefore, each payload block bears the data block with the maximum capacity equivalent to the maximum capacity of the payload block, and the storage efficiency of the payload area is improved. And when an idle payload block exists in a payload area, the payload area can be used for bearing data blocks except the data block corresponding to the service A, so that the multiplexing of the storage space of the OPUk frame is realized.
Thus, through the above S501-S503, the NE1 achieves the purpose that the source node sends M data blocks carrying the first identifier corresponding to the service a to the intermediate node. It should be noted that, in this embodiment of the present application, M data blocks carrying the first identifier are distributed to corresponding M transmission channels according to a certain order, so that the sink node can determine, according to a channel receiving the data block, a position in transmission data of each data block in the M data blocks before being distributed, and reassemble the transmission data corresponding to the service a according to the position.
In the above embodiments, it is described by taking an example that the sink node determines the position of the data block in the service according to the transmission channel receiving the data block, in other embodiments of the present application, a second identifier may be further added to the data block to indicate the position of the data block in the corresponding service data before being distributed, so that the sink node may reassemble the data block according to the second identifier to obtain the service data.
Illustratively, referring to FIG. 8, the method may include S801-S809.
S801 and NE1 map the data of the service a to the data unit in the payload area in the OSU frame, so as to obtain the OSU data frame carrying the data of the service a.
S802 and NE1 perform FEC coding on the OSU data frame to obtain transmission data corresponding to the service a.
S803 and NE1 distribute the transmission data corresponding to service a to M branches.
S804, NE1 add a first identifier and a second identifier to the data block in each of the M branches. The first identifier is used to indicate that the data block belongs to service a, and the second identifier is used to indicate a position in the transmission data before the corresponding data block is distributed.
The second signature may be represented by an 8-bit value, which may range from 0 to 255. For example, for data blocks of M branches, a second identifier of #0 may be added to a first data block of the M branches, a second identifier of #2 may be added to a second data block of the M branches, and so on, M data blocks respectively identified as #0 to # M-1 may be obtained.
S805 and NE1 transmit the data blocks in the M branches to the intermediate node through M transmission channels, respectively.
It can be understood that, since each data block carries the second identifier, for the data block of each of the M branches, NE1 may distribute it to any one of N1 transport channels between NE1 and NE 3. It should be noted that, in the process of distributing data blocks, different data blocks of the same service are not distributed to the same transmission channel, so that it is ensured that the data blocks are transmitted relatively independently.
S806, the intermediate node receives the data block from the upstream node.
S807, the intermediate node forwards the received data to a corresponding channel in communication with the downstream node.
Similar to the description in S805 above, since each data block carries the second identifier, after determining the service of the data block according to the first identifier carried by the data block, the intermediate node may distribute the data block to any one transmission channel on the next transmission link on the transmission path of the corresponding service.
S808, NE7 receive data blocks from an upstream node on the traffic a transmission path.
S809, NE7 process the received data to obtain the data of service a.
For the destination node, after receiving the M data blocks carrying the first identifier, the destination node may recombine the M data blocks according to the second identifier carried by each data block, so as to obtain the complete transmission data corresponding to the service a. And then, FEC decoding is carried out on the transmission data, and the complete data of the service A can be obtained.
Through the above S801-S809, transmission of data of the service a from the source node to the sink node can be realized. It should be noted that, in the method shown in fig. 8, except that each data block also carries a second identifier, other methods are similar to the method shown in fig. 3, and detailed descriptions thereof are not repeated here.
It should be noted that, in the embodiment of the present application, during the transmission of the data of the service a, second FEC coding (or referred to as performing second-level FEC coding) may also be performed, so as to further improve the stability of data transmission.
Illustratively, when NE1 distributes M branched data to the transmission channel between NE3 for transmission, M data blocks may be FEC encoded separately, and secondary FEC encoding is completed. For example, a transmission line frame on a transmission channel is taken as an OTUk frame as an example. For one data block (e.g. data block 1) of M data blocks in M branches, NE1 may carry the data block 1 into an OTUk frame according to the method described above. After acquiring the OTUk frame carrying the data block 1, the NE1 may perform FEC encoding on the OUTk frame, and store the acquired FEC encoding information in the FEC area of the OTUk frame. Correspondingly, after receiving the OTUk frame subjected to the secondary FEC encoding, the NE3 may perform secondary FEC decoding on the OTUk frame according to the FEC encoding information stored in the FEC region, so as to obtain the OTUk frame carrying the data block 1.
In the embodiment of the present application, for a data transmission process of one service, secondary FEC coding may be performed at each node on a transmission path, so as to enhance stability of data transmission to the greatest extent. The second-level FEC encoding may also be performed at a part of nodes on the transmission path to appropriately shorten the delay due to the second-level FEC encoding/decoding. Of course, it is also possible to eliminate the delay caused by the secondary FEC encoding/decoding without performing the secondary FEC encoding during the transmission. In a specific process, the selection can be flexibly performed according to specific requirements, and the embodiment of the application is not limited to this.
According to the method, the time required by the intermediate node for forwarding data is obviously reduced and the system complexity is reduced while the robustness of the transmission channel is enhanced through FEC coding. Meanwhile, the least number of channels required for transmitting the data of the service to be transmitted is selected at the source node for transmission, so that the selection of the transmission channels in the data transmission process is more flexible. Meanwhile, the second identifier is added to each transmitted data block, so that the data can be distributed to any transmission channel on the transmission path of the corresponding service in the transmission process, and the flexibility of data distribution is increased. In addition, the stability of data transmission is further enhanced due to the fact that two-level FEC encoding is carried out on the transmitted data blocks.
The scheme provided by the embodiment of the present application is introduced above mainly from the perspective of interaction between network elements. It should be understood that the above-mentioned nodes include corresponding hardware structures and/or software modules for performing respective functions in order to realize the corresponding functions. Those skilled in the art will readily appreciate that the elements of the various examples described in connection with the embodiments disclosed herein may be implemented as hardware or a combination of hardware and computer software. Whether a function is performed as hardware or computer software drives hardware depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
In the embodiment of the present application, functional modules of nodes (such as a source node, an intermediate node, and a sink node) may be divided according to the above method example, for example, each functional module may be divided corresponding to each function, or two or more functions may be integrated into one processing module. The integrated module can be realized in a hardware mode, and can also be realized in a software functional module mode. Optionally, the division of the modules in the embodiment of the present application is schematic, and is only a logic function division, and there may be another division manner in actual implementation.
Fig. 9 shows a schematic block diagram of a data transmission apparatus 900. The data transmission apparatus 900 may be a chip or a system on a chip in a source node. The data transmission apparatus 900 is configured to perform the functions of the source node involved in the above embodiments. As one implementation manner, the data transmission apparatus 900 includes: an encoding unit 901 and a distribution unit 902.
The encoding unit 901 is configured to perform S301 shown in fig. 3. The service to be transmitted processed by the encoding unit 901 may be services in various forms. Illustratively, in some embodiments, the traffic to be sent is a single traffic. In other embodiments, the service to be sent comprises a plurality of services co-hosted by the same source. The distribution unit 902 is configured to execute S302 shown in fig. 3. For example, when the distribution unit 902 distributes the service data, the number M of transmission channels carrying the data block may be an integer greater than 1 and less than or equal to N, where N is a minimum value of the number of transmission channels between any two adjacent nodes on a transmission path of the service data to be sent. It should be noted that the data block distributed to each of the M transmission channels carries a first identifier, and the first identifier may be used to indicate that the corresponding data block belongs to a service to be sent.
In one possible design, the data blocks distributed to each of the M transmission channels by the distribution unit 902 further carry a second identifier respectively, which is used to indicate the position of the corresponding data block in the transmission data before being distributed.
In one possible design, the encoding unit 901 is further configured to FEC encode the data block of each of the M transmission channels. In this example, the encoding unit 901 may perform two-level FEC encoding on the data blocks (e.g., OTUk frames carrying the data blocks) that have been distributed into the transmission channel, so as to further enhance the robustness of the fault tolerance of the transmission data of the transmission channel.
In one possible design, the encoding unit 901 may be specifically configured to perform S401-S402 shown in fig. 4 and S801-S802 shown in fig. 8.
In one possible design, the data transmission apparatus 900 may further include a determination unit 903. The determining unit 903 is configured to determine, according to the number of transmission channels between any two adjacent nodes in a transmission path of a service to be sent, the number M of transmission channels through which the service to be sent is transmitted. For example, the determining unit 903 may perform the above operation before starting transmission of data of the service to be sent, or may perform the above operation before distributing the transmission data.
It should be noted that all relevant contents of each step related to the above method embodiment may be referred to the functional description of the corresponding functional module, and are not described herein again. The data transmission device provided by the embodiment of the application is used for executing the function of the source node in the data transmission method, so that the same effect as the data transmission method can be achieved. Optionally, but not necessarily, the data transmission apparatus 900 provided in this embodiment of the application may further include a processing module or a control module for supporting the encoding unit 901 and/or the distribution unit 902 and/or the determination unit 903 to complete corresponding functions, if necessary.
Fig. 10 shows a schematic block diagram of another data transmission apparatus 1000, where the data transmission apparatus 1000 may be a chip or a system on a chip in an intermediate node, and the data transmission apparatus 1000 is used for performing the functions of the intermediate node involved in the above embodiments. As one implementation, the data transmission apparatus 1000 includes a receiving unit 1001 and a distributing unit 1002.
Wherein the receiving unit 1001 is configured to perform S303 shown in fig. 3. The service to be sent to be processed may be various types of services. For example, in some embodiments, the service to be sent may be a single service, and in other embodiments, the service to be sent includes multiple services co-hosted by the same source. It should be noted that the first data block received by the receiving unit 1001 carries a first identifier, and the first identifier is used to indicate that the first data block belongs to a service to be sent.
The distribution unit 1002 is configured to execute S304 shown in fig. 3. In this embodiment of the present application, when the distribution unit 1002 distributes a data block, two or more data blocks belonging to the same service are not distributed simultaneously in one transmission channel, so as to ensure relative independence of data block transmission.
In one possible design, receiving unit 1001 is also configured to receive a second data block from an upstream node. Wherein the second data block and the first data block come from different transmission channels. Also, the second data block received by the receiving unit 1001 carries the first identity.
The distributing unit 1002 may further be configured to distribute the second data block to the second transmission channel for transmission according to the first identifier. Wherein the second transmission channel is any one of transmission channels between the first node and the downstream node, and the second transmission channel is different from the first transmission channel.
In one possible design, the first data block and the second data block received by the receiving unit 1001 also carry a second identifier, respectively, where the second identifier is used to indicate a position in the transmission data before the corresponding data block is distributed.
In one possible design, the data transmission apparatus 1000 may further include a decoding unit 1003 configured to FEC decode the first data block and the second data block. In this example, when the first data block and the second data block are subjected to the two-stage FEC encoding before being transmitted to the first node, after receiving the two data blocks, the decoding unit 1003 may perform FEC decoding on the two data blocks, and perform other operations.
It should be noted that all relevant contents of each step related to the above method embodiment may be referred to the functional description of the corresponding functional module, and are not described herein again. The data transmission device provided by the embodiment of the application is used for executing the function of the intermediate node in the data transmission method, so that the same effect as the data transmission method can be achieved. Optionally, but not necessarily, the data transmission apparatus 1000 provided in this embodiment of the application may further include a processing module or a control module for supporting the receiving unit 1001 and/or the distributing unit 1002 and/or the decoding unit 1003 to complete corresponding functions, if necessary.
Fig. 11 shows a schematic block diagram of another data transmission apparatus 1100. The data transmission apparatus 1100 may be a chip or a system on chip in a sink node, and the data transmission apparatus 1100 may be used to perform the functions of the sink node referred to in the above embodiments. As an implementation manner, the data transmission apparatus 1100 may include a receiving unit 1101, a determining unit 1102, and a recombining unit 1103.
The receiving unit 1101 is configured to execute S305 shown in fig. 3. The determining unit 1102 may be configured to determine a data block carrying a first identifier in M channels of the P channels of data blocks, where the first identifier is used to indicate that the corresponding data block belongs to the service to be sent. Wherein M is an integer greater than 1 and less than or equal to P. The reassembly unit 1103 may be configured to reassemble the data block carrying the first identifier in the M channels, so as to obtain data of the service to be sent. The service to be sent to be processed may be various types of services. In some embodiments, the service to be sent may be a single service, and in other embodiments, the service to be sent simultaneously includes multiple services co-hosted by the same source. Exemplarily, the determining unit 1102 and the recombining unit 1103 are configured to perform S306 as shown in fig. 3.
In a possible design, the M channels received by the receiving unit 1101 carry data blocks of a first identifier and also carry second identifiers respectively, which are used to indicate positions of corresponding data blocks in data of a service to be sent. The reassembly unit 1103 is configured to reassemble the M ways of data blocks according to the second identifier carried by the data block carrying the first identifier in the M ways.
In a possible design, the reassembly unit 1103 may be specifically configured to obtain complete transmission data according to the second identifier carried by the data block carrying the first identifier in the M channels. The data transmission apparatus 1100 further includes a decoding unit 1104. The decoding unit 1104 may be configured to perform FEC decoding on the transmission data to obtain data of a service to be sent.
In one possible design, the decoding unit 1104 is further configured to FEC decode the received P-way data block. In this example, when the first data block and the second data block are subjected to two-stage FEC encoding before being transmitted to the first node, after the two data blocks are received, the decoding unit 1104 may FEC-decode the two data blocks, and perform other operations.
It should be noted that all relevant contents of each step related to the above method embodiment may be referred to the functional description of the corresponding functional module, and are not described herein again. The data transmission apparatus 1100 provided in the embodiment of the present application is configured to execute the function of the sink node in the data transmission method, so as to achieve the same effect as the data transmission method. Optionally, but not necessarily, the data transmission apparatus 1100 may further include a processing module or a control module for supporting the receiving unit 1101 and/or the determining unit 1102 and/or the recombining unit 1103 and/or the decoding unit 1104 to complete corresponding functions, if necessary.
Fig. 12 shows a schematic block diagram of another data transmission apparatus 1200. The data transmission apparatus 1200 includes: one or more processors 1201 and one or more memories 1202. The one or more processors 1201 are coupled to one or more memories 1202, the memories 1202 for storing computer-executable instructions. Illustratively, in some embodiments, the processor 1201, when executing the instructions stored by the memory 1202, causes the data transmission apparatus 1200 to perform S301-S302 as shown in fig. 3 and/or S801-S805 as shown in fig. 8, as well as other operations that the source node needs to perform. In other embodiments, the processor 1201, when executing the instructions stored by the memory 1202, causes the data transfer device 1200 to perform operations S303-S304 as shown in fig. 3 and/or S806-S807 as shown in fig. 8, as well as other operations that intermediate nodes need to perform. In other embodiments, the processor 1201 executes the instructions stored in the memory 1202, causing the data transfer device 1200 to perform S305-S306 shown in fig. 3 and/or S808-S809 shown in fig. 8, as well as other operations that the sink node needs to perform.
Fig. 13 shows a schematic diagram of a chip system 1300. The chip system 1300 comprises a processor 1301 and a communication interface 1302 for supporting the implementation of the functionality involved in the above described apparatus embodiments. In one possible design, the system-on-chip further includes a memory for storing program instructions and data necessary for the device. The chip system 1300 may be formed by a chip, or may include a chip and other discrete devices.
The functions or actions or operations or steps, etc., in the above embodiments may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using a software program, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. The procedures or functions described in accordance with the embodiments of the present application are all or partially generated upon loading and execution of computer program instructions on a computer. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored on a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, from one website, computer, server, or data center to another website, computer, server, or data center via wire (e.g., coaxial cable, fiber optic, Digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or can comprise one or more data storage devices, such as a server, a data center, etc., that can be integrated with the medium. The usable medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., Solid State Disk (SSD)), among others.
Although the present application has been described in conjunction with specific features and embodiments thereof, it will be evident that various modifications and combinations can be made thereto without departing from the spirit and scope of the application. Accordingly, the specification and figures are merely exemplary of the present application as defined in the appended claims and are intended to cover any and all modifications, variations, combinations, or equivalents within the scope of the present application. It will be apparent to those skilled in the art that various changes and modifications may be made in the present application without departing from the spirit and scope of the application. Thus, if such modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include such modifications and variations.

Claims (17)

1. A method of data transmission, the method comprising:
the source node carries out Forward Error Correction (FEC) coding on the data of the service to be sent so as to obtain transmission data;
the source node distributes the transmission data to M transmission channels between the source node and an intermediate node for transmission, wherein M is an integer which is greater than 1 and less than or equal to N, N is the minimum value of the number of the transmission channels between any two adjacent nodes on a transmission path of the data of the service to be transmitted, and the intermediate node is a downstream node of the source node on the transmission path;
the data blocks distributed to each of the M transmission channels carry a first identifier, where the first identifier is used to indicate that the corresponding data block belongs to the service to be sent.
2. The method according to claim 1, wherein the service to be sent is a single service to be sent, or the service to be sent comprises multiple services to be sent from a same source and a same destination.
3. The method according to claim 1 or 2, wherein the data block distributed to each of the M transmission channels further carries a second identifier corresponding to the data block;
wherein the second identifier is used to indicate a location in the transmission data before the corresponding data block is distributed.
4. The method according to any one of claims 1-3, further comprising:
and the source node performs FEC coding on the data block of each transmission channel in the M transmission channels.
5. The method according to any of claims 1-4, wherein the source node forward error correction, FEC, codes data of the traffic to be transmitted to obtain transmission data, comprising:
and the source node maps the data of the service to be sent to an optical service unit OSU frame to obtain the OSU frame carrying the data, and performs FEC coding on the OSU frame carrying the data to obtain the transmission data.
6. The method according to any one of claims 1-5, further comprising:
and the source node determines the number M of transmission channels for transmitting the service to be transmitted according to the number of the transmission channels between any two adjacent nodes in the transmission path.
7. A method of data transmission, the method comprising:
a first node receives a first data block from a second node, wherein the first node is any one intermediate node on a transmission path of data of a service to be sent, and the second node is an upstream node of the first node on the transmission path; the service to be sent is a single service, or the service to be sent comprises a plurality of services which are homologous and homoclinic; the first data block carries a first identifier, and the first identifier is used for indicating that the first data block belongs to the service to be sent;
and the first node distributes the first data block to a first transmission channel for transmission according to the first identifier, wherein the first transmission channel is any one of transmission channels between the first node and a downstream node of the first node on the transmission path.
8. The method according to claim 7, wherein the service to be sent is a single service to be sent, or the service to be sent comprises multiple services to be sent from a same source and a same destination.
9. The method according to claim 7 or 8, characterized in that the method further comprises:
the first node receiving a second data block from the second node, the second data block and the first data block being from different transmission channels between the second node and the first node; the second data block carries the first identifier;
and the first node distributes the second data block to a second transmission channel for transmission according to the first identifier, wherein the second transmission channel is any one of transmission channels between the first node and a downstream node of the first node on the transmission path, and the second transmission channel is different from the first transmission channel.
10. The method of claim 9, wherein the first data block and the second data block each further carry a second identifier, and the second identifier is used to indicate a position in the transmission data before the corresponding data block is distributed.
11. The method according to claim 9 or 10, characterized in that the method further comprises:
the first node forward error correction, FEC, decodes the first data block and the second data block.
12. A method of data transmission, the method comprising:
a sink node receives a P-path data block sent by an upstream node of the sink node on a transmission path of data from a service to be sent, wherein the service to be sent is a single service, or the service to be sent comprises a plurality of services which are homologous and co-hosted, and P is an integer greater than 1;
the host node determines a data block carrying a first identifier in an M path of the P path data block, wherein the first identifier is used for indicating that a corresponding data block belongs to the service to be sent, and M is an integer which is greater than 1 and less than or equal to P;
and the host node recombines the data blocks carrying the first identification in the M paths to obtain the data of the service to be sent.
13. The method according to claim 12, wherein the service to be sent is a single service to be sent, or the service to be sent comprises multiple services to be sent from a same source and a same destination.
14. The method according to claim 12 or 13, wherein the M channels carry data blocks of a first identifier and also carry second identifiers respectively, and the second identifiers are used for indicating positions of corresponding data blocks in the data of the service to be sent;
the host node recombines the data block carrying the first identifier in the M path, and the method comprises the following steps:
and the host node recombines the M paths of data blocks according to the second identification.
15. The method according to claim 14, wherein the recombining, by the sink node, the M-way data block according to a second identifier carried by a data block carrying the first identifier in the M-way includes:
the sink node obtains complete transmission data according to the second identifier;
the obtaining the data of the service to be sent includes:
and the destination node performs FEC decoding on the transmission data to obtain the data of the service to be sent.
16. A data transmission apparatus, comprising one or more processors, the one or more processors coupled with one or more memories; the one or more memories store computer instructions;
the computer instructions, when executed by the one or more processors, cause the data transmission apparatus to perform the data transmission method of any one of claims 1-6, or,
the computer instructions, when executed by the one or more processors, cause the data transmission apparatus to perform the data transmission method of any one of claims 7-11, or,
the computer instructions, when executed by the one or more processors, cause the data transmission apparatus to perform the data transmission method of any one of claims 12-15.
17. A chip, wherein the chip comprises processing circuitry and an interface; the processing circuit is configured to call and run a computer program stored in a storage medium from the storage medium to execute the data transmission method according to any one of claims 1 to 6, or execute the data transmission method according to any one of claims 7 to 11, or execute the data transmission method according to any one of claims 12 to 15.
CN202010079071.0A 2020-02-03 2020-02-03 Data transmission method, device and system Active CN113206721B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010079071.0A CN113206721B (en) 2020-02-03 2020-02-03 Data transmission method, device and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010079071.0A CN113206721B (en) 2020-02-03 2020-02-03 Data transmission method, device and system

Publications (2)

Publication Number Publication Date
CN113206721A true CN113206721A (en) 2021-08-03
CN113206721B CN113206721B (en) 2023-03-28

Family

ID=77024876

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010079071.0A Active CN113206721B (en) 2020-02-03 2020-02-03 Data transmission method, device and system

Country Status (1)

Country Link
CN (1) CN113206721B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114339488A (en) * 2021-12-28 2022-04-12 北京格林威尔科技发展有限公司 Ethernet service protection method and device in optical transmission network
CN114401248A (en) * 2022-03-24 2022-04-26 中国电子科技集团公司第二十八研究所 Rapid synchronization method for system recombination address book based on Beidou broadcast

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101478704A (en) * 2008-12-31 2009-07-08 华为技术有限公司 Data resolution method and apparatus for optical channel transmission unit
CN102763355A (en) * 2010-02-02 2012-10-31 瑞典爱立信有限公司 Traffic differentiation in a transport network
WO2017036178A1 (en) * 2015-09-06 2017-03-09 中兴通讯股份有限公司 Method and device for statistically multiplexing optical transport network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101478704A (en) * 2008-12-31 2009-07-08 华为技术有限公司 Data resolution method and apparatus for optical channel transmission unit
CN102763355A (en) * 2010-02-02 2012-10-31 瑞典爱立信有限公司 Traffic differentiation in a transport network
WO2017036178A1 (en) * 2015-09-06 2017-03-09 中兴通讯股份有限公司 Method and device for statistically multiplexing optical transport network

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114339488A (en) * 2021-12-28 2022-04-12 北京格林威尔科技发展有限公司 Ethernet service protection method and device in optical transmission network
CN114339488B (en) * 2021-12-28 2023-09-22 北京格林威尔科技发展有限公司 Method and device for protecting Ethernet service in optical transmission network
CN114401248A (en) * 2022-03-24 2022-04-26 中国电子科技集团公司第二十八研究所 Rapid synchronization method for system recombination address book based on Beidou broadcast

Also Published As

Publication number Publication date
CN113206721B (en) 2023-03-28

Similar Documents

Publication Publication Date Title
KR101881561B1 (en) Ethernet signal transport method and scheduling method, and apparatus and system thereof
US8830825B2 (en) Method and system for priority based (1:1)n ethernet protection
KR102582988B1 (en) Flexible Ethernet communication method and network device
US20090324222A1 (en) Link Diversity and Load Balancing Across Digital and Optical Express-Thru Nodes
CN113206721B (en) Data transmission method, device and system
JP7168286B2 (en) Communication method and communication device
WO2019090696A1 (en) Method and apparatus for transporting optical transport unit signal
CN104160666A (en) Technique for bundling in link aggregation
CN111200510B (en) Service protection method and device
US11804982B2 (en) Communication method and apparatus
US20230337212A1 (en) Methods for inserting and extracting operations, administration, and maintenance of transmitting end, device, and medium
US8964535B2 (en) Methods, apparatus and communication network for providing restoration survivability
RU2730390C1 (en) Method and apparatus for automatic determination of inter-node communication topology in shared backup ring of transoceanic multiplex section
CN113497728A (en) Service flow adjusting method and communication device
EP3537671A1 (en) Protection switching method and system, and nodes
KR102509386B1 (en) Flexible Ethernet communication method and network device
CN110557192B (en) Flexe-based dual-node interconnection ring protection method in SPN
CN113938246A (en) Service flow error code indication method and communication device
RU2797529C1 (en) Communication device and communication method
CN107800601B (en) Ring network switching protection method, device and system
JP6929436B2 (en) Methods and devices for processing bit block streams, methods and devices for rate matching of bit block streams, and methods and devices for switching bit block streams.
CN107483332B (en) Service transmission management method, device and system for subnet connection protection link
CN114363735A (en) Route configuration method, network equipment, communication system and storage medium

Legal Events

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