Data transmission method and apparatus

By setting the first indication field in the OTN data block, the problem of large data transmission delay in OTN is solved, and more efficient service transmission and simplified bandwidth adjustment are achieved.

WO2025102774A1PCT designated stage expired Publication Date: 2025-05-22HUAWEI TECH CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/104213
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-11-13
Filing Date
2024-07-08
Publication Date
2025-05-22

AI Technical Summary

Technical Problem

When transmitting data in an optical transmission network (OTN), the prior art has the problem of large data transmission delay, especially when carrying Ethernet services, it cannot meet the needs of low latency.

Method used

By setting the first indication field in the data block, the object carried by the indication load field is data or padding, so that the receiving device can determine the data amount of the data frame in real time, reducing the lag of the rate control.

Benefits of technology

It reduces data transmission delay, improves service transmission efficiency, and simplifies the complexity of lossless bandwidth adjustment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024104213_22052025_PF_FP_ABST
    Figure CN2024104213_22052025_PF_FP_ABST
Patent Text Reader

Abstract

A data transmission method and apparatus. The method comprises: mapping service data into a data frame, and sending the data frame, wherein the data frame comprises a payload area, the payload area comprises a plurality of data blocks, each of the plurality of data blocks comprises a first indication field and a load field, and the first indication field is used for indicating that an object borne in the load field is data or padding. The technical solution of the present application can be applied to the technical field of optical communications. By setting a first indication field in a data block, an object borne in a load field of a fixed number of bytes can be indicated, such that a receiving-end device determines the data volume of a received data frame in real time. In this way, during rate adaptation, it is not necessary for the receiving-end device to cache data or read data from a cache, so that the hysteresis of rate control during data transmission can be reduced, thereby reducing a time delay in data transmission, and thus improving the efficiency of service transmission.
Need to check novelty before this filing date? Find Prior Art

Description

Method and device for transmitting data

[0001] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office of China on November 13, 2023, with application number 202311508223.4 and invention name “Method and Device for Transmitting Data”, the entire contents of which are incorporated by reference into this application. Technical Field

[0002] The present application relates to the field of optical communication technology, and more specifically, to a method and device for transmitting data. Background Art

[0003] With the continuous expansion and optimization of network scale, the synchronous digital hierarchy (SDH) is gradually being phased out, and the optical transport network (OTN) is gradually transitioning to transporting Ethernet (ETH) services. Compared to SDH services, OTN does not require clock transmission when carrying ETH services and should have the lowest possible latency.

[0004] Therefore, how to reduce data transmission delay when transmitting data in OTN has become an urgent problem to be solved.

[0005] Summary of the Invention

[0006] The present application provides a method and apparatus for transmitting data, which can reduce the hysteresis of rate control, thereby reducing data transmission delay and improving service transmission efficiency.

[0007] In a first aspect, a method for transmitting data is provided. The method can be performed by a transmitting device or by a component of the transmitting device (such as a chip or chip system, etc.), and this application is not limited to this. The method includes: mapping service data into a data frame, the data frame including a payload area, the payload area including multiple data blocks, each of the multiple data blocks including a first indication field and a payload field, the first indication field being used to indicate whether the object carried by the payload field is data or padding; and sending the data frame.

[0008] In a second aspect, a method for transmitting data is provided. The method can be performed by a receiving device or by a component of the receiving device (such as a chip or chip system, etc.), and this application is not limited to this. The method includes: receiving a data frame, the data frame including a payload area, the payload area including multiple data blocks, each of the multiple data blocks including a first indication field and a payload field, the first indication field being used to indicate whether the object carried by the payload field is data or padding; and demapping service data from the data frame based on the first indication field of at least one data block among the multiple data blocks.

[0009] In some implementations, the 2N+1 bits included in the first indication field are used to indicate whether the object carried by the payload field is data or padding, where N is an integer greater than or equal to 1, that is, the object carried by the payload field is indicated by majority decision, thereby improving the reliability of the scheme.

[0010] In the above technical solution, by providing a first indicator field in the data block to indicate the object carried by the fixed-byte payload field, the receiving device can determine the data volume of the received data frame in real time. This helps reduce the number of data buffering and data reads from the buffer during rate adaptation, thereby reducing the lag in rate control during data transmission, thereby reducing data transmission latency and improving service transmission efficiency.

[0011] In combination with the first aspect or the second aspect, in certain implementations of the first aspect or the second aspect, the first indication field is further used to indicate the number of data blocks that have been sent and whose carrying objects are data.

[0012] In the above technical solution, the first indication field indicates the number of data blocks that have been sent and whose carrying objects are data, which helps the receiving device to determine and / or correct the amount of data determined by itself, helps to ensure the accuracy of the framing of the receiving device, and thus improves the reliability of the solution.

[0013] In combination with the first aspect or the second aspect, in certain implementations of the first aspect or the second aspect, the data frame also includes an overhead area, the overhead area includes a second indication field, and the second indication field is used to indicate the offset of the starting data block in the next multi-frame period of the data frame.

[0014] In combination with the first aspect or the second aspect, in certain implementations of the first aspect or the second aspect, the overhead area further includes a third indication field, and the third indication field is used to indicate a moment when bandwidth lossless adjustment is performed on multiple data blocks.

[0015] In the above technical solution, by transmitting multiple data blocks, the receiving device can determine the data volume in real time, helping to reduce the impact of rate control lag on lossless bandwidth adjustment. Furthermore, the third indicator field can indicate the location of the data block within the multiple data blocks at which lossless bandwidth adjustment begins, helping to reduce the complexity of lossless bandwidth adjustment.

