Service processing method, network equipment and storage medium

By 64B/66B encoding and transcoding the service flow into a multi-bit code block stream, mapped into a transmission container containing overhead and time slot code blocks, the problems of low data processing efficiency and high circuit cost caused by excessive time slots in the FlexE protocol are solved, and more efficient data transmission and reduced circuit cost are achieved.

CN120263652APending Publication Date: 2025-07-04ZTE CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410009200.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-01-03
Publication Date
2025-07-04

AI Technical Summary

Technical Problem

In high-speed Ethernet interfaces such as 800Gbit/s, the FlexE protocol processes the method of transmitting 66 bitcode blocks per time slot, resulting in excessive number of time slots, reducing data processing efficiency, and intermediate devices need to perform two code block encoding format conversions, increasing processing circuit cost.

Method used

After 64B/66B encoding of the service flow, it is transcoded into a first code block stream with more bits and mapped into a transmission container including an overhead code block and a time slot code block. The overhead code block carries overhead information, and the time slot code block carries the first code block, increasing the transmission bandwidth of a single time slot and reducing the number of processing slots.

Benefits of technology

The transmission bandwidth of a single time slot is increased, the number of processing slots is reduced, thereby improving the efficiency of data processing and reducing the cost of processing circuits.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120263652A_ABST
    Figure CN120263652A_ABST
Patent Text Reader

Abstract

Provided are a service processing method, a network device and a storage medium, the method comprising: first performing 64B / 66B coding on a service stream to obtain a 66-bit code block stream, then transcoding the 66-bit code block stream to obtain a transcoded first code block stream, the bit number of the transcoded first code block being greater than 66, and the bit number of the transcoded second code block being greater than 66; the first code block stream after transcoding is mapped to a first transmission container, the first transmission container is sent, the first transmission container comprises an overhead code block and a time slot code block, the bit number of the overhead code block and the bit number of the time slot code block are consistent with the bit number of the first code block after transcoding, the overhead code block carries overhead information, and the time slot code block carries time slot information; the time slot code block bears the transcoded first code block. According to the embodiment of the invention, the transmission bandwidth of a single time slot can be improved, and the number of processed time slots can be reduced, so that the data processing efficiency can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to, but are not limited to, the field of communication technologies, and particularly relate to a method for processing services, a network device, and a storage medium. Background Art

[0002] In the current FlexE (Flex Ethernet) standard, it is stipulated that each time slot corresponds to transmitting a 66-bit code block, and each 66-bit code block represents a transmission rate of 5 Gbit / s. Currently, in the data processing of high-speed Ethernet interfaces such as 800 Gbit / s, the processing is carried out in the manner of transmitting 257-bit code blocks in each time slot. If the FlexE protocol still processes data in the manner of transmitting 66-bit code blocks in each time slot, that is, processes data at a transmission rate of 5 Gbit / s in each time slot, then the number of time slots to be processed will be very large, thus reducing the data processing efficiency. Summary of the Invention

[0003] The embodiments of the present application provide a method for processing services, a network device, and a storage medium, which can improve the transmission bandwidth of a single time slot, reduce the number of processed time slots, and thus improve the data processing efficiency.

[0004] On the one hand, the embodiments of the present application provide a method for processing services, including: performing 64B / 66B encoding on a service flow to obtain a 66-bit code block stream; transcoding the 66-bit code block stream to obtain a transcoded first code block stream, where the number of bits of the first code block in the first code block stream is greater than 66; mapping the first code block stream to a first transmission container, and sending the first transmission container, where the first transmission container includes an overhead code block and a time slot code block, the number of bits of the overhead code block and the number of bits of the time slot code block are both consistent with the number of bits of the first code block, the overhead code block carries overhead information, and the time slot code block carries the first code block.

[0005] On the other hand, the embodiments of the present application further provide a method for processing services, including: extracting a first code block stream from the received first target information, where the first code block stream is obtained by transcoding a 66-bit code block stream, the 66-bit code block stream is obtained by performing 64B / 66B encoding on a service flow, and the number of bits of the first code block in the first code block stream is greater than 66; mapping the first code block stream to a second transmission container, and sending the second transmission container, where the second transmission container includes an overhead code block and a time slot code block, the number of bits of the overhead code block and the number of bits of the time slot code block are both consistent with the number of bits of the first code block, the overhead code block carries overhead information, and the time slot code block carries the first code block.

[0006] On the other hand, an embodiment of the present application further provides a method for processing a service, including: extracting a third transport container from the received third target information, and extracting a first code block stream from the third transport container, where the third transport container includes an overhead code block and a time slot code block, the number of bits of the overhead code block and the number of bits of the time slot code block are both consistent with the number of bits of the first code block in the first code block stream, the overhead code block carries overhead information, the time slot code block carries the first code block, the first code block stream is obtained by transcoding a 66-bit code block stream, the 66-bit code block stream is obtained by performing 64B / 66B encoding on a service stream, and the number of bits of the first code block is greater than 66; performing reverse transcoding on the first code block stream to obtain the 66-bit code block stream; performing 64B / 66B decoding on the 66-bit code block stream to obtain the service stream.

[0007] On the other hand, an embodiment of the present application further provides a network device, including: a memory, a processor, and a computer program stored on the memory and executable on the processor, where when the processor executes the computer program, the method for processing the service as described above is implemented.

[0008] On the other hand, an embodiment of the present application further provides a computer-readable storage medium storing computer-executable instructions for executing the method for processing the service as described above.

[0009] On the other hand, an embodiment of the present application further provides a computer program product including a computer program or computer instructions, where the computer program or the computer instructions are stored in a computer-readable storage medium, a processor of a network device reads the computer program or the computer instructions from the computer-readable storage medium, and the processor executes the computer program or the computer instructions, so that the network device executes the method for processing the service as described above.

[0010] In an embodiment of the present application, after performing 64B / 66B encoding on a service stream to obtain a 66-bit code block stream, transcoding the 66-bit code block stream to obtain a first code block stream with more bits, and then mapping the first code block stream with more bits to a first transport container and sending the first transport container. Since the first transport container includes an overhead code block and a time slot code block, where the number of bits of the overhead code block and the number of bits of the time slot code block are both consistent with the number of bits of the first code block in the first code block stream, and the overhead code block carries overhead information and the time slot code block carries the first code block, more service information can be carried in the time slot code block, thereby improving the transmission bandwidth of a single time slot, reducing the number of processed time slots, and further improving the efficiency of data processing. Description of the Drawings

[0011] Figure 1 It is a schematic diagram of the optical module architecture applying the FlexE protocol in the related art;

[0012] Figure 2 It is a schematic diagram of the structure of a 66-bit code block in the related art;

[0013] Figure 3 It is a schematic diagram of the position of the FlexE overhead block in the code block group in the related art;

[0014] Figure 4 It is a schematic diagram of allocating 66-bit code blocks to each transmission instance in the related art;

[0015] Figure 5 It is a schematic diagram of the structure of the FlexE overhead frame in the related art;

[0016] Figure 6 It is a schematic diagram of the process of using the FlexE frame to carry service information in the related art;

[0017] Figure 7 It is a schematic diagram of the process of restoring the FlexE frame to service information in the related art;

[0018] Figure 8 It is a flowchart of data processing specified by the 800Gbit / s Ethernet interface standard in the related art;

[0019] Figure 9 It is a schematic diagram of the structure of a 257-bit code block in the related art;

[0020] Figure 10 It is a coding schematic diagram of encoding 4 66-bit code blocks into a 257-bit code block when all 4 66-bit code blocks are data code blocks in the related art;

[0021] Figure 11 It is a coding schematic diagram of encoding 4 66-bit code blocks into a 257-bit code block when 4 66-bit code blocks include 3 data code blocks and 1 control code block in the related art;

[0022] Figure 12 It is a coding schematic diagram of encoding 4 66-bit code blocks into a 257-bit code block when 4 66-bit code blocks include 1 control code block and 3 data code blocks in the related art;

[0023] Figure 13 It is a coding schematic diagram of encoding 4 66-bit code blocks into a 257-bit code block when all 4 66-bit code blocks are control code blocks in the related art;

[0024] Figure 14 It is a schematic diagram of the intermediate device processing the 257-bit code block in the related art;

[0025] Figure 15It is a flowchart of the method for processing services provided by an embodiment of the present application;

[0026] Figure 16 It is a schematic diagram of constructing a new FlexE frame structure based on a 257-bit length provided by an embodiment of the present application;

[0027] Figure 17 It is a schematic diagram of 66B / 257B encoding provided by an embodiment of the present application;

[0028] Figure 18 It is a schematic diagram of the new FlexE frame structure provided by an embodiment of the present application;

[0029] Figure 19 It is a schematic diagram of the structure of the new FlexE overhead frame provided by an embodiment of the present application;

[0030] Figure 20 It is a schematic diagram of the position of a 66-bit overhead code block in a 257-bit code block provided by an embodiment of the present application;

[0031] Figure 21 It is a schematic diagram of the position of a 66-bit overhead code block in a 257-bit code block provided by another embodiment of the present application;

[0032] Figure 22 It is a schematic diagram of the position of a 66-bit overhead code block in a 257-bit code block provided by another embodiment of the present application;

[0033] Figure 23 It is a schematic diagram of the position of a 66-bit overhead code block in a 257-bit code block provided by another embodiment of the present application;

[0034] Figure 24 It is a schematic diagram of the position of a 66-bit overhead code block in a 257-bit code block provided by another embodiment of the present application;

[0035] Figure 25 It is a schematic diagram of the position of a 66-bit overhead code block in a 257-bit code block provided by another embodiment of the present application;

[0036] Figure 26 It is a schematic diagram of the structure of a FlexE shim layer provided by an embodiment of the present application;

[0037] Figure 27 It is a schematic flowchart of the method for processing services executed by a sending device provided by an embodiment of the present application;

[0038] Figure 28 It is a flowchart of the method for processing services provided by another embodiment of the present application;

[0039] Figure 29It is a schematic diagram of the intermediate device provided by the embodiment of the present application for processing 257-bit code blocks;

[0040] Figure 30 It is a schematic structural diagram of a 66-bit idle code block provided by the embodiment of the present application;

[0041] Figure 31 It is a schematic diagram of encoding 4 idle code blocks with a length of 66 bits into an idle code block with a length of 257 bits provided by the embodiment of the present application;

[0042] Figure 32 It is a schematic diagram of inserting a 257-bit idle code block between two 257-bit code blocks provided by the embodiment of the present application;

[0043] Figure 33 It is a schematic diagram of adjusting the positions of 66-bit idle code blocks in multiple 257-bit code blocks provided by the embodiment of the present application;

[0044] Figure 34 It is a flowchart of a service processing method provided by another embodiment of the present application;

[0045] Figure 35 It is a schematic flowchart of a processing method for a receiving end device to execute a service provided by the embodiment of the present application. Detailed implementation manners

[0046] In order to make the purpose, technical means and advantages of the present application clearer, the present application will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0047] It should be noted that although the logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in a different order from that in the flowchart. In the description of the specification, claims and the above drawings, the meaning of multiple (or more) is more than two, and understandings such as greater than, less than, exceeding, etc. do not include the present number, and understandings such as above, below, within, etc. include the present number. If there is a description of "first", "second", etc., it is only for the purpose of distinguishing technical features and cannot be understood as indicating or implying relative importance or implicitly indicating the quantity of the indicated technical features or implicitly indicating the sequence of the indicated technical features.

[0048] It should be noted that in the current communication network, the network service traffic has been maintaining a high-speed growth, which has promoted the rapid growth of the service bandwidth of communication devices. The interface bandwidth of communication devices has increased from 10 Mbit / s to 100 Mbit / s, 1 Gbit / s, 10 Gbit / s, etc. to meet the growth demand of network service traffic. The transmission speed of the current commercial optical modules of communication devices has reached 100 Gbit / s. However, when the transmission speed of the optical module begins to exceed 100 Gbit / s, the difficulties encountered in the technology of the optical module become greater and the production cost of the optical module increases sharply. In the technological development from 100 Gbit / s to 400 Gbit / s, although 400 Gbit / s optical modules have been developed currently, the price of 400 Gbit / s optical modules is expensive and has exceeded the price of four 100 Gbit / s optical modules, resulting in the lack of commercial economic value of 400 Gbit / s optical modules. Without increasing costs, in order to solve the 400 Gbit / s service transmission demand and enable 400 Gbit / s service traffic to be transmitted on 100 Gbit / s optical modules, the international standards organization defined the FlexE protocol. The FlexE protocol combines multiple 100 Gbit / s optical modules to form a logical transmission channel with a larger bearing bandwidth, such as Figure 1 shown. By combining four 100 Gbit / s optical modules through the FlexE protocol, a 400 Gbit / s transmission channel is formed, which is equivalent to the service transmission speed of one 400 Gbit / s optical module, meeting both the 400 Gbit / s service transmission demand and solving the economic value problem of service transmission.

