Business data processing method and apparatus

By defining the frame structure and time slot multiplexing structure using unified code blocks, the problems of high complexity and low bandwidth utilization in low-rate service carrying in OTN technology are solved, enabling flexible service data processing and efficient bandwidth utilization.

CN117221768BActive Publication Date: 2025-12-30HUAWEI TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210621039.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-06-02
Publication Date
2025-12-30
Estimated Expiration
2042-06-02

AI Technical Summary

Technical Problem

Existing OTN technology suffers from high processing complexity and low bandwidth utilization when carrying low-speed services, especially when mapping and multiplexing low-speed service data into high-speed signals, which leads to increased latency.

Method used

The frame structure and time slot multiplexing structure are defined by a unified code block, which supports time slot multiplexing of service data with different bandwidths. By using code blocks as the processing granularity, the processing flow is simplified and the transmission latency is reduced.

Benefits of technology

It enables flexible carrying of service data at different rates, simplifies processing complexity, improves bandwidth utilization, and reduces transmission latency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117221768B_ABST
    Figure CN117221768B_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a service data processing method and device. The method comprises: receiving a plurality of service data, performing time slot multiplexing on the plurality of service data based on a time slot multiplexing structure to obtain a first data stream, and mapping the first data stream into a first data frame, and transmitting the first data frame. The time slot multiplexing structure comprises m columns of code blocks, the ith column of code blocks is a first time slot block, the jth column of code blocks comprises k second time slot blocks, the first data frame comprises N columns of code blocks, the first column is a first overhead code block, and the first overhead code block comprises first indication information and second indication information. The first indication information is used to indicate a starting position of the time slot multiplexing structure in the first data stream in the first data frame, and the second indication information is used to indicate a mapping relationship between the first time slot block and the second time slot block and the first data stream. The method defines a frame structure and a time slot multiplexing structure based on code blocks, supports time slot multiplexing of a plurality of services with different bandwidths, simplifies processing complexity, and reduces time delay.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of optical communications, and more specifically, to a service data processing method and apparatus. Background Technology

[0002] Optical transport networks (OTNs) are widely deployed in trunk lines, metropolitan cores, and metropolitan edge areas. They have natural advantages of high quality, large capacity, and wide coverage, enabling flexible scheduling and management of large-capacity customer services.

[0003] The Optical Data Unit 0 (ODU0) frame, as the smallest bearer container in current OTN technology, has a rate of approximately 1.25 gigabits per second (Gbps) and is used to carry 1Gbps Ethernet service data. As OTN technology faces increasing demands for low-speed service transmission, when using this ultra-high-speed transmission frame to transmit relatively low-speed services, it is typically necessary to map and multiplex the existing low-speed service data into a higher-speed signal, which is then carried by existing OTN optical bearer containers, such as ODU0. However, this implementation method involves high complexity in time slot multiplexing, and also introduces problems such as significant latency and low bandwidth utilization. Summary of the Invention

[0004] This application provides a service data processing method and apparatus, which, based on a unified code block definition frame structure and a time slot multiplexing structure, supports time slot multiplexing processing of multiple service data with different bandwidths, simplifies the complexity of service data processing, and reduces latency.

[0005] Firstly, a service data processing method is provided. This method can be executed by a transmitting device or by a component of the transmitting device (such as a chip or chip system), and this application does not limit its execution. The method includes: receiving first service data and second service data; performing time-slot multiplexing on the first service data and second service data based on a time-slot multiplexing structure to obtain a first data stream; mapping the first data stream to a first data frame; and sending the first data frame.

[0006] The bandwidth of the first service data is less than or equal to 200 megabits per second (Mbps). The time slot multiplexing structure includes m columns of code blocks. The i-th column of the m columns of code blocks is the first time slot block. The j-th column of the m columns of code blocks includes k second time slot blocks. The first data frame includes N columns of code blocks. The first column of the first data frame is the first overhead code block, which is used to manage the data code blocks other than the first column. The first overhead code block includes first indication information and second indication information. The first indication information is used to indicate the starting position of the first data stream in the first data frame. The second indication information is used to indicate the mapping relationship between the first time slot block, the second time slot block and the first data stream. k, m and N are integers greater than 1. i and i are both integers greater than or equal to 1 and less than or equal to m. N is an integer greater than 1.

[0007] Based on the above scheme, the unified code block defines the time slot multiplexing structure and the frame structure (i.e. the first data frame) for time slot multiplexing, which supports time slot multiplexing of at least two service data, simplifies the time slot multiplexing process, especially for the processing of service data with small bandwidth, ensures bandwidth utilization and reduces transmission latency.

[0008] In conjunction with the first aspect, in some implementations of the first aspect, the code block includes first information, which is used to indicate the code block type of the code block.

[0009] In conjunction with the first aspect, in some implementations of the first aspect, the code block type is either a data code block or a non-data code block. When the code block type is a non-data code block, the code block also includes second information, which is used to indicate whether the non-data code block type is an overhead code block or a rate adaptation code block. Based on the above scheme, by introducing the first and second information into the code block, the type of the code block can be flexibly indicated.

[0010] In conjunction with the first aspect, in some implementations of the first aspect, before performing time-slot multiplexing of the first service data and the second service data based on the time-slot multiplexing structure to obtain the first data stream, the method further includes: encapsulating and rate-matching the first service data to obtain the first sub-data stream, and encapsulating and rate-matching the second service data to obtain the second sub-data stream, wherein the first sub-data stream and the second sub-data stream are used for time-slot multiplexing.

[0011] Based on the above scheme, the sub-data streams obtained by encapsulating and rate matching different business data can be mapped to the time slot multiplexing structure with the size of large or small time slot blocks. This ensures that different business data are processed at the code block level during time slot multiplexing, which helps to simplify the complexity of subsequent time slot multiplexing.

[0012] In conjunction with the first aspect, in some implementations of the first aspect, encapsulating and rate-matching the first service data to obtain the first sub-data stream includes: mapping the first service data to the second data frame according to the size of the first time slot block, and rate-matching the second data frame according to the size of the second time slot block to obtain the first sub-data stream, wherein the second data frame includes N columns of code blocks, the first column of the second data frame is a second overhead code block, used to manage data code blocks other than the first column, and N is an integer greater than 1.

[0013] Based on the above scheme, for low-bandwidth services (such as the first service data), the second data frame defined by the code block completes the encapsulation of the low-bandwidth service. Data is truncated and rate matched according to the size of the second time slot block, and mapped to the position of the specified small time slot in the time slot multiplexing structure. This ensures that the first service data is processed at the code block level when multiplexing time slots, which simplifies the processing process and supports time slot multiplexing of low-bandwidth services. This is beneficial for reducing transmission latency and improving bandwidth utilization.

[0014] In conjunction with the first aspect, in some implementations of the first aspect, encapsulating and rate-matching the second service data to obtain the second sub-data stream includes: mapping the second service data into a second data frame according to the size of the first time slot block; when the bandwidth of the second service data is greater than 200 Mbps, rate-matching the second data frame according to the size of the first time slot block to obtain the second sub-data stream; wherein the second data frame includes N columns of code blocks, the first column of the second data frame is a second overhead code block, the second overhead code block is used to manage data code blocks other than the first column, and N is an integer greater than 1.

[0015] Based on the above scheme, for high-bandwidth services (such as second service data), the second data frame defined by code blocks is used to encapsulate the high-bandwidth service. Data is truncated and rate matched according to the size of the first time slot block, and mapped to the position of the large time slot specified in the time slot multiplexing structure. This ensures that the second service data is processed at the code block level when multiplexing time slots, simplifying the processing.

[0016] The technical solution of this application reuses time slots based on service data with different bandwidths to achieve more flexible service data carrying. At the same time, by using code blocks as the processing granularity and employing large and small time slot blocks for hybrid time slot reuse, it can process service data of different rates in a targeted and flexible manner, simplifying the service processing flow.

[0017] In conjunction with the first aspect, in some implementations of the first aspect, the size of the first time slot block is greater than or equal to 64 bytes, and the size of the second time slot block is greater than or equal to 8 bytes and less than or equal to 64 bytes. For example, the size of the second time slot block is 8, 16, 24, 32, or 64 bytes, and the size of the first time slot block is 64, 128, 192, 256, 65, 129, 193, or 257 bytes. Based on the above scheme, the first and second time slot blocks can be code blocks of different byte sizes, which is beneficial for enabling time slot multiplexing and carrying of service data at different rates, and provides high flexibility.

[0018] In conjunction with the first aspect, in some implementations of the first aspect, the sizes of the first time slot block and the second time slot block satisfy:

[0019] X = k * p + c

[0020] Where X is the size of the first time slot block, p is the size of the second time slot block, k is the number of second time slot blocks, and c is the proportion of the first information.