[0016] In combination with the first aspect or the second aspect, in certain implementations of the first aspect or the second aspect, the first indication field occupies 1 byte, and the payload field occupies 192 bytes.

[0017] In combination with the first aspect or the second aspect, in certain implementations of the first aspect or the second aspect, the data frame includes an optical transport network OTN frame or a flexible OTN frame.

[0018] In combination with the second aspect, in certain implementations of the second aspect, service data is demapped from a data frame based on a first indication field of at least one data block among a plurality of data blocks, including: determining a first number of data blocks whose carrying objects are data received in the current multi-frame period based on the first data block and the data blocks received before the first data block is received in the current multi-frame period; when the number of data blocks indicated by the counting information carried by the first data block is different from the first number, modifying the determination result of the carrying object of the load field of the second data block, and the second data block is a data block received after the first data block.

[0019] In a third aspect, an embodiment of the present application provides a device for transmitting data. The device is used to execute the method provided in the first aspect above, or to execute the method provided in the second aspect above. Specifically, the device may include units and / or modules for executing the method provided in the first aspect or any one of the above-mentioned implementations of the first aspect, or the device may include units and / or modules, such as a processing module and a transceiver module, for executing the method provided in the second aspect or any one of the above-mentioned implementations of the second aspect.

[0020] In one implementation, the apparatus for transmitting data may include units and / or modules for executing the method provided in the first aspect or any of the aforementioned implementations of the first aspect, and may be a transmitting device. The transceiver module may be a transceiver or an input / output interface. The processing module may be at least one processor. Alternatively, the transceiver may be a transceiver circuit. Alternatively, the input / output interface may be an input / output circuit.

[0021] Alternatively, the data transmission device may be a chip, chip system, or circuit in a transmitting device. The transceiver module may be an input / output interface, interface circuit, output circuit, input circuit, pin, or related circuit on the chip, chip system, or circuit. The processing module may be at least one processor, processing circuit, or logic circuit.

[0022] In another implementation, the data transmission apparatus may include units and / or modules for executing the method provided in the second aspect or any of the aforementioned implementations of the second aspect, and may be a receiving device. The transceiver module may be a transceiver or an input / output interface. The processing module may be at least one processor. Alternatively, the transceiver may be a transceiver circuit. Alternatively, the input / output interface may be an input / output circuit.

[0023] Alternatively, the data transmission device may be a chip, chip system, or circuit in a receiving device. The transceiver module may be an input / output interface, interface circuit, output circuit, input circuit, pin, or related circuit on the chip, chip system, or circuit. The processing module may be at least one processor, processing circuit, or logic circuit.

[0024] In a fourth aspect, an embodiment of the present application provides a processor for executing the methods provided in the above aspects.

[0025] For the operations such as sending and acquiring / receiving involved in the processor, unless otherwise specified, or if they do not conflict with their actual functions or internal logic in the relevant descriptions, they can be understood as processor output, reception, input and other operations, and can also be understood as sending and receiving operations performed by the radio frequency circuit and antenna. This application does not limit this.

[0026] In a fifth aspect, embodiments of the present application provide a computer-readable storage medium storing program code for execution by a device, the program code including a method for executing any one of the implementations of the first or second aspects.

[0027] In a sixth aspect, embodiments of the present application provide a computer program product comprising instructions. When the computer program product is run on a computer, the computer is caused to execute the method provided in any one of the implementations of the first or second aspect.

[0028] In a seventh aspect, an embodiment of the present application provides a chip. The chip includes a processor and a communication interface, wherein the processor reads instructions stored in a memory through the communication interface and executes the method provided in any one of the implementations of the first or second aspect.

[0029] Optionally, as an implementation method, the chip also includes a memory, in which a computer program or instruction is stored, and the processor is used to execute the computer program or instruction stored in the memory. When the computer program or instruction is executed, the processor is used to execute the method provided in any one of the implementation methods of the first or second aspect above.

[0030] The beneficial effects brought about by the third to seventh aspects mentioned above can be specifically referred to the description of the beneficial effects in the first or second aspect, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0031] FIG1 is a schematic diagram of an application scenario of an embodiment of the present application.

[0032] FIG2 is a schematic diagram of the hardware structure of an OTN device provided in an embodiment of the present application.

[0033] FIG3 is a schematic diagram of the optical transport network data frame structure.

[0034] FIG4 is a schematic diagram of the structure of an optical transport network data frame provided in an embodiment of the present application.

[0035] FIG5 is a schematic diagram of a structure of a data block provided in an embodiment of the present application.

[0036] FIG6 is another structural diagram of a data block provided in an embodiment of the present application.

[0037] FIG7 is another structural diagram of an optical transport network data frame provided in an embodiment of the present application.

[0038] FIG8 is a schematic flowchart of a method for transmitting data provided in an embodiment of the present application.

[0039] FIG9 is a schematic block diagram of a device for transmitting data provided in an embodiment of the present application.

[0040] FIG10 is a schematic block diagram of an OTN device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0041] The technical solution in this application will be described below with reference to the accompanying drawings.

[0042] In the description of the embodiments of the present application, unless otherwise specified, " / " means or, for example, A / B can mean A or B; "and / or" in this article is a kind of association relationship that describes associated objects, indicating that there can be three relationships, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In this application, "at least one" refers to one or more, and "more than one" refers to two or more. "At least one of the following items" or similar expressions refers to any combination of these items, including any combination of single items or plural items. For example, at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, c can be single or multiple.