[0049] Currently, the physical layer transmission rate defined in the FlexE protocol is 100 Gbit / s. In the Ethernet protocol, it is defined that before sending a 100 Gbit / s data packet, the data packet is first encoded with 64B / 66B, expanding the 64-bit data block in the data packet into a 66-bit information block. The additional 2 bits are located at the front of the 66-bit information block and serve as the start flag of the 66-bit information block, and then it is sent out from the optical module interface in the form of a 66-bit information block. In the 64B / 66B encoding rule defined by the 802.3 protocol, each code block consists of 66 bits. Such as Figure 2As shown, the first 2 bits are the sync header of the code block. When the sync header bits are "01", it indicates a D code block (i.e., data code block), and the following 8 bytes (64 bits) are the data content of 8 bytes; when the sync header bits are "10", it indicates a control code block. The content of the first byte following is the blocktype field, indicating the specific type of the control code block. The subsequent 7 bytes are the content of the control code block, and the content of these 7 bytes is associated with the specific type of the control code block. For the control code block, the length of the block type field is 8 bits, and the content is specific encoded content. The content of different block type fields represents different types of control code blocks. Among them, the block type field can be divided into the f field and the s field, and both the f field and the s field consist of 4 bits. The content of the f field and the s field corresponds one by one, and the content of the f field and the s field is the same value or the opposite value. For example, the content of the control field of the idle code block is 0x1E (in the general technical field, 0x indicates the meaning of hexadecimal, indicating that the subsequent data content is in hexadecimal mode, the same below), the content of the f field is 0x1, the content of the s field is 0xE, and the content of the f field and the s field is in a bitwise inverse relationship. For the T1 code block, the content of its control field is 0x99, where the content of the f field is 0x9 and the content of the s field is also 0x9, and the content of the f field and the s field is the same bitwise. Therefore, the f field and the s field are in a one-to-one correspondence relationship. When the content of one of the fields is determined, through Figure 2 the content defined by the encoding rule shown, the content of the other field can be determined. Among them, the S code block (start code block), T code block (end code block), O code block, ilde code block, etc. all belong to the control code block. The content of the blocktype field in the S code block is 0x78, indicating that this control code block is the S code block. In addition to indicating the end code block, the T code block can also carry service byte content (located in the position of the last 7 bytes in the code block). The T code blocks defined in the Ethernet standard can be divided into 8 types: T0 code block, T1 code block, T2 code block, T3 code block, T4 code block, T5 code block, T6 code block, and T7 code block. Among them, the T0 (the content of the block type field of the first byte is 0x87) code block does not carry service information, the T1 code block (the content of the first byte is 0x99) carries 1 byte of service information, the T2 code block (the content of the first byte is 0xAA) carries 2 bytes of service information, and so on. It should be noted that in encodings such as 66 bits and 257 bits, the content of all fields in the code block is stored and sent in reverse order. However, for the convenience of reading, international standard documents and various technical documents directly give the meaning content of each field in the code block and directly present the specific content of the field. Although this is different from the sending order arrangement of the specific content in the code block, the meaning represented is the same.

[0050] In each 100Gbit / s physical member (i.e., optical module) defined by the current FlexE protocol, every 20 information blocks of 66 bits can be divided into a code block group. Each code block group contains a total of 20 information blocks, representing 20 time slots (i.e., each information block corresponds to a time slot), and each time slot represents a service speed of 5Gbit / s bandwidth. When sending 66-bit information blocks, after sending 1023 code block groups (1023 * 20 information blocks), a FlexE overhead block can be inserted, such as Figure 3 the black block shown in it. After inserting this overhead block, continue to send code block groups. After sending 1023 code block groups (1023 * 20 information blocks) for the second time, insert the overhead block again, and so on. In this way, during the process of sending information blocks, the overhead blocks will be inserted periodically, and the interval between two adjacent overhead blocks is 1023 * 20 information blocks. For a physical line with a transmission speed of 100Gbit / s, the FlexE protocol divides the physical port into 20 time slots, so the bandwidth corresponding to each time slot is 5Gbit / s.

[0051] When four 100Gbit / s physical layers form a 400Gbit / s logical service bandwidth, as Figure 4 shown, each physical layer still forms a code block group according to the information blocks of 20 time slots, and inserts an overhead block every 1023 code block groups. In the master calendar of FlexE (in the shim layer), the information blocks of 20 time slots from four physical layers are assembled into an information block group consisting of 80 time slots, and this information block group contains 80 time slots. Service information is transmitted in these 80 time slots, and the bandwidth of each time slot is 5Gbit / s, so the shim layer includes a total service transmission bandwidth of 400Gbit / s.

[0052] Among them, the FlexE overhead block is an overhead block with a length of 66 bits. When sending the service flow, an overhead block is inserted every 1023 * 20 information blocks. The overhead block plays a positioning function in the entire service flow. Determining the position of the overhead block can determine the position of the first information block group and the positions of subsequent information block groups in the service flow. The content of the overhead block is as Figure 5As shown, eight consecutive overhead blocks can form an overhead frame structure of FlexE. An overhead block consists of a 2-bit block synchronization header and a 64-bit block content. The block synchronization header is located in the first two columns, and the subsequent 64 columns are the block content. The block flag of the first overhead block is 10, and the block flags of the subsequent seven overhead blocks are 01 or SS (SS indicates that the content is uncertain). In the current FlexE protocol, it is defined that eight overhead blocks form an overhead frame, that is, there are eight overhead blocks in an overhead frame. The first overhead block is identified by two fields, 0x4B (hexadecimal, identified as 0x4B) and 0x05 (hexadecimal, identified as 0x5), contained therein. When the content at the corresponding positions in the overhead block is detected as 0x4B and 0x05, it indicates that the overhead block is the first overhead block, and this first overhead block and the subsequent seven overhead blocks form an overhead frame. Among them, the content of the first overhead block includes: 0x4B (8 bits, hexadecimal 0x4B), C bit (1 bit, indicating adjustment control), OMF bit (1 bit, indicating overhead frame multiframe indication), RPF bit (1 bit, indicating remote defect indication), RES bit (1 bit, reserved bit), FlexE group number (20 bits, indicating the number of the bundling group), 0x5 (4 bits, hexadecimal 5), 000000 (28 bits, all 0s). The 0x4B and 0x5 are the flag indications of the first overhead block. When receiving a traffic flow, when the content at the corresponding positions in an overhead block is found to be 0x4B and 0x5, it indicates that the overhead block is the first overhead block in the overhead frame, and this overhead block and the subsequent seven consecutive overhead blocks form an overhead frame. In the overhead frame, the reserved part is reserved content, which has not been defined in the current FlexE protocol; PHY number indicates the number of this physical layer member in the group, and the number range is between 0 and 255; PHY map indicates the presence status of each physical layer member in the group. The PHY map in an overhead frame has 8 bits, and there are 256 bits in total in 32 multiframe, indicating whether 256 physical layer members are in the group. If so, set "1" at the corresponding position, otherwise set "0". In a 100Gbit / s rate FlexE frame, there are 20 time slots, and each time slot can carry traffic information. The Client calendar indicates the traffic name carried by each time slot, and the traffic name carried by the time slot is represented by Client calendar A and Client calendar B. Among them, during normal operation, only one of Client calendar A and Client calendar B is used to indicate the working state (which group is in the working state is indicated by the C bit), and the other group is in the standby state.

[0053] Reference Figure 6 As shownFigure 6 This is the process of using FlexE frames to carry services. In this process, the service flow is first encoded with 64B / 66B. Specifically, the service flow is first cut into data blocks of 64 bits (8 bytes) in length, and then the 64-bit data blocks are encoded with 64B / 66B to obtain 66-bit information blocks. After 64B / 66B encoding, the service flow can be transformed into a stream of 66-bit information blocks. Then, idle blocks are inserted or deleted in the information block stream, and the speed of the information block stream is adjusted to adapt to the rate of the master calendar in the FlexE protocol. Next, the 66-bit information blocks are placed into the master calendar of the FlexE protocol according to the time slot configuration. In the FlexE protocol, 20 time slots are allocated to each physical layer member (each time slot corresponds to a 66-bit information block, and each time slot represents a service bandwidth of 5 Gbit / s). If there are 4 physical layer members, there are a total of 80 time slots in the master calendar. Through relevant configuration information, it can be determined which time slots are selected by the information block stream of each service for carrying. Then, the master calendar groups all the time slots, with 20 time slots in each group, and distributes them to each physical layer member defined by the FlexE protocol. Each physical layer member inserts FlexE overhead blocks on the basis of these time slots (the overhead blocks are also 66 bits in length, and one overhead block is inserted every 20 * 1023 time slots). In Figure 6 this, each physical layer member can be regarded as a sub calendar, and the information block stream is carried and transmitted through the physical layer member. After inserting the FlexE overhead blocks, each physical layer member scrambles the carried information block stream, and then sends the scrambled information block stream through the Payload Mapping Agent (PMA). At the receiving end, as Figure 7 shown, after the PMA receives the information block stream, it first restores the information block stream to multiple 66-bit information blocks through descrambling. Among these 66-bit information blocks, each physical layer member searches for the FlexE overhead block, and restores the FlexE frame structure based on the overhead block position to obtain the sub calendar. Then, the time slots of all physical layer members are arranged in order, and the master calendar structure is restored again. Next, according to the relevant configuration information, the information blocks are taken out from the corresponding time slots in the master calendar, and the idle information blocks are deleted, and then 66B / 64B decoding is performed to restore the original service flow.

[0054] As the transmission speed of the physical interface increases, in order to reliably transmit information bits, the Ethernet physical interface needs to re-encode the 66-bit code block. For example, 4 66-bit code blocks are encoded into 1 257-bit code block, and then transmitted as a 257-bit code block. After converting 4 66-bit code blocks into a 257-bit code block, 7 bits can be saved. After saving the number of bits, bits representing the FEC function can be inserted, so that error correction and verification can be performed on the transmitted service code block while keeping the total number of bits unchanged, thereby improving the transmission quality of the code block. As Figure 8 shown Figure 8 is the data processing flow specified by the 800Gbit / s Ethernet interface standard. In this data processing flow, the 66-bit code block is divided into two groups, and each 66-bit code block in each group needs to be encoded by 66B / 257B, and then sent and output after being processed by different modules such as the scramble module, the aligment insert module, and the FEC module. Among them, these processes are all based on the 257-bit length code block. From Figure 8 it can be seen that the PCS layer mainly processes code blocks with a length of 257 bits. The structure of the 257-bit code block is as Figure 9 shown. The total length of the 257-bit code block is 257 bits (from 0 to 256). The first bit is the synchronization header of the 257-bit code block. When the synchronization header is 1, it means that the 257-bit code block is a data code block. This code block consists of 1 synchronization header and 4 content fields. The 256 bits after the synchronization header correspond to 4 content fields (D1 to D4), and the content of each content field is the content of the 8 bytes (64 bits) at the back position in the 66-bit code block. When the synchronization header is 0, it means that the 257-bit code block is a code block with a control code block. This code block consists of 1 synchronization header, 1 4-bit type field, and 4 content fields (D1 to D4). The content (bit1 to bit4) of the 4-bit type field after the synchronization header is the type value, which is used to represent the content type of the 4 content fields behind. Each bit corresponds to the content type of a content field. For example, when the type bit value of the type field is 1, it means that the content type of the corresponding content field behind is the data code block type; when the type bit value of the type field is 0, it means that the content type of the corresponding content field behind is the control code block type. The last 252 bits in the 257-bit code block correspond to 4 content fields, where three content fields are 64 bits long, and the remaining one content field is 60 bits long (the content length of the first control code block type is 60). In Figure 9In the example, it is assumed that the type field is 10xx, which means that the first content field is the data block type, the second content field is the control block type, and the third and fourth content fields are any type of blocks. Therefore, the length of the first content field is 64 bits, the length of the second content field is 60 bits, and the lengths of the third and fourth content fields are both 64 bits.

[0055] Among them, the 66B / 257B encoding rule defined in the Ethernet standard, that is, the rule of encoding 4 66-bit blocks into 1 257-bit block, is as follows:

[0056] 1. When all 4 66-bit blocks are data blocks, the encoded 257-bit block consists of two parts: a synchronization header with a length of 1 bit and a payload area with a length of 256 bits. Among them, the synchronization header has only one bit with a value of "1", indicating that the following is the content of 4 data fields; the payload area is 4 data fields, and the content of these 4 data fields is the content of 4 66-bit blocks, and each data field has 8 bytes of content.

[0057] 2. When the 4 66-bit blocks include data blocks and control blocks, or all are control blocks, the encoded 257-bit block consists of three parts: a synchronization header, a type area, and a payload area. Among them, the synchronization header has only one bit with a value of "0", and immediately following is the type area. The type area consists of 4 bits, and each bit represents the content type of each of the 4 data fields in the following payload area. When the bit in the type area is 1, it indicates that the content of the corresponding data field is the content of a 66-bit block, and when the bit in the type area is 0, it indicates that the content of the corresponding data field is the content of a control block; the payload area at the last position is 4 data fields, and the content of these 4 data fields is the content of 4 66-bit blocks. For the first control-type block among the 4 66-bit blocks, only half of the content in the block type field of the original control-type block (such as the content of the 4-bit f field described above) and the following 7 bytes of content are retained, while for the other data blocks among the 4 66-bit blocks and all control blocks after the first control-type block, 8 bytes of content in the block are saved.

[0058] Figure 10 This is the encoding rule for encoding 4 66-bit data blocks into 257-bit blocks. In Figure 10 The content of the synchronization header in the 66-bit data block is "01", the synchronization header of the encoded 257-bit block is "1", and behind the synchronization header of the 257-bit block are the 8 bytes of content of each of the 4 66-bit data blocks. Figure 11When there are 4 66-bit code blocks including 3 data code blocks and 1 control code block, the encoding rule for encoding into a 257-bit code block. In Figure 11 the sync header of the 257-bit code block is "0", and the content of the control field is "1110", indicating that it is composed of an arrangement of 3 66-bit data code blocks and 1 66-bit control code block. The content following the control field is the byte content of 3 66-bit data code blocks and the content of 1 66-bit control code block. Only 60 bits of the content of this 1 66-bit control code block are retained, that is, half of the content of the block type field in the original code block of the 66-bit control code block (such as the content of the f field with a length of 4 bits described above) and the content of the following 7 bytes. Figure 12 When there are 4 66-bit code blocks including 1 control code block and 3 data code blocks, the encoding rule for encoding into a 257-bit code block. In Figure 12 the sync header of the 257-bit code block is "0", and the content of the control field is "0111", indicating that it is composed of an arrangement of 1 66-bit control code block and 3 66-bit data code blocks. Only 60 bits of the content of 1 66-bit control code block are retained, that is, half of the content of the block type field in the original code block of the 66-bit control code block (such as the content of the f field with a length of 4 bits described above) and the content of the following 7 bytes. The content of this 1 66-bit control code block is followed by the byte content of 3 66-bit data code blocks. Figure 13 When there are 4 66-bit code blocks including 4 control code blocks, the encoding rule for encoding into a 257-bit code block. In Figure 13 the sync header of the 257-bit code block is "0", the content of the control field is "0000", and after the control field is half of the content of the block type field in the original code block of the first 66-bit control code block (such as the content of the f field with a length of 4 bits described above) and the content of the following 7 bytes, and then the content of 8 bytes of the remaining 3 66-bit control code blocks.

