CN114257333A - Processing method and device of code block stream - Google Patents

Processing method and device of code block stream Download PDF

Info

Publication number
CN114257333A
CN114257333A CN202011016575.4A CN202011016575A CN114257333A CN 114257333 A CN114257333 A CN 114257333A CN 202011016575 A CN202011016575 A CN 202011016575A CN 114257333 A CN114257333 A CN 114257333A
Authority
CN
China
Prior art keywords
code block
control code
blocks
stream
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011016575.4A
Other languages
Chinese (zh)
Inventor
钟其文
徐丽
李日欣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202011016575.4A priority Critical patent/CN114257333A/en
Priority to PCT/CN2021/117859 priority patent/WO2022062930A1/en
Publication of CN114257333A publication Critical patent/CN114257333A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • H04L1/0003Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate by switching between different modulation schemes
    • H04L1/0004Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate by switching between different modulation schemes applied to control information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

The application discloses a processing method and a device of code block stream, wherein the method comprises the following steps: the sending end obtains a first code block stream, wherein the first code block stream comprises at least two code blocks, and the at least two code blocks comprise at least two first control code blocks. Then, the transmitting end determines at least one target control code block of the at least two first control code blocks, which is a first control code block that may be replaced with a second control code block. Then, when the second control code block needs to be inserted, the sending end replaces one target control code block in the at least one target control code block with the second control code block to obtain a second code block stream. And finally, the sending end sends the second code block stream, and the receiving end deletes and/or adds the first control code block according to the rate adaptation requirement after acquiring the second code block stream.

Description