[0021] Based on the above scheme, the size of the first time slot block in this application is an integer multiple of the size of the second time slot block. That is to say, for a time slot multiplexing structure, it can support m*k second time slot blocks (small time slots) and m first time slot blocks (large time slots) mixed in a certain proportion for time slot multiplexing, which is more flexible and adaptable.

[0022] Secondly, a service data processing method is provided. This method can be executed by a receiving device or by a component of the receiving device (such as a chip or chip system), and this application does not limit this. The method includes: receiving a first data frame, demapping a first data stream from the first data frame, and de-time-slot multiplexing the first data stream to obtain first service data and second service data.

[0023] The first data frame is used to carry the first data stream. The first data stream is obtained by time-slot multiplexing the first service data and the second service data based on the time-slot multiplexing structure. The bandwidth of the first service data is less than or equal to 200Mbps. The time-slot multiplexing structure includes m columns of code blocks. The i-th column of code blocks is the first time slot block. The j-th column of code blocks includes k second time slot blocks. The first data frame includes N columns of code blocks. The first column is the first overhead code block, which is used to manage the data code blocks other than the first column. The first overhead code block includes first indication information and second indication information. The first indication information is used to indicate the starting position of the first data stream in the first data frame. The second indication information is used to indicate the mapping relationship between the first time slot block, the second time slot block and the first data stream. k, m and N are integers greater than 1. i and j are integers greater than or equal to 1 and less than or equal to m.

[0024] Based on the above scheme, the unified code block defines the time slot multiplexing structure and the frame structure (i.e. the first data frame) for time slot multiplexing, which supports time slot multiplexing of at least two service data, simplifies the time slot multiplexing process, especially for the processing of service data with small bandwidth, ensures bandwidth utilization and reduces transmission latency.

[0025] In conjunction with the second aspect, in some implementations of the second aspect, the code block includes first information, which is used to indicate the code block type of the code block.

[0026] In conjunction with the second aspect, in some implementations of the second aspect, the code block type is either a data code block or a non-data code block. When the code block type is a non-data code block, the code block also includes second information, which is used to indicate whether the non-data code block type is an overhead code block or a rate adaptation code block. Based on the above scheme, by introducing the first and second information into the code block, the type of the code block can be flexibly indicated.

[0027] In conjunction with the second aspect, in some implementations of the second aspect, after demapping the first data stream from the first data frame and demultiplexing the first data stream to obtain the first service data and the second service data, the method further includes: deleting rate-matching code blocks from the first sub-data stream and decapsulating it to obtain the first service data, and deleting rate-matching code blocks from the second sub-data stream and decapsulating it to obtain the second service data, wherein the first sub-data stream and the second sub-data stream are obtained by demultiplexing.

[0028] Based on the above scheme, different service data are obtained by deleting rate-matching code blocks and decapsulating different sub-data streams. The positions of different sub-data streams and the large or small time slot blocks specified in the time slot multiplexing structure are related. Based on the existing time slot configuration table, the relationship can be further determined to ensure that different service data are processed at the code block level when multiplexing time slots, which helps to simplify the complexity of subsequent time slot multiplexing.

[0029] In conjunction with the second aspect, in some implementations of the second aspect, the first sub-data stream is subjected to rate-matching code block deletion and decapsulation to obtain the first service data, including: deleting rate-matching code blocks from the first sub-data stream according to the size of the second time slot block to obtain the second data frame, and demapping the first service data from the second data frame according to the size of the first time slot block, wherein the second data frame includes N columns of code blocks, the first column of the second data frame is the second overhead code block, which is used to manage data code blocks other than the first column, and N is an integer greater than 1.

[0030] Based on the above scheme, for low-bandwidth services (such as the first service data), rate-matching code blocks are deleted according to the size of the second time slot block, and the first service data is demapped from the second data frame defined by code blocks according to the size of the first time slot block. Mapping the low-bandwidth service to the specified small time slot position in the time slot multiplexing structure ensures that the first service data is processed at the code block level during time slot multiplexing, simplifying the processing and supporting time slot multiplexing for low-bandwidth services. This helps reduce transmission latency and improve bandwidth utilization.

[0031] In conjunction with the second aspect, in some implementations of the second aspect, the second sub-data stream is subjected to rate-matching code block deletion and decapsulation to obtain the second service data, including: when the bandwidth of the second service data is greater than 200Mbps, the second sub-data stream is subjected to rate-matching code block deletion according to the size of the first time slot block to obtain the second data frame, and the second service data is demapped from the second data frame according to the size of the first time slot block, wherein the second data frame includes N columns of code blocks, the first column of the second data frame is the second overhead code block, which is used to manage the data code blocks other than the first column, and N is an integer greater than 1.

[0032] Based on the above scheme, for high-bandwidth services (such as second service data), rate-matching code blocks are deleted according to the size of the first time slot block, and the second service data is demapped from the second data frame defined by code blocks according to the size of the first time slot block. High-bandwidth services are mapped to the specified large time slot position in the time slot multiplexing structure, ensuring that the second service data is processed at the code block level during time slot multiplexing, thus simplifying the processing.

[0033] The technical solution of this application reuses time slots based on service data with different bandwidths to achieve more flexible service data carrying. At the same time, by using code blocks as the processing granularity and employing mixed time slot reuse with large and small time slot blocks, it can handle service data of different rates in a targeted and flexible manner, simplifying the service processing flow.

[0034] In conjunction with the second aspect, in some implementations of the second aspect, the size of the first time slot block is greater than or equal to 64 bytes, and the size of the second time slot block is greater than or equal to 8 bytes and less than or equal to 64 bytes. For example, the size of the second time slot block is 8, 16, 24, 32, or 64 bytes, and the size of the first time slot block is 64, 128, 192, 256, 65, 129, 193, or 257 bytes. Based on the above scheme, the first and second time slot blocks can be code blocks of different byte sizes, which is beneficial for enabling time slot multiplexing and carrying of service data at different rates, providing high flexibility.

[0035] In conjunction with the second aspect, in some implementations of the second aspect, the sizes of the first time slot block and the second time slot block satisfy:

[0036] X = k * p + c

[0037] Where X is the size of the first time slot block, p is the size of the second time slot block, k is the number of second time slot blocks, and c is the proportion of the first information.

[0038] Based on the above scheme, the size of the first time slot block in this application is an integer multiple of the second time slot code block. That is to say, for a time slot multiplexing structure, it can support m*k second time slot blocks (small time slots) and m first time slot blocks (large time slots) mixed in a certain proportion for time slot multiplexing, which is more flexible and more adaptable.

[0039] Thirdly, a business data processing apparatus is provided. This apparatus is used to perform the method provided in the first aspect. Specifically, the business data processing apparatus may include units and / or modules for performing the method provided in the first aspect or any of the above implementations of the first aspect.

[0040] In one implementation, the data transmission device is a transmitting device. The transceiver can be a transceiver unit or an input / output interface. The processing module can be at least one processor. Optionally, the transceiver can be a transceiver circuit. Optionally, the input / output interface can be an input / output circuit.

[0041] In another implementation, the service data processing device is a chip, chip system, or circuit in the transmitting device. The transceiver module can 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 can be at least one processor, processing circuit, or logic circuit.

[0042] The beneficial effects of the methods shown in the third aspect and its possible designs above can be referred to the beneficial effects in the first aspect and its possible designs.

[0043] Fourthly, a business data processing apparatus is provided. This apparatus is used to perform the method provided in the second aspect. Specifically, the business data processing apparatus may include units and / or modules for performing the method provided in the second aspect or any of the above-described implementations of the second aspect.

[0044] In one implementation, the service data processing device is a receiving end device. The transceiver can be a transceiver unit or an input / output interface. The processing module can be at least one processor. Optionally, the transceiver can be a transceiver circuit. Optionally, the input / output interface can be an input / output circuit.

[0045] In another implementation, the service data processing device is a chip, chip system, or circuit in the receiving device. The transceiver module can 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 can be at least one processor, processing circuit, or logic circuit.

[0046] The beneficial effects of the methods shown in the fourth aspect above and its possible designs can be referred to the beneficial effects in the second aspect and its possible designs.

[0047] Fifthly, a processor is provided for performing the methods provided in the foregoing aspects. Unless otherwise specified, or if it does not contradict its actual function or internal logic in the relevant description, the transmission and acquisition / reception operations involved in the processor can be understood as processor output and reception, input, etc., or as transmission and reception operations performed by radio frequency circuits and antennas; this application does not limit this.

[0048] Sixthly, a computer-readable storage medium is provided. This computer-readable storage medium stores program code for execution by a device, the program code including methods for performing any implementation of the first or second aspect described above.