[0059] In the current application scenario, the signal format processed by the optical module interface at the physical layer is the 257-bit code block format, while the signal format processed at the FlexE layer is the 66-bit code block format. Therefore, the optical module needs to process two formats of code blocks. After the service flow is received at the receiving port of the device, first locate the 257-bit code block in the service flow, and then convert a 257-bit code block into 4 66-bit code blocks, as Figure 14As shown, frame alignment of the FlexE frame is then performed in the 66-bit code block, and then each time slot in the FlexE protocol is determined. Based on the information carried by each time slot, the 66-bit code blocks of each traffic flow are determined. For each traffic flow, cross-processing of the service code block stream is performed in units of 66-bit code blocks and then sent to the corresponding sending port. Inside the device, the speed of the traffic flow received by the receiving port is determined by the upstream device, and the speed of the sending port is determined by this device. The processing speed of the receiving port and the sending port may not be consistent. In the sending port, the speed of the service code block stream is adjusted by adding or deleting idle code blocks in the traffic flow to adapt to the speed of the FlexE frame in the sending direction. The traffic flow after speed adjustment is mapped into the FlexE frame of the sending port, and finally the 66-bit code block of the FlexE frame is converted into a 257-bit code block and sent out from the sending port.

[0060] Since in the current FlexE standard, each time slot corresponds to a 66-bit code block, and each 66-bit code block represents a transmission rate of 5 Gbit / s; while data processing in high-speed Ethernet interfaces such as 800 Gbit / s is performed according to a 257-bit length. If, at a rate of 800 Gbit / s, the FlexE protocol still processes data at a speed where each time slot corresponds to a 66-bit length and each time slot represents 5 Gbit / s, then the number of time slots to be processed will be very large, which will reduce the data processing efficiency. Moreover, for intermediate devices, inside the intermediate device, it is necessary to first perform a conversion from 257-bit code blocks to 66-bit code blocks, and then perform a conversion from 66-bit code blocks to 257-bit code blocks, that is, two conversions of the code block encoding format are required, which will result in too high a cost for the processing circuit.

[0061] In order to improve the transmission bandwidth of a single time slot, reduce the number of time slots to be processed, and thus improve the data processing efficiency, the embodiments of the present application provide a method for processing services, a network device, a computer-readable storage medium, and a computer program product. Among them, after performing 64B / 66B encoding on the traffic flow to obtain a 66-bit code block stream, the 66-bit code block stream is first transcoded to obtain a first code block stream with a larger number of bits, and then the first code block stream with a larger number of bits is mapped into a first transmission container and the first transmission container is sent. Since the first transmission container includes an overhead code block and a time slot code block, where the number of bits of the overhead code block and the time slot code block are both consistent with the number of bits of the first code block in the first code block stream, and the overhead code block carries overhead information and the time slot code block carries the first code block, more service information can be carried in the time slot code block, thereby improving the transmission bandwidth of a single time slot, reducing the number of time slots to be processed, and further improving the data processing efficiency.

[0062] Based on the above analysis, the embodiments of the present application will be further described below in conjunction with the accompanying drawings.

[0063] Referring to Figure 15 , Figure 15 FIG. is a flowchart of a service processing method provided by an embodiment of the present application. The service processing method can be executed by a sending device, and the service processing method may include but is not limited to steps S1510 to S1530.

[0064] Step S1510: Perform 64B / 66B encoding on the service flow to obtain a 66-bit code block stream;

[0065] Step S1520: Transcode the 66-bit code block stream to obtain a transcoded first code block stream, where the number of bits of the first code block in the first code block stream is greater than 66;

[0066] Step S1530: Map the first code block stream to a first transport container and send the first transport container, where the first transport container includes an overhead code block and a time slot code block. The number of bits of the overhead code block and the number of bits of the time slot code block are both consistent with the number of bits of the first code block. The overhead code block carries overhead information, and the time slot code block carries the first code block.

[0067] In a feasible embodiment, the service flow may be ordinary Ethernet service information or high-quality service information. For example, the high-quality service information may be CBR service, high-quality Ethernet service information (such as eCPRI (ethernet Common Public Radio Interface) service information), voice service information, video service information, game service information, etc., which are not specifically limited here. Among them, the high-quality service information can be encapsulated in various formats, such as eCPRI protocol message format or Ethernet packet format, etc.; the ordinary Ethernet service information may be download service information, etc., which are not specifically limited here.

[0068] In a feasible embodiment, the transcoding performed on the 66-bit code block stream may be 66B / 257B encoding, so the transcoded first code block obtained may be a 257-bit code block.

[0069] In a feasible embodiment, the time slot code block is a code block sent in a time slot.

[0070] In a feasible embodiment, the overhead code block may include a first overhead code block and a second overhead code block. There is a fixed number of time slot code blocks between the overhead code blocks in the first transmission container. For example, there are 4 * 1023 * 5 time slot code blocks between the overhead code blocks in the first transmission container. Additionally, the first transmission container may be arranged in the order of the first overhead code block, multiple time slot code blocks, the second overhead code block, and multiple time slot code blocks. Among them, the first overhead code block may carry the overhead content of the first four overhead blocks in the FlexE overhead frame, and the second overhead code block may carry the overhead content of the last four overhead blocks in the FlexE overhead frame. In an embodiment, the first overhead code block, the time slot code block, and the second overhead code block may all be code blocks with a length of 257 bits. Therefore, the first transmission container arranged in the order of the first overhead code block, multiple time slot code blocks, the second overhead code block, and multiple time slot code blocks can form a new FlexE frame based on a 257-bit length provided in the embodiments of the present application.

[0071] In a feasible embodiment, the first overhead code block may include a first synchronization header, a first code block type field, a first overhead field, a second overhead field, a third overhead field, and a fourth overhead field. The content of the first code block type field may be used to indicate the content types of the first overhead field, the second overhead field, the third overhead field, and the fourth overhead field. The first overhead field may carry the overhead content of the first overhead block in the FlexE overhead frame, the second overhead field may carry the overhead content of the second overhead block in the FlexE overhead frame, the third overhead field may carry the overhead content of the third overhead block in the FlexE overhead frame, and the fourth overhead field may carry the overhead content of the fourth overhead block in the FlexE overhead frame. Among them, the first overhead field may include a first overhead sub-field and a second overhead sub-field. The first overhead sub-field may carry a part of the content of the first byte of the first overhead block in the FlexE overhead frame, and the second overhead sub-field may carry the content of the last seven bytes of the first overhead block in the FlexE overhead frame.

[0072] In a feasible embodiment, when the last four overhead blocks in the FlexE overhead frame are all data blocks, the second overhead code block may include a second synchronization header, a fifth overhead field, a sixth overhead field, a seventh overhead field, and an eighth overhead field. Among them, the fifth overhead field may carry the overhead content of the fifth overhead block in the FlexE overhead frame, the sixth overhead field may carry the overhead content of the sixth overhead block in the FlexE overhead frame, the seventh overhead field may carry the overhead content of the seventh overhead block in the FlexE overhead frame, and the eighth overhead field may carry the overhead content of the eighth overhead block in the FlexE overhead frame.

[0073] In a feasible implementation, when there is a control block in the last four overhead blocks of the FlexE overhead frame, the second overhead code block may include a second synchronization header, a second code block type field, a fifth overhead field, a sixth overhead field, a seventh overhead field, and an eighth overhead field. Among them, the content of the second code block type field can be used to indicate the content types of the fifth overhead field, the sixth overhead field, the seventh overhead field, and the eighth overhead field. The fifth overhead field can carry the overhead content of the fifth overhead block in the FlexE overhead frame. The sixth overhead field can carry the overhead content of the sixth overhead block in the FlexE overhead frame. The seventh overhead field can carry the overhead content of the seventh overhead block in the FlexE overhead frame. The eighth overhead field can carry the overhead content of the eighth overhead block in the FlexE overhead frame.

[0074] In a feasible implementation, when the first overhead block among the last four overhead blocks of the FlexE overhead frame is a control block, that is, when the fifth overhead block in the FlexE overhead frame is a control block, the fifth overhead field may include a third overhead field and a fourth overhead field. Among them, the third overhead field can carry a part of the content of the first byte of the fifth overhead block in the FlexE overhead frame, and the fourth overhead field can carry the content of the last seven bytes of the fifth overhead block in the FlexE overhead frame.

[0075] In a feasible implementation, when the second overhead block among the last four overhead blocks of the FlexE overhead frame is a control block, that is, when the sixth overhead block in the FlexE overhead frame is a control block, the sixth overhead field may include a third overhead field and a fourth overhead field. Among them, the third overhead field can carry a part of the content of the first byte of the sixth overhead block in the FlexE overhead frame, and the fourth overhead field can carry the content of the last seven bytes of the sixth overhead block in the FlexE overhead frame.

[0076] In a feasible implementation, when the third overhead block among the last four overhead blocks of the FlexE overhead frame is a control block, that is, when the seventh overhead block in the FlexE overhead frame is a control block, the seventh overhead field may include a third overhead field and a fourth overhead field. Among them, the third overhead field can carry a part of the content of the first byte of the seventh overhead block in the FlexE overhead frame, and the fourth overhead field can carry the content of the last seven bytes of the seventh overhead block in the FlexE overhead frame.

[0077] In a feasible implementation, when the fourth overhead block of the last four overhead blocks in the FlexE overhead frame is a control block, that is, when the eighth overhead block in the FlexE overhead frame is a control block, the eighth overhead field may include a third overhead field and a fourth overhead field, wherein the third overhead field may carry part of the first byte content of the eighth overhead block in the FlexE overhead frame, and the fourth overhead field may carry the last seven bytes of the eighth overhead block in the FlexE overhead frame.

[0078] In this embodiment, by adopting the service processing method including the above-mentioned steps S1510 to S1530, after the service stream is 64B / 66B encoded to obtain a 66-bit code block stream, the 66-bit code block stream is transcoded to obtain a first code block stream with a larger number of bits, and then the first code block stream with a larger number of bits is mapped to a first transmission container, and the first transmission container is sent. Since the first transmission container includes overhead code blocks and time slot code blocks, wherein the number of bits of the overhead code blocks and the number of bits of the time slot code blocks are consistent with the number of bits of the first code blocks in the first code block stream, and the overhead code blocks carry overhead information, and the time slot code blocks carry the first code blocks, more service information can be carried in the time slot code blocks, thereby increasing the transmission bandwidth of a single time slot, reducing the number of time slots to be processed, and further improving the efficiency of data processing.

[0079] In one embodiment, in the process of transcoding a 66-bit code block stream to obtain a transcoded first code block stream, 66-bit idle code blocks may be inserted or deleted in the 66-bit code block stream to obtain a speed-adapted 66-bit code block stream, and then the speed-adapted 66-bit code block stream is transcoded to obtain a transcoded first code block stream. By inserting or deleting 66-bit idle code blocks in the 66-bit code block stream, the speed of the 66-bit code block stream can be adjusted, thereby achieving speed adaptation between the service flow and the bearer time slot, and further improving the transmission efficiency of the service flow.

[0080] In one embodiment, in the process of transcoding the 66-bit code block stream after speed adaptation to obtain the first transcoded code block stream, multiple 66-bit idle code blocks in the 66-bit code block stream after speed adaptation can be first adjusted in position to obtain a 66-bit code block stream after aggregation of multiple 66-bit idle code blocks, and then the 66-bit code block stream after aggregation of multiple 66-bit idle code blocks is transcoded to obtain the first transcoded code block stream. By adjusting the positions of multiple 66-bit idle code blocks to aggregate them, multiple 66-bit idle code blocks can be concentrated together, which is beneficial for converting these 66-bit idle code blocks into target idle code blocks (such as 257-bit idle code blocks) with the same number of bits as the first code block during subsequent transcoding steps, thereby facilitating the deletion of the generated target idle code blocks and achieving speed adjustment of the first code block stream.

[0081] In one embodiment, in the process of transcoding the 66-bit code block stream, 66-bit idle code blocks can also be inserted or deleted in the 66-bit code block stream first to obtain an idle code block group composed of four consecutive 66-bit idle code blocks, and then the idle code block group is transcoded to obtain a target idle code block, where the number of bits of the target idle code block is the same as that of the first code block.

[0082] In one embodiment, in the process of transcoding the 66-bit code block stream, when there is a preset specific situation in four consecutive 66-bit code blocks used for the same transcoding, 66-bit idle code blocks can be inserted or deleted between the end code block and the start code block, so that the end code block is in the four consecutive 66-bit code blocks of the previous transcoding, and the start code block is in the four consecutive 66-bit code blocks of the next transcoding. Among them, the preset specific situation includes one of the following:

[0083] In four consecutive 66-bit code blocks, the first 66-bit code block is the end code block, the second 66-bit code block is the start code block, and the third and fourth 66-bit code blocks are both code blocks of any type;

[0084] In four consecutive 66-bit code blocks, the first 66-bit code block is the end code block, the second and fourth 66-bit code blocks are both code blocks of any type, and the third 66-bit code block is the end code block;

[0085] In four consecutive 66-bit code blocks, the first 66-bit code block is the end code block, the second and third 66-bit code blocks are both code blocks of any type, and the fourth 66-bit code block is the start code block;

[0086] Among four consecutive 66-bit code blocks, the first 66-bit code block and the fourth 66-bit code block are both code blocks of any type, the second 66-bit code block is an end code block, and the third 66-bit code block is a start code block;

[0087] Among four consecutive 66-bit code blocks, the first 66-bit code block and the third 66-bit code block are both code blocks of any type, the second 66-bit code block is an end code block, and the fourth 66-bit code block is a start code block;

[0088] Among four consecutive 66-bit code blocks, the first 66-bit code block and the second 66-bit code block are both code blocks of any type, the third 66-bit code block is an end code block, and the fourth 66-bit code block is a start code block.

[0089] In one embodiment, when mapping the first code block stream to the first transport container, the first code block stream can be first inserted or deleted with respect to the target idle code block to obtain the first speed-adapted code block stream, where the number of bits of the target idle code block is the same as the number of bits of the first code block, and then the first speed-adapted code block stream is mapped to the first transport container. By inserting or deleting the target idle code block with respect to the first code block stream, the speed adjustment of the first code block stream can be realized, so that the speed adaptation between the service flow and the bearer time slot can be realized, and further the transmission efficiency of the service flow can be improved.