[0043] In the embodiments of this application, prefixes such as "first" and "second" are used only to distinguish different description objects and have no limiting effect on the position, order, priority, quantity, or content of the described objects. The use of prefixes such as ordinal numbers in the embodiments of this application to distinguish description objects does not constitute a limitation on the described objects. For a statement of the described objects, please refer to the description in the context of the claims or embodiments, and the use of such prefixes should not constitute an unnecessary limitation.

[0044] Embodiments of the present application are applicable to optical networks, such as OTNs. An OTN is typically composed of multiple devices connected by optical fibers and can be organized into different topologies, such as linear, ring, and mesh, according to specific needs. As shown in FIG1 , OTN 100 is composed of eight OTN devices 101, namely, devices A to H. Optical fiber 102 is used to connect two devices, and customer service interface 103 is used to receive or send customer service data. As shown in FIG1 , OTN 100 is used to transmit service data for customer devices 1 to 3. Customer devices are connected to OTN devices via customer service interfaces. For example, in FIG1 , customer devices 1 to 3 are connected to OTN devices A, H, and F, respectively.

[0045] In the embodiments of the present application, service data refers to services that can be carried by the optical transport network. For example, it can be Ethernet services, packet services, wireless backhaul services, etc. Service data can also be called service signals, customer data, or customer service data.

[0046] Depending on actual needs, an OTN device may have different functions. Generally speaking, OTN devices are divided into optical layer devices, electrical layer devices, and optoelectronic hybrid devices. Optical layer devices refer to devices that can process optical layer signals, such as optical amplifiers (OAs) and optical add-drop multiplexers (OADMs). OAs, also known as optical line amplifiers (OLAs), are mainly used to amplify optical signals to support transmission over longer distances while ensuring the specific performance of optical signals. OADMs are used to spatially transform optical signals so that they can be output from different output ports (sometimes also called directions). Electrical layer devices refer to devices that can process electrical layer signals, such as devices that can process OTN signals. Optoelectronic hybrid devices refer to devices that have the ability to process both optical and electrical layer signals. It should be noted that, depending on specific integration needs, an OTN device can integrate multiple different functions. The technical solution provided in this application is applicable to OTN devices of different forms and integration levels that include electrical layer functions.

[0047] Figure 2 is a schematic diagram of the hardware structure of a possible OTN device, such as device A in Figure 1. Specifically, OTN device 200 includes a tributary board 201, a cross-connect board 202, a circuit board 203, an optical layer processing board (not shown), and a system control and communication board 204. Depending on specific needs, the type and number of boards included in an OTN device may vary. For example, an OTN device serving as a core node may not have a tributary board 201. Alternatively, an OTN device serving as an edge node may have multiple tributary boards 201 or no optical cross-connect board 202. Furthermore, an OTN device supporting only electrical layer functions may not have an optical layer processing board.

[0048] The tributary board 201, cross-connect board 202, and line board 203 are used to process OTN electrical layer signals. The tributary board 201 is used to receive and transmit various customer services, such as SDH services, packet services, Ethernet services, and fronthaul services. Furthermore, the tributary board 201 can be divided into a client-side optical transceiver module and a signal processor. The client-side optical transceiver module, also known as an optical transceiver, is used to receive and / or transmit service data. The signal processor is used to map and demap service data into data frames. The cross-connect board 202 is used to switch data frames, completing the exchange of one or more types of data frames. The line board 203 primarily processes line-side data frames. Specifically, the line board 203 can be divided into a line-side optical module and a signal processor. The line-side optical module, also known as an optical transceiver, is used to receive and / or transmit data frames. The signal processor is used to multiplex and demultiplex, or map and demap, line-side data frames. The system control and communication board 204 is used to implement system control. Specifically, information can be collected from different boards, or control instructions can be sent to the corresponding boards. It should be noted that, unless otherwise specified, there can be one or more specific components (such as signal processors), and this application does not impose any restrictions. It should also be noted that this application does not impose any restrictions on the types of boards included in the device, as well as the functional design and quantity of the boards. It should be noted that, in a specific implementation, the above two boards may also be designed as one board. In addition, OTN equipment may also include a power supply for backup, a fan for heat dissipation, etc.

[0049] It should be noted that the data frame structure used by the OTN equipment in the embodiments of the present application is an OTN frame, which is used to carry various service data and provide rich management and monitoring functions. The OTN frame can be an optical payload unit k (OPUk) frame, an optical data unit k (ODUk) frame, or an optical transport unit k (OTUk). k represents different rate levels, with k = 0, 1, 2, 3, 4, Cn, and flex, representing bit rates of 1.25 gigabits per second (Gbit / s or Gbps), 2.5 Gbit / s, 10 Gbit / s, 40 Gbit / s, 100 Gbit / s, n*100 Gbit / s, and n*1.25 Gbit / s (n≥2), respectively. Figure 3 is a schematic diagram of the frame structure of an OTN frame. As shown in Figure 3, the OTN frame has a 4-row, multi-column frame structure, including an overhead area and a payload area. Each column is 1 byte (B). In the OTN frame structure shown in Figure 3, the first four rows and 16 columns are the overhead area of ​​the OTU / ODU / optical payload unit (OPU), followed by the OPU payload area. The OPUk payload area and OPUk overhead area constitute the OPUk frame, the OPUk frame and ODUk overhead area constitute the ODUk frame, and the ODUk frame, OTUk overhead area, frame alignment signal (FAS), and forward error correction (FEC) check area constitute the OTUk frame. For more specific OTN frame structure, please refer to the relevant description in the current protocol and will not be repeated here.