Processing method and device of code block stream
Technical Field
The present application relates to the field of communications technologies, and in particular, to a method and an apparatus for processing a code block stream.
Background
An Inter Packet Gap (IPG) exists between a Media Access Control (MAC) frame and a MAC frame, and the length of the average IPG is at least 12 bytes. The IPG between MAC frames may be used to fill an idle (idle) code block or called an idle character (hereinafter, simply referred to as an idle code block), and the like.
The idle code block may be deleted, replaced with another control code block, or the like. Therefore, how to reasonably utilize the idle code block needs to be solved.
Disclosure of Invention
The application provides a method and a device for processing a code block stream, which can ensure that an idle code block is reasonably utilized.
In a first aspect, the present application provides a method for processing a code block stream, where the method includes: obtaining a first code block stream, wherein the first code block stream comprises at least two code blocks, and the at least two code blocks comprise at least two first control code blocks; determining at least one target control code block of the at least two first control code blocks, the target control code block being a first control code block that may be replaced with a second control code block; and when the second control code block needs to be inserted, replacing one target control code block in the at least one target control code block with the second control code block to obtain a second code block stream.
The method provided by the embodiment of the application can be applied to a communication device, the communication device can include a sending end, and the sending end can include an interface (NII) and/or a User Network Interface (UNI) between networks or between devices in the networks. The target control code block shown here may be replaced with a second control code block, meaning whether the target control code block is to be replaced with the second control code block, depending on, on the one hand, the requirements of the second control code block, i.e., whether the transmitting end needs to insert the second control code block in the first code block stream. On the other hand, depending on whether there are other higher priority control code blocks (e.g. the third control code block) that need to be inserted into the first stream of code blocks, i.e. the target control code block may also be used to be replaced by the third control code block, etc.
In this embodiment of the application, the sending end determines at least one target control code block of the at least two first control code blocks, so that when the sending end needs to insert a second control code block, all the first control code blocks are replaced with the second control code block, or the sending end is prevented from arbitrarily inserting the second control code block in the first code block stream as needed. Therefore, the first control code block can be reasonably utilized by the sending end, and the situation that the receiving end does not have enough first control code block to be deleted when the first control code block needs to be deleted due to the rate adaptation requirement is avoided. In other words, by ensuring that the first control code block is reasonably utilized by the sending end, the receiving end can have enough first control code blocks to be deleted, thereby avoiding increasing the processing time delay of the receiving end and ensuring that the receiving end processes the code block stream in time.
In one possible implementation, the first control code block is any one of an idle (idle) code block, a Low Power Idle (LPI) code block, or an error (error) code block.
In one possible implementation, the second control code block includes any one or more of an Auto Protection Switching (APS) code block, a Connection Verification (CV) code block, a Delay Measurement (DM) code block, and a client signal type indication (CS) code block.
In the embodiment of the present application, the DM code block may include one-way delay measurement (1 DM), two-way delay measurement (2 DMM), two-way delay measurement response (2 DMMR), or the like.
In a possible implementation manner, the second control code block includes any one or more of automatic protection switching APS information, link verification CV information, delay measurement DM information, and customer signal type indication CS information.
In one possible implementation, the determining at least one target control code block of the at least two first control code blocks includes: determining at least one non-target control code block of the at least two first control code blocks, the non-target control code block being a first control code block that cannot be replaced with the second control code block.
In this embodiment, the at least two first control code blocks may be divided into a target control code block and a non-target control code block, and the scheme described above mainly includes that the transmitting end directly determines the target control code block. However, the transmitting end may also indirectly determine the target control code block by determining the non-target control code block. Thus, the transmitting end determines at least one non-target control code block of the at least two first control code blocks, and the non-target control code block is a first control code block that cannot be replaced with a second control code block.
In one possible implementation, the non-target control code block is a reserved first control code block.
The specific role of the non-target control code block is not limited in the embodiments of the present application.
In one possible implementation, the non-targeted control code block is a first control code block reserved based on rate adaptation requirements.
In other words, the non-target control code block may be the first control code block deleted based on rate adaptation requirements.
In one possible implementation, the determining at least one non-target control code block of the at least two first control code blocks comprises: determining the at least one non-target control code block of the at least two first control code blocks according to a first threshold, the first threshold being derived based on rate adaptation requirements.
In this embodiment, the first threshold may be obtained based on a rate adaptation requirement, and if a frequency offset existing between two ports is 200ppm, the first threshold may be obtained according to the 200 ppm. The first threshold is also derived based on any one or more of the following information: a period of a third control code block, a period of Metro Transport Network (MTN) segment layer overhead information, a period of an Alignment Mark (AM), and a period of an Operation Administration and Maintenance (OAM) code block of an MTN segment layer. In other words, the non-target control code blocks may be deleted by the receiving end based on rate adaptation requirements. Meanwhile, the non-target control code block may be used to compensate for bandwidth resources occupied due to the insertion of any one or more of the above information in the first code block stream.
In one possible implementation, the first stream of code blocks includes N code blocks, where N is greater than 2, and the determining at least one non-target control code block of the at least two first control code blocks includes: at least one non-target control code block is determined from at least two first control code blocks of the N code blocks.
In this embodiment of the application, the determining at least one non-target control code block from among the at least two first control code blocks in the N code blocks may also be understood as: at least one non-target control code block is determined among at least two first control code blocks of every N code blocks.
In one possible implementation, N is 5000.
In one possible implementation, the determining at least one non-target control code block of the at least two first control code blocks comprises: determining a first control code block of the N code blocks as the non-target control code block.
In this embodiment, the transmitting end may determine the first control code block in every 5000 code blocks as a non-target control code block, and thus, the remaining first control code blocks included in the 5000 code blocks may be target control code blocks. Illustratively, the first stream of code blocks includes 2 x 5000 code blocks, then at least one non-target control code block may be determined in the first 5000 code blocks, and then at least one non-target control code block may be determined in the second 5000 code blocks. For example, the transmitting end may determine at least one non-target control code block of at least two first control code blocks within a detection window. 5000 code blocks may be included within the detection window.
In one possible implementation, before replacing one of the at least one target control code block with the second control code block to obtain a second code block stream, the method further includes: marking the at least one target control code block; replacing one of the at least one target control code block with the second control code block to obtain a second code block stream, including: replacing one of the marked at least one target control code block with the second control code block, resulting in the second code block stream.
In one possible implementation, before replacing one of the at least one target control code block with the second control code block to obtain a second code block stream, the method further includes: marking the at least one non-target control code block; replacing one of the at least one target control code block with the second control code block to obtain a second code block stream, including: replacing one of the unmarked first control code blocks with the second control code block, resulting in the second code block stream.
In the embodiment of the application, the sending end can replace the target control code block with the second control code block according to the marking result when the sending end needs to insert the second control code block by marking the target control code block or the non-target control code block. Therefore, the efficiency of inserting the second control code block into the transmitting end is effectively improved.
In one possible implementation manner, the replacing one of the at least one target control code block with the second control code block to obtain a second code block stream includes: and replacing one target control code block in the at least one target control code block with the second control code block according to the period of the second control code block and/or the priority of the second control code block to obtain a second code block stream.
In one possible implementation, the first code block stream further includes a third control code block.
In this embodiment, the first code block stream acquired by the transmitting end may be a code block stream into which the third control code block has been inserted. It is understood that the insertion order of the third control code block shown here is merely an example. In the embodiment of the present application, the insertion order of the third control code block may be before the transmitting end determines the non-target control code block (or the target control code block), or the insertion order of the third control code block may be after the transmitting end determines the non-target control code block (or the target control code block). The insertion method of the third control code block may be an idle code block replacement method, an IPG interpolation method, or the like, and the order of insertion, the insertion method, or the like of the third control code block is not limited in the embodiments of the present application.
In a second aspect, the present application provides a method for processing a code block stream, where the method includes: obtaining a first code block stream, wherein the first code block stream comprises at least two code blocks, and the at least two code blocks comprise a first boundary code block and a second boundary code block; determining a period of a second control code block according to the number of code blocks between the first boundary code block and the second boundary code block; and when the second control code block needs to be inserted, inserting at least one second control code block in the first code block stream according to the period of the second control code block to obtain a second code block stream.
In the embodiment of the present application, the first boundary code block and the second boundary code block may be different types of boundary code blocks, for example, the first boundary code block may be a start S code block, and the second boundary code block may be an end T code block. Thus, the period of the second control code block is determined according to the number of code blocks between the S code block and the T code block. Thereby making it reasonable for the second control code block to be inserted into the code block stream. The method avoids the situation that the receiving end does not have enough idle code blocks to be deleted due to the fact that the second control code block occupies excessive idle resources, and avoids the increase of the processing time delay of the receiving end.
In one possible implementation manner, the number of code blocks between the first boundary code block and the second boundary code block is different, and the period of the second control code block is different.
In one possible implementation manner, the ranges corresponding to the number of code blocks between the first boundary code block and the second boundary code block are different, and the periods of the second control code blocks are different.
In one possible implementation, the determining a period of a second control code block according to the number of code blocks between the first boundary code block and the second boundary code block includes: determining a ratio of a first control code block in the at least two code blocks according to the number of code blocks between the first boundary code block and the second boundary code block; and determining the period of the second control code block according to the ratio of the first control code block in the at least two code blocks and a first threshold, wherein the first threshold is obtained based on rate adaptation requirements.
In one possible implementation, determining a period of a second control code block according to the number of code blocks between the first boundary code block and the second boundary code block includes: determining the period of the second control code block according to the maximum value of the code block number between the first boundary code block and the second boundary code block within a preset time length; or determining the period of the second control code block according to the maximum value of the code block number between the first boundary code block and the second boundary code block within preset times, where the preset times are used to indicate the statistical times of the code block number between the first boundary code block and the second boundary code block.
In the embodiment of the present application, the larger the number of code blocks between the first boundary code block and the second boundary code block is, the smaller the ratio of the first control code block in at least two code blocks is, and thus, the smaller the ratio of the second control code block in the at least two code blocks is, the larger the period of the obtained second control code block is. Therefore, the period of the second control code block is determined according to the maximum value of the code block number between the S code block and the T code block, and the situation that the determined period of the second control code block is too small and the second control code block occupies too much resources of the first control code block is avoided, so that the receiving end does not have enough resources of the first control code block to be deleted. In other words, the period of the second control code block is determined by the maximum value of the code block number between the first boundary code block and the second boundary code block, so that the receiving end is effectively ensured to have enough first control code blocks to be deleted, and the time delay of processing the code block stream by the receiving end is prevented from being increased.
In one possible implementation manner, the inserting at least one second control code block in the first code block stream according to the period of the second control code block to obtain a second code block stream includes: and inserting at least one second control code block into the first code block stream according to the period of the second control code block and the position of the first control code block included in the first code block stream.
In this embodiment, when the sending end needs to insert the second control code block, the second control code block needs to be inserted into the first code block stream according to not only the period of the second control code block but also the position of the first control code block in the first code block stream. And the insertion mode of the second control code block can be an idle replacement mode or an IPG forced insertion mode.
It is to be understood that, in the second aspect, reference may be made to the introduction in the first aspect for descriptions of the second control code block, the first control code block, and the like, and details of embodiments of the present application are not repeated.
In a third aspect, the present application provides a communication device for performing the method of the first aspect or any possible implementation manner of the first aspect.
The communication device comprises corresponding means for performing the method of the first aspect or any possible implementation manner of the first aspect. For example, the communication device may include a transceiving unit and a processing unit. The communication apparatus may be the transmitting end shown in the first aspect.
In a fourth aspect, the present application provides a communication device for performing the method of the second aspect or any possible implementation manner of the second aspect.
The communication device comprises corresponding means for performing the method of the second aspect or any possible implementation of the second aspect. For example, the communication device may include a transceiving unit and a processing unit. The communication apparatus may be the transmitting end shown in the second aspect.
In a fifth aspect, the present application provides a communication device comprising a processor configured to perform the method of the first aspect or any possible implementation manner of the first aspect.
In the course of executing the method shown in the present application, a process of transmitting a stream of code blocks (e.g., a second stream of code blocks, etc.) and/or receiving a stream of code blocks, etc., may be understood as a process of outputting a stream of code blocks by a processor and/or a process of receiving an input stream of code blocks by a processor. In outputting the stream of code blocks, the processor may output the stream of code blocks to a transceiver for transmission by the transceiver. The stream of code blocks, after being output by the processor, may also need to undergo other processing before reaching the transceiver. Similarly, when the processor receives an incoming stream of code blocks, the transceiver receives the stream of code blocks and inputs it to the processor. Further, after the transceiver receives the stream of code blocks, the stream of code blocks may need to be further processed and then input to a processor.
The operations relating to the processor, such as transmitting, sending and receiving, may be understood more generally as operations relating to the processor, such as outputting and receiving, inputting, etc., than those performed directly by the rf circuitry and antenna, unless specifically stated otherwise, or if not contradicted by their actual role or inherent logic in the associated description.
In implementation, the processor may be a processor dedicated to performing the methods, or may be a processor executing computer instructions in a memory to perform the methods, such as a general-purpose processor. The memory may be a non-transitory (non-transitory) memory, such as a Read Only Memory (ROM), which may be integrated on the same chip as the processor or separately disposed on different chips.
In one possible implementation, the memory is located outside the communication device.
In one possible implementation, the memory is located within the communication device.
In the embodiments of the present application, it is also possible that the processor and the memory are integrated in one device, that is, the processor and the memory are also integrated together.
In a possible implementation, the communication device further comprises a transceiver for receiving signals and/or transmitting signals.
Illustratively, the transceiver may be configured to transmit a second stream of code blocks, and so on.
In a sixth aspect, the present application provides a communication apparatus comprising a processor for executing a computer program stored in a memory, which when executed, causes the communication apparatus to perform a method as set forth in the second aspect or any possible implementation manner of the second aspect.
In one possible implementation, the memory is located outside the communication device.
In one possible implementation, the memory is located within the communication device.
In the embodiments of the present application, it is also possible that the processor and the memory are integrated in one device, that is, the processor and the memory are also integrated together.
In a possible implementation, the communication device further comprises a transceiver for receiving signals and/or transmitting signals.
Illustratively, the transceiver may be configured to transmit a second stream of code blocks, and so on.
In a seventh aspect, the present application provides a communication device comprising a logic circuit and an interface, the logic circuit and the interface being coupled; the logic circuit is configured to obtain a first code block stream, where the first code block stream includes at least two code blocks, and the at least two code blocks include at least two first control code blocks; and further to determine at least one target control code block of the at least two first control code blocks, the target control code block being a first control code block that may be replaced with a second control code block; and replacing one of the at least one target control code block with the second control code block to obtain a second code block stream when the second control code block needs to be inserted.
In a possible implementation manner, the interface is configured to output the second stream of code blocks.
In one possible implementation, the logic circuitry is specifically configured to determine at least one non-target control code block of the at least two first control code blocks, the non-target control code block being a first control code block that cannot be replaced with the second control code block.
In one possible implementation, the logic circuit is specifically configured to determine the at least one non-target control code block of the at least two first control code blocks according to a first threshold, where the first threshold is obtained based on a rate adaptation requirement.
In a possible implementation manner, the logic circuit is further configured to mark the at least one target control code block, and replace one of the marked at least one target control code block with the second control code block, resulting in the second code block stream.
In one possible implementation, the logic circuitry is further configured to mark the at least one non-target control code block; and replacing one of the unmarked first control code blocks with the second control code block to obtain the second code block stream.
In a possible implementation manner, the logic circuit is specifically configured to replace one target control code block of the at least one target control code block with the second control code block according to a period of the second control code block and/or a priority of the second control code block, so as to obtain a second code block stream.
In the embodiments of the present application, reference may be made to the first aspect for the description of the target control code block, the non-target control code block, the first control code block, the second control code block, and the third control code block, which will not be described in detail herein.
In an eighth aspect, the present application provides a communication device comprising a logic circuit and an interface, the logic circuit and the interface being coupled; the logic circuit is configured to obtain a first code block stream, where the first code block stream includes at least two code blocks, and the at least two code blocks include a first boundary code block and a second boundary code block; and further for determining a periodicity of a second control code block according to the number of code blocks between the first and second boundary code blocks; and the method is further configured to insert at least one second control code block in the first code block stream according to a period of the second control code block to obtain a second code block stream when the second control code block needs to be inserted.
In a possible implementation manner, the interface is configured to output the second stream of code blocks.
In one possible implementation, the logic circuit is specifically configured to determine a ratio of a first control code block in the at least two code blocks according to the number of code blocks between the first boundary code block and the second boundary code block; and determining the period of the second control code block according to the ratio of the first control code block in the at least two code blocks and a first threshold, wherein the first threshold is obtained based on rate adaptation requirements.
In a possible implementation manner, the logic circuit is specifically configured to determine a period of the second control code block according to a maximum value of the code block number between the first boundary code block and the second boundary code block within a preset time duration; or determining the period of the second control code block according to the maximum value of the code block number between the first boundary code block and the second boundary code block within preset times, where the preset times are used to indicate the statistical times of the code block number between the first boundary code block and the second boundary code block.
In one possible implementation, the logic circuit is specifically configured to insert at least one of the second control code blocks in the first code block stream according to a period of the second control code block and a position of an IPG included in the first code block stream.
In one possible implementation, the logic circuit is specifically configured to insert at least one of the second control code blocks in the first code block stream according to a period of the second control code blocks and a position of a first control code block included in the first code block stream.
In the embodiments of the present application, reference may be made to the second aspect for the description of the target control code block, the non-target control code block, the first control code block, the second control code block, and the third control code block, which will not be described in detail herein.
In a ninth aspect, the present application provides a computer readable storage medium for storing a computer program which, when run on a computer, causes the method illustrated in the first aspect or any possible implementation of the first aspect described above to be performed.
In a tenth aspect, the present application provides a computer-readable storage medium for storing a computer program which, when run on a computer, causes the method shown in the second aspect or any possible implementation of the second aspect described above to be performed.
In an eleventh aspect, the present application provides a computer program product comprising a computer program or computer code which, when run on a computer, causes the method illustrated in the first aspect or any possible implementation of the first aspect described above to be performed.
In a twelfth aspect, the present application provides a computer program product comprising a computer program or computer code which, when run on a computer, causes the method shown in the second aspect or any possible implementation of the second aspect described above to be performed.
In a thirteenth aspect, the present application provides a computer program which, when run on a computer, performs the method of the first aspect described above or shown in any possible implementation form of the first aspect.
In a fourteenth aspect, the present application provides a computer program which, when run on a computer, performs the method of the second aspect described above or any possible implementation of the second aspect.
Drawings
Fig. 1 is a schematic diagram of an MTN network architecture provided in an embodiment of the present application;
fig. 2 illustrates different code block definitions of 64B/66B according to an embodiment of the present disclosure;
fig. 3a is a schematic diagram illustrating an example of an idle code block replacement method according to the present application;
FIG. 3b is a schematic diagram of an IPG break-in provided by an embodiment of the present application;
fig. 4a illustrates O code blocks of different types according to an embodiment of the present application;
FIG. 4b is a schematic diagram of a cycle provided by an embodiment of the present application;
fig. 5a and fig. 5b are schematic diagrams of a network architecture provided by an embodiment of the present application;
fig. 5c is a schematic diagram of a relationship between a PHY and a timeslot according to an embodiment of the present application;
fig. 6 is a flowchart illustrating a method for processing a code block stream according to an embodiment of the present application;
fig. 7a and fig. 7b are schematic diagrams of an MTN channel layer O code block insertion module according to an embodiment of the present disclosure;
fig. 7c is a schematic diagram of an identified idle code block according to an embodiment of the present application;
fig. 7d and fig. 7e are schematic diagrams of an MTN channel layer O code block insertion module according to an embodiment of the present disclosure;
fig. 8a and fig. 8b are schematic specific flowcharts of a method for processing a code block stream according to an embodiment of the present application;
fig. 9a is a flowchart illustrating a method for processing a code block stream according to an embodiment of the present application;
fig. 9b and 9c are schematic diagrams illustrating an insertion manner of a non-BAS code block according to an embodiment of the present application;
fig. 10a and fig. 10b are schematic diagrams of an MTN channel layer O code block insertion module according to an embodiment of the present disclosure;
fig. 10c is a schematic specific flowchart of a method for processing a code block stream according to an embodiment of the present application;
fig. 11 to fig. 13 are schematic structural diagrams of a communication device according to an embodiment of the present application.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more clear, the present application will be further described with reference to the accompanying drawings.
The terms "first" and "second," and the like in the description, claims, and drawings of the present application are used solely to distinguish between different objects and not to describe a particular order. Furthermore, the terms "comprising" and "having," as well as any variations thereof, are intended to cover non-exclusive inclusions. Such as a process, method, system, article, or apparatus that comprises a list of steps or elements is not limited to only those steps or elements listed, but may alternatively include other steps or elements not listed, or inherent to such process, method, article, or apparatus.
Reference herein to "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the application. The appearances of the phrase in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Those skilled in the art will explicitly and implicitly appreciate that the embodiments described herein may be combined with other embodiments.
In this application, "at least one" means one or more, "a plurality" means two or more, "at least two" means two or three and three or more, "and/or" for describing an association relationship of associated objects, which means that there may be three relationships, for example, "a and/or B" may mean: only A, only B and both A and B are present, wherein A and B may be singular or plural. The character "/" generally indicates that the former and latter associated objects are in an "or" relationship. "at least one item(s) below" or similar expressions refer to any combination of these items. For example, at least one (one) of a, b, or c, may represent: a, b, c, "a and b," a and c, "" b and c, "or" a and b and c.
The terms referred to in the present application are described in detail below.
1. Metropolitan area transport network (metro transport network, MTN)
MTN is a new generation transport network technology system defined by the international telecommunications union (ITU-T) aiming at new service requirements such as the fifth generation communication technology (5th-generation, 5G) on the basis of flexible ethernet (FlexE) design logic. The MTN includes complete transport network functions such as interfacing, interleaving, Operation Administration and Maintenance (OAM), administration and management, or protection. Fig. 1 is a schematic diagram of an MTN network architecture, and as shown in fig. 1, an MTN may include an MTN path layer (MTN path layer) and an MTN section layer (MTN section layer). The MTN channel layer includes an MTN channel adaptation layer (MTN path adaptation), an MTN channel termination layer (MTN path tail termination), an MTN channel connection layer (MTN path connection), and the like. The MTN segment layer includes an MTN segment layer adaptation layer (MTN section adaptation) and an MTN segment layer termination layer (MTN section trail termination). Optionally, the MTN segment layer may further include an adaptation layer (adaptation).
It is understood that, the MTN channel adaptation layer, the MTN channel termination layer, the MTN channel connection layer, or the MTN segment layer termination layer may also have other names, for example, the MTN channel adaptation layer may also be referred to as an MTN channel adaptation function module, and the like, which is not limited in this application.
Generally, the service flow acquired by the transmitting end can enter an MTN domain MTN channel adaptation layer through a MAC and is adapted to be in the form of 64B/66B code block flow. After the 64B/66B code block stream enters the MTN channel termination layer, an Operation Administration and Maintenance (OAM) code block (if there is no special description, the below-shown O code block may be understood as an MTN channel layer OAM code block) is inserted into the 64B/66B code block stream, and the OAM code block may include OAM information. Then, the sending end may perform 1.5-layer forwarding through an MTN path connection layer (MTN path connection), that is, determine a corresponding relationship of the ingress port at the MTN path connection layer, thereby determining the port. An MTN section adaptation layer (MTN section adaptation) is an adaptation function from a channel layer to a section layer, and each path of MAC service stream (for example, in the form of a 64B/66B code block) in the MTN section adaptation layer is interleaved to form a path of 64B/66B code block stream. Then, the 64B/66B code block stream goes through the MTN section layer termination layer (MTN section termination) and is inserted into the overhead information such as section layer OAM. The 64B/66B code block stream then passes through an adaptation layer (adaptation) into the physical layer for transmission, etc. Illustratively, the 64B/66B code block stream may also be subjected to scrambling codes, channel distribution, Alignment Marker (AM) insertion functionality, and the like.
On the contrary, after the receiving end receives the 64B/66B code block stream, the flow direction of the 64B/66B code block stream received by the receiving end is opposite to the flow direction of the 64B/66B code block stream transmitted by the transmitting end. For example, a 64B/66B code block stream received by the receiving end may sequentially pass through, for example, an MTN segment layer, an MTN channel layer, and the like. For example, the receiving end may delete and/or add the first control code block in the 64B/66B code block stream when passing the MTN segment layer adaptation layer based on the rate adaptation requirement.
The segment layer of the MTN is functionally similar to OIF FlexE shim from the protocol stack point of view. The current version of the MTN segment layer reuses compatible Flexe, and the segment layer frame format of the current version of the MTN reserves the Flexe frame format.
It is understood that the 64B/66B code blocks described above are only one example, and reference may be made to the P1B/P2B code blocks described below for other types of code blocks.
It is understood that the above-described channel layer OAM information may include Basic (BAS) information, Automatic Protection Switching (APS) information, Connection Verification (CV) information, Delay Measurement (DM) information, or client signal type indication (CS) information, etc. Therefore, at the MTN channel termination layer, a 64B/66B code block stream may be inserted with BAS code blocks, APS code blocks, CV code blocks, DM code blocks, CS code blocks, or the like.
2. Code block (block)
P1B/P2B code Block: one encoding scheme may also be referred to as a P1B/P2B bit block (bit block), or may also be referred to as a P1B/P2B block, or may also be referred to as a P1B/P2B coding block, or may also be referred to as a P1B/P2B bit stream, or may also be referred to as a P1/P2 (or P1b/P2b) bit block, or the like. Where P1 denotes the number of payload bits in a code block (or bit block); p2 denotes the total number of bits of a code block, P2-P1 denotes the number of bits of a sync header in a code block, P1, P2 are positive integers, and P2 is larger than P1. For example, the above-mentioned P1B/P2B code blocks may be 8B/10B code blocks, 64B/66B code blocks, 128B/130B code blocks, 256B/258B code blocks, etc., and the specific values of the above-mentioned P1 and P2 are not limited in this application.
Illustratively, what is carried on an Ethernet (Ethernet) physical layer link is such a P1B/P2B bit block. For example, 1G Ethernet (1gigabit Ethernet, 1GE) adopts 8B/10B bit block coding mode, and 1GE physical layer link transfers 8B/10B bit block; the 10GE/40GE/100GE adopts a 64B/66B bit block coding mode, and the 10GE/40GE/100GE physical layer link transfers 64B/66B bit blocks. It is understood that, in the future, with the development of ethernet technology, other encoding modes may also occur, such as 128B/130B (also referred to as 128B/130B) bit block, 256B/258B (also referred to as 256B/258B) bit block, and the present application does not limit the specific values of the above-mentioned P1 and P2.
The method provided by the present application will be exemplified below by 64B/66B code blocks. It is understood that the 64B/66B code blocks shown below may also be replaced by 64B/66B bit blocks, or 64/66 code blocks, or 64/66 bit blocks, or 64B/66B code blocks, or 64B/66B bit blocks, or 64B/66B bit block streams, or 64B/66B code blocks, etc.
By way of example, fig. 2 illustrates a different pattern definition for a 64B/66B code block. As shown in fig. 2, 2 bits "10" or "01" of the header are synchronization header bits, and the last 64 bits are payload bits, which can be used to carry payload data and the like. Each row in FIG. 2 represents a pattern definition, where D0-D7 represent data bytes, C0-C7 represent control bytes, S0 represents the beginning of a MAC frame, and T0-T7 represent the end of a MAC frame.
3. Rate adaptation requirement
Generally, there is a 200ppm frequency offset between any two ethernet ports or ports based on the physical layer (PHY), i.e., there is a ± 100ppm deviation between any two ports. For example, taking 100G bit Ethernet (100 GE) Ethernet port as an example, the nominal rate is 100Gbit/s, but the actual rate may be 100Gbit/s
Figure BDA0002699269220000091
Namely the actual speed is 103.1146875 Gbit/s-103.1353125 Gbit/s.
An Inter Packet Gap (IPG) exists between a Media Access Control (MAC) frame and a MAC frame, and the length of the average IPG is at least 12 bytes. The IPG between MAC frames may be used to fill control code blocks, and may include idle code blocks or idle characters (hereinafter, idle code blocks are used as an example), for example. Thus, to accommodate the frequency offset between the ports shown above, the communication device may add or delete control code blocks, such as idle code blocks. For example, when the sending rate of the sending end is faster than the sending rate of the receiving end, the writing rate of the buffer data of the receiving end is faster than the reading rate, and the buffer overflow is caused in the past for a long time, so the receiving end needs to avoid the buffer overflow of the receiving end by deleting the control code block such as the idle code block. For another example, when the sending rate of the sending end is slower than the sending rate of the receiving end, the buffer writing rate of the receiving end is slower than the reading rate, and the buffer reading is empty in the past for a long time, so the receiving end needs to avoid the buffer reading of the receiving end by adding a control code block such as an idle code block. In the above-described method, regardless of the method of adding a control code block such as an idle code block or the method of deleting a control code block such as an idle code block, the effective data MAC frame is not changed, but only the control code block such as an idle code block filled in the IPG is added or deleted.
The difference between the sending rate of the sending end and the sending rate of the receiving end shown above results in a requirement that the receiving end needs to delete and/or add idle code blocks, which is referred to as a rate adaptation requirement for short. In other words, due to rate adaptation requirements, the receiving end needs to delete and/or add idle code blocks. Further, in the present application, the requirement that the receiving end needs to delete and/or add idle code blocks due to other reasons may also be referred to as a rate adaptation requirement. That is, regardless of the rate difference between ports or other ways of occupying the bandwidth resources occupied by the idle code block, the receiving end needs to delete and/or add the idle code block, which may be called a rate adaptation requirement.
It is understood that the rate adaptation shown in this application may also be referred to as rate adaptation. Thus, the rate adaptation requirement may also be referred to as a rate adjustment requirement, etc., and the name is not limited in this application.
4. OAM code block
As can be seen from the description of fig. 1, the MTN needs to insert an OAM code block at the MTN channel layer. Further, the OAM code block is generally inserted into a frame gap, which can be understood as a frame gap between a MAC frame and a MAC frame at a MAC layer, and a control code block such as an idle code block, a Low Power (LPI) code block, an error (error) code block, or an O code block between an end code block and a start code block at a Physical Coding Sublayer (PCS) layer. For convenience of description, the various embodiments provided below will be described below by taking an idle code block as an example.
It is to be understood that the OAM code blocks presented in this application may also be understood as sequence (O) code blocks or signal (O) code blocks. For convenience of description, various embodiments provided below will be described below by taking an O code block as an example.
Further, the MTN may be inserted into the O code block in two ways, the first is an idle code block replacement way, and the second is an IPG interpolation way, which are described below separately.
The first method comprises the following steps: the idle code block replacement requires at least one idle code block in the 64B/66B code block stream. Fig. 3a shows a schematic diagram of different code block types of a 64B/66B code block stream, and as can be seen from fig. 3a, an idle code block (i.e., I in fig. 3 a) can be replaced by an O code block.
And the second method comprises the following steps: the IPG interpolation may not require an idle code block in the 64B/66B code block stream, i.e., may not require an idle code block at the IPG position, and the O code block may be inserted as long as the end of the MAC frame, e.g., the T code block, is found. As shown in fig. 3b, the way of forced insertion such as IPG may insert an O code block after a T code block; as another example, an idle code block (i.e. I in fig. 3 b) may be followed by an O code block. In other words, the way of IPG interpolation can be understood as inserting an O code block after a T code block and before an S code block, but excluding a data code block (i.e., a D code block) between the T code block and the S code block. Due to the bandwidth occupied by the insertion of the O code block by the transmitting end, the receiving end can compensate by the deletion of the idle code block.
In general, there may be multiple types of O code blocks, and fig. 4a shows different types of O code blocks. As shown in fig. 4a, the O code blocks may include basic block/path status and error monitoring Block (BAS), Auto Protection Switching (APS) code blocks, Connection Verification (CV) code blocks, Delay Measurement (DM) code blocks, client signal type indication (CS) code blocks, and the like. The BAS may include a remote failure indication signal (RDI), a Remote Error Indication (REI), a parity (BIP), and the like. The DM code block may include one-way delay measurement (1 DM), two-way delay measurement (2 DMM), two-way delay measurement response (2 DMMR), or the like. The CS may also be referred to as a load type indication (PTI), and the like, and the present application does not limit specific names of the O code blocks of the respective types.
Specifically, since the BAS code block occupies a small bandwidth, one code block can carry all information. The type O code blocks such as CV code blocks and DM code blocks require a large bandwidth and need to be carried by a plurality of O code blocks. Different types of O code blocks can be divided into single code blocks and multiple code blocks according to the number of code blocks required. It can be understood that when the communication device needs to transmit a plurality of code blocks, the communication device may transmit in an OAM information interleaving manner, or may transmit in a code block interleaving manner. From the degree of importance, BAS is strong in real-time, high in transmission frequency and higher in priority, and meanwhile, in order to implement protection switching in time, the priority of APS code blocks is also high. The CV code block, the DM code block, the CS code block, and the like have low transmission frequency and weak real-time performance, and can tolerate large detection jitter, so the priority is low.
The type of the O code block described above is merely an example, and the application is not limited to other types where the O code block may exist.
5. Period of time
Even though the different types of O code blocks shown in the present application have a certain period, the periods of the different types of O code blocks may have a certain fluctuation because the O code blocks can only be inserted into the IPG. As shown in fig. 4b, the insertion position of the O code block is determined to be the first position according to the period T of the O code block, but the O code block cannot be inserted in the middle of the data code block, and thus, the insertion position of the O code block is the second position. Meanwhile, the period of the next O code block may also be counted from the first position shown in fig. 4 b. In other words, since the O code block can be inserted only in the middle of the IPG, the period or interval, etc. shown below can be understood as a nominal value, and the actual period of the O code block may float to some extent, but the float to some extent does not accumulate within the period of the next O code block. That is, in the embodiments shown below in the present application, when an O code block needs to be inserted, the O code block needs to be inserted not only according to the period of the O code block but also according to the position of the IPG (including the position of the idle code block, etc.), that is, the position of the idle code block.
The method for deleting the idle code block can not only adapt to the requirement of rate adaptation, but also obtain bandwidth for other code blocks/messages by deleting the idle code block. For example, Alignment Marks (AM) in the physical layer (PHY) of ethernet also need to be transmitted over the link, i.e., bandwidth can be obtained for the idle code block by deleting it. In other words, the bandwidth occupied by the insertion of AM can be compensated by deleting the idle code block. Similarly, the FlexE Overhead (OH) or the MTN segment layer OH may also obtain the bandwidth by deleting the idle code block. That is, the bandwidth resource occupied by the idle code block can be used in the following aspects:
one, FlexE OH information or MTN segment level OH information, for example, one O code block can be inserted into every 1023 × 20 code blocks, i.e., one idle code block is occupied in every 20461 code blocks.
In AM, for example, 100GE, one O code block may be inserted into each 16384 code blocks, that is, each 16384 code blocks occupies one idle code block.
And thirdly, port rate adaptation, wherein the maximum value of rate frequency offset between two ports is 200ppm, and 200ppm is 200/1e6 is 1/5000, so that one idle code block can be occupied in every 5000 code blocks.
And fourthly, the OH information of the MTN channel layer, such as OAM information of the channel layer.
In the worst case, for example, when a 9600 byte message (i.e. corresponding to 1200 code blocks) is sent at the full rate, two consecutive 9600 byte messages may have an idle code block. That is, the occupied ratio of the idle code block in two 9600 byte messages is (1 × 8)/(2 × 9600) ═ 0.00041667. If the expression of the concentration is taken as an example, the concentration of the idle code block in the two 9600-byte messages is about 416.7 ppm. The 9600-byte message is shown above as an example, and in the worst case, the density of the idle code block may be calculated by taking 9616 bytes (that is, corresponding to 1202 code blocks) as an example, and the maximum length of the message is not limited in the present application. Meanwhile, if the above-described one and two are also expressed in terms of concentration, the concentration of idle blocks in every 1023 × 20 blocks is about 49ppm for the FlexE OH or MTN segment OH; for AM, the concentration of idle code blocks in each 16384 code blocks was about 61 ppm. In other words, in the present application, the ratio of occupied by an idle code block in at least two code blocks may be replaced with the density of the idle code block.
It can be seen from the above description that bandwidth resources occupied by an idle code block need not only be used for port rate adaptation, but also be used for MTN segment layer OH information or MTN channel layer OAM information. Therefore, how to reasonably utilize the idle code block needs to be solved urgently.
Further, when the sending rate of the sending end is greater than that of the receiving end, if the receiving end does not have enough idle code blocks to delete the idle code blocks to adapt to the rates of different ports, buffer overflow of the receiving end may be caused or time delay for processing the code blocks may be increased. For example, when the buffer of the receiving end is too small, the sending rate of the receiving end is lower than that of the sending end, that is, the receiving end cannot send out the received code block stream in time, so that the receiving end may overflow the buffer quickly. For example, when the buffer of the receiving end is too large, the sending rate of the receiving end is lower than that of the sending end, so that the receiving end needs to buffer a large number of code blocks, which not only causes a blocking situation, but also increases the processing delay of the receiving end. The receiving end shown here may be understood as the second communication apparatus in fig. 5a, or may be understood as a P1 node, a P2 node, etc. in fig. 5 b.
In view of this, the present application provides a method and an apparatus for processing a code block stream, which can ensure that an idle code block is reasonably utilized, and when a sending end needs to insert a BAS code block or an APS code block, etc., avoid that the sending end replaces any idle code block with the BAS code block or the APS code block, etc., so that a receiving end does not have enough idle code blocks to be deleted due to a speed adaptation requirement. Namely, the method provided by the application can reasonably control the sending end to replace the idle code block with the BAS code block or the APS code block and the like. It can also ensure that enough idle code blocks are deleted by the receiving end. Namely, the method provided by the application can ensure that the receiving end can avoid the buffer overflow of the receiving end in a mode of deleting the control code block in time under the condition that the sending rate of the sending end is greater than that of the receiving end, or can ensure that the receiving end can avoid increasing the processing time delay of the receiving end in a mode of deleting the control code block in time.
The method provided by the application can be applied to a network based on a high-speed serial computer expansion bus standard (PCIe), an ethernet, an Internet Protocol (IP) network, a Packet Transport Network (PTN), an Agile Transport Network (ATN), a Slicing Packet Network (SPN), or an MTN, and the network to which the method provided by the application can be applied is not limited. Reference may be made to the architecture shown in fig. 1 for MTN, and the architecture shown in fig. 1 may also be applied to a Slicing Channel Layer (SCL) of SPN. In other words, reference may also be made to fig. 1 for the introduction of SCL, which is not described in detail here.
Specifically, the method provided in the present application can be applied to a communication device, which may be a computer, a server, a switch (or referred to as a switch device, a switch chip, or the like), a router, a network card, or the like of any form, and the present application is not limited to the specific form of the communication device. That is, the method provided in the present application may be applied to a transmitting end, which may be understood as a device that transmits a stream of code blocks, and for a specific form of the transmitting end, reference may be made to the above-described form of the communication device. The sending end may also be understood as a network edge (PE) node, where the PE node is a network device connected to the PE, and the PE node is provided with an interface (NII) between networks or between devices in a network and/or a User Network Interface (UNI). For convenience of distinction, the transmitting end and the receiving end are taken as examples to illustrate various methods provided by the embodiments of the present application. The receiving end shown here may be understood as a network (P) node, i.e. a network device within the network, and the network node is provided with an NNI.
Fig. 5a is a schematic diagram of a network architecture according to an embodiment of the present application. As shown in fig. 5a, the first communication apparatus may be understood as a transmitting end, and the second communication apparatus may be understood as a receiving end. That is, the first communication device transmits the stream of code blocks to the second communication device, and the second communication device needs to receive the stream of code blocks from the first communication device. Alternatively, the first communication device may be understood as a device that needs to insert an O code block in the MTN channel layer. Alternatively, the first communication device may be understood as a source or a sink and the second communication device may be understood as an intermediate node. Namely, the source end inserts an O code block in the MTN channel layer, and the sink end receives the O code block and reads OAM information in the O code block. Alternatively, the first communication device may be understood as a network edge node (e.g., PE node) and the second communication device may be understood as a network node (e.g., P node).
It is understood that the client interface shown in fig. 5a may also be understood as UNI and the flexible ethernet (FlexE) interface may also be understood as NII.
Fig. 5b is a schematic diagram of a network architecture according to an embodiment of the present application. The network architecture is shown based on an MTN network, and only four nodes are shown in the network architecture shown in fig. 5b, such as a PE1 node, a P1 node, a P2 node, and a PE2 node.
For PE1 nodes and/or PE2 nodes, PE1 nodes and/or PE2 nodes may map customer signals into MTN channels adaptively, insert MTN channel layer O-code blocks, and the like. It is understood that for the specific description of the PE1 node and/or the PE2 node, reference may also be made to the description of fig. 1, which is not detailed here. For the P1 node and/or the P2 node, the P1 node and/or the P2 node may delete idle code blocks at the MTN segment-level adaptation layer according to the rate adaptation requirement. In a possible implementation manner, the P1 node and/or the P2 node may also insert BAS codeblocks or non-BAS codeblocks, etc. into the codeblock stream, which is not limited in this application.
Fig. 6 is a flowchart illustrating a method for processing a code block stream according to an embodiment of the present application, where as shown in fig. 6, the method includes:
601. the sending end obtains a first code block stream, wherein the first code block stream comprises at least two code blocks, and the at least two code blocks comprise at least two first control code blocks.
For a specific description of the code blocks, reference is made to the above description and no further details are given here. As for the description of the first control code block, the following may be mentioned:
the first control code block may be understood as a control code block between an end code block (i.e., T code block) and a start code block (i.e., S code block) adapted due to a frame gap between MAC frames. Specifically, the first control code block may be an idle code block, an LPI code block, an error code block, an O code block, or the like, and the specific type of the first control code block is not limited in the embodiment of the present application. The method provided by the embodiment of the present application will be described below by taking an idle code block as an example, but LPI code blocks, error code blocks, etc. are not excluded, and can be deleted and/or added based on rate adaptation requirements, or replaced by other control code blocks, etc.
Since the sending end can adapt the service stream (i.e. the service stream of the client signal) to the form of 64B/66B code block stream through the MTN channel adaptation layer, the sending end shown in step 601 obtains the first code block stream, which can be understood as: the sending end is adapted to a first code block flow through an MTN channel adaptation layer; or, the sending end obtains the first code block stream through the MTN channel termination layer, and the like.
In one possible implementation, the first code block stream may further include a third control code block. That is, the first code block stream obtained by the transmitting end may be understood as a code block stream obtained by inserting the third control code block into the MTN channel terminating layer, in addition to the code block stream obtained from the MTN channel adaptation layer. For a specific description of the third control code block, reference may be made to the following description regarding the use of the idle code block, which will not be described in detail here.
In connection with fig. 5B, a client signal such as a MAC frame (frame) sequence stream (MAC frame sequence) (also referred to as MAC frames) is converted by the MTN channel adaptation layer into a 64B/66B code block sequence stream after entering the MTN channel adaptation layer, and the 64B/66B code block sequence stream can be understood as a first code block stream. Thus, the MTN determines the path (path) for carrying the first stream of code blocks. It is understood that there may be a one-to-one correspondence between channels and code block streams of client signals, i.e., a channel determined by the MTN to carry a first code block stream may not carry code block streams corresponding to other client signals. In other words, the first stream of code blocks is the stream of code blocks to which the client signal is adapted by the MTN channel adaptation layer. The channel carrying the first stream of code blocks has a correspondence with the client signal.
Further, the MTN may insert a second control code block and/or a third control code block, etc. in the channel for carrying the first code block stream. Then, after the sender obtains the second stream of code blocks, the MTN segment layer may allocate Y time slots to the second stream of code blocks (which may still be understood as being carried in the above channel) according to the rate of the above channel for carrying the first stream of code blocks. For example, as shown in fig. 5c, the bundle group may be bundled by one or more PHYs, and the bandwidth of the bundle group is the sum of the bandwidths of the one or more PHYs. Further, the bundled group may be divided into X slots, and the bandwidth of each slot may include 5Gbps or 25Gbps, etc. Thus, the transmitting end can allocate the second stream of code blocks to the Y time slots shown in fig. 5c through the MTN segment layer. X and Y are both positive integers, and X is greater than or equal to Y. It will be appreciated that the MTN channel shown in fig. 5b can then be understood as the channel shown in fig. 5c comprising Y time slots.
In other words, a client signal (client) may transmit a service stream at a time slot (one time slot or multiple time slots) designated on a bundle, and a plurality of client signals may be carried on one bundle, and one client signal corresponds to one service stream (typically, may be referred to as a Medium Access Control (MAC) client). It is understood that in the present application, the client signal may also be transmitted on one or more time slots of the PHY.
Understanding of the bundling group: consisting of one or more PHYs, such as two 100-bit ethernet (GE) PHY ports, the 2 × 100GE bonding group can support 200G of MAC services. It is understood that the examples given herein are merely examples, and that in particular implementations, bundled groups may have more implementations, and are not described in detail herein.
In conjunction with step 603, shown below, when a second control code block needs to be inserted, replacing one of the at least one target control code block with the second control code block, resulting in a second code block stream, includes: when the second control code block needs to be inserted, one target control code block in at least one target control code block is replaced by the second control code block in a channel carrying the first code block stream, and a second code block stream is obtained. The second stream of code blocks is allocated to Y time slots by the MTN segment layer, and one or more PHYs correspond to X time slots, including Y time slots.
602. The transmitting end determines at least one target control code block of the at least two first control code blocks, which is a first control code block that may be replaced with a second control code block.
The target control code block is a first control code block that can be replaced with a second control code block, in other words, the target control code block can be replaced with the second control code block, or the target control code block is allowed to be replaced with the second control code block, or the target control code block can be replaced with the second control code block, or the target control code block is a first control code block that can be replaced with the second control code block, or the like. That is, in this embodiment of the application, all the first control code blocks may not be replaced by the second control code blocks, but the transmitting end determines the target control code block first, and the determined target control code block may be replaced by the second control code block. That is, the transmitting end needs to distinguish which first control code blocks can be targeted control code blocks, and which first control code blocks cannot be targeted control code blocks.
In the embodiment of the present application, the target control code block is the first control code block that may be replaced by the second control code block, on one hand, because the target control code block may be replaced by the second control code block, and of course, may not be replaced by the second control code block. On the other hand, the target control code block may be replaced with a third control code block having a higher priority than or equal to the second control code block. In other words, whether the target control code block is to be replaced with a second control code block depends on, on the one hand, the requirements of the second control code block, i.e. whether the transmitting end needs to insert the second control code block in the first code block stream. On the other hand, depending on whether there are other higher priority control code blocks (e.g., the third control code block) that need to be inserted into the first stream of code blocks. Two reasons for whether the target control code block can be replaced by the second control code block are shown here, which are only examples, and in a specific implementation, there may be other reasons that the target control code block is not replaced by the second control code block, and the like, and this is not limited in this embodiment of the application.
If the transmitting end does not perform step 602, the transmitting end may replace all the idle code blocks in the first code block stream with the second control code blocks as needed, so that the receiving end may not have enough idle code blocks to delete when the transmission rate of the transmitting end is greater than that of the receiving end. Therefore, in this embodiment of the present application, by determining the target control code block, the sending end avoids that all the first control code blocks are replaced with the second control code blocks when the sending end needs to insert the second control code blocks, or that the sending end arbitrarily inserts the second control code blocks in the first code block stream as needed. Therefore, the sending end can reasonably utilize the idle code blocks, and the situation that the receiving end does not have enough idle code blocks to be deleted when the idle code blocks need to be deleted due to the rate adaptation requirement is avoided. In other words, by ensuring that the sending end reasonably utilizes the idle code blocks, the receiving end can have enough idle code blocks to be deleted, thereby avoiding increasing the processing time delay of the receiving end and ensuring that the receiving end can process the code block stream in time.
The method for determining at least one target control code block of the at least two first control code blocks includes: the transmitting end determines at least one target control code block of the at least two first control code blocks through the MTN channel termination layer.
In one possible implementation, the determining, by the transmitting end, at least one target control code block of the at least two first control code blocks in step 602 includes: the transmitting end determines at least one non-target control code block of the at least two first control code blocks. Specifically, the transmitting end may determine at least one non-target control code block of the at least two first control code blocks according to a first threshold. For the description of the first threshold, reference may be made to the description in other embodiments of the present application, and details are not repeated here.
In the embodiment of the present application, the at least two first control code blocks may be divided into a target control code block and a non-target control code block, and the above description regarding step 602 mainly refers to the transmitting end directly determining the target control code block. However, the transmitting end may also indirectly determine the target control code block by determining the non-target control code block. Thus, the transmitting end determines at least one non-target control code block of the at least two first control code blocks, and the non-target control code block is a first control code block that cannot be replaced with a second control code block.
The purpose of the non-target control code block may be:
use 1: the non-targeted control code block is a first control code block reserved based on rate adaptation requirements. Alternatively, the non-target control code block may be the first control code block deleted based on rate adaptation requirements.
Thus, the transmitting end determining a non-target control code block of the at least two first control code blocks includes: the sending end determines at least one non-target control code block in the at least two first control code blocks according to a first threshold value, wherein the first threshold value is obtained based on rate adaptation requirements. For a specific description of the first threshold, reference is made to the above description. For example, the first threshold value may be greater than 0 and less than or equal to 200ppm, or the like. Since there may be a maximum of 200ppm of frequency offset between two ports, in order to ensure that enough idle code blocks are deleted at the receiving end, the ratio of the non-targeted control code blocks in the first code block stream may be greater than or equal to 0.0002, i.e. the concentration of the non-targeted control code blocks in the first code block stream is greater than or equal to 200 ppm.
For example, the number of code blocks in the first code block stream may be 5000, and the number of non-target control code blocks in the first code block stream may be 1. Or, when the number of idle code blocks in the first code block stream is 2 or 3, the transmitting end may determine one idle code block from the 2 or 3 idle code blocks as a non-target control code block.
It is understood that the first threshold shown here is greater than 0 and less than or equal to 200ppm is merely an example, and when the non-target control code block is used for more purposes shown below, the first threshold may be greater than 200ppm, such as the first threshold may be obtained from any one or more of 200ppm, 49ppm, or 61ppm, and so on, and is not described in detail here.
Use 2: the non-target control code block may be replaced with a third control code block. Alternatively, it may also be understood that the non-target control code block is used to compensate for the bandwidth resources occupied by the insertion of the third control code block.
Thus, the transmitting end determining a non-target control code block of the at least two first control code blocks includes: the transmitting end determines at least one non-target control code block of the at least two first control code blocks according to the period of the third control code block. The third control code block shown here may be understood as a control code block having a higher priority than or equal to the second control code block, e.g. the third control code block may be understood as a BAS code block. In this case, the second control code block may be understood as any one or more of an APS code block, a CV code block, a DM code block, or a CS code block. Alternatively, the third control code block may also be understood as an APS code block, in which case the second control code block may be understood as any one or more of a CV code block, a DM code block, or a CS code block. Alternatively, the third control code block is a BAS code block, the second control code block is a code block including any one or more of APS information, CV information, DM information, and CS information. Illustratively, the second control code block may include APS information and CV information, or the second control code block may include APS information, CV information, DM information, and the like, which is not illustrated here. Alternatively, the third control code block is an APS code block, and the second control code block is a code block including CV information, DM information, or CS information, or the like. The following will illustrate various methods provided by embodiments of the present application, taking the third control code block as a BAS code block, and the second control code block includes any one or more of an APS code block, a CV code block, a DM code block, or a CS code block.
For example, the period of the BAS code blocks may be 16k code blocks, i.e., one BAS code block may be in every 16k (i.e., 16 × 1024) code blocks. In this case, if the non-target control code block is to be replaced with the third control code block, the number of code blocks in the first code block stream may be 16 × 1024, and the number of non-target control code blocks in the first code block stream may be 1. The example shown here is merely exemplified by the case where the non-target control code block can be replaced with the third control code block, and if the use 1 and the use 2 are combined, the number of non-target control code blocks may be 2 or 3, and so on, in the case where the number of code blocks in the first code block stream is 5000. Alternatively, in the case where the number of code blocks in the first code block stream is 16 × 1024, the number of non-target control code blocks may be 5 or 6, and so on. It is understood that the number of code blocks in the first code block stream and the number of non-target control code blocks are only examples, and the embodiments of the present application are not limited thereto.
Optionally, the example shown above is exemplified by combining the use 1 and the use 2, in a specific implementation, the use 1 and the use 2 may also be decoupled, for example, two window counters may be set at the transmitting end, where one window counter is used to count 5000, the other window counter is used to count 16k, and a counter for counting non-target control code blocks may also be set in each window counter. In this case, the present embodiment is not limited to when the BAS code block is inserted into the code block stream. Since the two window counters work independently without interfering with each other, the BAS code block may be inserted into the code block stream first, and then the transmitting end determines the non-target control code block (or target control code block) (as described above with respect to the acquisition of the first code block stream in step 601). Alternatively, the BAS code blocks may be inserted into the code block stream after the non-target control code blocks (or target control code blocks) are determined at the transmitting end (as described in relation to application 2).
In general, the insertion order or the insertion manner of the BAS code blocks is flexible, for example, the insertion order of the BAS code blocks may be before the non-target control code block (or the target control code block) is determined at the transmitting end, or the insertion order of the BAS code blocks may also be after the non-target control code block (or the target control code block) is determined at the transmitting end. The BAS code block insertion method may be an idle code block replacement method, an IPG interpolation method, or the like, and the order of insertion, the insertion method, or the like of the BAS code block is not limited in the embodiments of the present application. The transmitting end may even replace the target control code block with the third control code block or replace the non-target control code block with the third control code block. The third control code block specifically replaces the target control code block or the non-target control code block, and the embodiments of the present application are not limited thereto. If the target control code block is not to be replaced with the second control code block, it may be the target control code block to be replaced with the third control code block, for one reason. Thereby, the target control code block is not replaced with the second control code block.
Use 3: the non-target control code block may be replaced with an MTN segment layer OAM code block. Alternatively, it can also be understood that the non-targeted control code block is used to compensate for the bandwidth resources occupied by inserting the MTN segment layer OAM code block.
Thus, the transmitting end determining a non-target control code block of the at least two first control code blocks includes: and the sending end determines at least one non-target control code block in the at least two first control code blocks according to the period of the MTN section layer OAM code blocks.
The MTN segment layer OAM code block shown here is similar to the MTN channel layer OAM code block shown earlier, except that the O code block described above is an O code block inserted by the sender at the MTN channel layer, and the MTN segment layer OAM code block shown here is an O code block inserted by the sender at the MTN segment layer. For example, MTN segment layer OAM code blocks may include MTN segment layer overhead information. Such as a 64B/66B code block stream, may be inserted into an MTN segment layer OAM code block, or simply an MTN segment layer O code block, as it passes through an MTN segment layer termination layer. The embodiment of the present application is not limited to the period of the OAM code block of the MTN segment layer or the concentration of the OAM code block of the MTN segment layer. For a specific description thereof, reference may be made to the above description and the like regarding the third control code block.
Use 4: the non-targeted control code block may be used to compensate for bandwidth resources occupied by inserting the AM.
Since the sending end may insert AM into the code block stream, the bandwidth resource occupied by the AM insertion may be compensated by the idle code block, for example, the receiving end may delete the idle code block.
Use 5: the non-targeted control code block may be used to compensate for the bandwidth resources occupied by inserting segment layer OH information.
It is understood that for the specific description of the purpose 4 and the purpose 5, reference may be made to the above description about the purpose 1 to the purpose 3, or, alternatively, reference may also be made to the above-introduced bandwidth resources for occupation of an idle code block.
If the usage 1 to the usage 5 are considered, the number of code blocks and the number of non-target control code blocks in the first code block stream may be determined by any one or more of a rate frequency offset between two ports, a period of the third control code block, a period of the MTN segment layer OAM code block, a period of the MTN segment layer overhead information, or a period of the AM.
For example, considering rate frequency offset between two ports, AM (one O-code block inserted every 16384 code blocks) or MTN segment layer overhead information (one O-code block inserted every 1023 × 20 code blocks), and taking concentration as an example, the transmitting end may reserve 310ppm (i.e. 200ppm +49ppm +61ppm) of non-target control code blocks. Thus, the transmitting end may determine one non-target control code block from among idle code blocks included in 3000 code blocks, every 3000 code blocks acquired. Wherein 1/3000 is equal to about 333ppm and 333ppm is greater than 310 ppm. Alternatively, the transmitting end may further acquire 6000 code blocks each time, and determine two non-target control code blocks from idle code blocks included in the 6000 code blocks, and the like, which is not limited in this embodiment of the application. Alternatively, the transmitting end may also determine the number of code blocks included in the code block stream and the number of non-target control code blocks according to the least common multiple of 5000, 20461, and 16384. If the least common multiple is T, the number of non-target control code blocks may be at least (T/5000) + (T/20461) + (T/16384). The calculation result about T shown here may not be an integer, so that the embodiment of the present application may also obtain a final result by rounding up.
It is understood that the above-described uses of the non-target control code block are merely examples, and the embodiments of the present application are not limited to other uses of the non-target control code block.
In one possible implementation, the step 602 includes: at least one non-target control code block is determined from at least two first control code blocks of the N code blocks.
That is, the transmitting end may determine at least one non-target control code block from among at least two first control code blocks of every N code blocks in the first code block stream. Each N code blocks shown here are independent of each other, e.g., after one non-target control code block is determined in the first 5000 code blocks in the first code block stream, the remaining first control code blocks in the first 5000 code blocks are target control code blocks. Then another non-target control code block is determined from the second 5000 code blocks in the first code block stream, and so on. For example, the transmitting end may also determine the first control code block of every 5000 code blocks as a non-target control code block.
603. When the second control code block needs to be inserted, the sending end replaces one target control code block in the at least one target control code block with the second control code block to obtain a second code block stream.
In step 602, the reason why whether the target control code block can be replaced with the second control code block is specifically described. Therefore, in step 603, when the transmitting end needs to insert the second control code block, that is, the target control code block may be replaced with the second control code block, the transmitting end replaces one target control code block of the at least one target control code block with the second control code block, resulting in a second code block stream. For the specific description of step 603, reference may be made to the description of step 602 above, and details thereof will not be described here.
In an embodiment of the present application, the second control code block may include any one or more of an APS code block, a CV code block, a DM code block, or a CS code block. Therefore, the replacement of one target control code block in the at least one target control code block by the second control code block by the transmitting end may be performed in several ways:
first, a transmitting end replaces one target control code block of at least one target control code block with a second control code block according to a priority of the second control code block.
Since the priority of the APS code block may be higher than or equal to the CS code block, when the transmitting end needs to insert the APS code block and the CS code block, the transmitting end may replace at least one target control code block with the APS code block and the CS code block if the number of target control code blocks is enough to be replaced with the APS code block and the CS code block. If the number of target control code blocks only allows the insertion of one second control code block, the transmitting end may replace at least one target control code block with an APS code block according to the priority of the APS code block. It is understood that for the specific description of DM code blocks, CV code blocks, etc., reference may be made to CS code blocks.
Second, the transmitting end replaces one target control code block of the at least one target control code block with the second control code block according to a period of the second control code block.
For example, the period of the CV code blocks may be 1 second, that is, the transmitting end may insert the CV code blocks in the code block stream every 1 second. That is, one of the at least one target control code block is replaced with a CV code block at a period of every 1 second. Alternatively, since the CV code blocks may be understood as multiple code blocks, when the number of the at least one target control code block is allowed to be replaced by 8 CV code blocks as shown in fig. 4a, the transmitting end may replace the at least one target control code block by the CV code blocks. However, in a case where the number of the at least one target control code block is insufficient, the transmitting end may replace the at least one target control code block with the at least one CV code block in accordance with the number of the target control code blocks. In other words, the transmitting end may determine whether to replace at least one target control code block with at least one CV code block in units of code blocks or whether to replace at least one target control code block with 8 CV code blocks in units of CV information (i.e., 8 CV code blocks) according to the number of target control code blocks.
Illustratively, the period of an APS code block may be in units of time, such as 1 second. Alternatively, the period of the APS code blocks may also be in units of the number of code blocks, such as 64k code blocks. That is, the transmitting end may insert an APS code block in the code block stream every 1 second, or the transmitting end may insert one APS code block in every 64k code blocks. That is, according to the above period, the transmitting end may replace one of the at least one target control code block with the APS code block.
The period of the DM code block or the period of the CS code block is not described in detail here. The period of APS code blocks or the period of CV code blocks shown in the embodiment of the present application are only examples, and in a specific implementation, the period may change, and the like.
It is to be understood that the above two manners may also be combined with each other, for example, the transmitting end may replace one target control code block of the at least one target control code block with the second control code block according to the period and/or priority of the second control code block. For this implementation, reference is made to the above description, and a detailed description thereof is omitted.
In this embodiment of the application, after the sending end determines the target control code block (or the non-target control code block), the sending end may replace the determined target control code block with the second control code block according to the determined target control code block. The manner of identifying a target control code block or a non-target control code block for the transmitting end may be as follows:
first, the transmitting end determines an idle code block of a fixed position as a target control code block.
Specifically, after the first code block stream is obtained, the sending end may determine the first N first control code blocks in the first code block stream as target control code blocks, where a specific value of the N is related to the second control code block. For example, each time the transmitter acquires 5000 code blocks, the first 1 (or the first 2, the first 3, etc.) idle code blocks in the 5000 code blocks may be determined as target control code blocks. As to the specific value of N, reference may be made to the period of the second control code block described above, and so on, which are not described in detail herein. Thus, the transmitting end may replace the first N idle code blocks in the first code block stream with non-BAS code blocks.
Second, the transmitting end determines an idle code block of a fixed position as a non-target control code block.
Specifically, after acquiring the first code block stream, the transmitting end may determine the first M first control code blocks in the first code block stream as non-target control code blocks. The value of M is obtained based on a first threshold, for example, based on any one or more of a rate difference between two ports, a period of a BAS code block, an insertion period of an AM, or an insertion period of MTN segment layer overhead information. It is understood that for the specific description of the number of code blocks and M included in the first code block stream, reference may be made to the above description, and details thereof are not described here.
Third, the transmitting end marks a target control code block.
In this case, when the transmitting end executes step 603, one target control code block of the marked at least one target control code block may be replaced by a second control code block, so as to obtain a second code block stream.
For example, indication information may be added to the first control code block, and the indication information may be used to indicate whether the first control code block is a marked target control code block. For example, the sending end may set a 1-bit (bit) indicator bit in the first control code block, and mark the first control code block with the 1-bit indicator bit, that is, obtain the target control code block.
Fourth, the transmitting end marks the non-target control code block.
In this case, when the transmitting end executes step 603, one of the unmarked first control code blocks may be replaced by the second control code block to obtain the second code block stream.
In this embodiment of the application, the marking of the target control code block and/or the non-target control code block by the sending end may be understood as marking the target control code block and/or the non-target control code block by the sending end at the MTN channel termination layer. For the marking result, the embodiment of the present application also provides two ways, that is, 1, for other modules or functions and the like outside the MTN channel terminating layer, the marking result of the sending end cannot be known. That is, the marked result is only valid for the MTN channel termination layer, and when the second code block stream passes through the MTN segment layer, the MTN segment layer cannot sense the marked result. 2. For other modules or functions or devices and the like except the MTN channel terminating layer, the marking result of the sending end can be obtained.
In one possible implementation, the method shown in fig. 6 may further include step 604 and step 605.
604. The transmitting end transmits a second stream of code blocks, and correspondingly, the receiving end receives the second stream of code blocks.
Illustratively, as shown in fig. 5b, the sender may send the second stream of code blocks through an MTN channel (MTN path), and correspondingly, the receiver may receive the second stream of code blocks through the MTN channel.
The second code block stream shown here is only referred to as a general term, and after the sender performs step 603, the sender may also insert MTN segment layer overhead information into the second code block stream when the second code block stream passes through the MTN segment layer. Alternatively, the second code block stream may also be inserted into AM, etc., which is not limited in this embodiment.
605. The receiving end deletes at least one non-target control code block in the second code block stream according to the rate adaptation requirement.
For example, the receiving end may delete at least one non-target control code block in the second code block stream according to the rate adaptation requirement at the MTN segment layer adaptation layer.
It is understood that step 605 shown here is only an example, and in a specific implementation, the receiving end may also add at least one first control code block in the second code block stream according to a rate adaptation requirement.
Under the condition that the sending rate of the receiving end is less than that of the sending end, the receiving end needs to delete the idle code block to avoid buffer overflow of the receiving end. Therefore, according to the technical scheme provided by the embodiment of the application, the situation that the receiving end does not have enough idle code blocks to be deleted is avoided by reasonably utilizing the idle code blocks, and the processing time delay of the receiving end is prevented from being increased.
In order to more clearly understand the processing method of the code block stream provided in the embodiments of the present application, the following description is provided with reference to specific embodiments.
The various examples shown below may be understood as being performed by the sender. Specifically, the processing may be understood as being executed by a processor of the sending end, or may be understood as being implemented in an MTN channel termination layer in an MTN network of the sending end, or may be understood as being executed by a function, a module, or a unit in the sending end, and the like, which is not limited in this embodiment of the present application.
Before the following examples are presented, the function of the individual functions or modules in fig. 7a and 7b referred to below will first be explained in detail. Each function or module and the like shown below may be understood as a function or module in a processor or may be understood as a function or module in an MTN channel termination layer, and the embodiment of the present application is not limited to the specific form of each function or module shown below.
Fig. 7a or fig. 7b is a schematic diagram of an MTN channel layer O code block insertion module, which may also be referred to as an MTN channel layer OAM insertion module. The MTN channel layer O code block insertion block may be understood as a function or a block provided in a processor on the transmitting side, a function or a block provided in a processor, or a function or a block provided in a logic circuit on the transmitting side.
The MTN channel layer O code block inserting module can be used for inserting an O code block in the MTN channel layer. For example, the MTN channel layer O code block insertion module may be configured to insert any one or more of a BAS code block, an APS code block, a DM code block, a CV code block, or a CS code block, and the like. In one possible implementation, the MTN channel layer O code block insertion module includes a BAS code block insertion module, an idle code block reservation module, a non-BAS code block replacement module, and an arbiter. The BAS code block insertion module may also be referred to as a BAS code block replacement or interpolation (base block replacement or interpolation) module. The non-BAS code block replacement module may also be understood as an APS code block replacement module, a CV code block replacement module, a DM code block replacement module, a CS code block replacement module, or the like, or may also be referred to as an OAM code block replacement (OAM block replacement) module, or the like. An idle code block reservation (control for reserving) module may also be referred to as an idle resource reservation module. The idle reservation module can be used for realizing monitoring of the idle code block, reservation of the idle code block or result feedback and the like. Among them, the result feedback can be used for feeding back the P value in embodiment three shown below. An M arbiter (arbiter) may be used to implement scheduling of non-BAS codeblocks, e.g., may be used to feed corresponding codeblocks into a non-BAS codeblock replacement module to facilitate replacing idle codeblocks with non-BAS codeblocks.
The schematic diagrams shown in fig. 7a and 7b further include: BAS code block generator (BAS code block generation in fig. 7a and 7 b), APS code block generator (APS block generation), CV code block generator (CV block generation), DM code block generator or CS code block generator (CS/PTI block generation) (non-BAS code block generation in fig. 7a and 7 b), and the like. The generators shown here may be used to generate corresponding code blocks, although fig. 7a or 7b only show a portion of the code blocks, but the present application embodiments are equally applicable to other similar O code blocks.
It will be appreciated that the schematic shown in figure 7d can be understood as a variation of figure 7a and figure 7e as a variation of figure 7 b. In fig. 7d and/or fig. 7e, the BAS code block insertion module may be used not only to generate BAS code blocks, but also to insert BAS code blocks in a code block stream. Similarly, the non-BAS code block replacement module may be used to replace an idle code block in a code block stream with a non-BAS code block, as well as generate a non-BAS code block. The functions of other modules can refer to fig. 7a and/or fig. 7b, and are not described in detail here. It is understood that fig. 7a to 7d provided in the embodiments of the present application are only examples, and in a specific implementation, any form of modification and the like may be performed based on fig. 7a to 7d according to actual requirements, and details are not described here.
Based on the schematic diagrams of fig. 7a and 7b, the following describes a method for processing a code block stream according to an embodiment of the present application.
The first embodiment,
Fig. 8a is a schematic specific flowchart of a method for processing a code block stream according to an embodiment of the present application, and as shown in fig. 8a, the method includes:
801. the BAS block generator generates BAS code blocks, and the BAS block insertion module inserts the BAS code blocks into the code block stream according to the period of the BAS code blocks to obtain a first code block stream, wherein the first code block stream further comprises at least two idle code blocks.
For example, the BAS code block generator may generate a BAS code block at the MTN channel termination layer. It is understood that other types of O code blocks may be generated at the MTN channel termination layer. The time for generating the BAS code block may be the same as or different from the time for inserting the BAS code block into the code block stream, and the embodiment of the present application does not limit this.
The insertion of BAS code blocks into the code block stream shown here can be understood as: the at least one idle codeblock in the stream of codeblocks is replaced with a BAS codeblock or the BAS codeblock is inserted after the at least one T codeblock in the stream of codeblocks and before the S codeblock. It is understood that after the T code block, before the S code block, no D code block is included, as shown in fig. 3 b. That is, the insertion manner of the BAS code block may include an idle replacement manner or an IPG forced insertion manner, and for the specific insertion manner of the BAS code block, reference may be made to the above description and details are not described here.
Illustratively, one BAS code block may be inserted in every 16k (i.e., 16 × 1024) code blocks. Taking the concentration as an example, the BAS block concentration is (1 × 8)/(16 × 1024 × 8) ═ 61ppm, and 61ppm shown here can be understood as a value obtained by rounding. Where 1 denotes one BAS code block, 8 denotes the number of bytes of the BAS code block, 16 × 1204 denotes 16k code blocks, and 8 denotes the number of bytes of each code block.
802. And the idle reservation module detects an idle code block in the first code block stream and identifies the idle code block in the first code block stream according to a first threshold.
The first threshold may be determined based on a rate offset between ports, e.g., the first threshold may be 200 ppm. Alternatively, the first threshold may also be determined according to a rate frequency offset between ports and idle resources occupied by MTN segment layer overhead, for example, the first threshold may be 200ppm +49 ppm-249 ppm. Alternatively, the first threshold may also be determined according to the rate frequency offset between ports and idle resources occupied by the AM, for example, the first threshold may be 200pp +61ppm — 261 ppm. Alternatively, the first threshold may be set to 200ppm +49ppm +61ppm, which is 310 ppm. The first threshold is used to measure the ratio between the reserved idle code block and at least two code blocks, and therefore, the specific value of the first threshold is not limited in the embodiment of the present application. The first threshold may also vary according to a change in rate frequency offset between ports, or according to a change in MTN segment overhead or periodicity of the AM. It is understood that, regarding the specific description of the first threshold, reference may also be made to the related description shown in fig. 6, and details are not repeated here.
For example, as shown in fig. 7a, the idle reservation module may reserve one idle code block in every 5000 code blocks, and the reserved idle code block may be deleted based on the rate adaptation requirement. Specifically, one idle code block can be identified in every 5000 code blocks, and the identified idle code block cannot be replaced by a non-BAS code block. While the unidentified idle code blocks may be replaced with non-BAS code blocks, or the remaining idle code blocks of the 5000 code blocks except the identified idle code blocks may be replaced with non-BAS code blocks. The identified idle code blocks shown here may be understood as non-target control code blocks shown in fig. 6, and the unidentified idle code blocks may be understood as target control code blocks shown in fig. 6.
Alternatively, the method for detecting the idle code block in the first code block stream by the idle reservation module may be as follows:
a detection window counter is arranged in the idle reservation module, the maximum value of the detection window counter can be 5000, the detection window counter is reset to 0 after counting to the maximum value, and 1 is added every time a code block counter is received. Meanwhile, an idle code block counter is arranged in the idle reservation module, and when the detection window counter is reset, the idle code block counter is reset. And the idle resource reservation module judges the input code block stream, and if the format of the code block is matched with that of the idle code block, the input of an idle code block can be determined, and the counter of the idle code block is added by 1. The value of the idle code block counter is queried, and in the case that the value of the idle code block counter is less than or equal to K (e.g., K ═ 1 or 2, etc.), the idle reservation module identifies the idle code block as a reserved idle code block (i.e., a non-targeted control code block). In the case where the value of the idle code block counter is greater than K, the idle reservation module identifies the idle code block as an idle code block (i.e., a target control code block) that can be replaced with a non-BAS code block.
In the above-described method, if a sending end is taken as an example, the method for the sending end to determine the non-target control code block includes: the transmitting end acquires 5000 code blocks in the first code block stream through a detection window, and determines at least one non-target control code block from at least two idle code blocks in the 5000 code blocks. Specifically, the sending end acquires 5000 code blocks in the first code block stream through a detection window counter, and determines the first K idle code blocks in the 5000 code blocks as non-target control code blocks through an idle code block counter.
It can be understood that the above illustrated method identifies an idle code block with an idle reservation module to distinguish whether the idle code block can be replaced with a non-BAS code block. However, in the embodiment of the present application, the idle reservation module may also not identify the idle code blocks, for example, reserve the first idle code block in every 5000 code blocks as an idle code block that cannot be replaced by a non-BAS code block, and thus, the remaining idle code blocks, for example, the second idle code block or the third idle code block in every 5000 code blocks, may be replaced by the non-BAS code blocks.
803. The arbiter instructs a non-BAS code block replacement module to insert the non-BAS code block according to the identification result of the idle code block, and the non-BAS code block replacement module replaces at least one unidentified idle code block with the non-BAS code block according to the period and/or priority of the non-BAS code block to obtain the second code block stream.
In the embodiment of the application, after the idle code block is identified by the idle reservation module, the identification result can be sent to the arbiter. Then, the arbitrator can replace the identified idle code blocks with non-BAS code blocks according to the identification result, and replace the unidentified idle code blocks with non-BAS code blocks. That is, the arbiter may indicate the insertion location of the non-BAS code block and the arbiter instructs the non-BAS code block replacement module to replace the unidentified idle code block with the non-BAS code block. As shown in fig. 7c, the arbiter may indicate that the identified idle codeblocks of the non-BAS codeblock replacement module cannot be replaced with non-BAS codeblocks, and that the unidentified idle codeblocks may be replaced with non-BAS codeblocks.
Prior to replacing the idle code blocks with non-BAS code blocks, the corresponding generators may generate corresponding O code blocks at a period of non-BAS OAM. For the generation of non-BAS code blocks, the embodiments of the present application may have two understanding ways: first, as long as the insertion period of the non-BAS code blocks is satisfied, the corresponding generator may generate the non-BAS code blocks, but whether the non-BAS code blocks are inserted (referred to as an alternative manner herein) in the code block stream or not, the non-BAS code blocks need to be inserted according to the positions of the unidentified idle code blocks in the first code block stream. Second, when the insertion period of the non-BAS blocks is satisfied, the generated non-BAS blocks may not be complete non-BAS blocks, but the non-BAS blocks are understood as generating non-BAS blocks (i.e., complete non-BAS blocks) when the unidentified idle block in the first block stream is replaced with the non-BAS blocks.
In the embodiment of the application, the idle reservation module can ensure that the 200ppm idle code block at the receiving end is deleted even if the arbiter inserts the non-BAS code block by detecting the idle code block and reserving the 200ppm idle code block.
In the method shown in fig. 8a, an idle code block of 200ppm reserved by the idle reservation module is taken as an example. However, in a specific implementation, the idle reservation module may also reserve more idle code blocks, etc., as for the description of the first threshold, other uses of the reserved idle code blocks may refer to the method shown in fig. 6, and will not be described in detail here. In the schematic diagram shown in fig. 7a, taking the concentration as an example, the concentration of BAS code blocks is 61ppm, the concentration of non-target control code blocks is 200ppm, and if the concentration of the code block stream acquired by the MTN channel layer O code block insertion module is ympm, the concentration of target control code blocks is equal to (Y-61-200) ppm. Of course, if the concentration of the non-target control code blocks is 200ppm + (i.e., greater than 200ppm), the concentration of the target control code blocks is less than (Y-61-200) ppm. It is understood that if the number of non-target control code blocks is determined in other manners, the number of non-target control code blocks and the number of code blocks included in the first code block stream may be obtained by conversion of the density, for example, by calculation based on the density, or the number of target control code blocks and the like may be obtained, and details thereof will not be described here. It is understood that the description of the idle code block herein is also applicable to the method shown in fig. 8b, and the details are not described below for avoiding redundancy.
It can be understood that the method shown in fig. 8a and the method shown in fig. 6 are focused on each other, and for the implementation manner not described in detail in the method shown in fig. 8a, reference may be made to the method shown in fig. 6, and detailed description thereof is omitted here.
Example II,
Fig. 8b is a schematic specific flowchart of another method for processing a code block stream according to an embodiment of the present application, and as shown in fig. 8b, the method includes:
811. the method comprises the steps that an idle reservation module acquires a first code block stream, wherein the first code block stream comprises at least two code blocks, and the at least two code blocks comprise at least two idle code blocks.
I.e. the idle reservation module obtains the first stream of code blocks from the MTN channel adaptation layer.
812. And the idle reservation module detects an idle code block in the first code block stream and identifies the idle code block in the first code block stream according to a first threshold.
It is understood that reference may be made to step 802 for a detailed description of step 812, which is not detailed herein. In contrast, in step 802, BAS code blocks are included in the first code block stream, but BAS code blocks may not be included in the first code block stream in step 812.
813. The BAS block insertion module inserts BAS blocks in the first code block stream according to a periodicity of the BAS blocks.
In the embodiment of the present application, the period of the BAS code blocks may be one BAS code block in every 16k code blocks, but the idle reservation module may identify one idle code block (i.e., a non-target control code block) in every 5000 code blocks. Thus, in some implementations, some 5000 code blocks may not have BAS code blocks inserted therein if in 5000 units, and in other implementations, some 5000 code blocks may have BAS code blocks inserted therein.
Alternatively, the BAS code block insertion module may replace the identified idle code block (i.e., the target control code block) with a BAS code block. Optionally, the BAS code block insertion module may also replace an unidentified idle code block (i.e., a non-target control code block) with a BAS code block. Optionally, the BAS code block insertion module may also insert the BAS code block and the like in an IPG interpolation manner, which is not limited in this embodiment. In connection with the method shown in fig. 6, the BAS code block may be implemented in several ways:
mode 1, since the priority of a BAS code block is higher than or equal to that of a non-BAS code block, an unlabeled idle code block may also be replaced with a BAS code block.
In the mode 2, the number of the idle code blocks marked by the idle reservation module is small, and the number of the unmarked idle code blocks is large, that is, the concentration of the unmarked idle code blocks in the first code block stream is greater than 61ppm, the unmarked idle code blocks can be replaced by not only BAS code blocks but also non-BAS code blocks.
Mode 3, the number of the marked idle code blocks in the idle reservation module is large, that is, the concentration of the marked idle code blocks in the first code block stream is greater than 61ppm +200ppm, the marked idle code blocks can be deleted based on the rate adaptation requirement and can be replaced by BAS code blocks (or it can be understood that the BAS code block insertion module can also insert BAS code blocks in the first code block stream).
For a detailed description of BAS code blocks, reference may also be made to fig. 6, which is not described in detail here.
814. The arbiter instructs the non-BAS code block replacement module to insert the non-BAS code block according to the identification result of the idle code block, and the non-BAS code block replacement module replaces at least one idle code block, which is not identified, with the non-BAS code block according to the period and/or priority of the non-BAS code block.
It can be understood that the method shown in fig. 8b is emphasized over the method shown in fig. 6 or 8a, and for the implementation manner not described in detail in the method shown in fig. 8b, reference may be made to the method shown in fig. 6 or 8a, and detailed description thereof is omitted here.
Fig. 9a is a schematic flowchart of another method for processing a code block stream according to an embodiment of the present application, and as shown in fig. 9a, the method includes:
901. the sending end obtains a first code block stream, wherein the first code block stream comprises at least two code blocks, and the at least two code blocks comprise a first boundary code block and a second boundary code block.
In an embodiment of the application, the first boundary code block and the second boundary code block are different types of boundary code blocks, for example, the first boundary code block is an S code block, and the second boundary code block is a T code block. Optionally, the code blocks in the first code block stream may include a first boundary code block and a second boundary code block. Optionally, the code blocks in the first code block stream may further include a first boundary code block or a second boundary code block. Optionally, the code blocks in the first code block stream may not include the first boundary code block and the second boundary code block.
In one possible implementation, the first code block stream may further include a third control code block. It is understood that the description of the third control code block herein can refer to the introduction of fig. 6, and will not be described in detail herein.
902. The sending end determines the period of the second control code block according to the code block number between the first boundary code block and the second boundary code block.
The number of code blocks between the first boundary code block and the second boundary code block shown here may include none, either the first boundary code block or the second boundary code block, or both the first boundary code block and the second boundary code block. The period of the second control code block may also be understood as an interval between two second control code blocks, i.e., an interval of the code block number between two second control code blocks. Similarly, the number of code blocks between two second control code blocks may include the number of two second control code blocks, may also include the number of the first second control code block, or may also include the number of the second control code block, or may also not include the number of the two second control code blocks.
For the number of code blocks between the first boundary code block and the second boundary code block, there can be several understandings as follows:
first, the transmitting end may sample and count the number of code blocks from S code block to T code block, and take the number of code blocks from S code block to T code block as a P value. Illustratively, as shown in fig. 9b, the transmitting end determines the period of the second control code block according to the code block number P between the S code block and the T code block. The number of code blocks between the insertion position of the first non-BAS code block and the insertion position of the second non-BAS code block is determined by P. It is understood that fig. 9b is illustrated with a non-BAS code block inserted in the first code block stream by an idle replacement at the transmitting end. As shown in fig. 9c, the transmitting end may also insert a non-BAS code block in the first code block stream by means of IPG interpolation. In this embodiment, the insertion position of the first non-BAS code block in the code block stream may be determined randomly, and the like, which is not limited in this embodiment.
Secondly, the sending end can count the number of the code blocks from the S code block to the T code block within the preset time, and the maximum value of the number of the code blocks from the S code block to the T code block within the preset time is used as the P value. For example, if the number of code blocks between S code blocks and T code blocks is taken as M, the transmitting end may count M values within 10ms and then take the maximum M value within 10ms as a P value. It can be understood that, for the specific value of the preset duration, the embodiment of the present application is not limited.
Thirdly, the sending end may count the number of code blocks between the S code block and the T code block multiple times according to the preset number of times, and take the maximum value of the number of code blocks between the S code block and the T code block within the preset number of times as the P value. For example, if the preset number of times is 5, the sending end may count the number of code blocks from S code block to T code block 5 times, and obtain 5M values. Then, the maximum value among the 5M values is taken as a P value. It can be understood that, for the specific value of the preset number of times, the embodiment of the present application is not limited.
In a possible implementation manner, the determining, by the transmitting end according to the code block number between the first boundary code block and the second boundary code block in step 902, a period of the second control code block includes:
determining a ratio of the first control code block among the at least two code blocks according to the number of code blocks between the second boundary code block and the first boundary code block;
determining a ratio of the second control code block in the at least two code blocks according to the ratio of the first control code block in the at least two code blocks and a first threshold;
the period of the second control code block is determined according to a ratio of the second control code block in the at least two code blocks.
For the sake of understanding, taking the way of calculating the density as an example, considering the worst case, such as taking P as an example, where P is used to represent the number of code blocks between an S code block and a T code block, there is an idle code block in two consecutive code block streams with P length. In this case, the density of idle code blocks in the two P-length code block streams is (1 × 8)/(2 × P × 8) ═ 1/2P (i.e., the density of idle code blocks in the two P-length code block streams is (1 × 8)/(2 × P × 8) — 1/2P (i.e., the density of idle code blocks in the two P-length code block streams is greater than the density of idle code blocks in the two P-length code block streams
Figure BDA0002699269220000241
) Where "/" is used to denote an operator. If the first threshold is 200ppm, the concentration of the non-BAS code blocks in the two P-length code block streams is
Figure BDA0002699269220000242
Thus, the non-BAS code block period obtained from the P value is
Figure BDA0002699269220000243
In one possible implementation, the number of code blocks between the first boundary code block and the second boundary code block is different, and the period of the second control code block is different. The second control code blocks have different periods, i.e., different intervals between two second control code blocks, i.e., different intervals between two non-BAS code blocks. For this implementation, reference is made to the above description of P.
In one possible implementation, the ranges corresponding to the number of code blocks between the first boundary code block and the second boundary code block are different, and the periods of the second control code block are different, that is, the intervals between the two non-BAS code blocks are different. As shown in table 1, table 1 is an example of a relationship between P and periods of non-BAS code blocks provided in an embodiment of the present application. It is understood that the relationship shown in table 1 is only an example, and in a specific implementation, there may be other corresponding relationships between the periods of the P and non-BAS code blocks, and the embodiment of the present application is not limited thereto.
TABLE 1
Value of P Periodicity of non-BAS code blocks
1200 64k(k=1024)
1000~1200 8k
500~1000 2k
8~500 1k
903. When a second control code block needs to be inserted, the sending end inserts at least one second control code block in the first code block stream according to the period of the second control code block to obtain a second code block stream.
In the embodiment of the present application, the insertion method of the second control code block may be an idle replacement method or an IPG interpolation method, which is not limited in the embodiment of the present application. When the sending end needs to insert the second control code block, the second control code block needs to be inserted into the first code block stream according to the period of the second control code block and the position of the first control code block in the first code block stream. For the description of the period, reference is made to the above description of the period, and the description is not repeated here.
In one possible implementation, the method shown in fig. 9a may further include step 904 and step 905.
904. The transmitting end transmits a second stream of code blocks, and correspondingly, the receiving end receives the second stream of code blocks.
Here, the sending end sending the second code block stream may be understood as: the sending end sends the second code block stream through the MTN channel termination layer, or the sending end sends the second code block stream through the output port, and the like.
905. The receiving end deletes at least one first control code block in the second code block stream according to the rate adaptation requirement.
Under the condition that the sending rate of the receiving end is less than that of the sending end, the receiving end needs to delete the idle code block to avoid buffer overflow of the receiving end. Therefore, according to the technical solution provided by the embodiment of the present application, the period of the non-BAS code block is determined according to the number of code blocks between the S code block and the T code block, the first threshold, and the like. Thereby making it reasonable for the non-BAS code block to be inserted into the code block stream. The method avoids the situation that the receiving end does not have enough idle code blocks to be deleted due to the fact that excessive idle resources are occupied by non-BAS code blocks, and avoids the increase of processing time delay of the receiving end.
It is understood that for implementations not described in detail in the method embodiment shown in fig. 9a, reference may be made to the various embodiments or illustrations shown above, etc., which are not described in detail here.
For a more visual understanding of the method shown in fig. 9a, the following description is given in conjunction with specific embodiments.
Example III,
As shown in fig. 10a and/or fig. 10b, the MTN channel layer O code block insertion module shown in fig. 10a and 10b is substantially the same as the MTN channel layer O code block insertion module shown in fig. 7a, 7b, 7d, or 7e, except that the idle reservation module shown here is used to detect the code block number P between the S code block and the T code block, and the non-BAS code block insertion module is used to replace the idle code block with a non-BAS code block or to forcibly insert the non-BAS code block in the code block stream. For a detailed description of the other modules or functions shown in fig. 10a and/or fig. 10b, reference may be made to fig. 7a, fig. 7b, fig. 7d, fig. 7e, etc., which are not described in detail here.
Fig. 10c is a schematic specific flowchart of another method for processing a code block stream according to an embodiment of the present application, and as shown in fig. 10c, the method includes:
1001. the BAS block generator generates a BAS block, and the BAS block insertion module inserts the BAS block into the block stream to obtain a first block stream.
1002. And the idle reservation module takes the value with the maximum code block number between the S code block and the T code block of the Ethernet packet sequence stream as the P value.
That is, the idle reservation module may detect the number of code blocks between the plurality of S code blocks and the T code block, and then take the value at which the number of code blocks between the S code block and the T code block is the largest as the P value. It is understood that step 1002 is only one implementation, and for other implementations, reference may be made to the method shown in fig. 9a, which is not described in detail herein.
Illustratively, the idle reservation module identifies S code blocks and T code blocks according to the format of the code blocks. If the idle reservation module identifies the S code block, the message length counter starts counting, and 1 is added to the message length counter every time the idle reservation module receives one code block; and when the idle reservation module identifies the T code block, the message length counter stops counting, and the P value is obtained according to the message length counter. It will be appreciated that the message length counter may be cleared after it has identified the T code block. The Idle reservation module may compare the P values and thereby retain a larger P value. After the P value is output to the arbiter, the P value in the idle reservation block is reset to 0.
1003. The arbiter determines the period of the non-BAS code block according to the corresponding relation between the P value and the period of the non-BAS code block and the P value obtained by the counter.
For example, when the P value is 1200 (or 1202) (i.e., the packet length is 9600B or 9616B), the period of the non-BAS code block may be 64k, i.e., the non-BAS code block inserting module may insert one non-BAS code block every 64k code blocks. For another example, when the P value is 194, the period of the non-BAS code blocks may be 500, that is, the non-BAS code block inserting module may insert one non-BAS code block every 500 code blocks. The correspondence shown here is merely an example, and specifically, the method shown in fig. 9a may also be referred to, and will not be described in detail here. It is understood that when the P value changes, the period of the non-BAS code block also changes.
It can be understood that the method shown in fig. 10c is only a specific method for determining the period of the second control code block by the transmitting end, and for other steps of the transmitting end or steps of the receiving end, etc., reference may be made to the method shown in fig. 9a, and details thereof are not described here.
In the embodiment of the present application, the number of idle code blocks in the ethernet packet sequence stream can be indirectly obtained by counting the maximum interval from the S code block to the T code block in the ethernet packet sequence stream. The period of the non-BAS code blocks is thus determined according to the number of idle code blocks and the number of reserved idle code blocks, so that the non-BAS code blocks can be reasonably inserted into the code block stream. Moreover, the receiving end is ensured to have enough idle code block deletion, and the time delay of processing the code block stream by the receiving end is avoided being increased.
The following will describe the apparatus provided by the embodiments of the present application.
Fig. 11 is a schematic configuration diagram of a communication device according to an embodiment of the present invention, which may be any type of computer, server, switch (or switching device, switching chip, or the like), router, network card, or the like, and the present invention is not limited to a specific type of the communication device. As shown in fig. 11, the communication apparatus includes: a processing unit 1101 and a transceiving unit 1102.
In some embodiments of the present application, the processing unit 1101 is configured to obtain a first code block stream, where the first code block stream includes at least two code blocks, and the at least two code blocks include at least two first control code blocks;
a processing unit 1101, further configured to determine at least one target control code block of the at least two first control code blocks, the target control code block being a first control code block that may be replaced with a second control code block;
the processing unit 1101 is further configured to, when a second control code block needs to be inserted, replace one target control code block of the at least one target control code block with the second control code block, resulting in a second code block stream.
In one possible implementation, the processing unit 1101 is specifically configured to determine at least one non-target control code block of the at least two first control code blocks, which is a first control code block that cannot be replaced with a second control code block.
In one possible implementation, the processing unit 1101 is specifically configured to determine at least one non-target control code block of the at least two first control code blocks according to a first threshold, where the first threshold is obtained based on a rate adaptation requirement.
In a possible implementation, the processing unit 1101 is further configured to mark the at least one target control code block; the processing unit 1101 is specifically configured to replace one target control code block of the marked at least one target control code block with a second control code block, so as to obtain a second code block stream.
In a possible implementation, the processing unit 1101 is further configured to mark at least one non-target control code block; the processing unit 1101 is specifically configured to replace one of the unmarked first control code blocks with a second control code block, to obtain a second code block stream.
In one possible implementation manner, the processing unit 1101 is specifically configured to replace one target control code block of the at least one target control code block with a second control code block according to a period of the second control code block and/or a priority of the second control code block, so as to obtain a second code block stream.
In other embodiments of the present application, the processing unit 1101 is configured to obtain a first code block stream, where the first code block stream includes at least two code blocks, and the at least two code blocks include a first boundary code block and a second boundary code block;
a processing unit 1101, configured to determine a period of a second control code block according to the number of code blocks between the first boundary code block and the second boundary code block;
the processing unit 1101 is further configured to insert at least one second control code block in the first code block stream according to a period of the second control code block when the second control code block needs to be inserted, so as to obtain a second code block stream.
In one possible implementation, the processing unit 1101 is specifically configured to determine a ratio of the first control code block in the at least two code blocks according to the number of code blocks between the first boundary code block and the second boundary code block; and determining the period of the second control code block according to the ratio of the first control code block in the at least two code blocks and a first threshold value, wherein the first threshold value is obtained based on the rate adaptation requirement.
In a possible implementation manner, the processing unit 1101 is specifically configured to determine a period of the second control code block according to a maximum value of the number of code blocks between the first boundary code block and the second boundary code block within a preset time duration; alternatively, the processing unit 1101 is specifically configured to determine the period of the second control code block according to the maximum value of the code block number between the first boundary code block and the second boundary code block within a preset number of times, where the preset number of times is used to indicate the statistical number of the code block number between the first boundary code block and the second boundary code block.
In one possible implementation, the processing unit 1101 is specifically configured to insert at least one second control code block in a first code block stream according to a period of the second control code block and a position of the first control code block included in the first code block stream.
In the above embodiments, the transceiver unit 1102 may be configured to transmit the second stream of code blocks.
In the embodiment of the present application, for specific descriptions of the transceiver unit and the processing unit, reference may also be made to the steps executed by the sending end in the foregoing method embodiment, and details are not described here. Illustratively, the processing unit may be configured to perform steps 601 to 603 shown in fig. 6. The transceiving unit may be configured to perform the transmitting step in step 604 shown in fig. 6. Illustratively, the processing unit may also be configured to perform steps 801 to 803 shown in fig. 8 a. Illustratively, the processing unit may also be configured to perform steps 811 to 814 in fig. 8 b. Illustratively, the processing unit may also be configured to perform steps 901 to 903 shown in fig. 9 a. The transceiving unit may further be configured to perform the transmitting step in step 904 shown in fig. 9 a. Illustratively, the processing unit may also be configured to perform steps 1001 to 1003 and the like shown in fig. 10 c.
In the embodiments of the present application, for the descriptions of the first code block stream, the first control code block, the second control code block, the third control code block, the target control code block, the non-target control code block, the period, and the like, reference may be made to the above-mentioned embodiments, and detailed descriptions thereof will be omitted.
The division of the modules in the embodiments of the present application is schematic, and only one logical function division is provided, and in actual implementation, there may be another division manner, and in addition, each functional module or unit in each embodiment of the present application may be integrated in one processor, may also exist alone physically, and may also be integrated in one module or unit by two or more modules or units. The integrated modules or units may be implemented in the form of hardware, or may be implemented in the form of software functional modules.
In one possible implementation, the communication device shown in fig. 11 is a computer, a server, a switch, a router, a network card, or the like in any form; or any type of device such as a computer, a server, a switch, a router, or a network card, or any type of device used in combination with any type of computer, a server, a switch, a router, or a network card, the processing unit 1101 may be one or more processors, the transceiver unit 1102 may be a transceiver, or the transceiver unit 1102 may also be a transmitting unit and a receiving unit, the transmitting unit may be a transmitter, the receiving unit may be a receiver, and the transmitting unit and the receiving unit are integrated into one device, such as a transceiver. In the embodiment of the present application, the processor and the transceiver may be coupled, and the connection manner between the processor and the transceiver is not limited in the embodiment of the present application.
As shown in fig. 12, the communication device 120 includes one or more processors 1220 and a transceiver 1210. The processor and the transceiver may be configured to perform the functions or operations performed by the transmitting end, and the like.
In some embodiments of the present application, the processor 1220 is configured to obtain a first code block stream including at least two code blocks including at least two first control code blocks; a processor 1220 further configured to determine at least one target control code block of the at least two first control code blocks, the target control code block being a first control code block that may be replaced with a second control code block; the processor 1220 is further configured to replace one of the at least one target control code block with a second control code block when the second control code block needs to be inserted, resulting in a second code block stream.
Illustratively, the processor 1220 is specifically configured to determine at least one non-target control code block of the at least two first control code blocks, which is a first control code block that cannot be replaced with a second control code block.
Illustratively, the processor 1220 is specifically configured to determine at least one non-target control code block of the at least two first control code blocks according to a first threshold.
Illustratively, the processor 1220 is further configured to mark the at least one target control code block; the processor 1220 is specifically configured to replace one of the marked at least one target control code block with a second control code block, resulting in a second code block stream.
Illustratively, the processor 1220 is further configured to mark at least one non-target control code block; the processor 1220 is specifically configured to replace one of the unmarked first control code blocks with a second control code block, resulting in a second code block stream.
In other embodiments of the present application, the processor 1220 is configured to obtain a first code block stream, where the first code block stream includes at least two code blocks, where the at least two code blocks include a first boundary code block and a second boundary code block; a processor 1220 further configured to determine a periodicity of a second control code block based on a number of code blocks between the first boundary code block and the second boundary code block; the processor 1220 is further configured to insert at least one second control code block in the first code block stream according to a period of the second control code block when the second control code block needs to be inserted, so as to obtain a second code block stream.
Illustratively, a transceiver 1210 for transmitting a second stream of code blocks.
It is understood that, for the functions or operations executed by the transceiver and/or the processor, etc., reference may be made to the various embodiments shown in fig. 11, or, alternatively, reference may also be made to the method embodiments shown in fig. 6, 8a, 8b, 9a and 10c, etc., which are not described in detail herein.
In various implementations of the communications apparatus shown in fig. 12, the transceiver may include a receiver for performing a receiving function (or operation) and a transmitter for performing a transmitting function (or operation). And transceivers for communicating with other devices/apparatuses over a transmission medium.
Optionally, the communication device 120 may also include one or more memories 1230 for storing program instructions and/or data. Memory 1230 is coupled to processor 1220. The coupling in the embodiments of the present application is an indirect coupling or a communication connection between devices, units or modules, and may be an electrical, mechanical or other form for information interaction between the devices, units or modules. The processor 1220 may cooperate with the memory 1230. Processor 1220 may execute program instructions stored in memory 1230. Optionally, at least one of the one or more memories may be included in the processor.
The specific connection medium among the transceiver 1210, the processor 1220 and the memory 1230 is not limited in the embodiments of the present application. In fig. 12, the memory 1230, the processor 1220 and the transceiver 1210 are connected by a bus 1240, the bus is represented by a thick line in fig. 12, and the connection manner among other components is only schematically illustrated and not limited. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is shown in FIG. 12, but this is not intended to represent only one bus or type of bus.
In the embodiments of the present application, the processor may be a general-purpose processor, a digital signal processor, an application specific integrated circuit, a field programmable gate array or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component, or the like, which may implement or execute the methods, steps, and logic blocks disclosed in the embodiments of the present application. A general purpose processor may be a microprocessor or any conventional processor or the like. The steps of the method disclosed in connection with the embodiments of the present application may be directly implemented by a hardware processor, or implemented by a combination of hardware and software modules in a processor.
In the embodiment of the present application, the Memory may include, but is not limited to, a nonvolatile Memory such as a hard disk (HDD) or a solid-state drive (SSD), a Random Access Memory (RAM), an Erasable Programmable Read Only Memory (EPROM), a Read-Only Memory (ROM), or a portable Read-Only Memory (CD-ROM). The memory is any storage medium that can be used to carry or store program code in the form of instructions or data structures and that can be read and/or written by a computer (e.g., communications devices, etc., as shown herein), but is not limited to such. The memory in the embodiments of the present application may also be circuitry or any other device capable of performing a storage function for storing program instructions and/or data.
It is understood that the communication device shown in the embodiment of the present application may have more components than those shown in fig. 12, and the embodiment of the present application is not limited thereto.
It will be appreciated that the methods performed by the processor and transceiver shown above are merely examples, and reference may be made to the methods described above for the steps specifically performed by the processor and transceiver.
In another possible implementation manner, when the communication device is a chip system, such as a chip system in a computer, a server, a switch (alternatively referred to as a switch device, a switch chip, etc.), a router, a network card, etc., the processing unit 1101 may be one or more logic circuits, and the transceiver unit 1102 may be an input/output interface, also alternatively referred to as a communication interface, or an interface circuit, or an interface, etc. Or the transceiving unit 1102 may also be a transmitting unit and a receiving unit, the transmitting unit may be an output interface, the receiving unit may be an input interface, and the transmitting unit and the receiving unit are integrated into one unit, such as an input-output interface. As shown in fig. 13, the communication apparatus shown in fig. 13 includes a logic circuit 1301 and an interface 1302. That is, the processing unit 1101 may be implemented by a logic circuit 1301, and the transceiver unit 1102 may be implemented by an interface 1302.
The logic circuit 1301 may be a chip, a processing circuit, an integrated circuit, or a system on chip (SoC) chip, and the interface 1302 may be a communication interface, an input/output interface, or the like. In the embodiments of the present application, the logic circuit and the interface may also be coupled to each other. The embodiments of the present application are not limited to the specific connection manner of the logic circuit and the interface.
The logic and interface may be used to perform the functions or operations, etc., performed by the transmitting end described above.
In some embodiments of the present application, logic circuitry is operative to obtain a first stream of code blocks comprising at least two code blocks, the at least two code blocks comprising at least two first control code blocks; and further to determine at least one target control code block of the at least two first control code blocks, the target control code block being a first control code block that may be replaced with a second control code block; and replacing one target control code block of the at least one target control code block with the second control code block to obtain a second code block stream when the second control code block needs to be inserted.
Illustratively, the interface is configured to output a second stream of code blocks.
Illustratively, the logic circuitry is specifically configured to determine at least one non-target control code block of the at least two first control code blocks, the non-target control code block being a first control code block that cannot be replaced with a second control code block.
Illustratively, the logic circuitry is specifically configured to determine at least one non-target control code block of the at least two first control code blocks according to a first threshold, the first threshold being derived based on rate adaptation requirements.
Illustratively, the logic circuitry is further configured to mark the at least one target control code block and replace one of the marked at least one target control code block with a second control code block resulting in a second code block stream.
Illustratively, the logic circuitry is further to mark at least one non-targeted control code block; and replacing one of the unmarked first control code blocks with a second control code block, resulting in a second code block stream.
The logic circuit is specifically configured to replace one of the at least one target control code block with the second control code block according to a period of the second control code block and/or a priority of the second control code block, resulting in a second code block stream.
In other embodiments of the present application, logic circuitry is configured to obtain a first stream of code blocks, the first stream of code blocks including at least two code blocks, the at least two code blocks including a first border code block and a second border code block; and further for determining a periodicity of the second control code block in accordance with the number of code blocks between the first boundary code block and the second boundary code block; and the receiver is further configured to insert at least one second control code block in the first code block stream according to a period of the second control code block when the second control code block needs to be inserted, so as to obtain a second code block stream.
Illustratively, the interface is configured to output a second stream of code blocks.
Illustratively, the logic circuitry is specifically configured to determine a ratio of the first control code block among the at least two code blocks based on a number of code blocks between the first border code block and the second border code block; and determining the period of the second control code block according to the ratio of the first control code block in the at least two code blocks and a first threshold value, wherein the first threshold value is obtained based on the rate adaptation requirement.
Illustratively, the logic circuit is specifically configured to determine a period of the second control code block according to a maximum value of the number of code blocks between the first boundary code block and the second boundary code block within a preset duration; or determining the period of the second control code block according to the maximum value of the code block number between the first boundary code block and the second boundary code block within the preset times, wherein the preset times are used for representing the statistical times of the code block number between the first boundary code block and the second boundary code block.
Illustratively, the logic circuitry is specifically configured to insert at least one second control code block in the first code block stream according to a periodicity of the second control code blocks and a position of the first control code block included in the first code block stream.
For the functions or steps executed by the communication apparatus shown in fig. 13, reference may also be made to the various embodiments shown in fig. 11, or, alternatively, reference may also be made to the method embodiments shown in fig. 6, fig. 8a, fig. 8b, fig. 9a, fig. 10c, and so on, which are not described in detail here.
In the embodiments of the present application, for the descriptions of the first code block stream, the first control code block, the second control code block, the third control code block, the target control code block, the non-target control code block, the period, and the like, reference may be made to the above-mentioned embodiments, and detailed descriptions thereof will be omitted.
In addition, the present application also provides a computer program for implementing the operations and/or processes performed by the sending end in the method provided by the present application.
The present application also provides a computer-readable storage medium having stored therein computer code, which, when run on a computer, causes the computer to perform the operations and/or processes of the method provided by the present application, performed by the sending end.
The present application also provides a computer program product comprising computer code or a computer program which, when run on a computer, causes the operations and/or processes performed by the sending end in the methods provided herein to be performed.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is only one logical division, and there may be other divisions when actually implementing, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not implemented. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may also be an electric, mechanical or other form of connection.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the technical effects of the solutions provided by the embodiments of the present application.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application may be substantially or partially contributed by the prior art, or all or part of the technical solution may be embodied in a software product, which is stored in a readable storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a communication device) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned readable storage medium includes: various media capable of storing program codes, such as a usb disk, a removable hard disk, a read-only memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk.
The above description is only for the specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present application, and shall be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (38)