[0049] In a seventh aspect, a computer program product containing instructions is provided. When the computer program product is run on a computer, it causes the computer to perform the method provided by any implementation of the first or second aspect described above.

[0050] Eighthly, a chip is provided, comprising a processor and a communication interface. The processor reads instructions stored in memory through the communication interface and executes the method provided in any implementation of the first or second aspect described above.

[0051] Optionally, as one implementation, the chip also includes a memory storing computer programs or instructions, and a processor for executing the computer programs or instructions stored in the memory. When the computer programs or instructions are executed, the processor is used to execute the method provided by the second aspect or any implementation thereof.

[0052] Ninthly, a communication system is provided, comprising: the service data processing apparatus described in the third aspect and the service data processing apparatus described in the fourth aspect. Attached Figure Description

[0053] Figure 1 This is a schematic diagram of an application scenario to which this application applies.

[0054] Figure 2This is a schematic diagram of the hardware structure of a network device.

[0055] Figure 3 This is a schematic diagram of the frame structure of an OTN frame.

[0056] Figure 4 These are schematic diagrams illustrating the structures of different types of code blocks provided in the embodiments of this application.

[0057] Figure 5 This is a schematic diagram of the frame structure of a data frame provided in an embodiment of this application.

[0058] Figure 6 This is a schematic diagram of a frame structure for time slot multiplexing provided in an embodiment of this application.

[0059] Figure 7 This is a schematic diagram of a time slot multiplexing structure provided in an embodiment of this application.

[0060] Figure 8 This is a schematic diagram of a combination of large and small code blocks provided in an embodiment of this application.

[0061] Figure 9 This is a schematic flowchart of a business data processing method provided in an embodiment of this application.

[0062] Figure 10 This is a schematic flowchart illustrating a data stream mapping to a data frame provided in an embodiment of this application.

[0063] Figure 11 This is a schematic flowchart of another business data processing method provided in the embodiments of this application.

[0064] Figure 12 This is a schematic flowchart illustrating a multi-channel service data processing method provided in an embodiment of this application.

[0065] Figure 13 This is a schematic diagram of the structure of a communication device provided in an embodiment of this application. Detailed Implementation

[0066] The technical solutions in the embodiments of this application will now be described with reference to the accompanying drawings.

[0067] The embodiments of this application are applicable to optical networks, such as optical transport networks (OTNs). An OTN is typically composed of multiple devices connected by optical fibers, and can be configured into different topologies such as linear, ring, and mesh, depending on specific needs.

[0068] Figure 1 This is a schematic diagram illustrating one application scenario to which this application applies. For example... Figure 1As shown, OTN 100 includes eight interconnected OTN devices 101, also known as devices AH. 102 indicates an optical fiber used to connect two devices; 103 indicates a customer service interface used to receive or transmit customer service data. Figure 1 As shown, OTN 100 is used to transmit service data for customer equipment 1-3. The customer equipment connects to the OTN device through a customer service interface. For example, Figure 1 In the middle, customer equipment 1-3 are connected to OTN equipment A, H and F respectively.

[0069] Generally, OTN devices are categorized into optical layer devices, electrical layer devices, and hybrid optoelectronic devices. Optical layer devices refer to those capable of processing optical layer signals, such as optical amplifiers (OA) and optical add-drop multiplexers (OADMs). OAs, also known as optical line amplifiers (OLAs), are primarily used to amplify optical signals to support longer transmission distances while maintaining specific optical signal performance. OADMs are used to spatially transform optical signals, allowing them to be output from different output ports (sometimes referred to as directions). Electrical layer devices refer to those capable of processing electrical layer signals, such as devices capable of processing OTN signals. Hybrid optoelectronic devices refer to devices capable of processing both optical and electrical layer signals. It should be noted that, depending on specific integration needs, a single OTN device can integrate multiple different functions. The technical solutions provided in this application are applicable to OTN devices with different forms and integration levels that include electrical layer functions.

[0070] Figure 2 This is a schematic diagram of the hardware structure of a network device. For example, Figure 1 This is one of the OTN devices AH in the diagram. Specifically, the OTN device 200 includes a tributary board 201, a cross-connect board 202, a line board 203, an optical layer processing board (not shown in the diagram), and a system control and communication board 204. It should be noted that the type and number of boards included in the network device may vary depending on specific needs. For example, a network device acting as a core node may not have a tributary board 201. Another example is a network device acting as an edge node, which may have multiple tributary boards 201 or no optical cross-connect board 202. Yet another example is a network device that only supports electrical layer functions may not have an optical layer processing board.

[0071] Tributary board 201, cross-connect board 202, and line board 203 are used to process OTN electrical layer signals (such as ODU frames in OTN). Tributary board 201 is used to receive and transmit various customer services, such as Synchronous Digital Hierarchy (SDH) services, packet services, Ethernet services, and fronthaul services. Further, tributary board 201 can be divided into a customer-side optical transceiver module and a signal processor. The customer-side optical transceiver module, also called an optical transceiver, is used to receive and / or transmit service data. The signal processor is used to perform mapping and demapping of service data to data frames. Cross-connect board 202 is used to implement data frame switching, completing the switching of one or more types of data frames. Line board 203 mainly implements line-side data frame processing. Specifically, line board 203 can be divided into a line-side optical module and a signal processor. The line-side optical module, also called an optical transceiver, is used to receive and / or transmit data frames. The signal processor is used to perform multiplexing and demultiplexing, or mapping and demapping, of data frames on the line side. The system control and communication board 204 is used to implement system control. Specifically, it can collect information from different boards or send control commands to the corresponding boards.

[0072] It should be noted that, unless otherwise specified, a specific component (such as a signal processor) may be one or more, and this application does not impose any restrictions. This application also does not impose any restrictions on the type of single board included in the device, or on the functional design and number of the single boards. It should also be noted that, in a specific implementation, the two single boards mentioned above may also be designed as a single board. Furthermore, network devices may also include backup power supplies, fans for device cooling, auxiliary boards for providing external alarms or accessing external clocks, etc.

[0073] To facilitate understanding of the technical solution of this application, some concepts and technologies involved in this application will be briefly explained.

[0074] 1. OTN frame

[0075] OTN equipment uses an OTN frame structure to carry various service data and provides rich management and monitoring functions. An OTN frame can also be called an OTN transport frame. For example, an OTN frame can be an optical data unit frame (ODUk), ODUc, ODUflex, or an optical transport unit frame (OTUk), OTUc, or a flexible OTN (FlexO) frame, or a flexible optical service unit (OSUflex) frame, etc. Among these, OSUflex can also be called an OSU frame.

[0076] The difference between ODU frames and OTU frames lies in the fact that an OTU frame includes both the ODU frame and the OTU overhead. 'k' represents different rate levels; for example, k=1 represents 2.5Gbps, k=4 represents 100Gbps. 'Cn' represents a variable rate, specifically a positive integer multiple of 100Gbps. Unless otherwise specified, an ODU frame refers to any one of ODUk, ODUCN, or ODUflex, and an OTU frame refers to any one of OTUk, ODUCN, or FlexO.

[0077] It should be noted that as OTN technology develops, new types of OTN frames may be defined, which will also apply to this application.

[0078] 2. OTN frame structure

[0079] Figure 3 This is a schematic diagram of the frame structure of an OTN frame. Figure 3 As shown, the OTN frame has a 4-row, multi-column frame structure, including an overhead area, a payload area, and a forward error correction (FEC) area. For a detailed description of the OTN frame structure, please refer to the relevant descriptions in current protocols; this application will not elaborate further.

[0080] 3. Low-speed services are multiplexed into high-speed signals.

[0081] When Fast Ethernet (FE) needs to use OTN for transmission, the FE is first mapped to an ODU0 frame with a rate of approximately 1.25Gbps, and then transmitted over the OTN via OTU1. This method has low transmission efficiency, with ODU0 bandwidth occupying less than 10%. For example, multiple E1 signals are first mapped to the interface signals of the Synchronous Transport Module-1 (STM-1). STM-1 is a type of SDH signal. The STM-1 interface signals are then mapped to ODU0, and then transmitted over the OTN via OTU1.

[0082] In this application, low-speed services can be multiplexed into high-speed signals, also known as signal "multiplexing," which can be understood as multiplexing multiple signals into OTN signals according to corresponding time slots.

[0083] With the gradual withdrawal of SDH technology from the market and the rapid development of OTN technology, the application scope of OTN technology has expanded from backbone networks to metropolitan area networks and even access networks. In SDH technology, virtual containers (VCs) are used to carry various low-speed data services (e.g., 2Mbps), while in OTN technology, the smallest bearer container has a rate of approximately 1.25Gbps and is used to carry various high-speed data services. Therefore, OTN technology faces increasing demands for low-speed service transport. Currently, one method for OTN low-speed service transport involves first mapping and multiplexing the low-speed data service into a higher-speed signal, and then carrying the signal through an existing high-speed optical bearer container (e.g., an ODU0 frame). This implementation method is complex and may lead to problems such as poor timeliness and low bandwidth utilization.