[0050] Unless otherwise specified, an OPU frame refers to any of OPUk, OPUCn, or OPUflex; an ODU frame refers to any of ODUk, ODUCn, or ODUflex; and an OTU frame refers to any of OTUk, OTUCn, or FlexO. It should also be noted that with the development of OTN technology, new types of OTN frames may be defined and are also applicable to this application.

[0051] As mentioned above, with the continuous expansion and optimization of network scale, SDH is gradually being phased out, and OTN is gradually transitioning to transporting ETH services. Compared to carrying SDH services, OTN does not require clock transparency when carrying ETH services and should have the lowest possible latency. In existing OTN technology, low-order ODUs can be multiplexed into higher-order ODUs. Specifically, four ODU1s can be multiplexed into one ODU2, four ODU2s can be multiplexed into one ODU3, and 16 ODU1s can be multiplexed into one ODU3. For the OPUk of the higher-order ODU, byte-granular time division multiplexing (TDM) can be used to interleave and divide it into multiple tributary time slots (TS). Each TS includes a portion of the OPUk overhead area and a portion of the OPUk payload area. For example, an OPU2 can be divided into four 2.5 Gbps TSs, or eight 1.25 Gbps TSs. For another example, OPU3 can be divided into 16 2.5Gbps TSs, or it can be divided into 32 1.25Gbps TSs. When a low-order ODU is mapped to a high-order ODU time slot, an overhead (OH) is generally used to notify the client signal rate adaptation. The above-mentioned OH may include adjustment control (JC) 1 to JC6. Among them, the specific contents of JC1 to JC6 can refer to the relevant descriptions in the current protocol and will not be repeated here. When using the generic mapping procedure (GMP) to map the low-order ODU to the high-order ODU, it is necessary to predetermine the data volume of the next frame period based on the statistics of historical rates. Since this control method has a lag in rate control, it is necessary to strictly ensure the continuity of the data when performing ODU cross-scheduling. In this way, the data must be cached after cross-scheduling so that the expected amount of data can be scheduled in the next frame period. However, reading and writing data in the cache increases scheduling latency, making current OTN unable to meet the low latency requirements of ETH services. Furthermore, when performing lossless bandwidth adjustment based on GMP, the lag in rate control increases the complexity of bandwidth adjustment.

[0052] To address the aforementioned issues, the embodiments of the present application define a data block in the tributary timeslot of a high-order OTN frame based on the current OTN frame structure. The receiving device can use the data block to determine the data volume of the low-order OTN frame. In other words, when performing rate adaptation, the receiving device does not need to cache data or read data from the cache, which helps reduce the latency of OTN device transmission services.

[0053] Figure 4 illustrates an OTN frame structure provided by an embodiment of the present application. As shown in Figure 4, the payload area of ​​an OTN frame includes at least one 4-row x N-column TS. This TS includes multiple data blocks, each of which includes a first indicator field and a payload field. The first indicator field indicates whether the payload field carries data or padding, and the payload field is used to carry data or padding. Service transmission between a transmitting and receiving device uses data blocks as the minimum transmission unit. For example, N can be the number of columns in a TS. The specific value of N can be determined based on the order of the high-order OTN frame and the rate of each TS. For example, if the high-order OTN frame is ODU2 and the rate of each TS is 1.25 Gbps, N can be 476; if the high-order OTN frame is ODU2 and the rate of each TS is 2.5 Gbps, N can be 952; and if the high-order OTN frame is ODU2 and the rate of each TS is 5 Gbps, N can be 1904. Furthermore, when a low-order OTN frame is mapped into a higher-order OTN frame, it can occupy M tributary timeslots. That is, when transmitted in an ODU2, the low-order OTN frame occupies N × M columns, and the N × M columns × 4 × L rows constitute a multiframe period. M can be a positive integer, and L indicates the multiplexing period of the tributary slot overhead (TSOH) of the higher-order OTN frame. That is, the TSOH is multiplexed once every L frames in the higher-order OTN frame. Taking an ODU2 with a 1.25 Gbps rate for each TS as an example, L can be 8. The timeslot overhead portion can carry a second indicator field, which indicates the offset of the starting data block in the next multiframe period. For example, the x B payload field precedes the first data block in Figure 4. This x B can be considered the offset of the starting data block of this multiframe period. This x B starting offset can be indicated by the second indicator field of the previous multiframe period. In actual implementation, a data block can be carried across rows. For example, row 1 carries the first indicator field of data block a, and row 2 carries the payload field of data block a; or, row 1 carries the first indicator field and partial payload field of data block b, and row 2 carries the remaining payload field of data block b. A data block can also be carried across branch timeslots. For example, the current branch timeslot carries the first indicator field of data block c, and the next branch timeslot carries the payload field of data block c; or, the current branch timeslot carries the first indicator field and partial payload field of data block d, and the next branch timeslot carries the remaining payload field of data block d. A data block can also be carried across multiframe periods. For example, the current multiframe period carries the first indicator field of data block e, and the next multiframe period carries the payload field of data block e; or, the current multiframe period carries the first indicator field and partial payload field of data block f, and the next multiframe period carries the remaining payload field of data block f.