[0090] In one embodiment, when mapping the first code block stream to the first transport container, the first code block stream can also be first mapped to multiple time slot code blocks, and then the multiple time slot code blocks are allocated to different transmission instances, and the first overhead code block and the second overhead code block are inserted at preset positions in each transmission instance to obtain the first transport container carried by multiple transmission instances, where there is a preset number of time slot code blocks between the first overhead code block and the second overhead code block. In one embodiment, the preset number can be 4 * 1023 * 5, that is, there are 4 * 1023 * 5 time slot code blocks between the first overhead code block and the second overhead code block.

[0091] In one embodiment, after obtaining the first transport container carried by multiple transmission instances, the first transport container carried by multiple transmission instances can be block interleaved to obtain the first target information including the first transport container, and then the first target information is sent. Among them, in the process of block interleaving the first transport container carried by multiple transmission instances to obtain the first target information including the first transport container, the padding code block can be first inserted into the first transport container carried by each transmission instance to obtain the first candidate transport container carried by each transmission instance, where the number of bits of the padding code block is the same as the number of bits of the first code block, and then the first candidate transport containers carried by multiple transmission instances are block interleaved to obtain the first target information including the first transport container.

[0092] It should be noted that in one embodiment, when the rate of the Ethernet physical interface is 50 Gbit / s, 200 Gbit / s, 400 Gbit / s, 800 Gbit / s, 1600 Gbit / s or other rates, padding code blocks need to be inserted into the first transport container carried by each transport instance. In this case, after the subsequent receiving device or intermediate device receives the first target information and performs code block deinterleaving on the first target information, the padding code blocks need to be correspondingly deleted. In another embodiment, when the rate of the Ethernet physical interface is 100 Gbit / s, padding code blocks may not be inserted into the first transport container carried by each transport instance. Therefore, in this case, after the subsequent receiving device or intermediate device receives the first target information and performs code block deinterleaving on the first target information, it is not necessary to correspondingly delete the padding code blocks.

[0093] The following uses a specific example to elaborate in detail on the service processing method provided by the embodiments of the present application.

[0094] For example Figure 16 as shown Figure 16 is a schematic diagram of constructing a new FlexE frame structure with a 257-bit length provided by the embodiments of the present application. In the FlexE frame structure of the current related technology, the length of the code block is 66 bits, and the distribution of the overhead blocks is to set 1 overhead block every 1023 * 20 code blocks. In the new FlexE frame structure provided by the embodiments of the present application, 4 consecutive overhead blocks are set every 4 * 1023 * 20 code blocks. In Figure 16 these 4 consecutive overhead blocks are the first 4 overhead code blocks or the last 4 overhead code blocks in the FlexE frame structure of the current related technology. Starting from the 4th overhead block, every 4 code blocks are encoded with 66B / 257B to be converted into 257-bit code blocks, and this conversion process can be referred to Figure 17 as shown. In the new FlexE frame structure, it is composed of 257-bit length code blocks, and one 257-bit length overhead block is set every 20 * 1023 257-bit length code blocks. Referring to Figure 18 as shown, in the new FlexE frame structure, the basic code block length is a 257-bit length code block, both the service code block and the overhead code block are 257-bit length code blocks, and each 257-bit length code block corresponds to a time slot. Therefore, each time slot can represent a data speed of 20 Gbit / s. Among them, there are 5 time slots in each physical interface member, and one 257-bit length overhead code block is inserted between every 4 * 1023 * 5 257-bit code blocks, and two consecutive 257-bit length overhead code blocks form the content of the FlexE frame. As Figure 19As shown, the content of block1, block2, block3, and block4 in the 66-bit length overhead block in the FlexE overhead frame is carried in the previous 257-bit code block, and the content of block5, block6, block7, and block8 in the 66-bit length overhead block in the FlexE overhead frame is carried in the subsequent 257-bit code block. Among the 8 overhead blocks of the FlexE overhead frame, the first overhead block is a control code block, the 2nd and 3rd overhead blocks are data code blocks, and the types of the 4th, 5th, 6th, 7th, and 8th overhead blocks are uncertain. They may be data code blocks or control code blocks. For the new FlexE overhead frame composed of 2 257-bit code blocks, the 4 66-bit length overhead blocks in the previous 257-bit code block consist of 1 control code block, 2 data code blocks, and 1 data code block or control code block. Since the first 66-bit code block is fixed as a control code block (the eigenvalue in the 66-bit code block has block synchronization header bits "10", block type field value "0x4B", and sequence value "0x5"), these 4 66-bit length overhead code blocks in the 257-bit code block are stored at fixed positions in the 257-bit code block. The specific positions are as shown in Figure 20 As shown, among them, block1 of the 66-bit length overhead block is located at bit5 to bit64 in the 257-bit code block (only half of the 8 bits in the block control field are reserved, that is, the content of 0xB is reserved in 0x4B), block2 is located at bit65 to bit128 in the 257-bit code block, block3 is located at bit129 to bit192 in the 257-bit code block, and block4 is located at bit193 to bit256 in the 257-bit code block. The 4 66-bit length overhead blocks in the subsequent 257-bit code block include block5, block6, block7, and block8. Since the type of any one of the four 66-bit length overhead blocks of block5, block6, block7, and block8 may be a data code block or a control code block, it is necessary to determine the positions of these 4 66-bit code blocks in the 257-bit code block according to the type of each 66-bit code block. When block5, block6, block7, and block8 are all data code blocks, the positions of these 4 66-bit length overhead blocks in the 257-bit code block are as shown in Figure 21 As shown; when block5 is a control code block (block6, block7, and block8 are all code blocks of any type), the positions of these 4 66-bit code blocks in the 257-bit code block are as shown in Figure 22 As shown; when block5 is a data code block and block6 is a control code block (block7 and block8 are all code blocks of any type), the positions of these 4 66-bit code blocks in the 257-bit code block are as shown in Figure 23As shown; when both block5 and block6 are data code blocks and block7 is a control code block (block8 is a code block of any type), the positions of these 4 66-bit code blocks in the 257-bit code block are as Figure 24 shown; when block5, block6, and block7 are all data code blocks and block8 is a control code block, the positions of these 4 66-bit code blocks in the 257-bit code block are as Figure 25 shown. For different combinations of code block types of the 4 66-bit length overhead blocks (i.e., block5, block6, block7, block8) in the FlexE overhead frame, after encoding these 4 66-bit length overhead blocks with 66B / 257B, each 66-bit code block will be in a fixed position in the 257-bit code block. Additionally, for the reverse process of 66B / 257B encoding (i.e., the process of 66B / 257B decoding, or the process of reverse coding), if a 257-bit length overhead block is obtained, then according to the sync header bit value and control type bit value in the 257-bit code block, the positions of the 4 66-bit length overhead blocks in the FlexE overhead frame in the 257-bit code block can be determined, and thus the overhead content defined by the FlexE protocol as in Figure 6 can be determined in the frame composed of 2 257-bit length overhead blocks in Figure 20 .

[0095] Additionally, according to Figure 18 the new FlexE frame structure based on 257-bit length shown, the lengths of the time slot code blocks and overhead code blocks in the FlexE protocol are both 257-bit length code block structures. There are 5 time slots in each physical interface member, each time slot corresponds to a 257-bit length code block, each time slot represents a transmission bandwidth of 20Gbit / s, an overhead code block with a length of 257 bits is transmitted every 4 * 1023 * 5 time slots, and the content of every 2 257-bit length overhead code blocks forms a new FlexE overhead frame. The content of the 8 66-bit length overhead blocks (block1 to block8) in the current related technology FlexE overhead frame is carried in each new FlexE overhead frame, and all the overhead content in this new FlexE overhead frame, such as C bits, OMF bits, RPF bits, FlexE group number, PHY number, PHY map, etc., is carried in block1 to block8.

[0096] As Figure 26 shown, Figure 26 is a schematic structural diagram of a FlexE shim layer (master calendar) provided by an embodiment of the present application. According to Figure 26It can be seen that the FlexE master calendar consists of n * 5 time slots (n is any positive integer). Each time slot corresponds to a code block with a length of 257 bits, representing a transmission speed of 20 Gbit / s. According to the bandwidth requirements of the service flow, any number of time slots can be selected to carry the service flow. When carrying the service flow, the service flow is first encoded with 66B / 257B, and after being converted into a code block stream with a length of 257 bits, it is mapped to the corresponding time slots in the FlexE shim layer. Among them, the n * 5 time slot code blocks in the FlexE shim layer are shared by n transmission instances, and each transmission instance shares 5 time slots. In each transmission instance, a FlexE overhead block with a length of 257 bits is inserted every 4 * 1023 * 5 code blocks with a length of 257 bits. Every 2 FlexE overhead blocks with a length of 257 bits form a new FlexE overhead frame. In this new FlexE overhead frame, there are 8 overhead blocks with a length of 66 bits defined by the FlexE protocol in the current related technology, and these overhead blocks contain FlexE overhead content.

[0097] As Figure 27 shown, Figure 27 it is a schematic flowchart of the processing method for the service executed by the sending device in the embodiment of the present application. In Figure 27 , the Ethernet packets of each service will first be encoded with 64B / 66B to become code blocks with a length of 66 bits, and then further encoded with 66B / 257B to become code blocks with a length of 257 bits. Then, according to the selected carrying time slots of the service, the code blocks with a length of 257 bits are mapped to the corresponding time slots on the master calendar. To achieve the speed adaptation between the service information and the carrying time slots, the service code blocks (such as 66-bit code blocks or the first code blocks with a length of 257 bits) can be speed-adapted. By inserting or deleting some idle code blocks (idle code blocks, abbreviated as I blocks) in the service code block stream, the speed of the service code blocks is adjusted to the speed of the corresponding time slots, and then they are mapped to the corresponding time slots on the master calendar for carrying. Among them, there are two ways to add and delete idle code blocks. Way 1 is to perform the addition or deletion operation with 66-bit code blocks as the processing unit. The position where Way 1 is executed can be between the module for 64B / 66B encoding and the module for 66B / 257B encoding, such as Figure 27 shown by the upper row of the virtual frame idle addition and deletion module; Way 2 is to perform the addition or deletion operation with 257-bit code blocks as the processing unit. The position where Way 2 is executed can be between the module for 66B / 257B encoding and the master calendar module, such as Figure 27As shown in the idle addition and deletion module of the virtual box in the middle and lower rows. Both Method 1 and Method 2 can meet the requirements, and either method can be selected during implementation. It should be noted that when Method 2 is selected, since it is required that the idle code block can only be inserted between two messages and cannot be inserted in the middle of a single message, the last 66-bit code block in the previous 257-bit code block must be a control code block, and the first 66-bit code block in the next 257-bit code block must also be a control code block. Only when the above conditions are met for the two 257-bit code blocks before and after, can a 257-bit idle code block be inserted between the two 257-bit code blocks (i.e., the target idle code block described above, and this 257-bit idle code block is encoded by 4 66-bit idle code blocks). To meet the above conditions, 4 66-bit code blocks that meet the requirements can be selected during 66B / 257B encoding. Among the selected 4 66-bit code blocks, the S code block, D code block, and T code block must only belong to the code blocks of one message and cannot be composed of 66-bit code blocks of two messages, that is, they cannot be composed of the tail T code block of the previous message and the head S code block of the next message. Therefore, when performing 66B / 257B encoding, there may be scenarios where a group of 4 66-bit code blocks in one of the following formats cannot be encoded:

[0098] Format 1: T code block + S code block + any type of code block + any type of code block;

[0099] Format 2: T code block + any type of code block + S code block + any type of code block;

[0100] Format 3: T code block + any type of code block + any type of code block + S code block;

[0101] Format 4: any type of code block + T code block + S code block + any type of code block;

[0102] Format 5: any type of code block + T code block + any type of code block + S code block;

[0103] Format 6: any type of code block + any type of code block + T code block + S code block.

[0104] When encoding 66B / 257B, when a group of 4 66-bit code blocks meets one of the above 6 formats, it is necessary to adjust the group of 4 66-bit code blocks to be encoded. For example, insert or delete one or more 66-bit idle code blocks between the T code block and the S code block, and divide the T code block and the S code block into two groups of 4 66-bit code blocks, so that the first group of 4 66-bit code blocks only includes the T code block and no S code block, and the second group of 4 66-bit code blocks has no T code block and only the S code block. Through such encoding adjustment, it is possible to make the two consecutive 257-bit code blocks meet the condition of inserting a 257-bit idle code block. Therefore, it is easy to insert a 257-bit idle code block during the data processing. Of course, during the above adjustment process, when inserting or deleting one or more 66-bit idle code blocks, it is also possible to make all 4 66-bit code blocks in a group be idle code blocks, which is convenient for subsequent deletion operations on 257-bit idle code blocks. Therefore, when performing 66B / 257B encoding, it is possible to insert or delete some 66-bit idle code blocks so that the 4 66-bit code blocks for 66B / 257B encoding are all 66-bit idle code blocks, so that these 4 66-bit idle code blocks can be encoded with 66B / 257B to obtain a 257-bit idle code block, providing the possibility for subsequent deletion operations on 257-bit idle code blocks.

[0105] In addition, after the 257-bit code block of the service (i.e., the first code block) is mapped to the master calendar composed of 257-bit code blocks, the n*5 time slots in the master calendar can be divided into n transmission instances according to the distribution rule of every 5 time slots, and each transmission instance undertakes the transmission of 5 time slots. During the process of carrying the 257-bit code block of 5 time slots, each transmission instance can insert a 257-bit overhead code block. One 257-bit overhead code block is inserted every 4*5*1023 257-bit code blocks, and every two 257-bit overhead code blocks form a FlexE overhead frame. When the transmission instance transmits information on the high-speed physical interface, pad code blocks (i.e., filling code blocks) are periodically inserted in each transmission instance, where the pad code blocks can be used for speed adjustment. Then, the 257-bit code blocks of multiple transmission instances are block-interleaved, and then the block-interleaving result (i.e., the first target information) is sent on the physical interface. The transmission speed of each transmission instance is 100 Gbit / s. When transmitting on a 200 Gbit / s physical interface, it is the 257-bit code blocks of 2 transmission instances that are block-interleaved and then sent on the 200 Gbit / s-rate physical interface; when transmitting on a 400 Gbit / s physical interface, it is the 257-bit code blocks of 4 transmission instances that are block-interleaved and then sent on the 400 Gbit / s-rate physical interface; when transmitting on an 800 Gbit / s physical interface, it is the 257-bit code blocks of 8 transmission instances that are block-interleaved and then sent on the 800 Gbit / s-rate physical interface; when transmitting on a 1.6 Tbit / s (i.e., 1600 Gbit / s) physical interface, it is the 257-bit code blocks of 16 transmission instances that are block-interleaved and then sent on the 1600 Gbit / s-rate physical interface. In an embodiment, in implementation, it can also be that the 16 transmission instances are divided into two groups, with 8 transmission instances in each group. The 257-bit code blocks of each group of 8 transmission instances are block-interleaved to form an 800 Gbit / s-rate code block, and then the 800 Gbit / s-rate code blocks of the two groups are block-interleaved again to form a 1600 Gbit / s code block stream, and then sent on the 1600 Gbit / s-rate physical interface.