1. A method for processing a stream of code blocks, the method comprising:
obtaining a first code block stream, wherein the first code block stream comprises at least two code blocks, and the at least two code blocks comprise at least two first control code blocks;
determining at least one target control code block of the at least two first control code blocks, the target control code block being a first control code block that may be replaced with a second control code block;
and when the second control code block needs to be inserted, replacing one target control code block in the at least one target control code block with the second control code block to obtain a second code block stream.
2. The method of claim 1, wherein the first control code block is any one of an idle code block, a low power idle code block, or an erroneous code block.
3. The method according to claim 1 or 2, wherein the determining at least one target control code block of the at least two first control code blocks comprises:
determining at least one non-target control code block of the at least two first control code blocks, the non-target control code block being a first control code block that cannot be replaced with the second control code block.
4. The method of claim 3, wherein the non-target control code block is a first control code block reserved based on rate adaptation requirements.
5. The method of claim 3 or 4, wherein the determining at least one of the at least two first control code blocks that is not a target control code block comprises:
determining the at least one non-target control code block of the at least two first control code blocks according to a first threshold, the first threshold being derived based on rate adaptation requirements.
6. The method according to any of claims 1-5, wherein before replacing one of the at least one target control code block with the second control code block resulting in a second code block stream, the method further comprises:
marking the at least one target control code block;
replacing one of the at least one target control code block with the second control code block to obtain a second code block stream, including:
replacing one of the marked at least one target control code block with the second control code block, resulting in the second code block stream.
7. The method according to any of claims 3-5, wherein before replacing one of the at least one target control code block with the second control code block resulting in a second code block stream, the method further comprises:
marking the at least one non-target control code block;
replacing one of the at least one target control code block with the second control code block to obtain a second code block stream, including:
replacing one of the unmarked first control code blocks with the second control code block, resulting in the second code block stream.
8. The method according to any of claims 1-7, wherein the replacing of one of the at least one target control code block with the second control code block resulting in a second code block stream comprises:
replacing one target control code block in the at least one target control code block with the second control code block according to the period of the second control code block and/or the priority of the second control code block to obtain the second code block stream.
9. The method according to any of claims 1-8, characterized in that the first stream of code blocks further comprises a third control code block.
10. The method according to any of claims 1-9, wherein the target control code block is further configured to be replaced with a third control code block.
11. The method of claim 9 or 10, wherein the priority of the third control code block is higher than or equal to the priority of the second control code block.
12. The method according to any of claims 1-11, wherein the second control code block comprises any one or more of an automatic protection switching, APS, link verification, CV, delay measurement, DM, customer signal type indication, CS, code block.
13. The method according to any of claims 1-11, wherein the second control code block comprises any one or more of automatic protection switching, APS, link verification, CV, delay measurement, DM, customer signal type indication, CS, information.
14. A method for processing a stream of code blocks, the method comprising:
obtaining a first code block stream, wherein the first code block stream comprises at least two code blocks, and the at least two code blocks comprise a first boundary code block and a second boundary code block;
determining a period of a second control code block according to the number of code blocks between the first boundary code block and the second boundary code block;
and when the second control code block needs to be inserted, inserting at least one second control code block in the first code block stream according to the period of the second control code block to obtain a second code block stream.
15. The method of claim 14, wherein the number of code blocks is different between the first border code block and the second border code block, and wherein the periodicity of the second control code block is different.
16. The method of claim 14, wherein a range corresponding to the number of code blocks between the first boundary code block and the second boundary code block is different, and a period of the second control code block is different.
17. The method according to any one of claims 14-16, wherein the determining the periodicity of the second control code block according to the number of code blocks between the first boundary code block and the second boundary code block comprises:
determining a ratio of a first control code block in the at least two code blocks according to the number of code blocks between the first boundary code block and the second boundary code block;
and determining the period of the second control code block according to the ratio of the first control code block in the at least two code blocks and a first threshold, wherein the first threshold is obtained based on rate adaptation requirements.
18. The method according to any one of claims 14-17, wherein determining the periodicity of a second control code block from the number of code blocks between the first border code block and the second border code block comprises:
determining the period of the second control code block according to the maximum value of the code block number between the first boundary code block and the second boundary code block within a preset time length; alternatively, the first and second electrodes may be,
determining the period of the second control code block according to the maximum value of the code block number between the first boundary code block and the second boundary code block within preset times, wherein the preset times are used for representing the statistical times of the code block number between the first boundary code block and the second boundary code block.
19. The method according to any of claims 14-18, wherein the inserting at least one of the second control code blocks in the first code block stream according to the periodicity of the second control code blocks, resulting in a second code block stream comprises:
and inserting at least one second control code block into the first code block stream according to the period of the second control code block and the position of the first control code block included in the first code block stream.
20. A communications apparatus, the apparatus comprising:
a processor configured to obtain a first code block stream, where the first code block stream includes at least two code blocks, and the at least two code blocks include at least two first control code blocks;
the processor is further configured to determine at least one target control code block of the at least two first control code blocks, the target control code block being a first control code block that may be replaced with a second control code block;
the processor is further configured to replace one target control code block of the at least one target control code block with the second control code block to obtain a second code block stream when the second control code block needs to be inserted.
21. The apparatus of claim 20, wherein the first control code block is any one of an idle code block, a low power idle code block, or an erroneous code block.
22. The apparatus of claim 20 or 21,
the processor is specifically configured to determine at least one non-target control code block of the at least two first control code blocks, the non-target control code block being a first control code block that cannot be replaced with the second control code block.
23. The apparatus of claim 22, wherein the non-target control code block is a first control code block reserved based on rate adaptation requirements.
24. The apparatus of claim 22 or 23,
the processor is specifically configured to determine the at least one non-target control code block of the at least two first control code blocks according to a first threshold, where the first threshold is obtained based on a rate adaptation requirement.
25. The apparatus of any one of claims 20-24,
the processor further configured to mark the at least one target control code block;
the processor is specifically configured to replace one of the at least one marked target control code block with the second control code block, so as to obtain the second code block stream.
26. The apparatus of any one of claims 22-24,
the processor further configured to mark the at least one non-target control code block;
the processor is specifically configured to replace one of the unmarked first control code blocks with the second control code block, so as to obtain the second code block stream.
27. The apparatus of any one of claims 20-26,
the processor is specifically configured to replace one target control code block of the at least one target control code block with the second control code block according to a period of the second control code block and/or a priority of the second control code block, so as to obtain the second code block stream.
28. The apparatus according to any of claims 20-27, wherein the first stream of code blocks further comprises a third control code block.
29. The apparatus of any one of claims 20-28, wherein the target control code block is further configured to be replaced with a third control code block.
30. The apparatus of claim 28 or 29, wherein the priority of the third control code block is higher than or equal to the priority of the second control code block.
31. The apparatus according to any of claims 20-30, wherein the second control code block comprises any one or more of an automatic protection switching, APS, link verification, CV, delay measurement, DM, customer signal type indication, CS, code block.
32. The apparatus according to any of claims 20-30, wherein the second control code block comprises any one or more of automatic protection switching, APS, link verification, CV, delay measurement, DM, customer signal type indication, CS, information.
33. A communications apparatus, the apparatus comprising:
a processor configured to obtain a first code block stream, where the first code block stream includes at least two code blocks, and the at least two code blocks include a first boundary code block and a second boundary code block;
the processor is further configured to determine a periodicity of a second control code block according to the number of code blocks between the first boundary code block and the second boundary code block;
the processor is further configured to insert at least one second control code block in the first code block stream according to a period of the second control code block to obtain a second code block stream when the second control code block needs to be inserted.
34. The apparatus of claim 33, wherein the number of code blocks between the first border code block and the second border code block is different, and wherein the periodicity of the second control code block is different.
35. The apparatus of claim 33, wherein a range corresponding to the number of code blocks between the first boundary code block and the second boundary code block is different, and a period of the second control code block is different.
36. The apparatus of any one of claims 33-35,
the processor is specifically configured to determine a ratio of a first control code block in the at least two code blocks according to the number of code blocks between the first boundary code block and the second boundary code block; and determining the period of the second control code block according to the ratio of the first control code block in the at least two code blocks and a first threshold, wherein the first threshold is obtained based on rate adaptation requirements.
37. The apparatus of any one of claims 33-36,
the processor is specifically configured to determine a period of the second control code block according to a maximum value of the number of code blocks between the first boundary code block and the second boundary code block within a preset duration; alternatively, the first and second electrodes may be,
the processor is specifically configured to determine a period of the second control code block according to a maximum value of the code block number between the first boundary code block and the second boundary code block within a preset number of times, where the preset number of times is used to indicate a statistical number of the code block number between the first boundary code block and the second boundary code block.
38. The apparatus of any one of claims 33-37,
the processor is specifically configured to insert at least one second control code block in the first code block stream according to a period of the second control code block and a position of a first control code block included in the first code block stream.
CN202011016575.4A 2020-09-24 2020-09-24 Processing method and device of code block stream Pending CN114257333A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011016575.4A CN114257333A (en) 2020-09-24 2020-09-24 Processing method and device of code block stream
PCT/CN2021/117859 WO2022062930A1 (en) 2020-09-24 2021-09-11 Code block stream processing method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011016575.4A CN114257333A (en) 2020-09-24 2020-09-24 Processing method and device of code block stream