[0054] Figure 5 shows a schematic diagram of the first indication field provided by an embodiment of the present application. As shown in Figure 5, the first indication field may include 8 bits, wherein the 1st to 3rd bits are used to carry data counting information, and the 4th to 8th bits are used to carry data / fill indication information. When the payload field carries data, the transmitting end device may set the values ​​of the 4th to 8th bits, a total of 5 bits, to be 1 (i.e., 5b'11111); when the payload field is filled, the transmitting end device may set the values ​​of the 4th to 8th bits, a total of 5 bits, to be 0 (i.e., 5b'00000). When the transmitting end device sends a data frame, within a multi-frame period, for each data block with data carried in the payload field, the values ​​of the three bits from the 1st to the 3rd bit increase by 1; for each data block with filled data carried in the payload field, the values ​​of the three bits from the 1st to the 3rd bit remain unchanged. Taking the initial value of bits 1 to 3 as "000" as an example, when the first data block sent in multiframe period 1 carries data, the value of bits 1 to 3 of the first data block is "001"; when the second data block sent in multiframe period 1 carries data, the value of bits 1 to 3 of the second data block is "010"; when the third data block sent in multiframe period 1 carries padding, the value of bits 1 to 3 of the third data block is "000"; when the fourth data block sent in multiframe period 1 carries data, the value of bits 1 to 3 of the fourth data block is "100", and so on. In some implementations, the data counting information may not be limited to one multiframe period. For example, starting from the initialization state of the transmitting end device, the value of the data counting information may increase by 1 each time the transmitting end device sends a data block carrying data.

[0055] Figure 6 shows another schematic diagram of the first indication field provided by an embodiment of the present application. As shown in Figure 6, the first indication field may include 8 bits, wherein the first bit may be a reserved field, and bits 2 to 8 are used to carry data / fill indication information. When the payload field carries data, the transmitting device may set the values ​​of bits 2 to 8, a total of 7 bits, to 1 (i.e., 7b'1111111); when the payload field is filled, the transmitting device may set the values ​​of bits 2 to 8, a total of 7 bits, to 0 (i.e., 7b'0000000).

[0056] Exemplarily, the size of the payload field in the data block shown in FIG. 5 or FIG. 6 may be 192 bytes, or 256 bytes, or bytes of other sizes.

[0057] It should be understood that the form of the first indication field shown in Figures 5 and 6 is only for illustrative purposes. In actual implementation, the first indication field may also include more or fewer bits, or the data / fill indication information may also occupy more or fewer bits.

[0058] FIG7 shows a schematic diagram of the TS overhead of the OTN frame provided by an embodiment of the present application. As shown in FIG7 , the first to second bits of the 15th column of the 1st to 3rd rows of the TS overhead (i.e., the first two bits of JC4 to JC6) are used to carry bandwidth adjustment information to instruct the receiving end device to perform lossless adjustment of the time slot bandwidth or not to perform lossless adjustment of the time slot bandwidth. For example, when lossless adjustment of bandwidth is not required or the receiving end device needs to be instructed to stop lossless adjustment of bandwidth, bandwidth indication information 1 to bandwidth indication information 3 all take the value of "11"; when the receiving end device needs to perform lossless adjustment of bandwidth, bandwidth indication information 1 to bandwidth indication information 3 all take the value of "00". Bits 3 to 8 of the 15th column of row 1 to row 2 of the TS overhead are used to carry the tributary port ID (TPID) for which the time slot is to be added or subtracted. Bits 3 to 8 of the 15th column of row 3 of the TS overhead are used to carry checksum information, such as a 6-bit binary cyclic redundancy check (CRC). This checksum information is used to protect the TPID overhead, i.e., to check bits 3 to 8 of the 15th column of row 1 and row 2. Bits 1 to 8 of the 16th column of row 1 of the TS overhead are used to carry offset indication information, which indicates the offset of the starting data block in the next multiframe period. The 1st to 8th bits of the 16th column of the 2nd row of the TS overhead are the control protocol overhead for lossless adjustment of the time slot bandwidth. For example, the 1st bit, 2nd to 3rd bits, 4th bit, and 5th to 6th bits of the 16th column of the 1st row are the bandwidth adjustment protocol (resize protocol, RP) bit, the control (control, CTRL) bit, the tributary slot connectivity check (TSCC) bit, and the tributary slot group status (TSGS) bit, respectively. The functions of the above bits can be referred to the relevant description in the current protocol and will not be repeated here. The 1st to 8th bits of the 16th column of the 3rd row of the TS overhead are used to carry check information, such as carrying CRC8. The check information is used to protect the control protocol overhead, that is, to check the 1st to 8th bits of the 16th column of the 2nd row.

[0059] Based on the above solution, the data / padding indication information in the data block enables rate matching when mapping low-order OTN frames to high-order OTN frames without using GMP, reducing rate control lag and, in turn, service transmission latency. By transmitting multiple data blocks, the receiving device can determine the data volume in real time, helping to reduce the impact of rate control lag on lossless bandwidth adjustment. Furthermore, bandwidth indication information 1 to 3 can indicate the location of the data block within multiple data blocks where lossless bandwidth adjustment begins, helping to reduce the complexity of lossless bandwidth adjustment.

[0060] Figure 8 shows a flow chart of a data transmission method provided by the present application. As shown in Figure 8 , the transmitting device can be an OTN device, or a component of an OTN device (such as a chip or chip system). The receiving device can be an OTN device, or a component of an OTN device (such as a chip or chip system).

[0061] Specifically, the method includes:

[0062] S801: The sending end device maps service data into a data frame.

[0063] Specifically, the data frame includes a payload area, the payload area carries multiple data blocks, each of the multiple data blocks includes a first indication field and a load field, and the first indication field is used to indicate whether the object carried by the load field is data or padding.