[0106] Refer to Figure 28 , Figure 28 FIG. is a flowchart of a service processing method provided by another embodiment of the present application. The service processing method can be executed by an intermediate device, and the service processing method can include but is not limited to steps S2810 to step S2820.

[0107] Step S2810: Extract a first code block stream from the received first target information, where the first code block stream is obtained by transcoding a 66-bit code block stream, the 66-bit code block stream is obtained by performing 64B / 66B encoding on a service flow, and the number of bits of the first code block in the first code block stream is greater than 66;

[0108] Step S2820: Map the first code block stream to a second transport container and send the second transport container, where the second transport container includes an overhead code block and a time slot code block, and the number of bits of the overhead code block and the number of bits of the time slot code block are both consistent with the number of bits of the first code block. The overhead code block carries overhead information, and the time slot code block carries the first code block.

[0109] In a feasible implementation manner, the first target information may be ordinary Ethernet service information or high-quality service information. For example, the high-quality service information may be CBR service, high-quality Ethernet service information (such as eCPRI service information), voice service information, video service information, game service information, etc., which is not specifically limited here. Among them, the high-quality service information may be encapsulated in various formats, such as the eCPRI protocol message format or the Ethernet packet format, etc.; the ordinary Ethernet service information may be download service information, etc., which is not specifically limited here.

[0110] In a feasible implementation manner, the first target information may be obtained by the transmitting device performing code block interleaving on the first transport containers carried by multiple transport instances after mapping the first code block stream to the first transport containers carried by multiple transport instances. Therefore, the received first target information may be sent by the transmitting device.

[0111] In a feasible implementation manner, the transcoding performed on the 66-bit code block stream may be 66B / 257B encoding. Therefore, the first code block in the obtained first code block stream may be a code block with a length of 257 bits.

[0112] In a feasible implementation manner, the time slot code block is a code block sent in a time slot.

[0113] In a feasible implementation, the overhead code block may include a first overhead code block and a second overhead code block. There is a fixed number of time slot code blocks between the overhead code blocks in the second transmission container. For example, there are 4 * 1023 * 5 time slot code blocks between the overhead code blocks in the second transmission container. Additionally, the second transmission container may be arranged in the order of the first overhead code block, multiple time slot code blocks, the second overhead code block, and multiple time slot code blocks. Among them, the first overhead code block may carry the overhead content of the first four overhead blocks in the FlexE overhead frame, while the second overhead code block may carry the overhead content of the last four overhead blocks in the FlexE overhead frame. In an embodiment, the first overhead code block, the time slot code block, and the second overhead code block may all be code blocks with a length of 257 bits. Therefore, the second transmission container arranged in the order of the first overhead code block, multiple time slot code blocks, the second overhead code block, and multiple time slot code blocks can form a new FlexE frame based on 257-bit length provided by the embodiments of the present application.

[0114] In a feasible implementation, the first overhead code block may include a first synchronization header, a first code block type field, a first overhead field, a second overhead field, a third overhead field, and a fourth overhead field. The content of the first code block type field may be used to indicate the content types of the first overhead field, the second overhead field, the third overhead field, and the fourth overhead field. The first overhead field may carry the overhead content of the first overhead block in the FlexE overhead frame, the second overhead field may carry the overhead content of the second overhead block in the FlexE overhead frame, the third overhead field may carry the overhead content of the third overhead block in the FlexE overhead frame, and the fourth overhead field may carry the overhead content of the fourth overhead block in the FlexE overhead frame. Among them, the first overhead field may include a first overhead sub-field and a second overhead sub-field. The first overhead sub-field may carry a part of the content of the first byte of the first overhead block in the FlexE overhead frame, while the second overhead sub-field may carry the content of the last seven bytes of the first overhead block in the FlexE overhead frame.

[0115] In a feasible implementation, when the last four overhead blocks in the FlexE overhead frame are all data blocks, the second overhead code block may include a second synchronization header, a fifth overhead field, a sixth overhead field, a seventh overhead field, and an eighth overhead field. Among them, the fifth overhead field may carry the overhead content of the fifth overhead block in the FlexE overhead frame, the sixth overhead field may carry the overhead content of the sixth overhead block in the FlexE overhead frame, the seventh overhead field may carry the overhead content of the seventh overhead block in the FlexE overhead frame, and the eighth overhead field may carry the overhead content of the eighth overhead block in the FlexE overhead frame.

[0116] In a feasible implementation, when there is a control block in the last four overhead blocks of the FlexE overhead frame, the second overhead code block may include a second synchronization header, a second code block type field, a fifth overhead field, a sixth overhead field, a seventh overhead field, and an eighth overhead field. Among them, the content of the second code block type field can be used to indicate the content types of the fifth overhead field, the sixth overhead field, the seventh overhead field, and the eighth overhead field. The fifth overhead field can carry the overhead content of the fifth overhead block in the FlexE overhead frame. The sixth overhead field can carry the overhead content of the sixth overhead block in the FlexE overhead frame. The seventh overhead field can carry the overhead content of the seventh overhead block in the FlexE overhead frame. The eighth overhead field can carry the overhead content of the eighth overhead block in the FlexE overhead frame.

[0117] In a feasible implementation, when the first overhead block among the last four overhead blocks of the FlexE overhead frame is a control block, that is, when the fifth overhead block in the FlexE overhead frame is a control block, the fifth overhead field may include a third overhead field and a fourth overhead field. Among them, the third overhead field can carry part of the content of the first byte of the fifth overhead block in the FlexE overhead frame, and the fourth overhead field can carry the content of the last seven bytes of the fifth overhead block in the FlexE overhead frame.

[0118] In a feasible implementation, when the second overhead block among the last four overhead blocks of the FlexE overhead frame is a control block, that is, when the sixth overhead block in the FlexE overhead frame is a control block, the sixth overhead field may include a third overhead field and a fourth overhead field. Among them, the third overhead field can carry part of the content of the first byte of the sixth overhead block in the FlexE overhead frame, and the fourth overhead field can carry the content of the last seven bytes of the sixth overhead block in the FlexE overhead frame.

[0119] In a feasible implementation, when the third overhead block among the last four overhead blocks of the FlexE overhead frame is a control block, that is, when the seventh overhead block in the FlexE overhead frame is a control block, the seventh overhead field may include a third overhead field and a fourth overhead field. Among them, the third overhead field can carry part of the content of the first byte of the seventh overhead block in the FlexE overhead frame, and the fourth overhead field can carry the content of the last seven bytes of the seventh overhead block in the FlexE overhead frame.

[0120] In a feasible embodiment, when the fourth overhead block among the last four overhead blocks in the FlexE overhead frame is a control block, that is, when the eighth overhead block in the FlexE overhead frame is a control block, the eighth overhead field may include a third overhead field and a fourth overhead field. Among them, the third overhead field may carry a part of the content of the first byte of the eighth overhead block in the FlexE overhead frame, and the fourth overhead field may carry the content of the last seven bytes of the eighth overhead block in the FlexE overhead frame.

[0121] In this embodiment, by adopting the service processing method including the above steps S2810 to S2820, after extracting the first code block stream from the received first target information, the first code block stream can be directly mapped to the second transport container and the second transport container can be sent. That is to say, in this process, there is no need to perform the conversion from 257-bit code blocks to 66-bit code blocks, nor the conversion from 66-bit code blocks to 257-bit code blocks. Therefore, the code block formats between the high-speed Ethernet interface and the FlexE protocol layer can be unified, thereby effectively reducing the cost of the processing circuit. In addition, since the number of bits of the overhead code blocks and the number of bits of the time slot code blocks in the second transport container are both the same as the number of bits of the first code block, and the overhead code blocks carry overhead information and the time slot code blocks carry the first code block, more service information can be carried in the time slot code blocks, thereby improving the transmission bandwidth of a single time slot, reducing the number of processed time slots, and further improving the data processing efficiency.

[0122] In an embodiment, when mapping the first code block stream to the second transport container, the first code block stream may be first inserted or deleted with respect to the target idle code blocks to obtain the first code block stream after speed adaptation, where the number of bits of the target idle code blocks is the same as the number of bits of the first code block, and then the first code block stream after speed adaptation is mapped to the second transport container. By inserting or deleting the target idle code blocks with respect to the first code block stream, the speed adjustment of the first code block stream can be realized, so as to achieve the speed adaptation between the second transport container and the bearing time slots, and further improve the transmission efficiency of the second transport container.

[0123] In one embodiment, when there is no target idle code block in the first code block stream, but there are multiple 66-bit idle code blocks in the 66-bit code block stream, when deleting the target idle code block from the first code block stream, the first code block stream can be inverse-coded to obtain a 66-bit code block stream, then the positions of the multiple 66-bit idle code blocks in the 66-bit code block stream can be adjusted to obtain a 66-bit code block stream after aggregating the multiple 66-bit idle code blocks, then the 66-bit code block stream after aggregating the multiple 66-bit idle code blocks can be transcoded to obtain a new first code block stream including multiple target idle code blocks, and then the target idle code blocks in the new first code block stream can be deleted. By adjusting the positions of the multiple 66-bit idle code blocks to aggregate them, the multiple 66-bit idle code blocks can be concentrated together, which is beneficial to converting these 66-bit idle code blocks into target idle code blocks (such as 257-bit idle code blocks) with the same number of bits as the first code block during transcoding, thereby facilitating the deletion of the generated target idle code blocks and realizing the speed adjustment of the first code block stream.

[0124] In one embodiment, the first code block is obtained by transcoding four consecutive 66-bit code blocks. When the last one of the four consecutive 66-bit code blocks corresponding to the previous first code block is not a control code block, or the first one of the four consecutive 66-bit code blocks corresponding to the next first code block is not a control code block, when inserting the target idle code block into the first code block stream, the first code block stream can be inverse-coded to obtain a 66-bit code block stream, then multiple target code block groups composed of four consecutive 66-bit code blocks that meet the preset conditions are determined in the 66-bit code block stream, and then in the multiple target code block groups, 66-bit idle code blocks are inserted or deleted between the end code block and the start code block so that the end code block is in the previous target code block group and the start code block is in the next target code block group to obtain multiple new target code block groups, then the multiple new target code block groups are transcoded to obtain a new first code block stream, and the target idle code block is inserted into the new first code block stream. Among them, the preset condition includes one of the following:

[0125] In the target code block group, the first 66-bit code block is the end code block, the second 66-bit code block is the start code block, and the third and fourth 66-bit code blocks are both code blocks of any type;

[0126] In the target code block group, the first 66-bit code block is the end code block, the second and fourth 66-bit code blocks are both code blocks of any type, and the third 66-bit code block is the end code block;

[0127] In the target code block group, the first 66-bit code block is an end code block, the second 66-bit code block and the third 66-bit code block are both code blocks of any type, and the fourth 66-bit code block is a start code block;

[0128] In the target code block group, the first 66-bit code block and the fourth 66-bit code block are both code blocks of any type, the second 66-bit code block is an end code block, and the third 66-bit code block is a start code block;

[0129] In the target code block group, the first 66-bit code block and the third 66-bit code block are both code blocks of any type, the second 66-bit code block is an end code block, and the fourth 66-bit code block is a start code block;

[0130] In the target code block group, the first 66-bit code block and the second 66-bit code block are both code blocks of any type, the third 66-bit code block is an end code block, and the fourth 66-bit code block is a start code block.

[0131] In one embodiment, when extracting the first code block stream from the received first target information, since the first target information is obtained by performing code block interleaving on the first transport container carried by multiple transport instances after mapping the first code block stream to the first transport container carried by multiple transport instances, the received first target information can be first de-interleaved to obtain multiple first transport containers, and then the first code block stream can be extracted from the multiple first transport containers. It should be noted that, in one embodiment, when the rate of the Ethernet physical interface is 50 Gbit / s, 200 Gbit / s, 400 Gbit / s, 800 Gbit / s, 1600 Gbit / s or other rates, the sending device will insert padding code blocks into the first transport container carried by each transport instance. In this case, after the intermediate device de-interleaves the first target information to obtain multiple first transport containers, it needs to perform corresponding padding code block deletion processing on these first transport containers, and then extract the first code block stream from the first transport containers after deleting the padding code blocks. In another embodiment, when the rate of the Ethernet physical interface is 100 Gbit / s, since the sending device may not insert padding code blocks into the first transport container carried by each transport instance, in this case, after the intermediate device de-interleaves the first target information to obtain multiple first transport containers, it does not need to perform corresponding padding code block deletion processing on these first transport containers.

[0132] In one embodiment, when mapping the first code block stream to the second transport container, the first code block stream may first be mapped to a plurality of time slot code blocks, then the plurality of time slot code blocks are allocated to different transport instances, and a first overhead code block and a second overhead code block are inserted at preset positions in each transport instance to obtain a second transport container carried by a plurality of transport instances, where there is a preset number of time slot code blocks between the first overhead code block and the second overhead code block. In one embodiment, the preset number may be 4 * 1023 * 5, that is, there are 4 * 1023 * 5 time slot code blocks between the first overhead code block and the second overhead code block.

[0133] In one embodiment, after obtaining the second transport container carried by a plurality of transport instances, the second transport containers carried by the plurality of transport instances may be code block interleaved to obtain second target information including the second transport container, and then the second target information is sent. It should be noted that, in one embodiment, when the rate of the Ethernet physical interface is 50 Gbit / s, 200 Gbit / s, 400 Gbit / s, 800 Gbit / s, 1600 Gbit / s or other rates, the intermediate device needs to insert padding code blocks into the second transport container carried by each transport instance before performing code block interleaving. In this case, after the subsequent receiving device receives the second target information and performs code block deinterleaving on the second target information, the padding code blocks need to be correspondingly deleted. In another embodiment, when the rate of the Ethernet physical interface is 100 Gbit / s, the intermediate device may not insert padding code blocks into the second transport container carried by each transport instance. In this case, after the subsequent receiving device receives the second target information and performs code block deinterleaving on the second target information, it does not need to correspondingly delete the padding code blocks.