Publications (1)

Publication Number Publication Date
CN114257333A true CN114257333A (en) 2022-03-29

Family

ID=80790038

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011016575.4A Pending CN114257333A (en) 2020-09-24 2020-09-24 Processing method and device of code block stream

Country Status (2)

Country Link
CN (1) CN114257333A (en)
WO (1) WO2022062930A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114979311A (en) * 2022-05-24 2022-08-30 苏州盛科通信股份有限公司 Ethernet message control code block detection method, device, server and storage medium
WO2023241274A1 (en) * 2022-06-17 2023-12-21 华为技术有限公司 Data processing apparatus, and main and standby switching method and system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106341207A (en) * 2015-07-06 2017-01-18 华为技术有限公司 Coding block data flow sending and receiving method, device and system
CN109962762B (en) * 2017-12-25 2020-06-16 华为技术有限公司 Data transmission method, sending device and receiving device
CN110932999A (en) * 2018-09-20 2020-03-27 中国移动通信有限公司研究院 Service processing method and equipment

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114979311A (en) * 2022-05-24 2022-08-30 苏州盛科通信股份有限公司 Ethernet message control code block detection method, device, server and storage medium
WO2023241274A1 (en) * 2022-06-17 2023-12-21 华为技术有限公司 Data processing apparatus, and main and standby switching method and system