[0064] Exemplarily, the first indication field indicates whether the object carried by the payload field is data or padding through the data / padding indication information in the above embodiment.

[0065] For example, the data frame may include the OTN frame shown in Figure 4 or Figure 7, and the data block may include the data block shown in Figure 5 or Figure 6. The data frame may be any of an OPU frame, an ODU frame, or an OTU frame. The service data may be data obtained by the transmitting device through the customer service interface. Alternatively, the service data may be data generated locally by the transmitting device and required to be transmitted. The data obtained through the customer service interface may include OTN frames, which may include low-order OTN frames. Alternatively, the data obtained through the customer service interface may include other types of data, such as Ethernet service data.

[0066] In one example, if the service data is data carried in a low-order ODU frame obtained by the sending device through the customer service interface, the sending device mapping the service data into the data frame may include: the sending device mapping the data of the low-order ODU frame into one or more data blocks in the data frame of this application.

[0067] In another example, if the business data is data generated locally by the sending device and needs to be transmitted, the sending device mapping the business data into the data frame may include: the sending device directly mapping the local data into one or more data blocks in the data frame of this application.

[0068] In some implementations, the first indication field is further used to indicate the number of data blocks that have been sent and whose carrying objects are data.

[0069] Exemplarily, the first indication field indicates the number of data blocks whose carrying objects are data that have been sent through the data counting information in the above embodiment. The number of data blocks whose carrying objects are data that have been sent by the transmitting device helps the receiving device determine whether the amount of data it has parsed is accurate.

[0070] In some implementations, the data frame further includes an overhead area, the overhead area includes a second indication field, and the second indication field is used to indicate an offset of a starting data block in a next multiframe period.

[0071] Exemplarily, the second indication field may include the second indication field in the above embodiment, for example, indicating the offset of the starting data block of the next multi-frame period through offset indication information.

[0072] In some implementations, the overhead area further includes a third indication field, where the third indication field is used to indicate a time point at which bandwidth lossless adjustment is performed on the plurality of data blocks.

[0073] For example, the third indication field can indicate the time at which lossless bandwidth adjustment is performed for multiple data blocks using bandwidth adjustment information 1 to 3 in the above embodiment. When bandwidth adjustment information 1 to 3 are all "00," lossless bandwidth adjustment is required; when bandwidth adjustment information 1 to 3 are all "11," lossless bandwidth adjustment is not required. In a specific implementation, the receiving device and the transmitting device can pre-negotiate the time for lossless bandwidth adjustment. For example, they can pre-negotiate that the receiving device should begin lossless bandwidth adjustment for the nth data block after receiving the information indicating lossless bandwidth adjustment. For example, after receiving bandwidth adjustment information 1 to 3, the receiving device can determine whether to perform lossless bandwidth adjustment based on a majority decision. For example, if two or more values ​​in bandwidth adjustment information 1 to 3 received by the receiving device are "00," the receiving device begins lossless bandwidth adjustment for the nth data block. For another example, if two or more values ​​in bandwidth adjustment information 1 to 3 received by the receiving device are "11," the receiving device does not perform lossless bandwidth adjustment. Exemplarily, the above n is a positive integer, for example, n can be 1, or can be other values, which is not specifically limited in this application.

[0074] S802: The transmitting device sends a data frame to the receiving device.

[0075] S803: The receiving device receives the data frame.

[0076] S804: The receiving device demaps the service data carried by the data frame.

[0077] Exemplarily, each time a receiving device receives a data block, it demaps the data block based on the first indicator field of the data block and determines, based on the first indicator field, whether the object carried by the data block's payload field is data or padding. For example, the object carried by the data block's payload field can be determined by majority decision. If the first indicator field indicates the object carried by the payload field using 5 bits as shown in Figure 5, the receiving device determines that the object carried by the payload field is data when 3 or more of the 5 bits are 1. If the first indicator field indicates the object carried by the payload field using 7 bits as shown in Figure 6, the receiving device determines that the object carried by the payload field is data when 4 or more of the 7 bits are 1. In this way, the receiving device can determine the amount of data it has received in real time.

[0078] When the first indication field also indicates the number of data blocks carrying data that the transmitting device has sent (for example, also carries data counting information), the receiving device determines whether an error occurred in the demapping process of the receiving device based on the number indicated by the first indication field and the number recorded by the local data counter. The number of bits used by the local data counter is the same as the number of bits of the data counting information, for example, both occupy 3 bits. Exemplarily, in the initial state, the receiving device determines the initial value of the local data counter based on the first indication information of the received data block, for example, the value after multiple verification of the data counting information carried by the received data block is used as the initial value. After the initial value is determined, the value of the local data counter is increased by 1 each time a data block carrying data is received. Furthermore, when the receiving device determines that the number of data blocks indicated by the first indication field of the received data block is not equal to the number recorded by the local data counter, the data carried by the payload field or the padding judgment result is adjusted in the subsequent demapping process to correct the data volume of the received data frame. For example, if the number of data blocks determined by the receiving device based on the first indicator field is one less than the number of data blocks recorded by the local data register, this indicates that the receiving device mistakenly parsed a data block carrying padding as a data block carrying data. In the subsequent demapping process, when the receiving device determines that a data block carries data, it will modify the determination result to indicate that the data block carries padding, i.e., the count in the local data counter remains unchanged. If the number of data blocks determined by the receiving device based on the first indicator field is one greater than the number recorded by the local data register, this indicates that the receiving device mistakenly parsed a data block carrying data as a data block carrying padding. In the subsequent demapping process, when the receiving device determines that a data block carries padding, it will modify the determination result to indicate that the data block carries data, i.e., the count in the local data counter is incremented by one. In this way, the receiving device can correct the amount of data it has parsed.