[0134] It should be noted that, in the method for processing services performed by an intermediate device provided in the embodiments of the present application, the related structure description of the new FlexE frame based on a 257-bit length may refer to the related description content in the previous embodiments. To avoid repetition and redundancy of content, it will not be elaborated here.

[0135] The following uses a specific example to elaborate in detail on the method for processing services performed by an intermediate device provided in the embodiments of the present application.

[0136] In one embodiment, after adopting the new FlexE frame structure and time slot structure provided in the embodiments of the present application, the code block unit of the physical interface layer and the FlexE service layer in all devices in the network can be a code block with a length of 257 bits, and the processing object of all links can also be a code block based on a 257-bit length, such as Figure 29As shown in the figure, in the FlexE service layer, a code block with a length of 257 bits can be used as the processing unit for framing, determining the time slot position, extracting each service code block, etc. The service code block is also a code block with a length of 257 bits, and then it is cross-mapped to the corresponding output port. At the sending port, by adding or deleting idle code blocks with a length of 257 bits (i.e., target idle code blocks) in the service flow, the speed adjustment of the service code block can be realized to adapt to the transmission speed of the FlexE frame in the sending direction. Then, the service flow after speed adjustment is mapped into a new FlexE frame based on 257 bits at the sending port, and finally sent out at the sending port. In the embodiment of the present application, since all processing links are executed with a code block with a length of 257 bits as the processing unit, there is no need to perform the conversion between 257-bit code blocks and 66-bit code blocks and the conversion between 66-bit code blocks and 257-bit code blocks. Therefore, the code block format between the high-speed Ethernet interface and the FlexE protocol layer can be unified, and the cost of the processing circuit can be effectively reduced.

[0137] In one embodiment, the structure of a 66-bit idle code block (idle code block with a length of 66 bits) can be as Figure 30 shown in the upper figure above. The 66-bit idle code block consists of a synchronization header "10", a type control word field "01xE", and 56 0 bits. Among them, the type control word field consists of two four-bit bits, namely "0x1" and "0xE". In a 66-bit code block (including 66-bit idle code blocks), all bit positions are arranged in reverse order. When splitting "0x1E" into "0x1" and "0xE", the order of both needs to be placed in reverse order. As Figure 30 shown in the lower figure below, the 4-bit bits in the forward order of "0x1" are 0001, and in the 66-bit code block, it needs to be presented in reverse order, that is, 1000; similarly, the 4-bit bits in the forward order of "0xE" are 1110, and in the 66-bit code block, it needs to be presented in reverse order, that is, 0111. As Figure 31As shown, the 257-bit idle code block is encoded from 4 66-bit idle code blocks. The structure of the 257-bit idle code block is as follows: the synchronization header is "0" (at bit0), the four-bit type value is "0000" (at bits 1 to 4), the four-bit characteristic value is "0xE" (at bits 5 to 8), three eight-bit characteristic values are "0x1E" (respectively "0xE" and "0x1", at bits 65 to 72, bits 129 to 136, and bits 193 to 200), and four groups of content values (all 0, at bits 9 to 61, bits 73 to 128, bits 137 to 192, and bits 201 to 256). When it is necessary to delete an idle code block, if in a 257-bit code block the synchronization header is "0" (at bit0), the four-bit type value is "0000" (at bits 1 to 4), the four-bit characteristic value is "0xE" (at bits 5 to 8), and three eight-bit characteristic values are "0x1E" (respectively "0xE" and "0x1", at bits 65 to 72, bits 129 to 136, and bits 193 to 200), then it can be considered that this code block is a 257-bit idle code block and the deletion operation can be performed. When inserting a 257-bit idle code block, if in the previous 257-bit code block the four-bit type value is "xxx0" (at bits 1 to 4, that is, the last 66-bit code block is a control type code block), and in the subsequent 257-bit code block the four-bit type value is "0xxx" (at bits 1 to 4, that is, the first 66-bit code block is a control type code block), then a 257-bit idle code block can be inserted between these two 257-bit code blocks, as Figure 32 shown. In this way, 257-bit idle code blocks can be inserted or deleted in the 257-bit code block stream to achieve speed adjustment of the service flow. When it is necessary to delete an idle code block, if in the 257-bit service flow a 257-bit idle code block (the 257-bit code block converted from 4 66-bit idle code blocks, that is, the target idle code block) is determined, then this 257-bit idle code block can be directly deleted. In some scenarios, perhaps only some of the 66-bit code blocks among the 4 66-bit code blocks in the 257-bit code block are idle code blocks, but there will never be a situation where all 4 66-bit code blocks in the 257-bit code block are 66-bit idle code blocks, that is, there is never a 257-bit idle code block, which will result in the inability to perform the operation of deleting the 257-bit idle code block. In this case, for example Figure 33As shown, the position of 66-bit idle code blocks in multiple consecutive 257-bit code blocks can be adjusted and moved, so that 66-bit idle code blocks at multiple different positions can be concentrated, achieving the purpose that 4 66-bit code blocks in a 257-bit code block are all 66-bit idle code blocks, that is, forming a 257-bit length idle code block. In this way, the deletion process for the 257-bit length idle code block can be executed. In addition, in actual application scenarios, when encountering a scenario without a 257-bit length idle code block, the 257-bit code block can also be transcoded into 66-bit code blocks, and then the deletion process for 66-bit idle code blocks is executed in the 66-bit code block stream. After deleting an appropriate amount of 66-bit idle code blocks, the remaining 66-bit code blocks are transcoded into 257-bit code blocks. If the speed adjustment of the 257-bit code block has been performed before the service is mapped to the master calendar at the sending end, and the addition and deletion process for the 257-bit idle code block has been executed, then when this service flow passes through any intermediate device on the network, it can have the conditions for adding and deleting the 257-bit idle code block, so that the addition and deletion operation for the 257-bit idle code block can be directly performed. If only the addition and deletion process for 66-bit idle code blocks has been performed before the service is mapped to the master calendar at the sending end, the speed adjustment of the 257-bit code block has not been performed, and no special position adjustment (i.e., adjusting and moving the 66-bit idle code block) has been performed on the 4 66-bit code blocks of the coding object during 66B / 257B coding, then when this service flow passes through any intermediate device on the network, these intermediate devices may not have the conditions for directly adding and deleting the 257-bit idle code block.

[0138] Referring to Figure 34 , Figure 34 is a flowchart of a service processing method provided by another embodiment of the present application. The service processing method can be executed by a receiving end device, and the service processing method can include but is not limited to steps S3410 to step S3430.

[0139] Step S3410: Extract a third transport container from the received third target information, and extract a first code block stream from the third transport container. Among them, the third transport container includes an overhead code block and a time slot code block. The number of bits of the overhead code block and the number of bits of the time slot code block are both consistent with the number of bits of the first code block in the first code block stream. The overhead code block carries overhead information, the time slot code block carries the first code block, the first code block stream is obtained by transcoding a 66-bit code block stream, the 66-bit code block stream is obtained by performing 64B / 66B coding on the service flow, and the number of bits of the first code block is greater than 66;

[0140] Step S3420: Perform reverse transcoding on the first code block stream to obtain a 66-bit code block stream;

[0141] Step S3430: Decode the 66-bit code block stream with 64B / 66B to obtain a service flow.

[0142] In a feasible implementation manner, the third target information may be ordinary Ethernet service information or high-quality service information. For example, the high-quality service information may be CBR service, high-quality Ethernet service information (such as eCPRI service information), voice service information, video service information, game service information, etc., which is not specifically limited here. Among them, the high-quality service information may be encapsulated in various formats, such as the eCPRI protocol message format or the Ethernet packet format, etc.; the ordinary Ethernet service information may be download service information, etc., which is not specifically limited here.

[0143] In a feasible implementation manner, the third target information may be obtained by the sending device after mapping the first code block stream to the first transport container carried by multiple transport instances and then performing code block interleaving on the first transport container carried by multiple transport instances. Therefore, the received third target information may be sent by the sending device. That is to say, the third target information may be the first target information described above. In this case, the third transport container may be the first transport container described above.

[0144] In a feasible implementation manner, the third target information may also be obtained by the intermediate device after mapping the first code block stream to the second transport container carried by multiple transport instances and then performing code block interleaving on the second transport container carried by multiple transport instances. Therefore, the received third target information may also be sent by the intermediate device. That is to say, the third target information may be the second target information described above. In this case, the third transport container may be the second transport container described above.

[0145] In a feasible implementation manner, the transcoding of the 66-bit code block stream may be 66B / 257B encoding. Therefore, the first code block in the obtained first code block stream may be a code block with a length of 257 bits.

[0146] In a feasible implementation manner, a time slot code block is a code block sent in a time slot.

[0147] In a feasible embodiment, the overhead code block may include a first overhead code block and a second overhead code block. There is a fixed number of time slot code blocks between the overhead code blocks in the third transport container. For example, there are 4 * 1023 * 5 time slot code blocks between the overhead code blocks in the third transport container. Additionally, the third transport container may be arranged in the order of the first overhead code block, a plurality of time slot code blocks, the second overhead code block, and a plurality of time slot code blocks. Among them, the first overhead code block may carry the overhead content of the first four overhead blocks in the FlexE overhead frame, and the second overhead code block may carry the overhead content of the last four overhead blocks in the FlexE overhead frame. In an embodiment, the first overhead code block, the time slot code block, and the second overhead code block may all be code blocks with a length of 257 bits. Therefore, the third transport container arranged in the order of the first overhead code block, a plurality of time slot code blocks, the second overhead code block, and a plurality of time slot code blocks can form a new FlexE frame based on a 257-bit length provided by the embodiments of the present application.

[0148] In a feasible embodiment, there are 4 * 1023 * 5 time slot code blocks between the first overhead code block and the second overhead code block.

[0149] In a feasible embodiment, the first overhead code block may include a first synchronization header, a first code block type field, a first overhead field, a second overhead field, a third overhead field, and a fourth overhead field. The content of the first code block type field may be used to indicate the content type of the first overhead field, the second overhead field, the third overhead field, and the fourth overhead field. The first overhead field may carry the overhead content of the first overhead block in the FlexE overhead frame. The second overhead field may carry the overhead content of the second overhead block in the FlexE overhead frame. The third overhead field may carry the overhead content of the third overhead block in the FlexE overhead frame. The fourth overhead field may carry the overhead content of the fourth overhead block in the FlexE overhead frame. Among them, the first overhead field may include a first overhead sub-field and a second overhead sub-field. The first overhead sub-field may carry a part of the content of the first byte of the first overhead block in the FlexE overhead frame, and the second overhead sub-field may carry the content of the last seven bytes of the first overhead block in the FlexE overhead frame.

[0150] In a feasible embodiment, when the last four overhead blocks in the FlexE overhead frame are all data blocks, the second overhead code block may include a second synchronization header, a fifth overhead field, a sixth overhead field, a seventh overhead field, and an eighth overhead field. Among them, the fifth overhead field may carry the overhead content of the fifth overhead block in the FlexE overhead frame. The sixth overhead field may carry the overhead content of the sixth overhead block in the FlexE overhead frame. The seventh overhead field may carry the overhead content of the seventh overhead block in the FlexE overhead frame. The eighth overhead field may carry the overhead content of the eighth overhead block in the FlexE overhead frame.

[0151] In a feasible implementation, when there is a control block in the last four overhead blocks of the FlexE overhead frame, the second overhead code block may include a second synchronization header, a second code block type field, a fifth overhead field, a sixth overhead field, a seventh overhead field, and an eighth overhead field. Among them, the content of the second code block type field can be used to indicate the content types of the fifth overhead field, the sixth overhead field, the seventh overhead field, and the eighth overhead field. The fifth overhead field can carry the overhead content of the fifth overhead block in the FlexE overhead frame. The sixth overhead field can carry the overhead content of the sixth overhead block in the FlexE overhead frame. The seventh overhead field can carry the overhead content of the seventh overhead block in the FlexE overhead frame. The eighth overhead field can carry the overhead content of the eighth overhead block in the FlexE overhead frame.

[0152] In a feasible implementation, when the first overhead block among the last four overhead blocks of the FlexE overhead frame is a control block, that is, when the fifth overhead block in the FlexE overhead frame is a control block, the fifth overhead field may include a third overhead field and a fourth overhead field. Among them, the third overhead field can carry a part of the content of the first byte of the fifth overhead block in the FlexE overhead frame, and the fourth overhead field can carry the content of the last seven bytes of the fifth overhead block in the FlexE overhead frame.

[0153] In a feasible implementation, when the second overhead block among the last four overhead blocks of the FlexE overhead frame is a control block, that is, when the sixth overhead block in the FlexE overhead frame is a control block, the sixth overhead field may include a third overhead field and a fourth overhead field. Among them, the third overhead field can carry a part of the content of the first byte of the sixth overhead block in the FlexE overhead frame, and the fourth overhead field can carry the content of the last seven bytes of the sixth overhead block in the FlexE overhead frame.

[0154] In a feasible implementation, when the third overhead block among the last four overhead blocks of the FlexE overhead frame is a control block, that is, when the seventh overhead block in the FlexE overhead frame is a control block, the seventh overhead field may include a third overhead field and a fourth overhead field. Among them, the third overhead field can carry a part of the content of the first byte of the seventh overhead block in the FlexE overhead frame, and the fourth overhead field can carry the content of the last seven bytes of the seventh overhead block in the FlexE overhead frame.

[0155] In a feasible embodiment, when the fourth overhead block among the last four overhead blocks in the FlexE overhead frame is a control block, that is, when the eighth overhead block in the FlexE overhead frame is a control block, the eighth overhead field may include a third overhead field and a fourth overhead field. Among them, the third overhead field may carry a part of the content of the first byte of the eighth overhead block in the FlexE overhead frame, and the fourth overhead field may carry the content of the last seven bytes of the eighth overhead block in the FlexE overhead frame.