Also Published As

Publication number Publication date
WO2022062930A1 (en) 2022-03-31

Similar Documents

Publication Publication Date Title
CN106453028B9 (en) Method and device for transmitting data
CA2416082C (en) Method of and system for the transfer of sonet traffic across a packet network
US6704326B2 (en) Payload mapping in synchronous networks
US20220416895A1 (en) Data transmission method and apparatus, terminal device and storage medium
US8416770B2 (en) Universal service transport transitional encoding
CN107888345B (en) Information transmission method and equipment
CN109391461B (en) Method and equipment for transparently transmitting service frequency
KR20210038959A (en) Service transmission method, equipment and computer storage medium
US20040114638A1 (en) Multiplexing relay transmission device
CN113508543A (en) Method for adapting a constant bit rate client signal into a path layer of a telecommunication signal
CN113972997A (en) Method and equipment for transmitting data
CN114257333A (en) Processing method and device of code block stream
KR20150002622A (en) Apparatus and methods of routing with control vectors in a synchronized adaptive infrastructure (sain) network
CN113875207A (en) Method for providing path signaling overhead in 64B/66B character streams of ITU-T metropolitan area transport networks
US20230119339A1 (en) Block group loss determining method and apparatus
US20230299880A1 (en) Code block identification method and apparatus
CN101247348B (en) Load sharing method and device
WO2019015462A1 (en) Method for sending detection block and method for receiving detection block, and network device and system
WO2022183875A1 (en) Method for determining transmission time slot and related apparatus
US6987731B2 (en) Communication system preforming control of information between a terminal device and a network side device including buffer management
CN113938246A (en) Service flow error code indication method and communication device
WO2019244633A1 (en) Signal quality information notification method and relay communication device
Li et al. A survey of research and standards in high‐speed networks
US20230396353A1 (en) Communication Method and Device, and Chip System
US20140341559A1 (en) Communication device, communication system, and communication method

Legal Events

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