[0079] The data transmission method provided in the embodiment of the present application, by setting a first indication field in a data block, can indicate the object carried by a payload field of a fixed number of bytes, which helps the receiving device to determine the data volume of the received data frame in real time. In this way, the receiving device does not need to cache data or read data from the cache during the rate adaptation process, which can reduce the lag of rate control during data transmission, thereby reducing data transmission delay and improving service transmission efficiency. In addition, by transmitting multiple data blocks, the receiving device can determine the data volume in real time, which helps to reduce the impact of the lag of rate control on lossless bandwidth adjustment.

[0080] The above, in combination with Figures 1 to 8, illustrates the method for transmitting data provided in the embodiments of the present application. In the various embodiments of the present application, unless otherwise specified or there is a logical conflict, the terms and / or descriptions between the various embodiments are consistent and can be referenced by each other. The technical features in different embodiments can be combined to form new embodiments according to their internal logical relationships.

[0081] The following describes in detail the apparatus for transmitting data provided in the embodiments of the present application in conjunction with Figures 9 and 10. It should be understood that the description of the apparatus embodiment corresponds to the description of the method embodiment. Therefore, for matters not described in detail, reference can be made to the method embodiment above. For the sake of brevity, some of the contents will not be repeated.

[0082] FIG9 is a schematic block diagram of a data transmission device 1000 provided in an embodiment of the present application. The device 1000 includes a transceiver module 1001, which can be used to implement corresponding transceiver functions. The transceiver module 1001 can also be called a transceiver unit.

[0083] The device 1000 further includes a processing module 1002 (or processing unit), which can be used to implement corresponding processing functions.

[0084] Optionally, the device 1000 also includes a storage unit, which can be used to store instructions and / or data. The processing module 1002 can read the instructions and / or data in the storage unit so that the device can implement the actions of the relevant devices in the aforementioned method embodiments.

[0085] The device 1000 can be used to execute the actions performed by the sending device or the receiving device in the above method embodiments. In this case, the device 1000 can be a component of the sending device or the receiving device, the transceiver module 1001 is used to execute the sending and receiving related operations of the sending device or the receiving device in the above method embodiments, and the processing module 1002 is used to execute the processing related operations of the sending device or the receiving device in the above method embodiments.

[0086] It should be understood that the specific process of each module executing the above corresponding steps has been described in detail in the above method embodiment, and for the sake of brevity, it will not be repeated here.

[0087] Figure 10 shows a schematic diagram of the structure of an OTN device provided in an embodiment of the present application. As shown in Figure 10 , OTN device 1100 includes a processor 1101 and an optical transceiver 1102. This OTN device can be used in both transmitting and receiving devices. The OTN device shown in Figure 10 can include any of the OTN devices shown in Figure 1 or the OTN device shown in Figure 2 .

[0088] When applied to a transmitting device, the processor 1101 is used to implement the method executed by the transmitting device in FIG8 , such as S801, and the optical transceiver 1102 is used to implement the method executed by the transmitting device in FIG8 , such as S802. When applied to a receiving device, the processor 1101 is used to implement the method executed by the transmitting device in FIG8 , such as S804, and the optical transceiver 1102 is used to implement the method executed by the transmitting device in FIG8 , such as S803. During implementation, each step of the processing flow can be completed by hardware integrated logic circuits in the processor 1101 or by software instructions to complete the method executed by the transmitting device in FIG8 .

[0089] In the embodiments of the present application, the processor 1101 may be a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field programmable gate array or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component, and may implement or execute the various methods, steps, and logic block diagrams disclosed in the embodiments of the present application. A general-purpose processor may be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of the present application may be directly implemented as being executed by a hardware processor, or may be executed by a combination of hardware and software units in the processor.

[0090] In addition, the OTN device 1100 may include one or more processors 1101 .

[0091] Optionally, the OTN device may further include a memory 1103, wherein the program code executed by the processor 1101 to implement the above method may be stored in the memory 1103. The OTN device 1100 may include one or more memories 1103.

[0092] Specifically, the memory 1103 can be coupled to the processor 1101. The coupling in the embodiment of the present application is an indirect coupling or communication connection between devices, units or modules, which can be electrical, mechanical or other forms, and is used for information interaction between devices, units or modules. Alternatively, the processor 1101 can operate in conjunction with the memory 1103. The memory 1103 can be a non-volatile memory, such as a hard disk drive (HDD), etc., or a volatile memory (volatile memory), such as a random-access memory (RAM). The memory 1103 is any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited to this. It should be noted that the device described in Figure 10 can also be used to execute the method steps involved in the embodiment variations shown in the aforementioned figures, which will not be repeated here.

[0093] Based on the above embodiments, embodiments of the present application further provide a computer-readable storage medium. This storage medium stores a software program that, when read and executed by one or more processors, can implement the methods provided in any one or more of the above embodiments. The computer-readable storage medium may include any medium capable of storing program code, such as a USB flash drive, a mobile hard drive, a read-only memory, a random access memory, a magnetic disk, or an optical disk.

[0094] Based on the above embodiments, embodiments of the present application further provide a chip. This chip includes a processor configured to implement the functions described in any one or more of the above embodiments, such as acquiring or processing OTN frames described in the above methods. Optionally, the chip also includes a memory configured to store program instructions and data necessary for execution by the processor. This chip can be comprised of a single chip or include a chip and other discrete components.