[0156] In this embodiment, by adopting the service processing method including the above steps S3410 to S3430, after extracting the third transport container from the received third target information, extracting the first code block stream from the third transport container, then performing inverse coding on the first code block stream to recover a 66-bit code block stream, and then performing 64B / 66B decoding on the 66-bit code block stream to recover the service stream. Since the third transport container includes an overhead code block and a time slot code block, where the number of bits of the overhead code block and the time slot code block are both the same as the number of bits of the first code block in the first code block stream, and the overhead code block carries overhead information and the time slot code block carries the first code block, more service information can be carried in the time slot code block, thereby improving the transmission bandwidth of a single time slot, reducing the number of processed time slots, and further improving the data processing efficiency.

[0157] In an embodiment, when the number of third transport containers is multiple, when extracting the third transport container from the received third target information, code block deinterleaving may be performed on the received third target information to obtain multiple third transport containers. Among them, in the process of performing code block deinterleaving on the received third target information to obtain multiple third transport containers, code block deinterleaving may be first performed on the received third target information to obtain multiple second candidate transport containers, and then padding code blocks are deleted from the multiple second candidate transport containers to obtain multiple third transport containers, where the number of bits of the padding code block is the same as the number of bits of the first code block.

[0158] It should be noted that in one embodiment, when the rate of the Ethernet physical interface is 50 Gbit / s, 200 Gbit / s, 400 Gbit / s, 800 Gbit / s, 1600 Gbit / s or other rates, the sending device or the intermediate device will insert padding code blocks into the third transport container (i.e., the first transport container or the second transport container) carried by each transport instance. In this case, after the receiving device performs code block deinterleaving on the third target information (i.e., the first target information or the second target information) to obtain multiple second candidate transport containers, it is necessary to perform corresponding padding code block deletion processing on these second candidate transport containers. In another embodiment, when the rate of the Ethernet physical interface is 100 Gbit / s, since the sending device or the intermediate device may not insert padding code blocks into the third transport container carried by each transport instance, in this case, after the receiving device performs code block deinterleaving on the third target information to obtain multiple second candidate transport containers, it is not necessary to perform corresponding padding code block deletion processing on these second candidate transport containers.

[0159] It should be noted that in the method for processing services executed by the receiving device provided in the embodiments of the present application, the relevant structure description of the new FlexE frame based on a 257-bit length can refer to the relevant description content in the previous embodiments. To avoid redundant content, it will not be elaborated here.

[0160] The following uses a specific example to elaborate in detail on the method for processing services executed by the receiving device provided in the embodiments of the present application.

[0161] Such as Figure 35As shown, in the receiving-end device, when each high-speed physical interface receives a traffic flow (such as the first target information sent by the sending-end device or the second target information sent by the intermediate device), first, a 257-bit code block is recovered from the traffic flow to obtain a high-rate 257-bit code block stream, and then the high-rate 257-bit code block stream is subjected to code block deinterleaving to obtain a code block stream of multiple transmission instances (i.e., the second candidate transmission container), where the transmission rate of each transmission instance is 100 Gbit / s. For example, the code block stream of 257 bits on a 200 Gbit / s physical interface is subjected to code block deinterleaving to obtain a code block stream of 2 transmission instances; or the code block stream of 257 bits on a 400 Gbit / s physical interface is subjected to code block deinterleaving to obtain a code block stream of 4 transmission instances; or the code block stream of 257 bits on an 800 Gbit / s physical interface is subjected to code block deinterleaving to obtain a code block stream of 8 transmission instances; or the code block stream of 257 bits on a 1600 Gbit / s physical interface is subjected to code block deinterleaving to obtain a code block stream of 16 transmission instances. In addition, the code block stream of 257 bits on a 1600 Gbit / s physical interface can also be subjected to code block deinterleaving to obtain two code block streams with a transmission rate of 800 Gbit / s each. The structures of these two code block streams with a transmission rate of 800 Gbit / s each are the same as those of the code block stream of the 800 Gbit / s physical interface. Then, the code block stream of 800 Gbit / s is further subjected to code block deinterleaving to obtain a code block stream of 8 transmission instances. Next, in the code block stream of each transmission instance, the pad code blocks (i.e., padding code blocks) are stripped and deleted, and then the overhead code blocks are searched for and located in each transmission instance, and alignment is performed based on the overhead code blocks. All time slot code blocks of the master calendar (shim layer) are recovered in sequence in the time slot member arrangement of all transmission instances, where each time slot code block is a code block with a length of 257 bits; then, according to the bearer time slot selected by the service, the 257-bit code block of the service is extracted from the corresponding time slot code block, and then the 257-bit code block is subjected to reverse coding (such as 66B / 257B decoding) to recover a 66-bit code block stream, and then the 66-bit code block stream is subjected to 64B / 66B decoding to recover the original traffic flow.

[0162] In addition, an embodiment of the present application also discloses a network device, which includes a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor executes the computer program, it implements the processing method of the service in any of the previous embodiments.

[0163] In addition, an embodiment of the present application also discloses a computer-readable storage medium, in which computer-executable instructions are stored, and the computer-executable instructions are used to execute the processing method of the service in any of the previous embodiments.

[0164] In addition, an embodiment of the present application also discloses a computer program product, including a computer program or computer instructions. The computer program or computer instructions are stored in a computer-readable storage medium. A processor of the network device reads the computer program or computer instructions from the computer-readable storage medium, and the processor executes the computer program or computer instructions, so that the network device executes the processing method of the service in any of the previous embodiments.

[0165] Those of ordinary skill in the art can understand that all or some of the steps and systems in the methods disclosed above can be implemented as software, firmware, hardware, and appropriate combinations thereof. Some physical components or all physical components can be implemented as software executed by a processor, such as a central processing unit, a digital signal processor, or a microprocessor, or can be implemented as hardware, or can be implemented as an integrated circuit, such as an application-specific integrated circuit. Such software can be distributed on a computer-readable medium, which can include a computer storage medium (or non-transitory medium) and a communication medium (or transitory medium). As is well known to those of ordinary skill in the art, the term computer storage medium includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information, such as computer-readable instructions, data structures, program modules, or other data. Computer storage media include but are not limited to RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disc (DVD) or other optical disc storage, magnetic cassette, tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and can be accessed by a computer. In addition, as is well known to those of ordinary skill in the art, a communication medium generally includes computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transmission mechanism, and can include any information delivery medium.

[0166] The above is a specific description of the preferred embodiments of the present application, but the present application is not limited to the above embodiments. Those skilled in the art can also make various equivalent deformations or substitutions without departing from the spirit of the present application, and these equivalent deformations or substitutions are all included within the scope defined by the claims of the present application.

Claims

1. A method for processing a service, comprising: Performing 64B / 66B encoding on a service flow to obtain a 66-bit code block stream; Transcoding the 66-bit code block stream to obtain a first transcoded code block stream, wherein the number of bits of the first code block in the first code block stream is greater than 66; Mapping the first code block stream to a first transport container and sending the first transport container, wherein the first transport container includes an overhead code block and a time slot code block, and the number of bits of the overhead code block and the number of bits of the time slot code block are both consistent with the number of bits of the first code block, the overhead code block carries overhead information, and the time slot code block carries the first code block.

2. The method according to claim 1, wherein The overhead code block includes a first overhead code block and a second overhead code block, and there is a fixed number of the time slot code blocks between the overhead code blocks in the first transport container.

3. The method according to claim 2, wherein The first overhead code block carries the overhead content of the first four overhead blocks in the FlexE overhead frame, and the second overhead code block carries the overhead content of the last four overhead blocks in the FlexE overhead frame.

4. The method according to claim 3, characterized in that The first overhead code block includes a first synchronization header, a first code block type field, a first overhead field, a second overhead field, a third overhead field, and a fourth overhead field. The content of the first code block type field is used to indicate the content types of the first overhead field, the second overhead field, the third overhead field, and the fourth overhead field. The first overhead field carries the overhead content of the first overhead block in the FlexE overhead frame, the second overhead field carries the overhead content of the second overhead block in the FlexE overhead frame, the third overhead field carries the overhead content of the third overhead block in the FlexE overhead frame, and the fourth overhead field carries the overhead content of the fourth overhead block in the FlexE overhead frame.

5. The method according to claim 4, wherein The first overhead field includes a first overhead sub-field and a second overhead sub-field. The first overhead sub-field carries a partial content of the first byte content of the first overhead block in the FlexE overhead frame, and the second overhead sub-field carries the content of the last seven bytes of the first overhead block in the FlexE overhead frame.

6. The method according to claim 3, characterized in that, When the last four overhead blocks in the FlexE overhead frame are all data blocks, the second overhead code block includes a second synchronization header, a fifth overhead field, a sixth overhead field, a seventh overhead field, and an eighth overhead field. The fifth overhead field carries the overhead content of the fifth overhead block in the FlexE overhead frame, the sixth overhead field carries the overhead content of the sixth overhead block in the FlexE overhead frame, the seventh overhead field carries the overhead content of the seventh overhead block in the FlexE overhead frame, and the eighth overhead field carries the overhead content of the eighth overhead block in the FlexE overhead frame.

7. The method according to claim 3, characterized in that, When there is a control block in the last four overhead blocks of the FlexE overhead frame, the second overhead code block includes a second synchronization header, a second code block type field, a fifth overhead field, a sixth overhead field, a seventh overhead field, and an eighth overhead field. The content of the second code block type field is used to indicate the content types of the fifth overhead field, the sixth overhead field, the seventh overhead field, and the eighth overhead field. The fifth overhead field carries the overhead content of the fifth overhead block in the FlexE overhead frame. The sixth overhead field carries the overhead content of the sixth overhead block in the FlexE overhead frame. The seventh overhead field carries the overhead content of the seventh overhead block in the FlexE overhead frame. The eighth overhead field carries the overhead content of the eighth overhead block in the FlexE overhead frame.

8. The method according to claim 7, wherein: The fifth overhead field includes a third overhead field and a fourth overhead field. The third overhead field carries a part of the content of the first byte of the fifth overhead block in the FlexE overhead frame. The fourth overhead field carries the content of the last seven bytes of the fifth overhead block in the FlexE overhead frame. Or, The sixth overhead field includes a third overhead field and a fourth overhead field. The third overhead field carries a part of the content of the first byte of the sixth overhead block in the FlexE overhead frame. The fourth overhead field carries the content of the last seven bytes of the sixth overhead block in the FlexE overhead frame. Or, The seventh overhead field includes a third overhead field and a fourth overhead field. The third overhead field carries a part of the content of the first byte of the seventh overhead block in the FlexE overhead frame. The fourth overhead field carries the content of the last seven bytes of the seventh overhead block in the FlexE overhead frame. Or, The eighth overhead field includes a third overhead field and a fourth overhead field. The third overhead field carries a part of the content of the first byte of the eighth overhead block in the FlexE overhead frame. The fourth overhead field carries the content of the last seven bytes of the eighth overhead block in the FlexE overhead frame.

9. The method according to claim 1, wherein The transcoding of the 66-bit code block stream to obtain the transcoded first code block stream includes: Inserting or deleting 66-bit idle code blocks from the 66-bit code block stream to obtain the speed-adapted 66-bit code block stream; Transcoding the speed-adapted 66-bit code block stream to obtain the transcoded first code block stream.

10. The method according to claim 9, characterized in that, The transcoding of the speed-adapted 66-bit code block stream to obtain the transcoded first code block stream includes: Adjusting the positions of multiple 66-bit idle code blocks in the speed-adapted 66-bit code block stream to obtain the 66-bit code block stream after aggregating multiple 66-bit idle code blocks; Transcoding the 66-bit code block stream after aggregating multiple 66-bit idle code blocks to obtain the transcoded first code block stream.

11. The method according to claim 1, characterized in that, During the transcoding of the 66-bit code block stream, the following steps are included: Insert or delete 66-bit idle code blocks in the 66-bit code block stream to obtain a group of idle code blocks consisting of four consecutive 66-bit idle code blocks; Transcode the group of idle code blocks to obtain target idle code blocks, where the number of bits of the target idle code blocks is the same as the number of bits of the first code block.

12. The method according to claim 1, wherein During the transcoding of the 66-bit code block stream, when one of the following situations exists in four consecutive 66-bit code blocks used for the same transcoding, insert or delete 66-bit idle code blocks between the end code block and the start code block, so that the end code block is in the four consecutive 66-bit code blocks of the previous transcoding, and the start code block is in the four consecutive 66-bit code blocks of the next transcoding: In the four consecutive 66-bit code blocks, the first 66-bit code block is the end code block, the second 66-bit code block is the start code block, and the third and fourth 66-bit code blocks are both code blocks of any type; In the four consecutive 66-bit code blocks, the first 66-bit code block is the end code block, the second and fourth 66-bit code blocks are both code blocks of any type, and the third 66-bit code block is the end code block; In the four consecutive 66-bit code blocks, the first 66-bit code block is the end code block, the second and third 66-bit code blocks are both code blocks of any type, and the fourth 66-bit code block is the start code block; In the four consecutive 66-bit code blocks, the first and fourth 66-bit code blocks are both code blocks of any type, the second 66-bit code block is the end code block, and the third 66-bit code block is the start code block; In the four consecutive 66-bit code blocks, the first and third 66-bit code blocks are both code blocks of any type, the second 66-bit code block is the end code block, and the fourth 66-bit code block is the start code block; In the four consecutive 66-bit code blocks, the first and second 66-bit code blocks are both code blocks of any type, the third 66-bit code block is the end code block, and the fourth 66-bit code block is the start code block.

13. The method according to claim 12, wherein The mapping of the first code block stream to the first transport container includes: Insert or delete target idle code blocks for the first code block stream to obtain the first code block stream after speed adaptation, where the number of bits of the target idle code blocks is the same as the number of bits of the first code block; Map the first code block stream after speed adaptation to the first transport container.

14. The method according to claim 1, characterized in that, The mapping of the first code block stream to the first transport container includes: Map the first code block stream to multiple time slot code blocks; Allocate multiple time slot code blocks to different transmission instances, and insert a first overhead code block and a second overhead code block at preset positions in each transmission instance to obtain a first transport container carried by multiple transmission instances, where there is a preset number of time slot code blocks between the first overhead code block and the second overhead code block.