[0084] Therefore, how to achieve service data transmission at different rates in OTN while ensuring timeliness and bandwidth utilization is an urgent problem to be solved.

[0085] In view of this, this application proposes a service data processing method and apparatus, which is based on a unified definition of frame structure and time slot multiplexing structure for code blocks, supports time slot multiplexing processing of multiple service data with different bandwidths, simplifies processing complexity, reduces latency, and improves bandwidth utilization.

[0086] To facilitate understanding of the embodiments of this application, the following points are provided.

[0087] First, in the embodiments of this application, service data refers to services carried by optical transport networks or metropolitan area transport networks. For example, these include, but are not limited to, Ethernet services, packet services, and wireless backhaul services. Service data can also be referred to as service signals, customer data, or customer service data. It should be understood that the type of service data is not limited in the embodiments of this application.

[0088] Second, in the embodiments of this application, "at least one" refers to one or more, and "multiple" refers to two or more. "And / or" describes the association relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Here, A and B can be singular or plural. In this application, the character " / " generally indicates that the preceding and following related objects have an "or" relationship.

[0089] Third, in the embodiments of this application, the terms "first," "second," and various numerical designations (e.g., #1, #2) used in the embodiments shown below are merely for descriptive convenience and are not intended to limit the scope of the embodiments of this application. The order of the process numbers below does not imply the order of execution; the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0090] Fourth, the terms "comprising" and "having" and any variations thereof in the embodiments of this application shown below are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units is not necessarily limited to those steps or units that are explicitly listed, but may include other steps or units that are not explicitly listed or that are inherent to such processes, methods, products, or devices.

[0091] Fifth, in the embodiments of this application, "exemplary" or "for example" are used to indicate examples, illustrations, or descriptions. Embodiments or designs described as "exemplary" or "for example" should not be construed as being more preferred or advantageous than other embodiments or designs. The use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a specific manner to facilitate understanding.

[0092] Sixth, in the embodiments of this application, "protocol" may refer to standard protocols in the OTN field, such as the ITU-T G.709 standard protocol and related protocols applied to future OTN systems. This application does not limit this.

[0093] Seventh, in the embodiments of this application, "for indicating" includes direct indication and indirect indication. When describing information for indicating A, it may include the information directly indicating A or indirectly indicating A, but does not necessarily mean that the information carries A.

[0094] Eighth, in the embodiments of this application, the character "*" is an operator symbol representing multiplication.

[0095] Ninth, unless otherwise specified, the specific description of certain technical features in one embodiment can also be used to interpret corresponding technical features mentioned in other embodiments. For example, the definition of a code block in one embodiment can be applied to other embodiments, and there is no need to repeat it in other embodiments.

[0096] The technical solution provided in this application will now be described in detail with reference to the accompanying drawings. First, in conjunction with... Figure 4-8 The code blocks, data frames, frames for time slot multiplexing, and time slot multiplexing structures involved in this application are illustrated by way of example.

[0097] Figure 4 These are schematic diagrams illustrating the structures of different types of code blocks provided in embodiments of this application. For example... Figure 4 As shown in (a), (b), and (c), the data code block (D code), overhead (OH) code block (O code), and rate adaptation code block (idle code block, I code) are, in order, represented by code blocks. The D code carries customer service data, while the O and I codes can be collectively referred to as the control code block (C code, i.e., non-data code block). The O code includes the RES, multiplexing layer indication (MLI), overhead type O_TYPE, and OH information fields. The I code includes the RES, MLI, O_TYPE, and AL(h55) information fields.

[0098] Specifically, each code block includes c bits of BLK_T (i.e., first information) to indicate the type of the code block, where c can be 3 to 8 bits. For example, if c = 3, "000" indicates a D code type, "111" indicates a C code type, and the other bits indicate an abnormal code block. Further, when the code block type is C code, the type can be further indicated by O_TYPE (i.e., second information). For example, O_TYPE = 0 indicates an O code type, and O_TYPE = 1 indicates an I code type. Optionally, BLK_T supports 1-bit error correction capability. For example, "010, 100, 001" after error correction represents a D code, and "110, 101, 011" after error correction represents an O code or an I code.

[0099] It should be understood that the number of bits in the first and second information and the indication information above are merely examples and should not constitute any limitation on the technical solution of this application.

[0100] For example, the size of the aforementioned D code, O code, and I code can be X bytes, where X is an integer greater than or equal to 64. For instance, X could be 64, 128, 192, 256, etc. Alternatively, X could be 65, 129, 193, or 257, etc., and this application does not specifically limit this. It is understood that the size of the unified code block defined in this application can have various possible values ​​to support data transmission at different rates.

[0101] It should be noted that the size of the code block involved in the embodiments of this application can be understood as the bit width of the code block, and the bit width can be understood as the number of bits in the code block. That is, the bit width of the code block can be understood as the number of bits occupied by the code block (which may be a non-integer byte). It should be understood that the size of the code block can be an integer byte or a non-integer byte. For ease of description, the following description uses the code block size as an integer byte. In the embodiments of this application, the size of the code block and the bit width have the same meaning and can be described interchangeably, and will not be repeated hereafter.

[0102] based on Figure 4 The different types of code blocks shown below, in conjunction with Figure 5 and Figure 6 Two different frame structures are illustrated by examples.

[0103] Figure 5 This is a schematic diagram of a data frame structure (which can be simply referred to as OSU-n, i.e., the second data frame) provided in an embodiment of this application. Figure 5 As shown, OSU-n is an N-column data structure built upon X-byte code blocks, where each column can be understood as an X-byte code block. The first column is the overhead code block, and the other columns are data code blocks. Data code blocks carry customer business data, and overhead code blocks manage data code blocks #1 other than the first column. Y is less than X, and N is an integer greater than 1.

[0104] It should be understood that the header of the first column can define an OH of Y bytes, and the remaining bytes in the first column other than the Y bytes occupied by the OH (e.g., XYc, where c is the proportion of BLK_T) can also be used to carry customer business data.

[0105] Figure 6 This is a schematic diagram of a frame structure (which can be simply referred to as OSU-m, i.e., the first data frame) for time slot multiplexing provided in an embodiment of this application. Figure 6 As shown, an N-column data structure is constructed based on X-byte code blocks, where each column can be understood as an X-byte code block. Among these, ... Figure 5The frame structure shown differs from OSU-n in that the first column of OSU-m also includes a time slot indicator TS_PTR (i.e., the first indicator information) and a multiplex structure identifier (MSI) (i.e., the second indicator information). The bit width of TS_PTR and MSI is XYc, where c is the proportion of BLK_T. Specifically, TS-PTR is used to indicate... Figure 7 The time-slot multiplexing structure carrying the first data stream is shown at the beginning of OSU-m. MSI stands for Time-Slot Multiplexing Overhead and Multiframe Transmission, used to indicate... Figure 7 The mapping relationship between the first time slot block, the second time slot block and the first data stream (i.e., the data stream obtained by encapsulation, rate matching and other processing of business data) is shown, for example, which time slots are occupied by which services.

[0106] Figure 7 This is a schematic diagram of a time-slot multiplexing structure (which can be abbreviated as OSTUG-m) provided in an embodiment of this application. Figure 7 As shown, an m-column data structure is constructed based on X-byte code blocks, where each column can be understood as an X-byte code block.

[0107] In one possible implementation, the i-th column of OSTUG-m can be the first time slot block (e.g., time slot #1, which can be called a large time slot), with a bit width of X bytes and a time slot bandwidth defined as Rh. Then, the m columns can contain m time slots #1, with corresponding time slot numbers from TSH1 to TSHm. For example, if X = 64 bytes, then the data code block #1 corresponding to time slot #1 can occupy 63 bytes, and BLK_T can occupy 1 byte. Specifically, assuming a bit width of X = 256 bytes and a bandwidth of Rh = 100 Mbps, if there is a 500 Mbps service to be transmitted, it can be transmitted through 5 time slots #1.

[0108] In another possible implementation, the j-th column of OSTUG-m can be divided into k second time slot blocks (such as time slot #2, which can be called small time slots) based on p bytes, with a bit width of p bytes and a time slot bandwidth defined as Rl. Each column can then include k time slots #2, with corresponding time slot numbers TSL1 to TSLk. For example, p can be 8, 16, 24, 32, 64, etc. For instance, if X = 64 bytes and p = 8 bytes, each column of OSTUG-m can include 7 data code blocks #2 (time slots #2), occupying a total of 56 bytes. The time slot overhead area (tributary slot OH, TSOH) can occupy 7 bytes, and BLK_T can occupy 1 byte. Specifically, assuming a bit width of p = 16 bytes, then k = 16, and the bandwidth R1 = 100 / 16 Mbps. If there is a 100 Mbps service to be transmitted, it needs to be transmitted through 16 time slots #2.

[0109] Where k and m are both integers greater than 1, and i and j are both integers greater than or equal to 1 and less than or equal to m.

[0110] It should be noted that the values ​​of X, p, Rh, and R1 above are merely examples and should not constitute any limitation on the technical solution of this application. In this implementation, X is an integer multiple of p, and Rh is an integer multiple of R1. For example, R1 = 10, p = 16, Rh = 100, X = 256.

[0111] Therefore, for a time-slot multiplexing structure OSTUG-m, it can support the mixing and multiplexing of m first time-slot blocks (time-slot #1) and m*k second time-slot blocks (time-slot #2) in a certain ratio, which is more flexible and adaptable. For example, if Rh = 100Mbps and R1 = 100 / 16Mbps, the above-mentioned 500M service to be transmitted can be transmitted through 4 time-slot #1 and 16 time-slot #2; or it can be transmitted through 3 time-slot #1 and 32 time-slot #2, etc.

[0112] It should be noted that this application addresses the above-mentioned... Figure 7 The m columns of the time slot multiplexing structure shown, and Figure 5 and Figure 6 The numerical relationship between the N columns in the frame structure shown is not limited; that is, m can be greater than N or less than N. For example, m = 10, N = 100; or m = 20, N = 10, etc., to ensure the flexibility of time slot multiplexing.

[0113] based on Figure 7 The OSTUG-m shown below involves time slots #1 and #2. Figure 8 An exemplary schematic diagram illustrating the structural combination of large and small code blocks corresponding to large and small time slots.

[0114] like Figure 8 As shown in (a), a certain column of data code block of OSTUG-m is divided into k second time slot blocks (time slot #2) based on p bytes. For example, TSL1 to TSLk correspond to k small code blocks in sequence. The type of each small code block can be indicated by 1 bit TSr_BLK_T (r is greater than or equal to 1 and less than or equal to k). For example, TS1_BLK_T = 0 indicates that the first small code block is D code, and TS3_BLK_T = 1 indicates that the third small code block is C code (O code or I code). The type indication information TSr_BLK_T of the k small code blocks and the error correction code (ECC) can be unified as BLK_T and placed at the beginning of the data code block of that column.

[0115] For example, X can be 65, 129, 193, 257, etc. For example, X = 65 bytes, p = 8 bytes, k = 8, that is, each column of OSTUG-m can be divided into 8 small code blocks, occupying a total of 64 bytes, and BLK_T occupies 1 byte.

[0116] like Figure 8 As shown in (b), a certain column of data code block in OSTUG-m is designated as a first time slot block (time slot #1), which is a large code block. The header of this large code block includes a type indicator information TS_BLK_T and ECC. For example, TS_BLK_T = 0 indicates that the code block is D code, and TS_BLK_T = 1 indicates that the code block is C code (i.e., O code or I code).

[0117] For example, X can be 65, 129, 193, 257, etc. For instance, if X = 65 bytes, the data block size is 64 bytes, and BLK_T occupies 1 byte. It should be noted that the values ​​of X, p, and k are merely examples and should not constitute any limitation on the technical solution of this application. In this implementation, X may not be an integer multiple of p.

[0118] It should be understood that the sizes of the large and small code blocks satisfy: X = k * p + c, where X is the bit width of the large code block (i.e., the size of the first time slot block), p is the bit width of the small code block (i.e., the size of the second time slot block), k is the number of small code blocks (i.e., the number of second time slot blocks), and c is the proportion of BLK_T.

[0119] Based on the above Figures 4 to 8 The basic code block structure, frame structure, and time slot multiplexing structure shown below will be discussed in conjunction with the following. Figure 9 and Figure 11 The processing method for time slot multiplexing of service data at different rates is explained in detail.

[0120] Figure 9A flowchart illustrating a business data processing method 900 provided in an embodiment of this application is shown. Figure 9 As shown, the transmitting device can be an OTN device, or it can be performed by a component of an OTN device (such as a chip or chip system). The receiving device can be an OTN device, or it can be performed by a component of an OTN device (such as a chip or chip system). Specifically, the method 900 includes the following steps.

[0121] S910, the transmitting device receives the first service data and the second service data.

[0122] For example, the bandwidth of the first service data is less than or equal to 200 Mbps, or for example, the bandwidth of the first service data is 100 Mbps. The bandwidth of the second service data can be less than or equal to 200 Mbps or greater than 200 Mbps, and there can be one or more second service data; this application does not specifically limit this. It should be understood that 200 Mbps here can be a pre-specified threshold. It should also be understood that the bandwidth range of the first service data is merely illustrative, and this application does not specifically limit this. For example, the bandwidth of the first service data can also be less than or equal to 100 Mbps.

[0123] For ease of description, in this application embodiment, services with data less than or equal to 200Mbps are referred to as low-bandwidth services (e.g., first service data), and services with data greater than 200Mbps are referred to as high-bandwidth services. That is to say, the second service data can be either the service data of a low-bandwidth service or the service data of a high-bandwidth service.

[0124] For example, the transmitting device is the aforementioned OTN device (such as...). Figure 1 The OTN device A shown in the figure, from the customer device (such as Figure 1 The client equipment shown receives service data (e.g., first service data and second service data). Alternatively, the sending device can be any other device capable of implementing an OTN device. The specific form of the sending device is not limited in this embodiment, as long as it can perform the corresponding service data processing function.

[0125] S920, the transmitting device performs time-slot multiplexing of the first service data and the second service data based on the time-slot multiplexing structure to obtain the first data stream.

[0126] The definition of time slot multiplexing structure can be found in [reference]. Figure 7This will not be elaborated upon here. It should be noted that time-slot multiplexing of the first and second service data to obtain the first data stream based on the time-slot multiplexing structure can be understood as follows: placing the first service data into the second time-slot block specified in the time-slot multiplexing structure (e.g., time slot #2, a small block in a column of the m-column code block) according to the time-slot configuration table, and placing the second service data into the first time-slot block specified in the time-slot multiplexing structure (e.g., time slot #1, a column in the m-column code block) according to the time-slot configuration table. The time-slot configuration table is defined by existing protocols and will not be elaborated upon here. In other words, the first data stream obtained after time-slot multiplexing of the first and second service data can include one or more time-slot multiplexing structures.

[0127] In one possible implementation, before performing time-slot multiplexing of the first service data and the second service data based on the time-slot multiplexing structure to obtain the first data stream, the transmitting device may further encapsulate and rate-match the first service data to obtain the first sub-data stream, and encapsulate and rate-match the second service data to obtain the second sub-data stream, wherein the first sub-data stream and the second sub-data stream are used for time-slot multiplexing.

[0128] For example, encapsulating and rate matching the first service data to obtain the first sub-data stream includes: mapping the first service data to a second data frame according to the size of the first time slot block, and rate matching the second data frame according to the size of the second time slot block to obtain the first sub-data stream.

[0129] For example, encapsulating and rate matching the second service data to obtain the second sub-data stream includes: mapping the second service data into the second data frame according to the size of the first time slot block; when the bandwidth of the second service data is greater than 200Mbps, rate matching the second data frame according to the size of the first time slot block to obtain the second sub-data stream.

[0130] The frame structure definition for the second data frame can be found in [reference needed]. Figure 5 This will not be elaborated upon here.

[0131] Specifically, encapsulating business data can be understood as follows: dividing the business data into one or more data blocks, each with a block size of X bytes, and encapsulating these data blocks in a second data frame (such as OSU-n). That is, the size of each data block is equal to the size of the blocks in the second data frame, both being X bytes.

[0132] Specifically, rate matching for service data can be understood as follows: based on the different bandwidth sizes of the service data and the different sizes of time slot blocks (e.g., small-bandwidth services correspond to the second time slot block, and large-bandwidth services correspond to the first time slot block, with a size of X bytes), the second data frame is truncated, and rate-adaptive code blocks are inserted into the data code blocks for rate matching. For example, for small-bandwidth services, data code block #1 is truncated sequentially according to the size of the second time slot block, and rate-adaptive code blocks #1 are inserted into multiple data code blocks #1 for rate matching, ultimately resulting in sub-data stream #1. At this time, the size of data code block #1 and rate-adaptive code block #1 in sub-data stream #1 is the same as the size of the second time slot block, for example, p bytes. As another example, for large-bandwidth services, data code block #2 is truncated column-wise according to the size of the first time slot block, and rate-adaptive code blocks #2 are inserted into multiple data code blocks #2 for rate matching, ultimately resulting in sub-data stream #2. At this time, the size of data block #2 and rate adaptation block #2 in sub-data stream #2 is the same as the size of the first time slot block, for example, X bytes.

[0133] It should be understood that after encapsulation and rate matching, the multiple sub-data streams are migrated sequentially to the positions of the large or small time slots specified in the time slot multiplexing structure according to the time slot configuration table, so as to complete the transfer of the sub-data streams of multiple services to the time slot multiplexing structure for time slot multiplexing.

[0134] It should be noted that the aforementioned processing of received service data by the transmitting device (e.g., encapsulation, rate matching, and time slot multiplexing) is performed at the code block level to reduce the complexity of service data processing. "At the code block level" can be understood as "processing at the code block level," or "processing at the code block size," indicating that the service data processing flow is based on this code block.

[0135] S930, the transmitting device maps the time slot multiplexing structure of the first data stream into the first data frame.

[0136] The frame structure definition for the first data frame can be found in [reference needed]. Figure 6 This will not be elaborated upon here.

[0137] For example, in combination Figure 10 The mapping of the time slot multiplexing structure of the first data stream to the first data frame is explained in detail. Figure 10 (a) is the OSTUG-8 time slot multiplexing structure with 8 columns, including 8 time slots TS#1 to TS#8. Figure 10(b) is a 10-column frame structure OSU-8 for time slot multiplexing, used to carry eight time slots TS#1 to TS#8 in the OSTUG-8 time slot multiplexing structure. The first column of OSU-8 is the overhead code block, including the second indication information TUG-PTR, which indicates the starting position of the OSTUG-8 mapping in OSU-8. The specific definitions of the OSTUG-8 time slot multiplexing structure and the OSU-8 frame structure for time slot multiplexing can be found above. Figure 6 and Figure 7 I won't go into too much detail here.

[0138] Specifically, in the process of mapping OSTUG-8 to OSU-8, in the first OSU-8 frame structure, the starting position of OSTUG-8 in the first data stream (e.g., TS#1) is indicated by TUG-PTR in the second column of OSU-8; in the second OSU-8 frame structure, the starting position of OSTUG-8 in the first data stream (e.g., TS#1) is indicated by TUG-PTR in the seventh column of OSU-8; in the third OSU-8 frame structure, the starting position of OSTUG-8 in the first data stream (e.g., TS#1) is indicated by TUG-PTR in the eighth column of OSU-8. This process continues in a cycle, with the number of columns in OSU-8 as the period, completing the mapping of OSTUG-8 in the first data stream to OSU-8. It should be understood that the above time-slot multiplexing structure and the number of columns in the frame structure used for time-slot multiplexing are merely examples and should not constitute any limitation on the technical solution of this application.

[0139] In this application, an OTN frame (i.e., the first data frame) is used as an example for illustration, and should not be construed as limiting the technical solution of this application in any way. It should be understood that in future technological developments, this application will also apply to other data-bearing frames.

[0140] S940, the transmitting device sends the first data frame to the receiving device.

[0141] Correspondingly, the receiving device receives the first data frame from the sending device.

[0142] For example, the sending device can directly send the first data frame (such as OSU-m) to the receiving device, or it can encapsulate the first data frame into a bearer container ODU frame and then send the ODU frame to the receiving device. This application does not specifically limit this.

[0143] S950, the receiving device demaps the first data stream from the first data frame and deslots the first data stream to obtain the first service data and the second service data.

[0144] In one possible implementation, after demapping the first data stream from the first data frame and deslotting the first data stream to obtain the first service data and the second service data, the method further includes: deleting rate-matching code blocks from the first sub-data stream and decapsulating it to obtain the first service data, and deleting rate-matching code blocks from the second sub-data stream and decapsulating it to obtain the second service data, wherein the first sub-data stream and the second sub-data stream are obtained by performing the deslotting multiplexing.

[0145] For example, deleting rate-matching code blocks and decapsulating the first sub-data stream to obtain the first service data specifically includes: deleting rate-matching code blocks from the first sub-data stream according to the size of the second time slot block to obtain the second data frame, and demapping the first service data from the second data frame according to the size of the first time slot block.

[0146] For example, taking the second service data as a high-bandwidth service (e.g., bandwidth greater than 200Mbps) as an example, the second sub-data stream is deleting rate matching code blocks and decapsulating to obtain the second service data. Specifically, this includes: deleting rate matching code blocks from the second sub-data stream according to the size of the first time slot block to obtain the second data frame, and demapping the second service data from the second data frame according to the size of the first time slot block.

[0147] It should be noted that, in this embodiment of the application, there are no restrictions on how the receiving device demaps the first data stream from the received first data frame, or on how it deslots the first data stream to obtain service data. You can refer to the descriptions of demapping and deslotting in the relevant current technologies, which will not be repeated here.

[0148] Figure 11 A flowchart illustrating another business data processing method 1100 provided in an embodiment of this application is shown. Figure 11 As shown, the transmitting device can be an OTN device, or it can be performed by a component of an OTN device (such as a chip or chip system). The receiving device can be an OTN device, or it can be performed by a component of an OTN device (such as a chip or chip system). Specifically, the method 1100 includes the following steps.

[0149] S1110, the transmitting device receives the first service data and the second service data.

[0150] S1120, the transmitting device encapsulates and rate-matches the first service data to obtain the first sub-data stream.

[0151] Similarly, the sending device encapsulates and rate-matches the second service data to obtain the second sub-data stream.

[0152] The first and second sub-data streams are used for time slot multiplexing.

[0153] For example, encapsulating and rate-matching the first service data to obtain a first sub-data stream includes: dividing the first service data into one or more data code blocks according to the size of a first time slot block, and encapsulating the one or more data code blocks in a second data frame. The size of the multiple data code blocks is the same as the size of the code blocks in the second data frame, for example, X bytes. Further, rate-matching code blocks are inserted into the multiple data code blocks in the second data frame according to the size of the second time slot block to perform rate matching to obtain the first sub-data stream. The size of the data code blocks and rate-matching code blocks in the first sub-data stream is the same as the size of the second time slot block, for example, p bytes. That is, for low-bandwidth services, encapsulation is performed with a code block size of X bytes (i.e., the first time slot block) as the granularity, and rate matching is performed with a code block size of p bytes (i.e., the second time slot block) as the granularity.

[0154] For example, encapsulating and rate-matching the second service data to obtain a second sub-data stream includes: dividing the second service data into one or more data code blocks according to the size of the first time slot block, and encapsulating the one or more data code blocks into a second data frame. The size of the multiple data code blocks is equal to the size of the code blocks in the second data frame, for example, X bytes. Further, when the second service data is a high-bandwidth service, rate-matching code blocks are inserted into the multiple data code blocks in the second data frame according to the size of the first time slot block to perform rate matching and obtain the second sub-data stream. The size of the data code blocks and rate-matching code blocks in the second sub-data stream is the same as the size of the second time slot block, for example, p bytes. That is, for high-bandwidth services, encapsulation and rate matching are performed with a code block size of X bytes (i.e., the first time slot block) as the granularity.

[0155] The frame structure definition for the first data frame can be found in [reference needed]. Figure 6 This will not be elaborated upon here.

[0156] It should be understood that the multiple sub-data streams obtained after encapsulation and rate matching can be migrated sequentially to the positions of the large or small time slots specified in the time slot multiplexing structure according to the time slot configuration table, so as to complete the transfer of the sub-data streams of multiple services to the time slot multiplexing structure for time slot multiplexing.

[0157] S1130, the transmitting device performs time-slot multiplexing of the first sub-data stream and the second sub-data stream based on the time-slot multiplexing structure to obtain the first data stream.

[0158] The definition of time slot multiplexing structure can be found in [reference]. Figure 7 This will not be elaborated upon here.

[0159] For example, according to the time slot configuration table, the code blocks of the first sub-data stream corresponding to the low-bandwidth service are sequentially placed into the specified small time slot position (i.e., the second time slot block) in the time slot multiplexing structure. Figure 7The time slot #2 is located in a certain column of a code block within the m-column code block of the time slot multiplexing structure shown. Similarly, according to the time slot configuration table, the code blocks of the second sub-data stream corresponding to the high-bandwidth service are sequentially placed in the specified large time slot position (i.e., the first time slot block) in the time slot multiplexing structure, for example... Figure 7 The time slot multiplexing structure shown includes a whole column of code blocks in the m-column code blocks, such as time slot #1.

[0160] It should be understood that the relocation of multiple services of varying bandwidths to a time-slot multiplexing structure based on the time-slot configuration table is particularly important for the first data stream obtained after time-slot multiplexing of low-bandwidth services, which can be carried by OTN frames.

[0161] S1140, the sending device maps the first data stream to the first data frame.

[0162] S1150, the sending device sends the first data frame to the receiving device.

[0163] Correspondingly, the receiving device receives the first data frame from the sending device.

[0164] S1160, the receiving device demaps the first data stream from the first data frame and deslots the first data stream to obtain the first service data and the second service data.

[0165] The specific implementation of steps S1110, S1140, S1150 and S1160 can be referred to steps S910, S930, S940 and S950 in the above method 900. For simplicity, they will not be elaborated here.

[0166] Based on the above Figure 9 and Figure 11 The processing methods for service data with different bandwidths shown below are combined with... Figure 12 The process for multi-channel service data processing (e.g., encapsulation, rate matching, and time slot multiplexing) is illustrated by example.

[0167] Figure 12 This is a schematic diagram of a multi-channel service data processing flow provided in an embodiment of this application. For example... Figure 12 As shown, the sending device sequentially receives small bandwidth service #1, small bandwidth service #2 and large bandwidth service #1 from the client device. The specific service data processing process is as follows.

[0168] First, using code blocks as the granularity and with a code block size of X bytes, the service data of low-bandwidth service #1 is sliced ​​into one or more data code blocks #1. Similarly, low-bandwidth service #2 is divided into one or more data code blocks #2, and high-bandwidth service #1 is divided into one or more data code blocks #3. The segmented data code blocks #1, #2, and #3 are then encapsulated into their respective corresponding OSU-n frame structures (such as OSU-n#1, OSU-n#2, and OSU-n#3). For a detailed explanation of the OSU-n frame structure, please refer to [link to OSU-n frame structure documentation]. Figure 5 This will not be elaborated upon here. It should be understood that the sizes of data block #1, data block #2, and data block #3 are the same as the block sizes in the OSU-n frame structure. The specific implementation method for encapsulating the data blocks can be found in the current OTN network's encapsulation process for service data; it will not be elaborated upon here.

[0169] Secondly, based on the size of the second time slot block (e.g., p bytes), data code blocks #1 of OSU#1 and #2 of OSU#2 are sequentially truncated, and rate adaptation code blocks are inserted into multiple data code blocks #1 and #2 to perform rate matching, thus obtaining OTU sub-data streams #1 and #2. Similarly, based on the size of the second time slot block (e.g., p bytes), data code block #3 of OSU#3 is truncated, and rate adaptation code blocks are inserted into multiple data code blocks #3 to perform rate matching, thus obtaining OTU sub-data stream #3. The specific implementation methods for data code block truncating and rate matching can be found in current OTN network data truncating and rate matching processes, and will not be elaborated here.

[0170] Then, according to the time slot configuration table, the OTU sub-data streams are sequentially placed into the first or second time slot block specified in OSTUG-m. For example, according to the time slot configuration table, the OTU sub-data stream #1 corresponding to the small bandwidth service #1 is placed into the TSL1 position in the first and second columns of OSTUG-m. As another example, according to the time slot configuration table, the OTU sub-data stream #2 corresponding to the small bandwidth service #2 is placed into the TSL2 position in the first and second columns of OSTUG-m. Yet another example, according to the time slot configuration table, the OTU sub-data stream #3 corresponding to the large bandwidth service #1 is placed into the fourth and (m-2)th columns of OSTUG-m, occupying the entire column block size. Therefore, service data of different bandwidths are sequentially processed through segmentation, encapsulation, truncation, rate matching, and time slot multiplexing to complete the mapping of multiple services to the m-column time slot multiplexing structure OSTUG-m.

[0171] It should be understood that the time slot configuration table can be specified by the protocol or pre-configured. It should also be understood that a bandwidth service can occupy one or more first and second time slot blocks. That is, based on the technical solution of this application, multi-channel service data to be transmitted can be multiplexed using mixed time slots through one or more first and second time slot blocks, providing greater flexibility.

[0172] Finally, one or more OSTUG-m segments contained in the data stream are mapped to OSU-m frames (such as the non-overhead columns of the OSU-m frame), and the OSU-m frames are sent to the receiving device in the service layer pipeline. For example, the TS-PTR of the first column in the OSU-m frame indicates that the first OSTUG-m segment in the data stream starts at column 4 in the first OSU-m frame.

[0173] It should be noted that the above Figure 9 , Figure 11 and Figure 12 This paper uses the mixed processing of high-bandwidth and low-bandwidth services (e.g., encapsulation, rate matching, and time slot multiplexing) as an example to illustrate the concept, supporting time slot multiplexing for both high- and low-bandwidth services, thus offering high flexibility. Of course, the technical solution of this application can also be applied to encapsulation, rate matching, and time slot multiplexing for multiple low-bandwidth services, or it can be applied to encapsulation, rate matching, and time slot multiplexing for multiple high-bandwidth services; this application does not specifically limit the application in this regard.

[0174] It should be understood that, in the embodiments of this application Figures 4 to 12 The specific examples shown are only intended to help those skilled in the art better understand the embodiments of this application, and are not intended to limit the scope of the embodiments of this application.

[0175] It should also be understood that, in the various embodiments of this application, unless otherwise specified or in case of logical conflict, the terms and / or descriptions between different embodiments are consistent and can be referenced by each other, and the technical features in different embodiments can be combined to form new embodiments according to their inherent logical relationships.

[0176] It should also be understood that in some of the above embodiments, the examples are mainly based on devices in existing network architectures (such as OTN devices), and this application does not limit the specific form of the devices in the embodiments. For example, any device that can achieve the same function in the future is applicable to this application.

[0177] The above, combined with Figures 4 to 12 The method for processing business data provided in the embodiments of this application is described in detail. The above-described method for processing business data is mainly introduced from the perspective of the interaction between the receiving end device and the sending end device. It is understood that, in order to achieve the above functions, the receiving end device and the sending end device include corresponding hardware structures and / or software modules for executing each function.

[0178] The following, combined with Figure 13 This application provides a detailed description of the communication apparatus provided in its embodiments. It should be understood that the descriptions of the apparatus embodiments correspond to the descriptions of the method embodiments; therefore, any content not described in detail can be found in the above method embodiments. For brevity, some content is omitted hereafter.

[0179] This application embodiment can divide the transmitting or receiving device into functional modules according to the above method examples. For example, each function can be divided into its own functional modules, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in this application embodiment is illustrative and only represents one logical functional division; other division methods may be used in actual implementation. The following description uses the division of functional modules according to each function as an example.

[0180] Figure 13 This is a schematic diagram of the structure of a business data processing device provided in an embodiment of this application. Figure 13 As shown, the device 1300 includes a processor 1301, an optical transceiver 1302, and a memory 1303. The memory 1303 is optional. The device 1300 can be applied to both transmitting-side devices (e.g., the transmitting end device described above) and receiving-side devices (e.g., the receiving end device described above).

[0181] When applied to the transmitting side device, the processor 1301 and the optical transceiver 1302 are used to implement... Figure 9 or Figure 11 The method performed by the transmitting device shown in the figure. In implementation, each step of the processing flow can be accomplished by integrated logic circuitry in the hardware of the processor 1301 or by instructions in the form of software. The optical transceiver 1302 is used to receive the first data frame for transmission to the peer device (also referred to as the receiving device).

[0182] When applied to a receiving-side device, the processor 1301 and the optical transceiver 1302 are used to implement... Figure 9 or Figure 11 The method executed by the receiving device shown is illustrated. In implementation, each step of the processing flow can be accomplished by integrated logic circuitry in the hardware of the processor 1301 or by software instructions. The optical transceiver 1302 is used to receive the first data frame sent by the peer device (also called the sending device) and send it to the processor 1301 for subsequent processing.

[0183] Memory 1303 is used to store instructions so that processor 1301 can perform the steps mentioned in the above figure. Alternatively, memory 1303 may also be used to store other instructions to configure parameters of processor 1301 to achieve corresponding functions.

[0184] It should be noted that the processor 1301 and the memory 1303 are in Figure 2 In the network device hardware structure diagram, the processor 1301 may be located in a tributary board, or it may be located in a single board that combines tributary and line circuitry. Alternatively, multiple processors 1301 and memory 1303 may be included, located on the tributary board and line circuitry board respectively, with the two boards working together to complete the aforementioned method steps.

[0185] It should be noted that, Figure 13 The device described above can also be used to perform the method steps involved in the variations of the embodiments shown in the foregoing figures, which will not be repeated here.

[0186] Based on the above embodiments, this application also provides a computer-readable storage medium. This storage medium stores a software program, which, 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 various media capable of storing program code, such as a USB flash drive, portable hard drive, read-only memory, random access memory, magnetic disk, or optical disk.

[0187] Based on the above embodiments, this application also provides a chip. The chip includes a processor for implementing the functions involved in any one or more of the above embodiments, such as acquiring or processing OTN data frames involved in the above methods. Optionally, the chip further includes a memory for storing necessary program instructions and data executed by the processor. This chip can be composed of individual chips or can include chips and other discrete devices.

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

[0189] It should be understood that the processor mentioned in the embodiments of this application can be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor can be a microprocessor or any conventional processor.

[0190] It should also be understood that the memory mentioned in the embodiments of this application can be volatile memory and / or non-volatile memory. Non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be random access memory (RAM). For example, RAM can be used as an external cache. By way of example and not limitation, RAM can include a variety of forms, such as: 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 linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).

[0191] 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.

[0192] The units and steps of the various examples described in the embodiments disclosed herein can be implemented in 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. Those skilled in the art can use different methods to implement the described functions for each specific application, and such implementations should be considered within the scope of protection of this application.

[0193] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of apparatus or units may be electrical, mechanical, or other forms.

[0194] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to implement the solution provided in this application, depending on actual needs. Furthermore, the functional units in the various embodiments of this application may be integrated into one unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0195] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially 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, all or part of the processes or functions described in the embodiments of this application are generated. 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. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. 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 integrates one or more available media. The available media can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., DVDs), or semiconductor media (e.g., solid-state disks, SSDs). For example, the aforementioned available media may include, but are not limited to, various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory, random access memory, magnetic disks, or optical disks.

[0196] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A service data processing method characterized by, The method comprises: receiving first service data and second service data, a bandwidth of the first service data being less than or equal to 200 megabits per second (Mbps); time slot multiplexing the first service data and the second service data based on a time slot multiplexing structure to obtain a first data stream, the time slot multiplexing structure comprising m columns of code blocks, an i th column of the m columns of code blocks being a first time slot block, a j th column of the m columns of code blocks comprising k second time slot blocks, k and m being integers greater than 1, i and j being integers greater than or equal to 1 and less than or equal to m; mapping the first data stream into a first data frame, the first data frame comprising N columns of code blocks, a first column of the first data frame being a first overhead code block, the first overhead code block being used for managing data code blocks other than the first column, the first overhead code block comprising first indication information and second indication information, the first indication information being used for indicating a starting position of the first data stream in the first data frame, the second indication information being used for indicating a mapping relationship between the first time slot block, the second time slot block and the first data stream, N being an integer greater than 1; sending the first data frame.

2. The method of claim 1, wherein, The code block comprises first information, the first information being used for indicating a code block type of the code block.

3. The method of claim 2, wherein, The code block type of the code block is the data code block or a non-data code block, when the code block type of the code block is the non-data code block, the code block further comprises second information, the second information being used for indicating that the code block type of the non-data code block is an overhead code block or a rate adaptation code block.

4. The method according to any one of claims 1 to 3, characterized in that, Before the time slot multiplexing the first service data and the second service data based on the time slot multiplexing structure to obtain the first data stream, the method further comprises: packaging and rate matching the first service data to obtain a first sub-data stream; packaging and rate matching the second service data to obtain a second sub-data stream; The first sub-data stream and the second sub-data stream are used for the time slot multiplexing.

5. The method of claim 4, wherein, The packaging and rate matching the first service data to obtain the first sub-data stream comprises: mapping the first service data into a second data frame according to a size of the first time slot block, the second data frame comprising N columns of code blocks, a first column of the second data frame being a second overhead code block, the second overhead code block being used for managing data code blocks other than the first column, N being an integer greater than 1; rate matching the second data frame according to the size of the first time slot block to obtain the first sub-data stream.

6. The method of claim 4, wherein, The packaging and rate matching the second service data to obtain the second sub-data stream comprises: mapping the second service data into a second data frame according to a size of the first time slot block, the second data frame comprising N columns of code blocks, a first column of the second data frame being a second overhead code block, the second overhead code block being used for managing data code blocks other than the first column, N being an integer greater than 1; when the bandwidth of the second service data is greater than 200 Mbps, rate matching the second data frame according to the size of the first time slot block to obtain the second sub-data stream.

7. The method according to any one of claims 1 to 3, characterized in that, The size of the second time slot block is 8, 16, 24, 32 or 64 bytes, and the size of the first time slot block is 64, 128, 192, 256, 65, 129, 193 or 257 bytes.

8. The method of claim 2 or 3, wherein, The size of the first time slot block and the size of the second time slot block satisfy: X=k*p+c Wherein, X is the size of the first time slot block, p is the size of the second time slot block, k is the number of the second time slot block, and c is the number of bits occupied by the first information.

9. A method of processing service data, characterized by, Comprise: Receiving a first data frame, the first data frame is used to carry a first data stream, the first data stream is obtained by time slot multiplexing a first service data and a second service data based on a time slot multiplexing structure, wherein the bandwidth of the first service data is less than or equal to 200Mbps, the time slot multiplexing structure comprises m column code blocks, the i column code block in the m column code block is a first time slot block, the j column code block in the m column code block comprises k second time slot blocks, the first data frame comprises N column code blocks, the first column of the first data frame is a first overhead code block, the first overhead code block is used to manage data code blocks except the first column, the first overhead code block comprises first indication information and second indication information, the first indication information is used to indicate the starting position of the first data stream in the first data frame, and the second indication information is used to indicate the mapping relationship between the first time slot block, the second time slot block and the first data stream, k, m and N are integers greater than 1, i and j are integers greater than or equal to 1 and less than or equal to m. Demapping the first data stream from the first data frame and de time slot multiplexing the first data stream to obtain the first service data and the second service data.

10. The method of claim 9, wherein, The code block comprises first information, and the first information is used to indicate the code block type of the code block.

11. The method of claim 10, wherein, The code block type of the code block is the data code block or the non data code block, when the code block type of the code block is the non data code block, the code block further comprises second information, and the second information is used to indicate that the code block type of the non data code block is the overhead code block or the rate adaptation code block.

12. The method according to any one of claims 9 to 11, characterized in that, After demapping the first data stream from the first data frame and de time slot multiplexing the first data stream to obtain the first service data and the second service data, the method further comprises: Performing delete rate matching code block and de encapsulation on the first sub data stream to obtain the first service data; Performing delete rate matching code block and de encapsulation on the second sub data stream to obtain the second service data; Wherein, the first sub data stream and the second sub data stream are obtained by de time slot multiplexing.

13. The method of claim 12, wherein, The delete rate matching code block and de encapsulation on the first sub data stream to obtain the first service data comprises: According to the size of the second time slot block, the first sub data stream is performed delete rate matching code block to obtain a second data frame, the second data frame comprises N column code blocks, the first column of the second data frame is a second overhead code block, the second overhead code block is used to manage data code blocks except the first column, and N is an integer greater than 1. The first service data is demapped from the second data frame according to the size of the first time slot block.

14. The method of claim 12, wherein, The second service data is obtained by performing the deleting rate matching code block on the second sub-data stream, and then performing the de-encapsulation. When the bandwidth of the second service data is greater than 200 Mbps, the second data frame is obtained by performing the deleting rate matching code block on the second sub-data stream according to the size of the first time slot block, the second data frame includes N columns of code blocks, the first column of the second data frame is a second overhead code block, the second overhead code block is used for managing data code blocks except the first column, and N is an integer greater than 1. The second service data is demapped from the second data frame according to the size of the first time slot block.

15. The method of any one of claims 9-11, wherein, The size of the second time slot block is 8, 16, 24, 32 or 64 bytes, and the size of the first time slot block is 64, 128, 192, 256, 65, 129, 193 or 257 bytes.

16. The method of claim 10 or 11, wherein, The size of the first time slot block and the size of the second time slot block satisfy: X=k*p+c Wherein, X is the size of the first time slot block, p is the size of the second time slot block, k is the number of the second time slot blocks, and c is the number of bits occupied by the first information.

17. An apparatus for processing service data, the apparatus comprising: Comprise: A module for performing the method of any one of claims 1 to 8, or A module for performing the method of any one of claims 9 to 16.

18. An apparatus for processing service data, the apparatus comprising: Comprise: A processor and a transceiver for receiving a signal from another device outside the device and transmitting to the processor or sending a signal from the processor to another device outside the device, the processor is used to implement the method of any one of claims 1 to 16 by logic circuit or executing code instructions.

19. A chip, characterized by The chip comprises a processor and a communication interface, the communication interface is used for receiving a data frame and transmitting to the processor or sending a data frame to another communication device outside the communication device comprising the chip, and the processor is used for executing the method of any one of claims 1 to 8 or the method of any one of claims 9 to 16.

Citation Information

Patent Citations

  • Service processing method, device and equipment

    CN113645524A

  • Method, device and system for processing low-speed service data in optical transport network

    CN114513710A