[0095] Obviously, those skilled in the art can make various changes and modifications to the embodiments of the present application without departing from the scope of the embodiments of the present application. Thus, if these modifications and variations of the embodiments of the present application fall within the scope of the claims of the present application and their equivalents, the present application also intends to include these modifications and variations.

[0096] It should be understood that the processor mentioned in the embodiments of the present application may be a central processing unit (CPU), or may be other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor, etc.

[0097] It should also be understood that the memory mentioned in the embodiments of the present application may be a volatile memory and / or a non-volatile memory. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM). For example, RAM can be used as an external cache. By way of example and not limitation, RAM may include the following forms: static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).

[0098] It should be noted that when the processor is a general-purpose processor, DSP, ASIC, FPGA or other programmable logic device, discrete gate or transistor logic device, or discrete hardware component, the memory (storage module) can be integrated into the processor.

[0099] Those skilled in the art will appreciate that the units and steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented using electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application; such implementations should not be considered to exceed the scope of protection of this application.

[0100] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0101] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can 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. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. For example, the computer can be a personal computer, a server, or a network device, etc. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from one website, computer, server or data center to another website, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrations. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid state disk (SSD)). For example, the available medium may include, but is not limited to, various media that can store program code, such as a USB flash drive, a mobile hard disk, ROM, RAM, a magnetic disk, or an optical disk.

[0102] The above is only a specific implementation method of the present application, but the scope of protection of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or replacements within the technical scope disclosed in this application, which should be included in the scope of protection of the present application. Therefore, the scope of protection of the present application should be based on the scope of protection of the claims. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working process of the system, device and unit described above can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here.

Claims

1. A method for transmitting data, characterized in that: include Mapping the service data into a data frame, wherein the data frame includes a payload area, the payload area includes a plurality of data blocks, each of the plurality of data blocks includes a first indication field and a load field, the first indication field is used to indicate whether the object carried by the load field is data or padding; The data frame is sent.

2. The method according to claim 1, characterized in that The first indication field is also used to indicate the number of data blocks that have been sent and whose carrying objects are data.

3. The method according to claim 1 or 2, characterized in that: The data frame further includes an overhead area, wherein the overhead area includes a second indication field, and the second indication field is used to indicate an offset of a starting data block in a next multi-frame period of the data frame.

4. The method according to claim 3, characterized in that The overhead area further includes a third indication field, and the third indication field is used to indicate a time when the bandwidth of the multiple data blocks is losslessly adjusted.

5. The method according to any one of claims 1 to 4, characterized in that The first indication field occupies 1 byte, and the load field occupies 192 bytes.

6. The method according to any one of claims 1 to 5, characterized in that The data frame includes an optical transport network OTN frame or a flexible OTN frame.

7. A method for transmitting data, characterized in that: include Receive a data frame, the data frame comprising a payload area, the payload area comprising a plurality of data blocks, each of the plurality of data blocks comprising a first indication field and a load field, the first indication field being used to indicate whether an object carried by the load field is data or padding; According to the first indication field of at least one data block among the multiple data blocks, service data is demapped from the data frame.

8. The method according to claim 7, characterized in that The first indication field is also used to indicate the number of data blocks that have been sent and whose carrying objects are data.

9. The method according to claim 7 or 8, characterized in that: The data frame further includes an overhead area, wherein the overhead area includes a second indication field, and the second indication field is used to indicate an offset of a starting data block in a next multi-frame period of the data frame.

10. The method according to claim 9, characterized in that The overhead area further includes a third indication field, and the third indication field is used to indicate a time when the bandwidth of the multiple data blocks is losslessly adjusted.

11. The method according to any one of claims 7 to 10, characterized in that The first indication field occupies 1 byte, and the load field occupies 192 bytes.

12. The method according to any one of claims 7 to 11, characterized in that The data frame includes an optical transport network OTN frame or a flexible OTN frame.

13. The method according to any one of claims 7 to 12, characterized in that Demapping service data from the data frame according to the first indication field of at least one data block among the multiple data blocks includes: Determine, according to the first data block and the data blocks received before receiving the first data block in the current multiframe period, a first number of data blocks whose carrying objects are data and which are received in the current multiframe period; When the number of data blocks indicated by the counting information carried by the first data block is different from the first number, the determination result of the object carried by the payload field of the second data block is modified, and the second data block is a data block received after the first data block.

14. A device for transmitting data, characterized in that: include: A module for executing the method according to any one of claims 1 to 6, or a module for executing the method according to any one of claims 7 to 13.

15. A device for transmitting data, characterized in that: The device comprises at least one processor coupled to at least one memory, wherein the at least one processor is used to execute a computer program or instruction stored in the at least one memory so that the device performs the method according to any one of claims 1 to 6 or the method according to any one of claims 7 to 13.

16. A chip, characterized in that: The chip includes a processor and a communication interface, the communication interface is used to receive data frames and transmit them to the processor or send data frames to other communication devices other than the communication device including the chip, and the processor is used to execute the method as described in any one of claims 1 to 6, or the method as described in any one of claims 7 to 13.

Citation Information

Patent Citations

  • Data transmission method and device

    CN119995771A

  • Service processing method and processing device in optical transport network, and electronic equipment

    CN112511921A

  • Service processing method and device

    CN113573174A

  • Data transmission method

    CN116489704A

  • Method, device and system for processing data frame in optical transport network

    CN116582219A