15. The method according to claim 14, characterized in that, The sending of the first transport container includes: Perform codeblock interleaving on the first transport containers carried by multiple said transport instances to obtain first target information including the first transport containers; Transmit the first target information.

16. The method according to claim 15, wherein The performing codeblock interleaving on the first transport containers carried by multiple said transport instances to obtain first target information including the first transport containers includes: Insert padding codeblocks into the first transport containers carried by each of the transport instances to obtain first candidate transport containers carried by each of the transport instances, where the number of bits of the padding codeblocks is the same as the number of bits of the first codeblocks; Perform codeblock interleaving on the first candidate transport containers carried by multiple said transport instances to obtain first target information including the first transport containers.

17. A method for processing a service, including: Extract a first codeblock stream from the received first target information, where the first codeblock stream is obtained by transcoding a 66-bit codeblock stream, the 66-bit codeblock stream is obtained by performing 64B / 66B encoding on a service stream, and the number of bits of the first codeblocks in the first codeblock stream is greater than 66; Map the first codeblock stream to a second transport container and transmit the second transport container, where the second transport container includes overhead codeblocks and time slot codeblocks, the number of bits of the overhead codeblocks and the number of bits of the time slot codeblocks are both the same as the number of bits of the first codeblocks, the overhead codeblocks carry overhead information, and the time slot codeblocks carry the first codeblocks.

18. The method according to claim 17, wherein The overhead codeblocks include a first overhead codeblock and a second overhead codeblock, and there are a fixed number of the time slot codeblocks between the overhead codeblocks in the second transport container.

19. The method according to claim 18, wherein The first overhead codeblock carries the overhead content of the first four overhead blocks in the FlexE overhead frame, and the second overhead codeblock carries the overhead content of the last four overhead blocks in the FlexE overhead frame.

20. The method according to claim 19, wherein The first overhead codeblock includes a first synchronization header, a first codeblock type field, a first overhead field, a second overhead field, a third overhead field, and a fourth overhead field. The content of the first codeblock type field is used to indicate the content types of the first overhead field, the second overhead field, the third overhead field, and the fourth overhead field. The first overhead field carries the overhead content of the first overhead block in the FlexE overhead frame, the second overhead field carries the overhead content of the second overhead block in the FlexE overhead frame, the third overhead field carries the overhead content of the third overhead block in the FlexE overhead frame, and the fourth overhead field carries the overhead content of the fourth overhead block in the FlexE overhead frame.

21. The method according to claim 20, wherein The first overhead field includes a first overhead subfield and a second overhead subfield. The first overhead subfield carries a part of the content of the first byte of the first overhead block in the FlexE overhead frame, and the second overhead subfield carries the content of the last seven bytes of the first overhead block in the FlexE overhead frame.

22. The method according to claim 19, wherein When the last four overhead blocks in the FlexE overhead frame are all data blocks, the second overhead code block includes a second synchronization header, a fifth overhead field, a sixth overhead field, a seventh overhead field, and an eighth overhead field. The fifth overhead field carries the overhead content of the fifth overhead block in the FlexE overhead frame. The sixth overhead field carries the overhead content of the sixth overhead block in the FlexE overhead frame. The seventh overhead field carries the overhead content of the seventh overhead block in the FlexE overhead frame. The eighth overhead field carries the overhead content of the eighth overhead block in the FlexE overhead frame.

23. The method according to claim 19, characterized in that, When there is a control block among the last four overhead blocks in the FlexE overhead frame, the second overhead code block includes a second synchronization header, a second code block type field, a fifth overhead field, a sixth overhead field, a seventh overhead field, and an eighth overhead field. The content of the second code block type field is used to indicate the content types of the fifth overhead field, the sixth overhead field, the seventh overhead field, and the eighth overhead field. The fifth overhead field carries the overhead content of the fifth overhead block in the FlexE overhead frame. The sixth overhead field carries the overhead content of the sixth overhead block in the FlexE overhead frame. The seventh overhead field carries the overhead content of the seventh overhead block in the FlexE overhead frame. The eighth overhead field carries the overhead content of the eighth overhead block in the FlexE overhead frame.

24. The method according to claim 23, wherein: The fifth overhead field includes a third overhead sub - field and a fourth overhead sub - field. The third overhead sub - field carries a partial content of the first byte content of the fifth overhead block in the FlexE overhead frame. The fourth overhead sub - field carries the content of the last seven bytes of the fifth overhead block in the FlexE overhead frame. Or, The sixth overhead field includes a third overhead sub - field and a fourth overhead sub - field. The third overhead sub - field carries a partial content of the first byte content of the sixth overhead block in the FlexE overhead frame. The fourth overhead sub - field carries the content of the last seven bytes of the sixth overhead block in the FlexE overhead frame. Or, The seventh overhead field includes a third overhead sub - field and a fourth overhead sub - field. The third overhead sub - field carries a partial content of the first byte content of the seventh overhead block in the FlexE overhead frame. The fourth overhead sub - field carries the content of the last seven bytes of the seventh overhead block in the FlexE overhead frame. Or, The eighth overhead field includes a third overhead sub - field and a fourth overhead sub - field. The third overhead sub - field carries a partial content of the first byte content of the eighth overhead block in the FlexE overhead frame. The fourth overhead sub - field carries the content of the last seven bytes of the eighth overhead block in the FlexE overhead frame.

25. The method according to claim 17, characterized in that, The mapping of the first code block stream to the second transport container includes: Inserting or deleting target idle code blocks into or from the first code block stream to obtain the first code block stream after speed adaptation, where the number of bits of the target idle code blocks is the same as the number of bits of the first code block. Mapping the first code block stream after speed adaptation to the second transport container.

26. The method according to claim 25, wherein In the case where the target idle code block does not exist in the first code block stream, but there are multiple 66-bit idle code blocks in the 66-bit code block stream, the process of deleting the target idle code block from the first code block stream includes: Perform inverse coding on the first code block stream to obtain the 66-bit code block stream; Adjust the positions of the multiple 66-bit idle code blocks in the 66-bit code block stream to obtain the 66-bit code block stream after aggregating the multiple 66-bit idle code blocks; Perform transcoding on the 66-bit code block stream after aggregating the multiple 66-bit idle code blocks to obtain a new first code block stream including multiple target idle code blocks; Delete the target idle code block from the new first code block stream.

27. The method according to claim 25, characterized in that, The first code block is obtained by transcoding four consecutive 66-bit code blocks; when the last one of the four consecutive 66-bit code blocks corresponding to the previous first code block is not a control code block, or the first one of the four consecutive 66-bit code blocks corresponding to the next first code block is not a control code block, the process of inserting the target idle code block into the first code block stream includes: Perform inverse coding on the first code block stream to obtain the 66-bit code block stream; Determine multiple target code block groups composed of four consecutive 66-bit code blocks that meet the preset conditions in the 66-bit code block stream; Insert or delete 66-bit idle code blocks between the end code block and the start code block in the multiple target code block groups, so that the end code block is in the previous target code block group and the start code block is in the next target code block group, to obtain multiple new target code block groups; Perform transcoding on the multiple new target code block groups to obtain a new first code block stream; Insert the target idle code block into the new first code block stream; Among them, the preset conditions include one of the following: In the target code block group, the first 66-bit code block is the end code block, the second 66-bit code block is the start code block, and the third and fourth 66-bit code blocks are both code blocks of any type; In the target code block group, the first 66-bit code block is the end code block, the second and fourth 66-bit code blocks are both code blocks of any type, and the third 66-bit code block is the end code block; In the target code block group, the first 66-bit code block is the end code block, the second and third 66-bit code blocks are both code blocks of any type, and the fourth 66-bit code block is the start code block; In the target code block group, the first and fourth 66-bit code blocks are both code blocks of any type, the second 66-bit code block is the end code block, and the third 66-bit code block is the start code block; In the target code block group, the first and third 66-bit code blocks are both code blocks of any type, the second 66-bit code block is the end code block, and the fourth 66-bit code block is the start code block; In the target code block group, the first 66-bit code block and the second 66-bit code block are both code blocks of any type, the third 66-bit code block is the end code block, and the fourth 66-bit code block is the start code block.

28. The method according to claim 17, characterized in that, Extracting a first code block stream from the received first target information includes: Performing code block de-interleaving on the received first target information to obtain a plurality of first transport containers; Extracting the first code block stream from the plurality of first transport containers.

29. The method according to claim 17, characterized in that, Mapping the first code block stream to a second transport container includes: Mapping the first code block stream to a plurality of the time slot code blocks; Allocating the plurality of time slot code blocks to different transmission instances, and inserting a first overhead code block and a second overhead code block at preset positions in each of the transmission instances to obtain a second transport container carried by each of the transmission instances, where there is a preset number of the time slot code blocks between the first overhead code block and the second overhead code block.

30. The method according to claim 29, characterized in that, Sending the second transport container includes: Performing code block interleaving on the second transport containers carried by the plurality of transmission instances to obtain second target information including the second transport container; Sending the second target information.

31. A method for processing a service, including: Extracting a third transport container from the received third target information, and extracting a first code block stream from the third transport container, where the third transport container includes an overhead code block and a time slot code block, the number of bits of the overhead code block and the number of bits of the time slot code block are both consistent with the number of bits of a first code block in the first code block stream, the overhead code block carries overhead information, the time slot code block carries the first code block, the first code block stream is obtained by transcoding a 66-bit code block stream, the 66-bit code block stream is obtained by performing 64B / 66B encoding on a service stream, and the number of bits of the first code block is greater than 66; Performing reverse transcoding on the first code block stream to obtain the 66-bit code block stream; Performing 64B / 66B decoding on the 66-bit code block stream to obtain the service stream.

32. The method according to claim 31, wherein The overhead code block includes a first overhead code block and a second overhead code block, and there is a fixed number of the time slot code blocks between the overhead code blocks in the third transport container.

33. The method according to claim 32, wherein The first overhead code block carries the overhead content of the first four overhead blocks in the FlexE overhead frame, and the second overhead code block carries the overhead content of the last four overhead blocks in the FlexE overhead frame.

34. The method according to claim 33, wherein The first overhead code block includes a first synchronization header, a first code block type field, a first overhead field, a second overhead field, a third overhead field, and a fourth overhead field. The content of the first code block type field is used to indicate the content types of the first overhead field, the second overhead field, the third overhead field, and the fourth overhead field. The first overhead field carries the overhead content of the first overhead block in the FlexE overhead frame, the second overhead field carries the overhead content of the second overhead block in the FlexE overhead frame, the third overhead field carries the overhead content of the third overhead block in the FlexE overhead frame, and the fourth overhead field carries the overhead content of the fourth overhead block in the FlexE overhead frame.

35. The method according to claim 34, wherein The first overhead field includes a first overhead sub - field and a second overhead sub - field. The first overhead sub - field carries partial content of the first byte of the first overhead block in the FlexE overhead frame, and the second overhead sub - field carries the content of the last seven bytes of the first overhead block in the FlexE overhead frame.

36. The method according to claim 33, wherein When the last four overhead blocks in the FlexE overhead frame are all data blocks, the second overhead code block includes a second synchronization header, a fifth overhead field, a sixth overhead field, a seventh overhead field, and an eighth overhead field. The fifth overhead field carries the overhead content of the fifth overhead block in the FlexE overhead frame, the sixth overhead field carries the overhead content of the sixth overhead block in the FlexE overhead frame, the seventh overhead field carries the overhead content of the seventh overhead block in the FlexE overhead frame, and the eighth overhead field carries the overhead content of the eighth overhead block in the FlexE overhead frame.

37. The method according to claim 33, wherein When there is a control block among the last four overhead blocks in the FlexE overhead frame, the second overhead code block includes a second synchronization header, a second code block type field, a fifth overhead field, a sixth overhead field, a seventh overhead field, and an eighth overhead field. The content of the second code block type field is used to indicate the content type of the fifth overhead field, the sixth overhead field, the seventh overhead field, and the eighth overhead field. The fifth overhead field carries the overhead content of the fifth overhead block in the FlexE overhead frame, the sixth overhead field carries the overhead content of the sixth overhead block in the FlexE overhead frame, the seventh overhead field carries the overhead content of the seventh overhead block in the FlexE overhead frame, and the eighth overhead field carries the overhead content of the eighth overhead block in the FlexE overhead frame.

38. The method according to claim 37, wherein: The fifth overhead field includes a third overhead sub - field and a fourth overhead sub - field. The third overhead sub - field carries partial content of the first byte of the fifth overhead block in the FlexE overhead frame, and the fourth overhead sub - field carries the content of the last seven bytes of the fifth overhead block in the FlexE overhead frame; Or, The sixth overhead field includes a third overhead sub - field and a fourth overhead sub - field. The third overhead sub - field carries partial content of the first byte of the sixth overhead block in the FlexE overhead frame, and the fourth overhead sub - field carries the content of the last seven bytes of the sixth overhead block in the FlexE overhead frame; Or, The seventh overhead field includes a third overhead sub - field and a fourth overhead sub - field. The third overhead sub - field carries partial content of the first byte of the seventh overhead block in the FlexE overhead frame, and the fourth overhead sub - field carries the content of the last seven bytes of the seventh overhead block in the FlexE overhead frame; Or, The eighth overhead field includes a third overhead sub - field and a fourth overhead sub - field. The third overhead sub - field carries partial content of the first byte of the eighth overhead block in the FlexE overhead frame, and the fourth overhead sub - field carries the content of the last seven bytes of the eighth overhead block in the FlexE overhead frame.

39. The method according to claim 31, wherein The number of the third transport containers is multiple. Extracting the third transport container from the received third target information includes: Perform code block deinterleaving on the received third target information to obtain a plurality of the third transport containers.

40. The method according to claim 39, characterized in that, The performing code block deinterleaving on the received third target information to obtain a plurality of the third transport containers includes: Perform code block deinterleaving on the received third target information to obtain a plurality of second candidate transport containers; Delete padding code blocks from the plurality of second candidate transport containers to obtain a plurality of the third transport containers, wherein the number of bits of the padding code blocks is the same as the number of bits of the first code blocks.

41. A network device, comprising: A memory, a processor, and a computer program stored on the memory and executable on the processor, wherein the processor implements the processing method of the service according to any one of claims 1 to 40 when executing the computer program.

42. A computer-readable storage medium storing computer-executable instructions for executing the processing method of the service according to any one of claims 1 to 40.