WO2024032269A1 - 通信方法、相关装置及计算机可读存储介质 - Google Patents
通信方法、相关装置及计算机可读存储介质 Download PDFInfo
- Publication number
- WO2024032269A1 WO2024032269A1 PCT/CN2023/105316 CN2023105316W WO2024032269A1 WO 2024032269 A1 WO2024032269 A1 WO 2024032269A1 CN 2023105316 W CN2023105316 W CN 2023105316W WO 2024032269 A1 WO2024032269 A1 WO 2024032269A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- code block
- service
- communication device
- block stream
- filling area
- Prior art date
Links
- 238000004891 communication Methods 0.000 title claims abstract description 713
- 238000000034 method Methods 0.000 title claims abstract description 286
- 238000012545 processing Methods 0.000 claims description 100
- 238000005516 engineering process Methods 0.000 claims description 67
- 239000002245 particle Substances 0.000 claims description 42
- 238000004590 computer program Methods 0.000 claims description 24
- 239000008187 granular material Substances 0.000 claims description 10
- 239000000203 mixture Substances 0.000 claims description 2
- 230000006978 adaptation Effects 0.000 description 127
- 238000010586 diagram Methods 0.000 description 50
- 239000010410 layer Substances 0.000 description 48
- 230000005540 biological transmission Effects 0.000 description 41
- 230000006870 function Effects 0.000 description 41
- 230000015654 memory Effects 0.000 description 26
- 239000012792 core layer Substances 0.000 description 14
- 239000012634 fragment Substances 0.000 description 11
- 230000000694 effects Effects 0.000 description 10
- 230000002452 interceptive effect Effects 0.000 description 9
- 230000002829 reductive effect Effects 0.000 description 9
- 230000009286 beneficial effect Effects 0.000 description 8
- 238000013507 mapping Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 6
- 230000002441 reversible effect Effects 0.000 description 5
- 101150005660 PHY1 gene Proteins 0.000 description 4
- 238000005538 encapsulation Methods 0.000 description 4
- 101100520018 Ceratodon purpureus PHY2 gene Proteins 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
- H04L47/263—Rate modification at the source after receiving feedback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/087—Jitter
Definitions
- the present application relates to the field of Internet technology, and in particular, to a communication method, related devices and computer-readable storage media.
- CBR fixed bit rate
- CPRI common public radio interface
- SDH synchronous digital hierarchy
- the communication device encodes the CBR service into a code block stream, and then uses the code block stream to form to send CBR services to downstream communication devices.
- the communication device can determine whether the CBR service has a rate adaptation requirement before sending the code block stream to the downstream communication device. If it is determined that the CBR service has a rate adaptation requirement, the communication device can determine whether the CBR service has a rate adaptation requirement according to the size of the CBR service rate adaptation requirement.
- One or more idle code blocks are inserted or deleted in front of the starting code block in the stream to implement rate adaptation. After that, the inserted idle code block is first sent to the downstream communication device, and then the code block stream is sent.
- the inventor of the present application found that in the above method of implementing rate adaptation by inserting an idle code block before the starting code block in the code block stream generated by the CBR service, due to the insertion of one or more idle code blocks, there will be As a result, the delay and jitter for the communication device to process the CBR service will increase, and the increase in delay and jitter is a performance disadvantage that the communication device needs to avoid.
- This application provides a communication method, related devices and computer-readable storage media, which can reduce the delay and jitter of the communication device processing CBR services and improve the performance of the communication device.
- a communication method is provided.
- the method can be executed by a first communication device.
- the method includes the following steps: the first communication device receives a first CBR service, and generates a signal for carrying the first CBR service according to the first CBR service.
- a first code block stream of a CBR service and then sends the first code block stream to the second communication device.
- the first code block stream consists of a first start code block, M first data code blocks and a first end code block.
- the first code block stream includes first indication information and a first filling area.
- the first indication information indicates The first filling area is not filled with service data, the first filling area is not filled with the first CBR service, the length of the first filling area is less than the length of the first data code block, and M is a positive integer.
- the above first filling area When the above first filling area is not filled with service data, it can be filled with data other than service data, such as a fixed pattern of all 0s or all 1s, or it can also be filled with other data, such as the position of the first filling area in the first code block stream. information, position information of the first indication information in the first code block stream, etc.
- the first filling area can also be partially filled with a fixed pattern and partially filled with other data. For the convenience of description, the following description will be based on the description that when the filling area (such as the first filling area and the third filling area described below) is not filled with service data, it is filled with a fixed pattern.
- the first padding area in the first code block stream generated by the first communication device according to the first CBR service that is not used to carry the first CBR service. Since there is an area (i.e., the first padding area) in the first code block stream generated by the first communication device according to the first CBR service that is not used to carry the first CBR service, it can be seen that this allows the first code block stream to carry The data amount of the first CBR service becomes smaller, so that the rate at which the first communication device sends the first CBR service to the second communication device becomes slower, achieving the effect of rate adaptation. Moreover, since the length of the first padding area is less than the length of the first data code block, and the length of the first data code block is equal to the length of an idle code block, the first communication device generates the first code according to the first CBR service.
- the idle code block needs to be inserted in front of the starting code block in the code block stream.
- the delay and jitter of the first communication device processing the CBR service can be reduced.
- the first indication information indicates that the first filling area is not filled with service data, therefore, the first After receiving the first code block stream, the second communication device can obtain the first indication information, and learn that the first filling area is not filled with service data according to the first indication information. Afterwards, the second communication device may discard the fixed pattern of filling the first filling area and obtain the first CBR service from the remaining area of the first code block stream.
- the length of the first padding area is less than the length of the first data code block, and the length of the first data code block is equal to the length of the idle code block, compared with the current second communication device
- the idle code block inserted before the start code block in the code block stream needs to be deleted before the CBR service can be obtained, which can reduce the delay and jitter of the second communication device processing the CBR service.
- the communication method provided in the first aspect further includes the following steps: the first communication device receives the second CBR service, and generates a second code block for carrying the second CBR service according to the second CBR service. stream, and then sends the second code block stream to the second communication device.
- the second code block stream consists of a second start code block, M second data code blocks and a second end code block.
- the second code block stream includes second indication information and a second filling area.
- the second indication information It indicates that the second filling area is filled with service data, the second filling area is filled with the second CBR service, and the length of the second filling area is smaller than the length of the second data code block.
- the padding area (ie, the second padding area) in the second code block stream generated by the first communication device according to the second CBR service carries the data in the second CBR service, it can be seen that this does not cause the second code block stream to The data amount of the second CBR service carried by the block stream is reduced, so the rate at which the first communication device sends the second CBR service to the second communication device will not be slowed down. Therefore, this embodiment can be used when the CBR service does not require rate adaptation. CBR services are transmitted at the same time.
- the second indication information indicates that the second filling area is filled with service data, therefore, after receiving the second code block stream, the second communication device
- the second indication information can know that the second filling area is filled with service data, and then when the second communication device obtains the second CBR service from the second code block stream, it will retain the service data filled in the second filling area, and then obtain the second CBR service from the second code block stream.
- the second CBR service is obtained from the remaining area of the code block stream and the reserved second padding area, thereby realizing transmission of the CBR service.
- the first communication device may generate the first code block stream for carrying the first CBR service according to the first CBR service in the following manner: first obtain a first container, and the first container includes The first data, the first indication information and the first filling area are extracted from the first CBR service, and then the first container is encoded to obtain the first code block stream.
- the first container is an encapsulation structure with a fixed length provided by this application, and is used to encapsulate the first CBR service.
- the first data is encapsulated by the first container provided by this application, and then the first container is encoded to generate the first code block stream, so that the generated first code block stream includes data from the first CBR
- the first data, the first indication information and the first padding area extracted from the service are used to implement rate adaptation for the first CBR service with a granularity smaller than the length of the idle code block.
- the first container includes a container overhead and a container payload, the container payload includes a first filling area and first data, and the container overhead includes first indication information.
- the first container includes a container overhead and a container payload, the container overhead includes first indication information and a first filling area, and the container payload includes first data.
- the first container is a package structure with a fixed length. The position and length of the container overhead in the first container and the position and length of the container payload are also fixed.
- the container overhead includes the first filling
- the implementation of the area can increase the number of bits from the first CBR service carried by the container payload, thereby increasing the number of bits from the first CBR service carried by the first code block stream. Number of bits. Therefore, in practical applications, an appropriate container structure can be flexibly selected from the above two possible implementation methods to carry the CBR service according to the specific conditions of the CBR service that needs to be transmitted.
- the first container further includes a fixed filling area, the fixed filling area is filled with a fixed pattern, and the fixed filling area is not used to carry service data.
- the fixed padding area is used to enable the first communication device to encode the first container to generate the first code block stream.
- the generated first code block stream can accommodate the first start code block, M first data code blocks and the first code block.
- the format of the end code block can accommodate the first start code block, M first data code blocks and the first code block.
- the first container when encoding the first container to generate the first code block stream, can be carried in the first code block stream in any of the following ways: (1) M first data codes block carries the first container, the first start code block and the first end code block do not carry the first container; (2) M first data code blocks and the first end code block carry the first container, the first start code block does not Carrying the first container; (3) M first data code blocks, first end code blocks and first start code blocks carry the first container.
- the above method (2) has an extra first end code block to carry the first container. It can be understood that this can make the length of the first container longer.
- the length of the container can be designed to be longer, the length of the container payload in the first container can be designed to be longer. In this way, the number of bits from the first CBR service carried by the container payload can be increased, thereby improving the first code.
- the above method (3) has an additional first starting code block to carry the first container. It can be understood that this can make the length of the first container longer.
- the length of a container can be designed to be longer
- the length of the container payload in the first container can be designed to be longer.
- the number of bits from the first CBR service carried by the container payload can be further increased, thus further improving The number of bits from the first CBR service carried by the first code block stream. Therefore, in practical applications, an appropriate code block combination can be flexibly selected from the above three possible implementations to carry the container according to the specific conditions of the CBR service that needs to be transmitted.
- the first communication device can communicate with the second communication device through small particle technology.
- the solution provided by this application can be applied to two communication devices that communicate through small particle technology, thereby solving the problem of current transmission problems between these two communication devices.
- CBR services have the problem of large service processing delay and jitter.
- the first communication device can communicate with the second communication device through slicing packet network (SPN) small particle technology.
- SPN slicing packet network
- the first communication device can implement communication to the second communication device in the following manner.
- the second communication device sends the first code block stream: the first code block stream belongs to the first FlexE sub-client, and maps the first FlexE sub-client to the fine granularity basic unit (fgBU) is at least one sub-slot allocated by the first FlexE sub-client.
- fgBU fine granularity basic unit
- the first communication device can communicate with the second communication device specifically through MTN small particle technology.
- the first communication device can send the first code block to the second communication device in the following manner.
- Stream The first code block stream belongs to the first MTN fine granularity path (MTN fg-path).
- the first communication device maps the first MTN fg-path to the first MTN fg-path in the MTN fgBU. At least one allocated sub-slot.
- the first communication device can communicate with the second communication device through FlexE.
- the first communication device can send the first code block stream to the second communication device in the following manner: first The code block stream belongs to the first FlexE client, and the first communication device maps the first FlexE client to at least one time slot allocated for the first FlexE client in the FlexE group (FlexE Group).
- FlexE Group the FlexE group
- the first communication device can communicate with the second communication device through MTN.
- the first communication device can send the first code block stream to the second communication device in the following manner: first The code block stream belongs to the first MTN path (MTN path, MTNP), and the first communication device maps the first MTNP to at least one time slot allocated for the first MTNP in the MTN section layer (MTN section layer, MTNS).
- MTN path MTN path
- MTNS MTN section layer
- the first aspect and any implementation manner of the first aspect all use the first communication device to receive a CBR service (such as the first CBR service and the second CBR service), and generate a CBR service based on a CBR service for carrying the CBR service.
- a CBR service such as the first CBR service and the second CBR service
- the first communication device may receive the first CBR including the first code block stream and the second code block stream.
- a plurality of CBR services including services/second CBR services, and a first code block stream/second code block stream for carrying the plurality of CBR services is generated according to the plurality of CBR services.
- possible implementations in which the first communication device generates the first code block stream/second code block stream for carrying the multiple CBR services according to multiple CBR services include but are not limited to the following possible implementations. one two three:
- Possible implementation mode 1 Before the first communication device generates the first code block stream for carrying the first CBR service according to the first CBR service, the first communication device also receives the third CBR service as an example.
- the first The communication device may generate a first code block stream for carrying the first CBR service and the third CBR service according to the first CBR service and the third CBR service.
- the first code block stream not only includes the first indication information and the first The filling area also includes third indication information and a third filling area.
- the third indication information indicates that the third filling area does not carry service data, the third filling area is not filled with service data, and the length of the third filling area and the first filling area is and is less than the length of the first data code block.
- Possible implementation mode 2 Before the first communication device generates the first code block stream for carrying the first CBR service according to the first CBR service, the first communication device also receives the fourth CBR service as an example.
- the first The communication device may generate a first code block stream for carrying the first CBR service and the fourth CBR service according to the first CBR service and the fourth CBR service.
- the first code block stream not only includes the first indication area and the first The filling area also includes fourth indication information and a fourth filling area.
- the fourth indication information indicates that the fourth filling area is filled with service data, the fourth filling area is filled with the fourth CBR service, and the fourth filling area and the first filling area are filled with service data. The sum of the lengths is less than the length of the first data code block.
- Possible Implementation Mode 3 Before the first communication device generates the second code block stream for carrying the second CBR service according to the second CBR service, the first communication device also receives the fifth CBR service as an example.
- the first The communication device may generate a second code block stream for carrying the second CBR service and the fifth CBR service according to the second CBR service and the fifth CBR service.
- the second code block stream not only includes the second indication area and the second The filling area also includes fifth indication information and a fifth filling area.
- the fifth indication information indicates that the fifth filling area is filled with service data, the fifth filling area is filled with the fifth CBR service, and the fifth filling area and the first filling area are The sum of the lengths is less than the length of the second data code block.
- the first code block stream carries multiple CBR services simultaneously
- at least one sub-slot allocated in fgBU for a FlexE sub-client (such as the first FlexE sub-client mentioned above) can transmit multiple CBR services at the same time.
- the sub-slot of the FlexE sub-client can only transmit one CBR service (such as the first CBR service above).
- the bandwidth of a CBR service (such as 2.048Mbps) is much smaller than the sum of the bandwidths of the sub-slots allocated by the FlexE sub-client (such as 10Mbps). ), bandwidth waste can be reduced and bandwidth utilization improved.
- the multiple CBR services may have rate adaptation requirements. For example, in the first communication When the rate at which the device sends each CBR service among multiple CBR services is greater than the rate at which the first communication device receives the CBR service for a long time, if rate adaptation is not performed, the cache of the CBR service will be read empty in the long run. Therefore, when the first communication device uses a code block stream to simultaneously carry multiple CBR services to transmit multiple CBR services to the second communication device, it also needs to perform rate adjustment on the CBR services that require rate adaptation among the multiple CBR services. adaptation.
- the multiple CBR services may all have rate adaptation requirements or none of the multiple CBR services may have rate adaptation requirements. Some CBR services may also have rate adaptation requirements. In addition, Some CBR services do not have rate adaptation requirements.
- Method 1 generates a first code block stream for carrying the first CBR service and the third CBR service according to the first CBR service and the third CBR service.
- the first filling area is not used to carry the first CBR service
- the third filling area is not used to carry the third CBR service.
- the first communication device since the sum of the lengths of the first padding area and the third padding area is less than the length of one idle code block, the first communication device generates the sum of the lengths for carrying the first CBR service according to the first CBR service and the third CBR service.
- the first code block stream of the third CBR service it is equivalent to performing rate adaptation on the first CBR service and the third CBR service together with a granularity smaller than the length of the idle code block.
- An idle code block is inserted before the start code block in the code block stream to adapt the CBR service rate, which can reduce the delay and jitter of the first communication device in processing the CBR service.
- the first code block stream carrying the first CBR service and the third CBR service sent by the first communication device to the second communication device includes the first indication information, the third indication information, and the first padding area and the third filling area
- the first indication information indicates that the first filling area is not filled with service data
- the third indication information indicates that the third filling area is not filled with service data. Therefore, when the second communication device receives the first CBR service and After the first code block stream of the third CBR service, the first indication information and the third indication information can be obtained, the unfilled service data of the first filling area is learned according to the first indication information, and the third filling area is learned according to the third indication information. Business data is not populated. Afterwards, the second communication device may discard the fixed pattern filled in the first filling area and the fixed pattern filled in the third filling area, and then obtain the first CBR service and the third CBR service from the remaining area of the first code block stream.
- the second communication device Since the sum of the lengths of the first padding area and the third padding area is less than the length of one idle code block, compared to the current situation, the second communication device needs to first delete the idle code block inserted before the start code block in the code block stream. , the CBR service can be obtained, which can reduce the delay and jitter of the second communication device processing the CBR service.
- the first CBR service has a rate adaptation requirement
- the fourth CBR service does not have a rate adaptation requirement, as an example.
- you can The above-mentioned possible implementation mode 2 is used to generate a first code block stream for carrying the first CBR service and the fourth CBR service according to the first CBR service and the fourth CBR service.
- the first code block stream generated by the first communication device according to the first CBR service and the fourth CBR service for carrying the first CBR service and the fourth CBR service has an area (i.e., the first filling area) It is not used to carry the first CBR service, which can reduce the data amount of the first CBR service carried by the first code block stream, thereby slowing down the rate at which the first communication device sends the first CBR service to the second communication device.
- the fourth filling area carries the fourth CBR service. This can maintain the data amount of the first CBR service carried by the first code block stream unchanged and does not affect the fourth CBR service. rate to adapt.
- the first communication device is configured according to When the first CBR service and the fourth CBR service generate the first code block stream for carrying the first CBR service and the fourth CBR service, it is equivalent to performing rate adaptation on the first CBR service with a granularity smaller than the length of the idle code block. Compared with the current situation where the first communication device needs to insert an idle code block before the starting code block in the code block stream to adapt to the CBR service rate, the delay and jitter of the first communication device processing the CBR service can be reduced. .
- the first code block stream carrying the first CBR service and the fourth CBR service sent by the first communication device to the second communication device includes the first indication information, the fourth indication information, and the first padding area and a fourth filling area.
- the first indication information indicates that the first filling area is not filled with service data
- the fourth indication information indicates that the fourth filling area is filled with service data. Therefore, the second communication device receives the first CBR service and the fourth filling area. After the first code block stream of the fourth CBR service, the first indication information and the fourth indication information can be obtained. According to the first indication information, it is learned that the first filling area is not filled with service data, and according to the fourth indication information, the fourth filling area is learned. Filled with business data.
- the second communication device may discard the fixed pattern filled in the first filling area, retain the service data filled in the fourth filling area, and then obtain the first CBR service from the remaining area of the first code block stream and the reserved fourth filling area. and fourth CBR operations.
- the length of the first padding area must be less than the length of one idle code block. Therefore, compared with the current second The communication device needs to delete the idle code block inserted before the start code block in the code block stream before it can obtain the CBR service, which can reduce the delay and jitter of the second communication device processing the CBR service.
- Embodiment 3 generates a second code block stream for carrying the second CBR service and the fifth CBR service according to the second CBR service and the fifth CBR service.
- the second filling area in the second code block stream generated by the first communication device according to the second CBR service and the fifth CBR service for carrying the second CBR service and the fifth CBR service carries the second CBR service
- the fifth filling area carries the fifth CBR service, so that the data amount of the second CBR service carried by the second code block stream can be maintained unchanged, and the data amount of the fifth CBR service carried by the second code block stream can be maintained unchanged. That is to say, the first communication device does not adapt the rates of the second CBR service and the fifth CBR service.
- the second code block stream carrying the second CBR service and the fifth CBR service sent by the first communication device to the second communication device includes the second indication information, the fifth indication information, and the second filling area and the fifth filling area
- the second indication information indicates that the second filling area is filled with service data
- the fifth indication information indicates that the fifth filling area is filled with service data. Therefore, the second communication device receives the second CBR service and the fifth filling area. After the second code block stream of the fifth CBR service, the second indication information and the fifth indication information can be obtained. According to the second indication information, it is learned that the second filling area is filled with service data, and according to the fifth indication information, the fifth filling area is learned. Filled with business data.
- the second network device can retain the fixed pattern filled in the second padding area, retain the service data filled in the fifth padding area, and then extract the data from the remaining area of the second code block stream and the reserved second padding area and fifth padding area. Obtain the second CBR service and the fifth CBR service.
- the first communication device may refer to Use any one or more combinations of Method 1, Method 2, and Method 3 to determine whether there is a rate adaptation requirement for the first CBR service:
- Method 1 Periodically obtain the rate at which the first communication device receives the first CBR service, determine whether the rate at which the first communication device receives the first CBR service is less than the rate threshold, and determine whether the rate at which the first communication device receives the first CBR service is less than the rate threshold. When the threshold is reached, it is determined that the first CBR service has a rate adaptation requirement; otherwise, it is determined that the first CBR service does not have a rate adaptation requirement.
- Method 2 Periodically obtain the depth of the first CBR service in the cache queue used to cache the first CBR service in the first communication device. When the depth of the first CBR service in the cache queue is less than the depth threshold, determine the first CBR service in the cache queue. The CBR service has a rate adaptation requirement. Otherwise, it is determined that the first CBR service does not have a rate adaptation requirement.
- Method 3 Periodically obtain the depth of the first CBR service in the cache queue used to cache the first CBR service in the first communication device, when the ratio of the depth of the first CBR service in the cache queue to the total depth of the cache queue is less than When the depth ratio threshold is reached, it is determined that the first CBR service has a rate adaptation requirement; otherwise, it is determined that the first CBR service does not have a rate adaptation requirement.
- the present application provides a communication method, which can be executed by a second communication device. Specifically, the method includes the following steps: the second communication device receives a third message carrying the first CBR service sent by the first communication device.
- a code block stream wherein the first code block stream consists of a first start code block, M first data code blocks and a first end code block, and the first code block stream includes first indication information and a first padding area,
- the first indication information indicates that the first filling area is not filled with service data, the first filling area is not filled with the first CBR service, the length of the first filling area is less than the length of the first data code block, M is a positive integer, and then, the second communication
- the device obtains the first CBR service according to the first code block stream.
- the communication method provided in the second aspect further includes the following steps:
- the second communication device receives the second code block stream carrying the second CBR service sent by the first communication device, where the second code block stream consists of a second start code block, M second data code blocks and a second end code block.
- the second code block stream consists of code blocks.
- the second code block stream includes second indication information and a second padding area.
- the second indication information indicates that the second padding area is filled with service data and the second padding area is filled with the second CBR service.
- the second padding area is filled with the second CBR service.
- the length is less than the length of the second data code block, and then, the second communication device obtains the second CBR service according to the second code block stream.
- the second communication device may obtain the first CBR according to the first code block stream in the following manner: Service: Decode the first code block stream to obtain the first container.
- the first container includes the first data extracted from the first CBR service, the first indication information and the first filling area, and then obtain the first container from the first data block. 1. CBR business.
- the first container includes a container overhead and a container payload
- the container payload includes a first filling area and first data
- the container overhead includes first indication information
- the first container includes a container overhead and a container payload
- the container overhead includes first indication information and a first filling area
- the container payload includes first data
- the first container further includes a fixed filling area, the fixed filling area is filled with a fixed pattern, and the fixed filling area is not used to carry service data.
- the M first data code blocks carry the first container, and the first start code block and the first end code block do not carry the first container.
- the M first data code blocks and the first end code blocks carry the first container, and the first start code block does not carry the first container.
- the second communication device communicates with the first communication device through small particle technology.
- the second communication device communicates with the first communication device specifically through SPN small particle technology.
- the second communication device can receive the first code block sent by the first communication device in the following manner.
- Stream The first code block stream belongs to the first FlexE sub-client.
- the first code block stream is obtained from at least one sub-slot allocated for the first FlexE sub-client in fgBU.
- the second communication device communicates with the first communication device specifically through MTN small particle technology.
- the second communication device can receive the first code block sent by the first communication device in the following manner.
- Stream The first code block stream belongs to the first MTN fg-path.
- the first code block stream is obtained from at least one sub-slot allocated for the first MTN fg-path in the MTN fgBU.
- the second communication device communicates with the first communication device through FlexE.
- the second communication device can receive the first code block stream sent by the first communication device in the following manner: first The code block stream belongs to the first FlexE client, and the first code block stream is obtained from at least one time slot allocated to the first FlexE client in the FlexE Group.
- the second communication device communicates with the first communication device through MTN.
- the second communication device can receive the first code block stream sent by the first communication device in the following manner: first The code block stream belongs to the first MTNP, and the first code block stream is obtained from at least one time slot allocated to the first MTNP in the MTNS.
- the first code block stream not only carries the first CBR service, but also carries the third CBR service.
- the first code block stream not only includes the first indication information and the first padding area, but also includes the third CBR service.
- the third indication information and the third filling area indicates that the third filling area is not filled with service data, the third filling area is not filled with the third CBR service, and the sum of the lengths of the third filling area and the first filling area is less than the first The length of the data code block.
- the second communication device can obtain the first CBR service and the third CBR service according to the first code block stream.
- the first code block stream not only carries the first CBR service, but also carries the fourth CBR service.
- the first code block stream not only includes the first indication information and the first padding area, but also includes the third CBR service.
- the fourth indication information indicates that the fourth filling area is filled with service data
- the fourth filling area is filled with the fourth CBR service
- the sum of the lengths of the fourth filling area and the first filling area is less than the first The length of the data code block.
- the second communication device can obtain the first CBR service and the fourth CBR service according to the first code block stream.
- the second code block stream not only carries the second CBR service, but also carries the fifth CBR service.
- the second code block stream not only includes the second indication information and the second filling area, but also includes the second CBR service.
- the fifth indication information and the fifth filling area, the fifth indication information indicates that the fifth filling area is filled with service data, the fifth filling area is filled with the fifth CBR service, and the sum of the lengths of the fifth filling area and the first filling area is less than the second The length of the data code block.
- the second communication device can obtain the second CBR service and the fifth CBR service according to the second code block stream.
- a third aspect provides a first communication device, which device includes: a transceiver unit and a processing unit; the transceiver unit is used to perform the receiving and/or transmitting operations performed by the first communication device as described in the first aspect above. ; The processing unit is configured to perform operations other than the receiving and/or transmitting operations performed by the first communication device described in the first aspect above.
- the transceiver unit is configured to receive the first CBR service; the processing unit is configured to generate a first code block for carrying the first CBR service according to the first CBR service stream, wherein the first code block stream consists of a first start code block, M first data code blocks and a first end code block, and the first code block stream includes first indication information and a first padding area , the first indication information indicates that the first filling area is not filled with service data, the first filling area is not filled with the first CBR service, and the first filling area is not filled with the first CBR service.
- the length of the filling area is less than the length of the first data code block, and M is a positive integer; the transceiver unit is also used to send the first code block stream to the second communication device.
- the processing unit is specifically configured to: when it is determined that the first CBR service has a rate adaptation requirement, generate a signal for carrying the first CBR service according to the first CBR service.
- the first code block stream of a CBR service is specifically configured to: when it is determined that the first CBR service has a rate adaptation requirement, generate a signal for carrying the first CBR service according to the first CBR service.
- the first code block stream of a CBR service is specifically configured to: when it is determined that the first CBR service has a rate adaptation requirement, generate a signal for carrying the first CBR service according to the first CBR service.
- the transceiver unit is further configured to receive a second CBR service; the processing unit is further configured to generate a message for carrying the second CBR service according to the second CBR service.
- a second code block stream wherein the second code block stream consists of a second start code block, M second data code blocks and a second end code block, and the second code block stream includes second indication information and a second filling area, the second indication information indicates that the second filling area is filled with service data, the second filling area is filled with the second CBR service, and the length of the second filling area is smaller than the The length of the second data code block; the transceiver unit is also configured to send the second code block stream to the second communication device.
- the processing unit is specifically configured to: when it is determined that there is no rate adaptation requirement for the second CBR service, generate a signal for carrying the second CBR service according to the second CBR service.
- the second code block stream of the second CBR service is specifically configured to: when it is determined that there is no rate adaptation requirement for the second CBR service, generate a signal for carrying the second CBR service according to the second CBR service.
- the second code block stream of the second CBR service is specifically configured to: when it is determined that there is no rate adaptation requirement for the second CBR service, generate a signal for carrying the second CBR service according to the second CBR service.
- the second code block stream of the second CBR service is specifically configured to: when it is determined that there is no rate adaptation requirement for the second CBR service, generate a signal for carrying the second CBR service according to the second CBR service.
- the processing unit is specifically configured to generate a first code block stream for carrying the first CBR service according to the first CBR service in the following manner: obtain a first container , the first container includes the first data extracted from the first CBR service, the first indication information and the first filling area, and then the first container is encoded to obtain the first Code block stream.
- the first container includes a container overhead and a container payload
- the container payload includes the first filling area and the first data
- the container overhead includes the first Instructions.
- the first container includes a container overhead and a container payload
- the container overhead includes the first indication information and the first filling area
- the container payload includes the third One data
- the first container further includes a fixed filling area, the fixed filling area is filled with a fixed pattern, and the fixed filling area is not used to carry service data.
- the M first data code blocks carry the first container, and the first start code block and the first end code block do not carry the first container.
- the M first data code blocks and the first end code block carry the first container, and the first start code block does not carry the first container.
- the transceiver unit is configured to communicate with the second communication device through small particle technology.
- the transceiver unit is specifically configured to send the first code block stream to the second communication device in the following manner: the first code block stream belongs to the first FlexE sub-user sub- client, mapping the first FlexE sub-client to at least one sub-slot allocated for the first FlexE sub-client in fgBU.
- the transceiver unit is specifically configured to send the first code block stream to the second communication device in the following manner: the first code block stream belongs to the first MTN fg-path, The first MTN fg-path is mapped to at least one sub-slot allocated for the first MTN fg-path in the MTN fgBU.
- the transceiver unit is specifically configured to send the first code block stream to the second communication device in the following manner: the first code block stream belongs to the first FlexE client, and the first code block stream belongs to the first FlexE client.
- the first FlexE client is mapped to at least one time slot allocated for the first FlexE client in the FlexE Group.
- the transceiver unit is specifically configured to send the first code block stream to the second communication device in the following manner: the first code block stream belongs to the first MTNP, and the The first MTNP is mapped to at least one time slot allocated for the first MTNP in the MTNS.
- the transceiver unit is further configured to receive a third CBR service; and the processing unit is specifically configured to: generate, according to the first CBR service and the third CBR service, a The first code block stream carrying the first CBR service and the third CBR service, the first code block stream also includes third indication information and a third filling area, the third indication information indicates that The third filling area does not carry service data, the third filling area is not filled with the service data, and the sum of the lengths of the third filling area and the first filling area is less than the length of the first data code block.
- the processing unit is specifically configured to: when it is determined that both the first CBR service and the third CBR service have rate adaptation requirements, and the third CBR service, generating the first code block stream used to carry the first CBR service and the third CBR service.
- the transceiver unit is further configured to receive a fourth CBR service; and the processing unit is specifically configured to: generate, according to the first CBR service and the fourth CBR service, a Carrying the first CBR service and the fourth CBR service
- the first code block stream further includes fourth indication information and a fourth filling area, the fourth indication information indicates that the fourth filling area is filled with service data, and the fourth filling area The area is filled with the fourth CBR service, and the sum of the lengths of the fourth filling area and the first filling area is less than the length of the first data code block.
- the processing unit is specifically configured to: when it is determined that the first CBR service has a rate adaptation requirement and the fourth CBR service does not have a rate adaptation requirement, perform the processing according to the The first CBR service and the fourth CBR service generate a first code block stream for carrying the first CBR service and the fourth CBR service.
- the transceiver unit is further configured to receive a fifth CBR service; and the processing unit is specifically configured to: generate, according to the second CBR service and the fifth CBR service, a The second code block stream carrying the second CBR service and the fifth CBR service, the second code block stream further includes fifth indication information and a fifth padding area, the fifth indication information indicates that The fifth filling area is filled with service data, the fifth filling area is filled with the fifth CBR service, and the sum of the lengths of the fifth filling area and the first filling area is less than the second data code block length.
- the processing unit is specifically configured to: when it is determined that neither the second CBR service nor the fifth CBR service requires rate adaptation, service and the fifth CBR service, and generate the second code block stream used to carry the second CBR service and the fifth CBR service.
- the processing unit may specifically determine the first CBR through any one or more combinations of the following methods 1, 2, and 3. Whether there is a rate adaptation requirement for the service, the second CBR service, the third CBR service, the fourth CBR service, and the fifth CBR service:
- Method 1 Periodically obtain the rate at which the transceiver unit receives the first CBR service, determine whether the rate at which the transceiver unit receives the first CBR service is less than a rate threshold, and determine whether the transceiver unit receives the first CBR service. When the rate of the CBR service is less than the rate threshold, it is determined that the first CBR service has a rate adaptation requirement; conversely, it is determined that the first CBR service does not have a rate adaptation requirement.
- Method 2 Periodically obtain the depth of the first CBR service in the cache queue used to cache the first CBR service in the transceiver unit. When the depth of the first CBR service in the cache queue is less than When the depth threshold is reached, it is determined that the first CBR service has a rate adaptation requirement; otherwise, it is determined that the first CBR service does not have a rate adaptation requirement.
- Method 3 Periodically obtain the depth of the first CBR service in the cache queue used to cache the first CBR service in the transceiver unit. When the ratio of the depth to the total depth of the cache queue is less than the depth ratio threshold, it is determined that the first CBR service has a rate adaptation requirement; otherwise, it is determined that the first CBR service does not have a rate adaptation requirement.
- a fourth aspect provides a second communication device, which device includes: a transceiver unit and a processing unit; the transceiver unit is used to perform the receiving and/or transmitting operations performed by the second communication device as described in the second aspect above. ; The processing unit is configured to perform operations other than the receiving and/or transmitting operations performed by the second communication device described in the second aspect above.
- the transceiver unit is configured to receive the first code block stream carrying the first CBR service sent by the first communication device, wherein the first code block stream consists of a first starting code block, It consists of M first data code blocks and a first end code block.
- the first code block stream includes first indication information and a first filling area.
- the first indication information indicates that the first filling area is not filled with service data. , the first filling area is not filled with the first CBR service, the length of the first filling area is less than the length of the first data code block, M is a positive integer;
- the processing unit is configured to The first code block stream is used to obtain the first CBR service.
- the transceiver unit is further configured to receive a second code block stream carrying a second CBR service sent by the first communication device, wherein the second code block stream is started by a second It consists of a start code block, M second data code blocks and a second end code block.
- the second code block stream includes second indication information and a second filling area.
- the second indication information indicates the second filling area.
- the filling carries service data, the second filling area is filled with the second CBR service, and the length of the second filling area is less than the length of the second data code block; the processing unit is also configured to The second code block stream is used to obtain the second CBR service.
- the processing unit is specifically configured to obtain the first CBR service according to the first code block stream in the following manner: decoding the first code block stream to obtain A first container, the first container includes the first data extracted from the first CBR service, the first indication information and the first filling area, and then obtains the first data from the first container.
- decoding the first code block stream to obtain A first container
- the first container includes the first data extracted from the first CBR service, the first indication information and the first filling area, and then obtains the first data from the first container.
- the first container includes a container overhead and a container payload
- the container payload includes the first filling area and the first data
- the container overhead includes the first Instructions.
- the first container includes a container overhead and a container payload
- the container overhead includes the first indication information and the first filling area
- the container payload includes the third One data
- the first container further includes a fixed filling area, the fixed filling area is filled with a fixed pattern, and the fixed filling area is not used to carry service data.
- the M first data code blocks carry the first container, and the first start code block and the first end code block do not carry the first container.
- the M first data code blocks and the first end code block carry the first container, and the first start code block does not carry the first container.
- the transceiver unit is configured to communicate with the first communication device through small particle technology.
- the transceiver unit is specifically configured to receive the first code block stream sent by the first communication device in the following manner: the first code block stream belongs to the first FlexE sub-client, from Obtain the first code block stream from at least one sub-time slot allocated to the first FlexE sub-client in the fgBU.
- the transceiver unit is specifically configured to receive the first code block stream sent by the first communication device in the following manner: the first code block stream belongs to the first MTN fg-path, from At least one sub-time slot allocated to the first MTN fg-path in the MTN fgBU is used to obtain the first code block stream.
- the transceiver unit is specifically configured to receive the first code block stream sent by the first communication device in the following manner: the first code block stream belongs to the first FlexE client, from the FlexE Group Obtain the first code block stream from at least one time slot allocated to the first FlexE client.
- the transceiver unit is specifically configured to receive the first code block stream sent by the first communication device in the following manner: the first code block stream belongs to the first MTNP and is obtained from the MTNS. Obtain the first code block stream from at least one time slot allocated by the first MTNP.
- the first code block stream not only carries the first CBR service, but also carries the third CBR service, and the first code block stream not only includes the first indication area and The first filling area also includes third indication information and a third filling area.
- the third indication information indicates that the third filling area is not filled with service data, and the third filling area is not filled with the third CBR. service, the sum of the lengths of the third padding area and the first padding area is less than the length of the first data code block; the processing unit is specifically configured to obtain the The first CBR service and the third CBR service.
- the first code block stream not only carries the first CBR service, but also carries the fourth CBR service, and the first code block stream not only includes the first indication area and The first filling area also includes fourth indication information and a fourth filling area.
- the fourth indication information indicates that the fourth filling area is filled with service data, and the fourth filling area is filled with the fourth CBR. service, the sum of the lengths of the fourth padding area and the first padding area is less than the length of the first data code block; the processing unit is specifically configured to obtain the The first CBR service and the fourth CBR service.
- the second code block stream not only carries the second CBR service, but also carries the fifth CBR service, and the second code block stream not only includes the second indication information and
- the second filling area also includes fifth indication information and a fifth filling area.
- the fifth indication information indicates that the fifth filling area is filled with service data, and the fifth filling area is filled with the fifth CBR. service, the sum of the lengths of the fifth padding area and the first padding area is less than the length of the second data code block; the processing unit is specifically configured to obtain the said The second CBR service and the fifth CBR service.
- a communication device including a processor and a memory.
- the communication device may be the above-mentioned first communication device or the above-mentioned second communication device.
- a transceiver is also included, the memory is used to store computer programs or instructions, and the processor is used to call and run the computer program or instructions from the memory.
- the processor executes the computer program or instructions in the memory, the The communication device implements any one of the above-mentioned first to second aspects, and any implementation of any aspect.
- processors there are one or more processors and one or more memories.
- the memory can be integrated with the processor, or the memory can be provided separately from the processor.
- the transceiver may include a transmitter (transmitter) and a receiver (receiver).
- a communication device including a processor.
- the communication device may be the above-mentioned first communication device or the above-mentioned second communication device.
- the processor is coupled to a memory and may be configured to perform any one of the first aspect to the second aspect, and any one of the aspects. implementation.
- the communication device may be the above-mentioned first communication device or the above-mentioned second communication device.
- the communication device further includes a memory.
- the communication device further includes a communication interface, and the processor is coupled to the communication interface.
- the communication interface may be a transceiver or an input/output interface.
- the transceiver may be a transceiver circuit.
- the input/output interface may be an input/output circuit.
- the communication interface may be an input on the chip or chip system.
- a processor may also be embodied as a processing circuit or logic circuit.
- a seventh aspect provides a communication system, which includes the first communication device and the second communication device.
- a computer program product includes: a computer program (which may also be called a code, or an instruction).
- a computer program which may also be called a code, or an instruction.
- the computer program When the computer program is run, it causes the computer to execute any of the above-mentioned first to second aspects.
- a computer program which may also be called a code, or an instruction.
- a computer-readable storage medium stores a computer program (which may also be called a code, or an instruction), and when run on a computer, causes the computer to execute the above-mentioned first aspect to the second aspect.
- a computer program which may also be called a code, or an instruction
- a tenth aspect provides a chip system, which may include a processor.
- the processor is coupled to a memory and may be used to execute any one of the above-mentioned first to second aspects, and any implementation of any aspect.
- the chip system also includes a memory.
- Memory is used to store computer programs (also called codes, or instructions).
- the processor is configured to call and run the computer program from the memory, so that the device installed with the chip system executes any one of the first to second aspects, and any implementation of any aspect.
- a processing device including: an interface circuit and a processing circuit.
- Interface circuits may include input circuits and output circuits.
- the processing circuit is configured to receive signals through the input circuit and transmit signals through the output circuit, so that any one of the first to second aspects, and any implementation of any aspect is implemented.
- the above-mentioned processing device may be a chip
- the input circuit may be an input pin
- the output circuit may be an output pin
- the processing circuit may be a transistor, a gate circuit, a flip-flop, and various logic circuits.
- the input signal received by the input circuit may be received and input by, for example, but not limited to, the receiver, and the signal output by the output circuit may be, for example, but not limited to, output to and transmitted by the transmitter, and the input circuit and the output A circuit may be the same circuit that functions as an input circuit and an output circuit at different times.
- This application does not limit the specific implementation methods of the processor and various circuits.
- the processing device may be a part of the device in the first communication device or the second communication device, such as an integrated circuit product such as a system chip or a communication chip.
- the interface circuit may be an input/output interface, interface circuit, output circuit, input circuit, pin or related circuit on the chip or chip system, etc.
- the processing circuitry may be logic circuitry on the chip.
- Figure 1 is a schematic structural diagram of a code block in the 64B/66B encoding format involved in this application;
- FIG. 2 is a schematic structural diagram of an idle code block involved in this application.
- FIG. 3 is a schematic diagram of a FlexE technology involved in this application.
- Figure 4 is a schematic diagram of mapping different services to different PHY links involved in this application.
- Figure 5 is a schematic architectural diagram of an MTN protocol stack hierarchical model involved in this application.
- Figure 6 is a schematic diagram of the format of an fgBU involved in this application.
- Figure 7 is a schematic diagram of an application scenario involved in this application.
- Figure 8 is a schematic diagram of another application scenario involved in this application.
- Figure 9a is a schematic diagram of a process of converting services into code block streams involved in this application.
- Figure 9b is a schematic diagram of a process of converting code block streams into services involved in this application.
- Figure 10 is an interactive schematic diagram of a communication method provided by this application.
- Figure 11a is a schematic structural diagram of a first container provided by this application.
- Figure 11b is a schematic structural diagram of a first container exemplarily shown in this application.
- Figure 11c is a schematic structural diagram of another first container provided by this application.
- Figure 11d is a schematic structural diagram of another first container exemplarily shown in this application.
- Figure 11e is a schematic structural diagram of yet another first container provided by the present application.
- Figure 12a is a schematic diagram of a process of converting services into code block streams exemplified by this application;
- Figure 12b is a schematic diagram of a process of converting a code block stream into a service exemplified by this application;
- Figure 12c is a schematic diagram of another process of converting services into code block streams exemplified by this application.
- Figure 12d is a schematic diagram of another process of converting code block streams into services exemplified by this application.
- Figure 12e is a schematic diagram of another process of converting services into code block streams provided by this application.
- Figure 13 is an interactive schematic diagram of another communication method provided by this application.
- Figure 14a is an interactive schematic diagram of another communication method provided by this application.
- Figure 14b is an interactive schematic diagram of another communication method provided by this application.
- Figure 14c is an interactive schematic diagram of another communication method provided by this application.
- Figure 15 is a schematic diagram of multiplexing a code block stream exemplarily shown in this application.
- Figure 16 is a schematic structural diagram of a communication device provided by this application.
- Figure 17 is a schematic structural diagram of another communication device provided by the present application.
- Figure 18 is a schematic structural diagram of yet another communication device provided by this application.
- CBR business which can also be called CBR business signal, CBR business flow or CBR data flow, etc., including but not limited to European transmission level (E1), synchronous (STM-1), serial Digital information (serial digital information, SDI).
- E1 European transmission level
- STM-1 synchronous
- SDI serial Digital information
- CBR services are represented by services.
- Code block refers to a bit block composed of multiple consecutive bits.
- the information carried (also called encapsulation or padding) on a code block may refer to the information carried on the bits included in the code block.
- the code blocks in the embodiments of this application may also have other alternative names, such as flits. Some of the embodiments introduced using code blocks as examples in the embodiments of this application are also applicable to the flit scenario.
- the code blocks in the embodiment of the present application may include two major types, namely data type code blocks (hereinafter referred to as data code blocks) and control type code blocks (hereinafter referred to as control code blocks).
- data code blocks data type code blocks
- control code blocks control type code blocks
- the payload area of the data code block (block payload) can be used to carry the actual data payload
- the payload area of the control code block can be used to carry control information.
- control code block Various types of code blocks can also be divided under the control code block, such as: start code block (also called head code block), end code block (also called tail code block), idle code block , operation administration and maintenance (OAM) code blocks, error code blocks, low-power code blocks, etc.
- start code block also called head code block
- end code block also called tail code block
- idle code block Various types of code blocks can also be divided under the control code block, such as: start code block (also called head code block), end code block (also called tail code block), idle code block , operation administration and maintenance (OAM) code blocks, error code blocks, low-power code blocks, etc.
- start code block also called head code block
- end code block also called tail code block
- idle code block idle code block
- OAM operation administration and maintenance
- Figure 1 exemplarily shows the structural diagram of the code block of the 64-bit (binary digit, referred to as bit or B))/66B encoding format defined in the IEEE Std 802.3-2018.IEEE Standard for Ethenet SECTION SIX standard.
- the synchronization header area of the code block includes the 0B and 1B of the code block.
- the code block with a synchronization header of 01 is called a data code block, and the data code block can be written as a D code block; the code block with a synchronization header of 10 is called a control code block.
- the field D0 of the control code block occupies 8B and can be called the type field of the control code block.
- the starting code block may be a code block with a synchronization header of type 10 and a field of 0x78 in Figure 1.
- the starting code block may be written as an S code block.
- the end code block can be a code block with a synchronization header of 10 and a type field of 0x87 (also called a T0 code block), a 0x99 code block (also called a T1 code block), or 0xAA in Figure 1 code block (also called T2 code block), 0xB4 code block (also called T3 code block), 0xCC code block (also called T4 code block), 0xD2 code block (also called T5 code block), 0xE1 code block (can also be called T6 code block) and 0xFF code block (can also be called T7 code block).
- the end code block shown in Figure 1 can be written as T code block.
- the OAM code block can be a code block with a synchronization header of 10 and a type field of 0x4B in Figure 1.
- the OAM code block can be written as an O code block.
- Figure 2 exemplarily shows the structural form of an idle code block involved in this application.
- the synchronization header area of the idle code block is 10, and other contents in the idle code block are shown in Figure 2.
- the code blocks involved in the embodiments of this application are exemplified by taking the 64B/66B code block structure shown in Figure 1 and Figure 2 as an example, but the embodiments of this application are also applicable to code blocks defined by other standards. Forms, such as 8B/10B, 256B/257B, etc.
- FlexE is an interface technology defined by the Optical Internet Forum (OIF) to achieve business isolation and network slicing. It supports multiple speed services by combining multiple 100 Gigabit Ethernet (giga bit Ethernet, GE) physical (PHY) interface binding, and each 100GE interface is divided into 20 time slots at 5 gigabits per second (Gbps) in the time domain.
- OFI Optical Internet Forum
- FlexE can support The following functions: binding, binding the links corresponding to multiple PHY interfaces (hereinafter referred to as PHY links) into a FlexE group (also called FlexE Group) to support services with a rate greater than that of a single PHY interface; sub-rate , by allocating time slots to services to support services with a rate less than the FlexE Group bandwidth or less than the bandwidth of a single PHY interface; channelization, by allocating time slots to services Supports the simultaneous transmission of multiple services in a FlexE Group. For example, in a 2*100GE FlexE Group, it supports the simultaneous transmission of one 150Gbps and two 25Gbps services.
- the basic function of FlexE is to map each of U services to a FlexE Group consisting of V PHY links according to FlexE Shim's time division multiplexing (TDM) mechanism.
- U and V are both positive integer. For example, U is 3, V is 2, and the basic architecture of FlexE can be shown in Figure 3.
- FlexE maps three services to a FlexE consisting of two PHY links according to the TDM mechanism of FlexE Shim. Group on.
- each service is mapped to the time slot allocated to the FlexE user (client) corresponding to each service in the FlexE Group. That is to say, one or more services are transmitted through the FlexE group between two communication devices that communicate through FlexE (communication device 1 and communication device 2 as shown in Figure 4), and each service occupies one or more services in the FlexE Group.
- One or more time slots on a PHY link are to be mapped to the FlexE group between two communication devices that communicate through FlexE (communication device 1 and communication device 2 as shown in Figure 4).
- the communication device mentioned in the embodiments of this application may be a network device such as a switch or a router, or may be a part of the network device, such as a single board or line card on the network device, or may be a A functional module on the network device may also be a chip used to implement the method of the present application, which is not specifically limited in the embodiment of the present application.
- the communication devices may be directly connected through, but not limited to, Ethernet cables or optical cables.
- FlexE client corresponds to a code block stream that encodes services according to a specific encoding (for example, 64B/66B encoding) format.
- Each FlexE client can be allocated (occupy) at least one of the multiple time slots included in the FlexE Group. gap.
- a FlexE Group consisting of a 100GE PHY1 link and a 100GE PHY2 link is taken as an example.
- the FlexE Group has a total of 40 time slots, and each time slot corresponds to the bandwidth of 5G.
- PHY1 corresponds to 20 time slots out of 40 time slots
- PHY2 corresponds to the other 20 time slots.
- service 1 occupies 5G bandwidth.
- Service 1 is allocated time slot 1 of PHY1.
- Service 2 occupies 25G bandwidth.
- Service 2 is allocated time slots 2 to 5 and time slot 19 of PHY1.
- 3 occupies 10G bandwidth, and service 3 is allocated time slot 1 and time slot 20 of PHY2.
- the sending end when the sending end (communication device 1 as shown in Figure 4) transmits services to the receiving end (communication device 2 as shown in Figure 4), it will first encode the services into a code block stream (corresponding to FlexE client) , and then map the code block stream to the time slot allocated for FlexE client in FlexE Group for transmission. After receiving the code block stream mapped on the time slot in FlexE Group, the receiving end can obtain services from the code block stream based on the mapping relationship between FlexE client and time slot.
- a code block stream corresponding to FlexE client
- the receiving end After receiving the code block stream mapped on the time slot in FlexE Group, the receiving end can obtain services from the code block stream based on the mapping relationship between FlexE client and time slot.
- MTN is a new transmission technology defined by Study Group 15 of the International Telecommunications Union Telecommunications Standardization Sector (ITU-T for ITU telecommunication standardization sector, referred to as ITU-T), drawing on some of the design concepts of FlexE, including complete transmission Network functions, such as interfaces, cross-connection, operations, administration and maintenance (OAM), control, protection, etc.
- the above-mentioned FlexE is an interface technology that can be targeted at data center interconnection (DCI) scenarios.
- DCI data center interconnection
- MTN is an integrated transport network technology that can be oriented to 5G transport network.
- MTN section layer (can be referred to as MTNS for short) and MTN path layer.
- MTNS The basic functions of MTNS are similar to those of FlexE, and the process of data transmission is also similar.
- the sender converts each of the W services into a code block stream, and then converts each The code block stream corresponding to each service is mapped to the time slot allocated for the MTN channel (path) (which may be referred to as MTNP) corresponding to each service in the MTNS for transmission.
- path which may be referred to as MTNP
- the receiving end can obtain the service from the code block stream according to the mapping relationship between MTNP and time slot.
- MTNP corresponds to a code block stream that encodes one or more services according to a specific encoding (such as 64B/66B encoding) format.
- Each MTNP can be allocated at least one time slot among multiple time slots included in MTNS.
- Figure 5 exemplarily shows the architectural schematic diagram of the MTN protocol stack layer model involved in this application. As shown in Figure 5, from the perspective of the protocol stack, MTNS is functionally equivalent to the FlexE Shim function.
- the physical coding sublayer (PCS) in Figure 5 can include the MTN path adaptation (MTN path adaptation) layer, the MTN path trail termination (MTN path trail termination) layer functional module, and the MTN path connection (MTN path connection) function. module, MTN section adaptation (MTN section adaptation) layer functional module and MTN section trail termination (MTN section trail termination) functional module.
- MTN path adaptation MTN path adaptation
- MTN path trail termination MTN path trail termination
- the flow of the sender receiving services, processing services, and sending services can be carried out from top to bottom.
- the services pass through the media access control (MAC) sublayer in the data link layer and enter the physical layer.
- MAC media access control
- RS reconciliation sublayer
- the function of RS is to make different media types transparent to the MAC sublayer
- the MTN channel layer where the business is PCS encoded (encoded)
- the module After the module is encoded, it can be called a code block stream (for example, it can be a 64B/66B code block stream).
- the 64B/66B code block stream can also be inserted with MTNP OAM and other overhead information at the MTN channel layer, and the corresponding forwarding port and time slot can be found through the MTN channel connection function at the MTN channel layer.
- the code block stream can then be entered from the MTN channel layer MTNS, where MTNS can be interleaved with other code block streams through rate adaptation.
- the interleaved code block stream can be inserted into the MTNS with OAM and other overhead information of the MTNS, and then the code block stream is adapted to enter the lower layer of the physical layer for transmission.
- the code block stream will be transcoded from 64B/66B to 256B/257B at the forward error correction (FEC) sublayer.
- the transcoded code block stream will be sent to the PHY link for transmission and then sent out.
- FEC forward error correction
- the process of the receiving end receiving the code block stream and processing the code block stream to obtain the service can be carried out from bottom to top.
- the code block stream can be processed by the FEC sublayer, MTNS, MTN channel layer, etc. in sequence.
- the process is as follows The reverse process of the business processing flow at the sending end.
- the FEC sublayer at the receiving end receives the code block stream, it first performs FEC error correction, and then converts the code block stream to the encoding format (for example, converts the 256B/257B code block stream into a 64B/66B code block stream ). Afterwards, the code block stream enters MTNS.
- each 64B/66B code block stream After processing and deinterleaving by MTNS, it is restored to the 64B/66B code block stream corresponding to each single-channel service at the adaptation layer of MTNS. Afterwards, each 64B/66B code block stream can be forwarded at the MTN channel layer through the connection function of the MTN channel layer.
- Fine granularity technology which can also be called fine granularity technology, slicing packet network (SPN) fine granularity technology, SPN small granularity technology or fine granularity unit (FGU) fine granularity Technology or MTN small particle technology, etc., is a technology derived from the industry based on the above-mentioned FlexE/MTN for transmitting small bandwidth services.
- SPN slicing packet network
- FGU fine granularity unit
- Small particle technology uses the TDM mechanism to cyclically send FGU frames at a fixed period, and the number and position of sub-slots contained in each frame are strictly fixed, so the transmission period of each sub-slot is also deterministic, where, Sub-slots are obtained by dividing time slots.
- a time slot can be divided into multiple sub-slots. For example, an MTN/FlexE time slot with a bandwidth of 5Gbps can be divided into 480 timeslots with a bandwidth of 10 megabits per second (megabits per second, Mbps) sub-slots.
- This mechanism realizes the division and multiplexing of time slots for 5Gbps granules.
- each small-bandwidth service The sub-slot positions occupied by each small-bandwidth service are strictly fixed, and the sub-slot resources are exclusive. Different small bandwidths Businesses do not interfere with each other and are strictly isolated.
- Each sub-slot has a deterministic transmission cycle, ensuring deterministic low-latency and low-jitter performance.
- Small particle technology includes but is not limited to: SPN small particle technology defined by China Mobile Communications Enterprise Standards (hereinafter referred to as SPN small particle technology), and MTN small particle technology defined by ITU (hereinafter referred to as MTN small particle technology).
- SPN small-granularity technology FGU frame can be called fine granularity basic unit (fgBU), small-granularity basic unit, small-granularity single frame, etc.
- MTN small-granularity technology FGU frame The frame can be called MTN fgBU, MTN small particle base frame, MTN small particle single frame, etc.
- the format of MTN fgBU can follow the fgBU format in SPN small particle technology. This application does not specifically limit the name of the FGU frame sent by the device through small particle technology.
- Figure 6 exemplarily shows a schematic diagram of an fgBU involved in this application.
- a 100GE PHY interface is taken as an example.
- the PHY interface is divided into 20 time slots with a bandwidth of 5Gbps.
- Each The time slot is divided into 480 sub-slots with a bandwidth of 10Mbps.
- the format of the data stream output by a 100GE PHY interface is 1 fgBU multiframe.
- 1 fgBU multiframe includes 20 fgBUs.
- fgBU0 to fgBU19 1 fgBU includes 24 sub-time slots. .
- fgBU has a fixed length and contains 1 S code block, 195 D code blocks and 1 T code block, for a total of 197 64B/66B code blocks.
- 195 D code blocks and 1 T code block of fgBU contain 7 bytes of fgBU overhead (overhead, abbreviated as OH) and 1560 bytes of fgBU payload.
- fgBU OH is used to carry the overhead information of fgBU.
- fgBU net The payload is used to carry business data.
- the overhead information of fgBU may include the sequence number of fgBU, the sub-slot mapping table corresponding to the PHY link, etc.
- the sequence number of the fgBU can be used to indicate the position of the fgBU in the entire fgBU multiframe. According to the position, the sub-slot number loaded by the fgBU can be known.
- the sub-slot mapping table can be used to identify the PHY link. The number of sub-slots and sub-slot positions allocated to each FlexE sub-client.
- one sub-slot can transmit eight 65B code blocks.
- the 65B code block can be compressed into a 2B synchronization header area in the 66B code block.
- the synchronization header accounting for 1B is obtained.
- the synchronization header is 01, which is 0 after compression, and the synchronization header is 10, which is 1 after compression.
- the sender can convert each of the W small-bandwidth services into a code block stream (corresponding to FlexE sub-user (sub-client)), and then map it to fgBU according to the TDM mechanism of FlexE shim
- the sub-slots allocated by the FlexE sub-client corresponding to each small-bandwidth service are transmitted.
- the receiving end After receiving the code block stream mapped on the sub-slot in fgBU, the receiving end can obtain small-bandwidth services from the code block stream based on the mapping relationship between FlexE sub-client and sub-slot.
- FlexE sub-client corresponds to a code block stream that encodes small-bandwidth services according to a specific encoding (such as 64B/66B encoding) format.
- Each FlexE sub-client can be allocated at least one of the multiple sub-slots included in fgBU. sub-slot.
- MTN fine-granularity channel MTN fine granularity path, MTN fg-path
- MTN channel layer MTN channel layer and MTN fg-path layer
- MTN channel layer is the service layer of MTN fg-path layer.
- the transmitter can convert each small-bandwidth service among W small-bandwidth services into a code block stream, and then convert each small-bandwidth service into a code block stream.
- the code block streams corresponding to each small-bandwidth service are mapped to the sub-slots allocated by the MTN fg-path corresponding to each small-bandwidth service in the MTN fgBU for transmission.
- the receiving end After receiving the code block stream mapped on the sub-slot in the MTN fgBU, the receiving end can obtain the small-bandwidth service based on the mapping relationship between the MTN fg-path and the sub-slot.
- MTN fg-path corresponds to a code block stream that encodes one or more small-bandwidth services according to a specific encoding (for example, 64B/66B encoding) format.
- Each MTN fg-path can be allocated multiple MTN fgBU included. At least one of the time slots.
- Large-granularity services which can also be called coarse-grained services, large-granularity services, the above-mentioned large-bandwidth services, etc., mainly refer to the use of N (N is a positive integer) time slots with a bandwidth of 5Gbps in the above-mentioned FlexE/MTN technology.
- the bandwidth granularity of a time slot can be 1Gbps, etc. Taking the bandwidth granularity of a time slot as 1Gbps as an example, large-granularity services can also be services carried by N time slots with a bandwidth of 1Gbps in these technologies.
- the bandwidth of large-granularity services can be any value, but when the bandwidth of large-granularity services is greater than the sum of the bandwidths of N time slots, large-granularity services will face the risk of part of the service data being discarded during transmission. In large-granularity services, When the bandwidth is less than the sum of the bandwidths of N time slots, bandwidth will be wasted.
- Small-granularity services which can also be called fine-grained services, small-granularity services, the above-mentioned small-bandwidth services, etc., mainly refer to the use of N sub-slots in the above-mentioned small-granularity technology (such as the above-mentioned sub-slots with a bandwidth granularity of 10Mbps). ).
- the bandwidth granularity of sub-time slots can be 100Mbps. Taking the bandwidth granularity of sub-time slots as 100Mbps as an example, small-granularity services can also be N sub-time slots with a bandwidth of 100Mbps in these technologies. services carried by the gap.
- the bandwidth of the small-granule service can be any value.
- the bandwidth of the small-granule service is greater than the sum of the bandwidths of N sub-slots, the small-granule service will face the problem of part of the service data being discarded during transmission.
- the risk is that when the bandwidth of small-granularity services is less than the sum of the bandwidths of N sub-slots, bandwidth will be wasted.
- Figure 7 is an architectural schematic diagram of a FlexE-based transmission network exemplified by this application.
- the FlexE-based transmission network includes an access layer, aggregation layer and a core layer.
- the access layer is the part that directly faces users to connect or access the network. Its purpose is to allow user terminals to connect to the network.
- the core layer is the high-speed switching backbone of the network and plays a vital role in the connectivity of the entire network. Since the main purpose of the core layer is to provide an optimized and reliable backbone transmission structure through high-speed forwarding communications, the communication devices at the core layer have high reliability and large throughput. Typically, the core layer uses communications devices with higher bandwidth.
- the aggregation layer is located between the access layer and the core layer. It is responsible for processing all traffic from the access layer and providing a link between the access layer and the core layer.
- the transmission network shown in FIG. 7 includes a plurality of communication devices.
- the communication device mentioned here can be understood as an interface device that supports FlexE. Through the forwarding operation between multiple communication devices, data exchange between the user terminal and the backbone network, or data exchange between the user terminal and the user terminal, can be realized.
- the communication device located at the core layer can be a provider (provider) device (P device for short).
- the P device has powerful switching capabilities and can be used for high-speed switching of data streams;
- the communication device located at the aggregation layer can be an operator edge (provider edge, PE) device, and the PE device can be used to realize the connection between the access layer and the core layer.
- PE provider edge
- the data flow from the core layer enters the access layer through PE equipment, and the data flow from the access layer enters the core layer through PE equipment;
- the communication device located at the access layer can be a customer edge (CE) device.
- CE equipment Used to provide access services to user terminals.
- the interfaces between communication devices can be divided into two categories: network to network interface (NNI) and user networks interface (UNI).
- NNI network to network interface
- UNI user networks interface
- the NNI can be the interface between the PE device and the P device, or the interface between two P devices
- the UNI interface can be the interface between the PE device and the CE device.
- each communication device is used for data forwarding.
- the user terminal's services can reach the core network through CE equipment and PE equipment, and the core network's services can also pass through PE equipment and PE equipment.
- the CE device reaches the user terminal.
- FIG 8 is a schematic diagram of another network architecture applicable to the embodiment of the present application.
- the network architecture includes a first The communication device 100 and the second communication device 200, and the first communication device 100 and the second communication device 200 may be directly connected through, but are not limited to, an Ethernet cable or an optical cable, wherein the first communication device 100 and the second communication device 200 The room may or may not include other communication devices.
- the first communication device 100 and the second communication device 200 include but are not limited to network equipment such as switches and routers. They can also be part of the components on the network equipment, such as single boards and line cards on the network equipment. They can also be components on the network equipment.
- a functional module may also be a chip used to implement the communication method provided by this application, which is not specifically limited in the embodiment of this application.
- the network architecture will be described below using the transmission network shown in Figure 7 as an example.
- the first communication device 100 is used to implement conversion between services (which may also be called Ethernet frames or Ethernet frames) and code block streams.
- the second communication device 200 is used to implement conversion of code block streams and services.
- the first communication device 100 may convert the service received from the communication device in the access layer into a code block stream for transmission in the communication device in the core layer.
- the communication device in the core layer transmits the code block stream to the communication device located in the core layer.
- the second communication device 200 of the convergence layer After receiving the code block stream, the second communication device 200 restores the code block stream into a service, and then transmits it to the destination terminal through the communication device of the access layer.
- the first communication device 100 may be a PE device in the convergence layer in FIG. 7
- the second communication device 200 may be another PE device in the convergence layer.
- the first communication device 100 may be the communication device 1 shown in FIG. 4
- the second communication device 200 may be the communication device 2 shown in FIG. 4 .
- the first communication device 100 may encode the service according to a specific encoding (such as 64B/66B encoding, 8B/10B encoding, 256B/257B encoding, etc.) format.
- a specific encoding such as 64B/66B encoding, 8B/10B encoding, 256B/257B encoding, etc.
- the first communication device 100 encodes the service according to the 64B/66B encoding format and converts the service into a code block stream as an example.
- the technical solution provided by this application is also applicable to the scenario where the first communication device 100 encodes the service according to other encoding (such as 8B/10B encoding, 256B/257B encoding, etc.) format and converts the service into a code block stream.
- CBR services some services have rate adaptation requirements.
- the rate at which the first communication device 100 sends services is greater than the rate at which the first communication device 100 receives services (the rate) for a long time. (equal to the rate at which the communication device at the access layer sends services to the first communication device 100), if rate adaptation is not performed, the cache of the first communication device 100 will be empty in the long run.
- the first communication device 100 finds that the service requires rate adaptation, it can insert/delete the idle code block before the S code block in the code block stream for rate adaptation before transmitting the code block stream to the second communication device 200 , and then transmit the rate-adapted code block stream to the second communication device 200.
- the second communication device 200 may first delete the idle code block inserted before the S code block in the code block stream, and then convert the code block stream into a service.
- Figure 9a is an exemplary illustration of the current application in which the first communication device 100 converts services into a code block stream and inserts an idle code block in front of the S code block in the code block stream to perform service rate adaptation.
- 9 b is a schematic flow diagram of the current second communication device 200 deleting the idle code block inserted before the S code block in the code block stream and converting the code block stream into a service as exemplarily shown in this application.
- Figure 9a it is shown as an example that the first communication device 100 converts the service 1 into a code block stream 1, and the code block stream 1 is in a 64B/66B encoding form.
- service 1 is a series of bit streams.
- the first communication device 100 can intercept the service 1 segment by segment in units of 64 bits to obtain M segments, each segment including 64 bits.
- the first communication device 100 puts the 64 bits of each segment into the payload area of a D code block to obtain M (M can be a positive integer) D code blocks. It can also be understood that the first communication device 100 Add a 01 sync header to get a D code block.
- the first communication device 100 may always slice the service 1 and generate multiple groups of D code blocks.
- the number of D code blocks in any two groups of D code blocks among the multiple groups of D code blocks may be equal or different.
- the first communication device 100 may add S code blocks and T code blocks at both ends of the M D code blocks, thereby obtaining code block stream 1.
- the S code block may represent the beginning of the code block stream
- the T code block may represent the end of the code block stream.
- the first communication device 100 After obtaining the code block stream 1, if the first communication device 100 finds that the service 1 has a rate adaptation requirement, the first communication device 100 can insert one or more idle code blocks in front of the S code block in the code block stream 1 to adjust the rate. Adaptation (see code block stream 1 after inserting the idle code block stream shown in Figure 9a).
- Figure 9b the code block stream 1 is converted into service 1, and the code block stream 1 is in the 64B/66B encoding form as an example.
- Figure 9b can be understood as the reverse process of Figure 9a.
- the second communication device 200 can remove the idle code block to obtain the code block stream 1.
- the second communication device 200 can remove the S code blocks and T code blocks at both ends of the D code block in the code block stream 1 to obtain M D code blocks.
- the second communication device 200 removes the synchronization header of each D code block in the M D code blocks, and the resulting bit stream is service 1.
- the first communication device 100 and the second communication device 200 may The delay and jitter of processing services increase, and the increase of delay and jitter is a performance disadvantage that any communication device needs to avoid.
- the present application provides a communication method, related devices and computer-readable storage media.
- the first communication device 100 can perform rate adaptation on the service at a small granularity (less than the length of an idle code block). configuration, thereby reducing the delay and jitter of service processing by the first communication device 100 and the second communication device 200, and improving the performance of the first communication device 100 and the second communication device 200.
- Figure 10 is an interactive schematic diagram of a communication method provided by this application. As shown in Figure 10, the communication method provided by this application includes:
- S1001 The first communication device 100 receives the first service.
- the first communication device 100 generates a first code block stream for carrying the first service according to the first service, where the first code block stream consists of a first S code block, M first D code blocks and a first T code blocks, the first code block stream includes first indication information and a first filling area, the first indication information indicates that the first filling area is not filled with service data, the first filling area is not filled with data in the first service, and the first The length of the padding area is smaller than the length of the first D code block.
- S1003 The first communication device 100 sends the first code block stream to the second communication device 200.
- the second communication device 200 receives the first code block stream sent by the first communication device 100.
- the second communication device 200 obtains the first service according to the first code block stream.
- multiple services are involved, such as the first service, the second service, the third service, the fourth service, etc., and these services may include but are not limited to E1, STM-1, and SDI.
- multiple code block streams are involved, such as a first code block stream, a second code block stream, etc.
- These code block streams are composed of 1 S code block, M D code blocks and 1 T code block. composition.
- the above first filling area When the above first filling area is not filled with service data, it can be filled with data other than service data, such as a fixed pattern of all 0s or all 1s, or it can also be filled with other data, such as the position of the first filling area in the first code block stream. information, position information of the first indication information in the first code block stream, etc.
- the first filling area can also be partially filled with a fixed pattern and partially filled with other data.
- the filling area (such as the first filling area and the third filling area described below) is not filled with service data, it is filled with a fixed pattern to expand the description.
- the first communication device 100 since the length of the first padding area is less than the length of the first data code block, and the length of the first data code block is equal to the length of an idle code block, the first communication device 100 generates the first code according to the first service. When using a block stream, it is equivalent to performing a rate adaptation on the first service with a granularity smaller than the length of the idle code block. Compared with the first communication device 100 shown in Figure 9a, which needs to insert the S code block in front of the code block stream. The idle code block is used to adapt the service rate, which can reduce the delay and jitter of the first communication device 100 in processing services.
- the first indication information indicates that the first filling area is not filled with service data
- the second communication device 200 can obtain the first indication information, and learn that the first filling area is not filled with service data according to the first indication information. Afterwards, the second communication device 200 may discard the fixed pattern filled with the first filling area and obtain the first service from the remaining area of the first code block stream.
- the second communication device 200 needs to delete the code first. Only the idle code block inserted before the S code block in the block stream can obtain the service, which can reduce the delay and jitter of the second communication device 200 in processing the service.
- the first service received by the first communication device 100 may be a service directly sent by the first source to the first communication device 100, or may be a service sent by the first source to other communication devices and forwarded by other communication devices. Services provided to the first communication device 100 are not performed here. Specific limitations.
- the first communication device 100 may refer to the following steps A1-A3 to generate a first code block stream for carrying the first service according to the first service:
- A1 Extract the first data from the first business.
- A2 Obtain the first container, where the first container includes first data, first indication information and a first filling area.
- A3 Encode the first container to obtain the first code block stream.
- the first container is an encapsulation structure with a fixed length W provided by this application, and is used to encapsulate the first service.
- the first container includes a first overhead (also called container overhead or container overhead area, the length is X bits, X is a positive integer) and a first payload (also called container payload or container payload area, the length is Y bits, Y is a positive integer).
- Figure 11a is a schematic structural diagram of a first container exemplarily shown in this application.
- the first overhead can be set with a fixed length (Z2 bits, Z2 is a positive integer, Z2 can be set relatively small, such as 1 or 2, etc.) indication area, hereafter referred to as the first indication area, the first overhead can A padding area with a fixed length (Z1 bit, Z1 is an integer greater than 0 and less than 66) is provided, which is hereinafter referred to as the first padding area. Please continue to refer to Figure 11a.
- the first container shown in FIG. 11a is only an example.
- the first indication area may be adjacent to the first filling area, or the sum of the lengths of the first indication area and the first filling area may be Z1+Z2 is exactly equal to the length X of the first overhead. This application does not specifically limit the position of each area and the length of each area in the first container.
- the first filling area may also be provided in the first payload, or part of the first filling area may be provided in the first overhead and another part in the first payload, which is not specifically limited in this application.
- the first filling area is provided in the first overhead as an example.
- the first payload is used to encapsulate (carry) the first service
- the first filling area is used to fill the fixed pattern, and is not used to fill the data in the first service, that is, it is not used to encapsulate the first service.
- the first indication area is used to encapsulate first indication information indicating that the first filling area is not filled with service data.
- the remaining area can be used to carry the overhead information corresponding to the first container, For example, the location information of the first overhead in the first container, the location information of the first payload in the first container, etc.
- Figure 11b is a schematic structural diagram of a first container exemplarily shown in this application.
- the length of the first container is 128 bits
- the length of the first overhead is 20 bits
- the length of the first payload is 108 bits
- the length of the first indication area is 1 bit
- the length of the first padding area is 8 bits.
- Figure 12a is a schematic diagram of the process of generating a first container according to the first service and encoding the first container to obtain the first code block stream.
- Figure 12b is an exemplary process diagram of the present application. This application exemplarily illustrates a schematic diagram of the process of decoding the first code block stream to obtain the first container and obtaining the first service from the first container.
- service 1 represents the first service
- container 1 represents the first container
- code block stream 1 represents the first code block stream
- code block stream 1 is a code in the 64B/66B encoding format.
- container 1 is the container shown in Figure 11b as an example.
- service 1 is a series of bit streams.
- the first communication device 100 can slice the service 1 according to 108 bits to obtain segment 1. Segment 1 includes 108 bits.
- the first communication device 100 puts the fragment 1 into the payload of the container 1, fills the fixed pattern in the filling area of the container 1, and fills the indication information 1 in the indication area of the container 1.
- the indication information 1 indicates that the filling area of the container 1 is not Fill in the service data, and fill in the remaining area in the overhead of container 1 except the filling area and the indication area with the overhead information corresponding to container 1.
- the first communication device 100 can intercept segment by segment in units of 64 bits to obtain 2 segments, each segment including 64 bits.
- the first communication device 100 puts the 64 bits of each segment into the payload area of one D code block to obtain two D code blocks.
- the first communication device 100 can add S code blocks and T code blocks at both ends of the two D code blocks to obtain code block stream 1.
- the second communication device 200 can remove the S code blocks at both ends of the D code block in the code block stream 1 and T code block, get 2 D code blocks.
- the second communication device 200 removes the synchronization header 01 of the two D code blocks to obtain the container 1.
- the second communication device 200 reads the indication information 1 in the indication area of the container 1 and the overhead information corresponding to the container 1, and learns based on the indication information 1 that the filling area of the container 1 is not filled with service data, then removes the filling area of the container 1, Only the payload of container 1 is retained. It can be understood that a series of bit streams corresponding to the retained payload of container 1 is fragment 1, and obtaining fragment 1 means obtaining service 1.
- the process of obtaining a container (such as the above-mentioned container 1, the following container 2, etc.) based on the business (such as the above-mentioned business 1, the below-mentioned business 2, etc.) can be called the process of encapsulating the business.
- the process of obtaining a code block stream (such as the above-mentioned container 1, the following container 2, etc.) (such as the above-mentioned code block stream 1, the below-mentioned code block stream 2, etc.) can be called encoding the container (it can also be called encapsulation) )the process of.
- the process of obtaining a container (such as the above container 1, the following container 2, etc.) based on the code block stream (such as the above code block stream 1, the code block stream 2 described below, etc.) can be called code block matching.
- the process of decoding a stream (which can also be called decapsulation), and the process of obtaining services (such as the above service 1, the following service 2, etc.) based on containers (such as the above container 1, the following container 2, etc.), can be called The process of decapsulating a container.
- the specific implementation process of S1003 can be: assuming that the first code block stream belongs to the first FlexE client, A communication device 100 can map the first FlexE client to at least one time slot allocated to the first FlexE client in the FlexE Group for transmission.
- the second communication device 200 receives the time slot allocated to the first FlexE client in the FlexE Group. the first code block stream mapped on at least one time slot, and then obtain the first service according to the first code block stream.
- the specific implementation process of S1003 can be: assuming that the first code block stream belongs to the first MTNP, the first communication device 100 may map the first MTNP to at least one time slot allocated for the first MTNP in the MTNS for transmission.
- the second communication device 200 receives the information mapped on at least one time slot allocated for the first MTNP in the MTNS. the first code block stream, and then obtain the first service according to the first code block stream.
- the specific implementation process of S1003 can be as follows: Assume that the first code block stream belongs to the first FlexE sub- client, the first communication device 100 can map the first FlexE sub-client to at least one sub-slot allocated for the first FlexE sub-client in the fgBU for transmission. Correspondingly, the second communication device 200 receives the The first code block stream is mapped on at least one sub-slot allocated by the first FlexE sub-client, and then the first service is obtained based on the first code block stream.
- the specific implementation process of S1003 can be as follows: Assume that the first code block stream belongs to the first MTN fg- path, the first communication device 100 can map the first MTN fg-path to at least one sub-slot allocated for the first MTN fg-path in the MTN fgBU for transmission. Correspondingly, the second communication device 200 receives the MTN fgBU is the mapped first code block stream on at least one sub-slot allocated by the first MTN fg-path, and then obtains the first service based on the first code block stream.
- the first communication device 100 may continuously receive the bit stream of the first service for a period of time. If the first service always has a rate adaptation requirement, the first communication device 100 may perform the processing according to Figure 10 Steps S1001-S1003 in the method embodiment shown continuously process the bit stream of the first service that has been received, generate a first code block stream, and then send it to the second communication device 200 until the requirements of the first service are met. Rate adaptation requirements.
- the first communication device 100 may continue to receive the bit stream of the first service and needs to transmit the bit stream of the first service to the second communication device 200.
- the first communication device 100 may stop processing according to S1001-S1003 in the method embodiment shown in Figure 10, that is, stop processing the first service.
- the rate is adapted, and the first service is processed and transmitted with reference to the process of processing service 1 to generate code block stream 1 shown in Figure 9a.
- the process of processing and transmitting the first service is not specifically limited in this application.
- the first communication device 100 processes and transmits the subsequently received bit stream of the first service with reference to S1301-S1303 in the method embodiment shown in FIG. 9a or FIG. 13, it is again discovered that the first service has a rate adaptation requirement. , then the first service can be processed and transmitted again according to steps S1001-S1003 in the method embodiment shown in Figure 10, so as to adapt the rate of the first service, and so on, until the entire first service is transmitted. .
- the first communication device 100 determines whether the first service has a rate adaptation requirement. For details, please refer to the relevant descriptions of Method 1, Method 2, and Method 3 below.
- Figure 13 is a schematic flow chart of another communication method provided by this application.
- another communication method provided by this application includes:
- the first communication device 100 generates a second code block stream for carrying the second service according to the second service, where the second code block stream consists of a second S code block, M second D code blocks and a second T code blocks, the second code block stream includes second indication information and a second filling area, the second indication information indicates that the second filling area is filled with service data, the second filling area is filled with data in the second service, and the second The length of the padding area is smaller than the length of the second D code block.
- the first communication device 100 sends the second code block stream to the second communication device 200, and accordingly, the second communication device 200 receives the second code block stream.
- the second communication device 200 obtains the second service according to the second code block stream.
- the padding area (ie, the second padding area) in the second code block stream generated by the first communication device 100 according to the second service also carries the data in the second service, it can be seen that this does not cause the second code block to The amount of data of the second service carried by the block stream is reduced, so the rate at which the first communication device 100 sends the second service to the second communication device 200 will not be slowed down.
- This solution can be used to adjust the service when the service does not require rate adaptation. Make the transfer.
- the second indication information indicates that the second filling area is filled with service data, therefore, the second communication
- the device 200 can learn that the second filling area is filled with service data according to the second indication information, and then when the second communication device 200 obtains the second service from the second code block stream, The service data filled in the second padding area is retained, and then the second service is obtained from the remaining area of the second code block stream and the reserved second padding area, thereby realizing transmission of the service.
- the second service is processed and processed with reference to S1301-S1303 in the method embodiment shown in FIG. 13
- the transmission process processes and transmits the first service, which causes the first communication device 100 to stop performing rate adaptation on the first service.
- the first communication device 100 may refer to the following steps C1-C3 to generate the second code block stream according to the second service:
- C1 Extract the second data from the second business.
- C2 Obtain a second container, where the second container includes partial data of the second data, second indication information and a second filling area, and the second filling area is filled with the remaining data in the second data.
- C3 Encode the second container to obtain the second code block stream.
- D1 Decode the second code block stream to obtain the second container.
- D3 Obtain the second data from the second container according to the second instruction information.
- the structure of the second container is the same as that of the first container, that is, the second container includes a second overhead, a second payload, the second overhead includes a second filling area and a second indication area.
- the second payload is used to carry the second service
- the second filling area is not used to fill the fixed pattern, but is used to fill the data in the second service, that is, used to carry the second service
- the second indication area is used to carry the indication.
- the second filling area is filled with the second indication information of the service data.
- Figure 12c is a schematic diagram of the process of generating a second container according to the second service and encoding the second container to obtain a second code block stream.
- Figure 12d is an exemplary process diagram of the present application. This application exemplarily illustrates a schematic diagram of the process of decoding the second code block stream to obtain the second container and obtaining the second service from the second container.
- M is 2
- service 2 represents the second service
- container 2 represents the second container
- code block stream 2 represents the second code block stream
- code block stream 2 is in the 64B/66B encoding format.
- Code block stream, container 2 is the container shown in Figure 11b as an example for demonstration.
- service 2 is a series of bit streams.
- the first communication device 100 can slice according to 8 bits and 108 bits to obtain segment 2 and segment 3.
- Segment 2 includes 8 bits and segment 3 includes 108 bits. bits.
- the first communication device 100 puts fragment 2 into the filling area of the container 2, puts fragment 3 into the payload of the container 2, fills the indication area of the container 2 with the indication information 2, and the indication information 2 indicates the filling area of the container 2.
- the business data is filled in, and the remaining area in the overhead of container 2 except the filling area and the indication area is filled with the overhead information corresponding to container 2.
- the first communication device 100 can intercept segments segment by segment in units of 64 bits to obtain 2 segments, each segment includes 64 bits.
- the first communication device 100 puts the 64 bits of each segment into the payload area of one D code block to obtain two D code blocks.
- the first communication device 100 can add S code blocks and T code blocks to both ends of a group of D code blocks to obtain code block stream 2.
- the second communication device 200 can remove the S code blocks and T code blocks at both ends of the D code block in the code block stream 2 to obtain two D code blocks.
- the second communication device 200 removes the synchronization header 01 of each D code block in the two D code blocks to obtain the container 2.
- the second communication device 200 reads the indication information 2 in the indication area of the container 2 and the overhead information corresponding to the container 2, and learns based on the indication information 2 that the filling area of the container 2 is filled with business data, and then retains the filling area of the container 2 and For the payload of container 2, it can be understood that the series of bit streams corresponding to the reserved filling area of container 2 is fragment 2, and the series of bit streams corresponding to the reserved payload of container 2 is fragment 3. Obtain fragment 2 and fragment 2 means that business 2 is obtained.
- the specific process of the first communication device 100 sending the second code block stream to the second communication device 200 is the same as the specific process of the first communication device 100 sending the first code block stream to the second communication device 200 described in S1003.
- the first communication device 100 receives a service (such as the first service and the second service) as an example.
- a service such as the first service and the second service
- the communication method provided by this application is described.
- the first communication device 100 can also receive multiple services. For example, before executing S1002/S1302, the first communication device 100 in addition to receiving the first service/second service In addition, it can also receive third business, fourth business, fifth business and more services.
- the first service/second service, the third service, the fourth service, the fifth service and more services are sent to the first communication device 100 from the same source, and the first service/th service
- the destination terminals of the second business, the third business, the fourth business, the fifth business, and more services are the same, that is, the source addresses of the first business/second business and the third business, the fourth business, the fifth business, and more services. are the same, and the destination addresses of the first service/second service, the third service, the fourth service, the fifth service and more services are also the same.
- the first communication device 100 may generate the first code block stream/th code block stream according to the first service and the third service, the fourth service, the fifth service and more services. Two code block streams. In addition to carrying the first service, the first code block stream/second code block stream can also carry the third service, the fourth service, the fifth service and more services at the same time. Then, the first The communication device 100 sends the first code block stream/second code block stream that simultaneously carries multiple services to the second communication device 200. Correspondingly, the second communication device 200 receives the first code block stream that simultaneously carries multiple services. After the code block stream/second code block stream, multiple services can be obtained from the first code block stream/second code block stream.
- the first communication device In order to improve the flexibility of the solution, the first communication device generates the first code block stream/second code block stream for carrying the multiple services at the same time according to multiple services and transmits them in a possible implementation manner, including but not limited to Figure 14a , the data transmission method shown in Figure 14b and Figure 14c.
- Figure 14a is an interactive schematic diagram of another communication method provided by this application. As shown in Figure 14a, the method includes:
- S1401 The first communication device 100 receives the first service and the third service.
- the first communication device 100 generates a first code block stream for carrying the first service and the third service according to the first service and the third service.
- the first code block stream not only includes the first indication information and the first filling area.
- the third indication information indicates that the third filling area is not filled with service data, the third filling area is not filled with data in the third service, and the difference between the first filling area and the third filling area is The sum of the lengths is less than the length of the first D code block.
- the first communication device 100 sends the first code block stream carrying the first service and the third service to the second communication device 200.
- the second communication device 200 obtains the first service and the third service according to the first code block stream carrying the first service and the third service.
- Figure 14b is an interactive schematic diagram of another communication method provided by this application. As shown in Figure 14b, the method includes:
- S1410 The first communication device 100 receives the first service and the fourth service.
- the first communication device 100 generates a first code block stream for carrying the first service and the fourth service according to the first service and the fourth service.
- the first code block stream not only includes the first indication information and the first padding area.
- the fourth indication information indicates that the fourth filling area is filled with service data, the fourth filling area is filled with data in the fourth service, and the difference between the first filling area and the fourth filling area is The sum of the lengths is less than the length of the first D code block.
- the first communication device 100 sends the first code block stream carrying the first service and the fourth service to the second communication device 200.
- the second communication device 200 obtains the first service and the fourth service according to the first code block stream carrying the first service and the fourth service.
- FIG 14c is an interactive schematic diagram of another communication method provided by this application. As shown in Figure 14c, the method includes:
- S141 The first communication device 100 receives the second service and the fifth service.
- the first communication device 100 generates a second code block stream for carrying the second service and the fifth service according to the second service and the fifth service.
- the second code block stream not only includes the second indication information and the second filling area.
- the sum of the lengths of the fields is less than the length of the second D code block.
- the first communication device 100 sends the second code block stream carrying the second service and the fifth service to the second communication device 200.
- the second communication device 200 obtains the second service and the fifth service according to the second code block stream carrying the second service and the fifth service.
- the communication methods shown in Figure 14a, Figure 14b, and Figure 14c can realize one code block stream to carry multiple services at the same time.
- the first communication device 100 and the second communication device 200 communicate through SPN small particle technology.
- SPN small particle technology For example, it can be understood that when a code block stream carries multiple services at the same time, at least one sub-slot allocated in the fgBU for a FlexE sub-client (such as the first FlexE sub-client mentioned above) can be used to simultaneously transmit multiple services.
- Service compared with the current sub-slot allocated by a FlexE sub-client, which can only transmit one service, the bandwidth of a service (such as 2.048Mbps) is much smaller than the sum of the bandwidth of the sub-slots allocated by the FlexE sub-client. (such as 10Mbps), it can reduce bandwidth waste and improve bandwidth utilization.
- the first communication device 100 may extract third data from the first service, extract fourth data from the third service, and then obtain the third data and the fourth data, the first indication information and the third indication information. , the first container of the first filling area and the third filling area, and then encoding the first container to obtain a first code block stream carrying the first service and the third service.
- the first overhead in the first container may be provided with two indication areas of fixed length (Z2 bits), hereinafter referred to as the first indication area and the third indication area.
- the first overhead may be provided with 2 fixed-length (Z1 bits, 2*Z1 ⁇ 66) padding areas, hereafter referred to as the first padding area and the third padding area.
- the first payload in the first container can be divided into two sub-payloads of equal length. , hereafter referred to as the first sub-payload and the second sub-payload.
- the first sub-payload is used to carry the first service
- the second sub-payload is used to carry the third service
- the first filling area is used to fill the fixed pattern
- the third filling area is also used to fill the fixed pattern
- the first indication The area is used to carry first indication information indicating that the first filling area is not filled with service data
- the third indication area is used to carry third indication information indicating that the third filling area is not filled with service data.
- the first container shown in Figure 11c is only as an example.
- the structure of the first container can be other.
- the first indication area can be in the first filling area and the third filling area.
- the first sub-payload can be the 1st to Y/4th bits and the (2Y+1)/4th to 3Y/4th bits among the Y bits of the first payload, and the second sub-payload can be They are (Y+1)/4 bits to Y/2-th bits to (3Y+1)/4 to Y-th bits. This application does not specifically limit the structure of the first container.
- the two filling areas (i.e., the first filling area and the third filling area) in the first container can also be both set in the first payload, and one of the two filling areas can be set in the first overhead and the other in the first payload.
- this application does not specifically limit it.
- the area in the first payload except the padding area can be divided into two sub-payloads of equal length, and one of the two sub-payloads is used to carry the first payload. service, and another sub-payload is used to carry the third service.
- the two padding areas shown in FIG. 11c are both set in the first overhead and the first payload is divided into two sub-payloads of equal length.
- Figure 11d is a schematic structural diagram of a first container exemplarily shown in this application.
- the length of the first container is 128 bits
- the length of the first overhead is 20 bits
- the length of the first payload is 108 bits
- the lengths of the first sub-payload and the second sub-payload are both 54 bits.
- the lengths of the first indication area and the third indication area are both 1 bit
- the lengths of the first padding area and the third padding area are both 8 bits.
- Figure 12e is an exemplary illustration of the present application that generates third data and fourth data, first indication information and third indication information, and a first filling area according to the first service and the third service. and a first container in the third filling area, and encoding the first container to obtain a first code block stream carrying the first service and the third service.
- M is 2
- service 1 represents the first service
- service 3 represents the third service
- container 1 represents the first container
- code block stream 1 represents the first code block stream
- code block stream 1 is 64B. /66B encoding format code block stream
- container 1 is the container shown in Figure 11d as an example for demonstration.
- service 1 is a series of bit streams
- service 3 is another series of bit streams.
- the first communication device 100 can slice it according to 54 bits to obtain segment 1. Segment 1 includes 54 bits.
- the first communication device 100 can slice according to 54 bits to obtain segment 3, which includes 54 bits.
- the first communication device 100 puts fragment 1 into the first sub-payload of the container 1, puts fragment 3 into the second sub-payload of the container 1, and fills and fixes the first filling area and the third filling area of the container 1.
- indication information 1 indicates that the first filling area is not filled with business data
- indication information 3 indicates the third filling area
- the service data is not filled, and the remaining areas in the overhead of container 1 except the first filling area, the third filling area, the first indication area, and the third indication area are filled with the overhead information corresponding to container 1.
- the first communication device 100 can intercept segments one by one in units of 64 to obtain 2 segments, each segment including 64 bits.
- the first communication device 100 puts the 64 bits of each segment into the payload area of one D code block to obtain two D code blocks.
- the first communication device 100 can add S code blocks and T code blocks at both ends of the two D code blocks to obtain code block stream 1.
- the process in which the second communication device 200 obtains the first service and the third service according to the first code block stream carrying the first service and the third service is the process of the first communication device 100 in S1402 according to the first service.
- the reverse process of generating a code block stream for carrying the first service and the third service by the third service will not be described in detail in this application.
- the multiple services may have rate adaptation requirements. For example, in the first communication device When the rate at which each of the multiple services is sent by 100 is greater than the rate at which the first communication device 100 receives the service for a long time, if rate adaptation is not performed, the cache of the service will be empty in the long run. Therefore, when the first communication device 100 uses one code block stream to simultaneously carry multiple services to transmit multiple services to the second communication device 200, it may also need to perform rate adaptation on the services that require rate adaptation among the multiple services. match.
- the multiple services may all have rate adaptation requirements or none of the services may have rate adaptation requirements. It is also possible that some services may have rate adaptation requirements and another part of the services may have rate adaptation requirements. There is no need for rate adaptation.
- the first communication device 100 can use the method shown in Figure 14a The communication method shown transmits the first service and the third service to the second communication device 200.
- the first The padding area is not used to carry the first service
- the third padding area is not used to carry the third service. This can reduce the data amount of the first service and the data amount of the third service carried by the first code block stream, thereby reducing Slowing down the rate at which the first communication device 100 sends the first service to the second communication device 200 has the effect of adapting the rate of the first service, and causes the first communication device 100 to send the second service to the second communication device 200 .
- the rate of the third service is slowed down, which has the effect of adapting the rate of the third service.
- the first communication device 100 since the sum of the lengths of the first padding area and the third padding area is less than the length of one idle code block, the first communication device 100 generates a signal for carrying the first service and the third service according to the first service and the third service.
- the first code block stream of three services it is equivalent to performing a rate adaptation on the first service and the third service together with a granularity smaller than the length of the idle code block.
- it needs Inserting the idle code block before the S code block in the code block stream implements adaptation to the service rate, which can reduce the delay and jitter of the first communication device 100 in processing services.
- the first code block stream carrying the first service and the third service sent by the first communication device 100 to the second communication device 200 includes the first indication information, the third indication information, and the first padding area and the third filling area.
- the first indication information indicates that the first filling area is not filled with service data
- the third indication information indicates that the third filling area is not filled with service data. Therefore, when the second communication device 200 receives the message carrying the first service and After the first code block stream of the third service, the first indication information and the third indication information can be obtained. According to the first indication information, it is learned that the first filling area is not filled with service data, and according to the third indication information, it is learned that the third filling area is not filled with service data. Populate business data. Afterwards, the second communication device 200 may discard the fixed pattern filled with the first filling area, and discard the fixed pattern filled with the third filling area, and then obtain the first service and the third service from the remaining area of the first code block stream.
- the sum of the lengths of the first padding area and the third padding area is less than the length of one idle code block, compared to the second communication device 200 shown in FIG. 9b , it is necessary to first delete the previous insertion of the S code block in the code block stream. Only the idle code block can obtain the service, which can reduce the delay and jitter of the second communication device 200 in processing the service.
- the first service has a rate adaptation requirement
- the fourth service does not have a rate adaptation requirement.
- the first communication device 100 The first service and the fourth service may be transmitted to the second communication device 200 using the communication method shown in FIG. 14b.
- the first padding area there is an area (i.e., the first padding area) in the first code block stream generated by the first communication device 100 according to the first service and the fourth service for carrying the first service and the fourth service that is not used for carrying the first service and the fourth service.
- the amount of data of the first service carried by the first code block stream can be reduced, thereby slowing down the rate at which the first communication device 100 sends the first service to the second communication device 200, thereby affecting the first service.
- the effect of adapting the rate of the service is that the fourth filling area carries the fourth service. In this way, the data amount of the first service carried by the first code block stream can be maintained unchanged without adapting the rate of the fourth service.
- the first communication device 100 When generating the first code block stream for carrying the first service and the fourth service according to the first service and the fourth service, it is equivalent to performing a rate adaptation on the first service with a granularity smaller than the length of the idle code block.
- the delay and jitter of the first communication device 100 in processing the service can be reduced. .
- the first code block stream carrying the first service and the fourth service sent by the first communication device 100 to the second communication device 200 includes the first indication information, the fourth indication information, and the first padding area and a fourth filling area.
- the first indication information indicates that the first filling area is not filled with service data
- the fourth indication information indicates that the fourth filling area is filled with service data. Therefore, when the second communication device 200 receives the message carrying the first service and After the first code block stream of the fourth service, the first indication information and the fourth indication information can be obtained. According to the first indication information, it is learned that the first filling area is not filled with service data, and according to the fourth indication information, it is learned that the fourth filling area is filled. business data.
- the second communication device 200 may discard the fixed pattern filled in the first filling area, retain the service data filled in the fourth filling area, and then obtain the first service from the remaining area of the first code block stream and the reserved fourth filling area. and fourth business. Since the sum of the lengths of the first padding area and the fourth padding area is less than the length of one idle code block, at this time, the length of the first padding area must be less than the length of one idle code block. Therefore, compared with the length shown in Figure 9b The second communication device 200 needs to delete the idle code block inserted before the S code block in the code block stream before it can obtain the service, which can reduce the delay and jitter of the second communication device 200 in processing the service.
- the second service has a rate adaptation requirement
- the fifth service does not have a rate adaptation requirement.
- the first communication device 100 The second service and the fifth service may be transmitted to the second communication device 200 using the communication method shown in FIG. 14c.
- the second padding area in the second code block stream generated by the first communication device 100 according to the second service and the fifth service for carrying the second service and the fifth service carries the second service
- the fifth padding area carries the second service.
- the fifth service is carried, so that the data amount of the second service carried by the second code block stream can be maintained unchanged, and the data amount of the fifth service carried by the second code block stream can be maintained unchanged.
- the first communication The device 100 does not adapt the rates of the second service and the fifth service.
- the second code block stream carrying the second service and the fifth service sent by the first communication device 100 to the second communication device 200 includes the second indication information, the fifth indication information, and the second filling area. and the fifth filling area
- the second indication information indicates that the second filling area is filled with service data
- the fifth indication information indicates that the fifth filling area is filled with service data. Therefore, the second communication device 200 receives the message carrying the second service and After the second code block stream of the fifth service, the second indication information and the fifth indication information can be obtained. According to the second indication information, it is learned that the second filling area is filled with service data, and according to the fifth indication information, it is learned that the fifth filling area is filled. business data.
- the second communication device 200 may retain the fixed pattern filled in the second filling area, retain the service data filled in the fifth filling area, and then stream the remaining area from the second code block and the reserved second filling area and the fifth filling area. Get the second business and the fifth business.
- the first communication device 100 generates a code block stream for carrying two services simultaneously according to two services as an example.
- the implementation of the communication device 100 to generate code block streams for carrying three or more services simultaneously according to three or more services can be implemented according to the method embodiment shown in Figure 10, the method embodiment shown in Figure 13 and The method embodiments shown in Figures 14a to 14c can be derived by analogy, and will not be described in detail in this application.
- the first communication device 100 may also receive the third service, the fourth service, the fifth service and more services before executing S1003/S1303, and respectively process the third service, the fourth service and so on.
- the service, the fifth service and other more services perform operations similar to those performed on the first service/second service in S1002/S1302, and generate a third code block stream for carrying the third service and a fourth code block stream for carrying the fourth service.
- the first communication device 100 may perform operations similar to those performed on the first service in S1002 to generate a third code for carrying the third service. block stream, it can be understood that the padding area in the third code block stream here is not filled with data in the third service, and the indication information in the third code block stream indicates that the padding area in the third code block stream is not filled with service data.
- the first communication device 100 may perform operations similar to those performed on the second service in S1302 to generate a third code block stream for carrying the third service. It can be understood that the third code block stream here The padding area in the third code block stream is filled with data in the third service, and the indication information in the third code block stream indicates that the padding area is filled with service data.
- the first communication device 100 generates a first code block stream for carrying the first service according to the first service, and generates a third code block stream for carrying the third service according to the third service.
- the first The communication device 100 may send the first code block stream and the third code block stream to the second communication device 200 in the following manner: taking N1 (N1 is a positive integer) code block stream as a unit, according to a preset order (such as first The last code block stream The order of three code block streams or the order of the third code block stream followed by the first code block stream) multiplexes the first code block stream and the third code block stream to obtain the multiplexed code block stream, and then, The second communication device 200 sends the multiplexed code block stream.
- FIG. 15 is a schematic flowchart of generating a multiplexed code block stream based on the first code block stream and the third code block stream.
- N1 as 2 and the preset ordering as the first code block stream and the third code block stream as an example, the first code block stream and the third code block stream are multiplexed to obtain multiplexing The subsequent code block stream.
- the second communication device 200 can demultiplex the multiplexed code block stream in units of N1 code block streams to obtain the first code block stream. and the third code block stream, then, obtain the first service according to the first code block stream, and obtain the third service according to the third code block stream.
- the first communication device 100 may send the multiplexed code block stream in the following manner:
- the first communication device 100 can map the first FlexE sub-client to at least one sub-slot allocated for the first FlexE sub-client in the fgBU for transmission.
- the second communication device 200 receives the first FlexE sub-client in the fgBU. Map the multiplexed code block stream on at least one sub-slot allocated to the first FlexE sub-client, and then obtain the first service and the third service based on the multiplexed code block stream.
- the first communication device 100 involved in the above embodiments determines a service (Such as the above-mentioned first service, the above-mentioned second service, the above-mentioned third service, etc.) Whether there is a rate adaptation requirement will be introduced in detail.
- the first communication device 100 may refer to any one or more combinations of the following methods 1, 2, and 3 to determine whether there is a rate adaptation requirement for the first service:
- Method 1 Periodically obtain the rate at which the first communication device 100 receives the first service, determine whether the rate at which the first communication device 100 receives the first service is less than the rate threshold, and determine whether the rate at which the first communication device 100 receives the first service is less than the rate threshold. When the threshold is reached, it is determined that the first service has a rate adaptation requirement; otherwise, it is determined that the first service does not have a rate adaptation requirement.
- the rate threshold can be customized according to the actual situation. For example, assuming that the rate at which the first communication device 100 receives the first service fluctuates around 2.048Mbps, the rate threshold can be set to 2.048Mbps. Assume that the first communication device 100 receives the first service. If the service rate fluctuates around 155Mbps, the rate threshold can be set to 155Mbps.
- Method 2 Periodically obtain the depth of the first service in the cache queue used to cache the first service in the first communication device 100. When the depth of the first service in the cache queue is less than the depth threshold, it is determined that the first service exists. rate adaptation requirement, otherwise, it is determined that the first service does not have a rate adaptation requirement.
- the depth threshold can be customized according to the actual situation. For example, when the total depth of the cache queue is 100 bits, the depth threshold can be set to 60 bits.
- Method 3 Periodically obtain the depth of the first service in the cache queue used to cache the first service in the first communication device 100. After determining that the ratio of the depth of the first service in the cache queue to the total depth of the cache queue is less than the depth If the ratio exceeds the threshold, it is determined that the first service has a rate adaptation requirement; otherwise, it is determined that the first service does not have a rate adaptation requirement.
- the depth ratio threshold can be customized according to the actual situation. For example, when the total depth of the cache queue is 100 bits, the depth ratio threshold can be set to 0.6.
- the filling area (as shown in Fig. 12a
- the filling area of container 1 and the filling area of container 2 shown in Figure 12c) are all set in the container overhead.
- the filling area can also be all set in the container payload, or part of the filling area can be set in the container payload.
- the other part of the container overhead is set in the container payload, which is not specifically limited in this application. It can be understood that part of the padding area is set in the container overhead and the other part is set in the container payload.
- the number of bits from the service carried by the container payload can be increased, thereby increasing the number of bits from the service carried by the code block stream.
- the number of bits improves the transmission efficiency of services. It can also be understood that if the padding area is all set in the container overhead, compared with part being set in the container overhead and the other part being set in the container payload, the number of bits from the service carried by the container payload can be further increased, thereby further improving the code block stream carried.
- the number of bits from the business Therefore, in practical applications, an appropriate container structure can be flexibly selected from the above two possible implementations to carry the service according to the specific conditions of the service that needs to be transmitted.
- the container shown in Figure 12a
- the bits in container 1, container 2 shown in Figure 12c are carried in the payload area of the D code block in the code block stream (code block stream 1 shown in Figure 12a, code block stream 2 shown in Figure 12c)
- the bits in the container can be carried in addition to the payload area of the D code block in the code block stream. In the payload area of S code block and/or T code block, etc.
- the length W of the container can also be equal to the sum of the lengths of the payload area of the D code block and part or all of the payload area of the S code block and/or T code block in the code block stream.
- the length of the container payload Y can be larger, so that the container can carry more bits from the service, so that the code block stream generated according to the container can carry more bits from the service, improving the transmission efficiency of the service. Therefore, in practical applications, an appropriate combination of code blocks can be flexibly selected from the above possible implementations to carry the container according to the specific conditions of the services that need to be transmitted.
- the container (the container shown in Figure 12a 1.
- the container 2) shown in Figure 12c only includes the container overhead and the container payload.
- the container overhead includes the filling area and the indication area for display.
- a fixed padding area with a length of Z3 (Z3 is a positive integer) bits can also be set in the container overhead or container payload.
- the fixed padding area is used to fill the fixed pattern, and the fixed padding area is not used to carry services.
- the fixed padding area is used to make the length W of the container equal to the total bits used to carry the container in the code block stream, so that when the first communication device 100 encodes the container to generate the code block stream, the generated code block stream can be
- the format is sufficient for the first S code block, the M first D code blocks and the first T code block, that is, the code block type is sufficient for a fixed 64B/66B encoding format.
- the fixed filling area may also be partially provided in the fixed filling area carried by the container overhead, or the fixed filling area may be carried by the first container payload. Taking the fixed filling area set in the container overhead as an example, as shown in Figure 11e.
- the instruction information (shown in Figure 12a Instruction information 1 and indication information 2 shown in Figure 12c) only indicate whether the filling area in the container is filled with service data.
- the length of the indication area is 1 bit is used as an example for demonstration.
- the indication information in addition to indicating that the filling area in the container is not filled with service data, can also indicate which service data the filling area in the container is not filled with.
- the length of the indication area can also be greater than 1 bit, in this way, when the second communication device 200 receives a service, it can know which service is received.
- the indication information 1 in container 1 shown in Figure 12a in addition to indicating that the filling area in container 1 is not filled with service data, can also indicate that the filling area in container 1 is not filled with data in service 1, indicating that In addition to indicating that the filling area in container 2 is filled with service data, information 2 may also indicate that the filling area in container 2 is filled with data in service 1.
- the length of the indication area may be 1 bit, or may be greater than 1 bit.
- the indication area may be connected bits in the container overhead, or may be separate bits. This application applies This is not specifically limited.
- the filling area (as shown in Fig. 12a
- the filling area of container 1) is not filled with business data
- the fixed pattern is filled as an example.
- the filling area is not filled with service data and is filled with other data that is not a fixed pattern
- the second communication device 200 learns that the filling area is not filled with service data according to the indication information (the indication information shown in FIG. 12a)
- the communication method provided by this application can also be used in conjunction with the existing method of implementing service rate adaptation by inserting an idle code block in front of the S code block in the code block stream. If the first communication device 100 generates the first code block stream /After the second code block stream and other code block streams are sent to the second communication device 200, before the first code block stream/second code block stream and other code block streams are sent, the first code block stream/second code block stream and other code block streams are found. If the rate of the block stream still needs adaptation, the idle code block can be inserted in front of the S code block in the first code block stream/second code block stream and other code block streams to achieve further rate adaptation.
- rate adaptation is performed by inserting idle code blocks in front of the S code block. Compared with the current rate adaptation only by inserting idle code blocks, the rate can still be reduced.
- the number of idle code blocks that need to be inserted can also have the effect of reducing the delay and jitter of the first communication device 100 and the second communication device 200 in processing services.
- the communication device includes corresponding hardware structures and/or software modules that perform each function.
- the units and method steps of each example described in conjunction with the embodiments disclosed in this application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a certain function is executed by hardware or computer software driving the hardware depends on the specific application scenarios and design constraints of the technical solution.
- Figures 16, 17 and 18 are schematic structural diagrams of possible communication devices provided by this application. These communication devices can be used to implement the first communication in the above-mentioned method embodiment shown in FIG. 10, the method embodiment shown in FIG. 13, the method embodiment shown in FIGS. 14a-14c, and other embodiments.
- the functions of the device 100 can also achieve the beneficial effects of the method embodiment shown in FIG. 10, the method embodiment shown in FIG. 13, the method embodiment shown in FIGS. 14a-14c, and other embodiments.
- These communication devices can also be used to implement the functions of the second communication device 200 in the above-mentioned method embodiment shown in FIG. 10, the method embodiment shown in FIG. 13, the method embodiment shown in FIGS. 14a-14c, and other embodiments. Therefore, the beneficial effects of the method embodiment shown in FIG. 10 , the method embodiment shown in FIG. 13 , the method embodiment shown in FIGS. 14 a - 14 c and other embodiments can also be achieved.
- the communication device may be the first communication device 100 as shown in FIG. 8 .
- the communication device may also be the second communication device 200 as shown in FIG. 8 .
- the communication device 1600 includes a processing unit 1610 and a transceiver unit 1620. The communication device 1600 is used to implement the functions of the first communication device 100 in the above-mentioned method embodiment shown in FIG. 16, the method embodiment shown in FIG. 13, the method embodiment shown in FIGS. 14a-14c, and other embodiments.
- the transceiver unit 1620 is configured to receive the first service, the processing unit 1610 is configured to generate a first code block stream for carrying the first service according to the first service, and the transceiver unit 1620 is also configured to send the first code block to the second communication device 200 flow.
- the first code block stream consists of a first S code block, M first D code blocks and a first T code block.
- the first code block stream includes first indication information and a first padding area.
- the first indication information indicates The first filling area is not filled with service data, the first filling area is not filled with the first service, the length of the first filling area is less than the length of the first D code block, and M is a positive integer.
- the processing unit 1610 is specifically configured to: when it is determined that the first service has a rate adaptation requirement, generate a first code block stream for carrying the first service according to the first service.
- the processing unit 1610 can generate the first code block stream for carrying the first service according to the first service in the following manner: first, obtain the first container, and the first container includes the first code block stream from the first service.
- the first data, the first indication information and the first filling area are extracted from the service, and then the first container is encoded to obtain the first code block stream.
- the first container includes a container overhead and a container payload, the container payload includes a first filling area and first data, and the container overhead includes first indication information.
- the first container includes a container overhead and a container payload
- the container overhead includes first indication information and a first filling area
- the container payload includes first data
- the first container further includes a fixed filling area, the fixed filling area is filled with a fixed pattern, and the fixed filling area is not used to carry service data.
- the M first data code blocks carry the first container, and the first start code block and the first end code block do not carry the first container.
- the M first data code blocks and the first end code blocks carry the first container, and the first start code block does not carry the first container.
- the transceiver unit 1620 may communicate with the second communication device 200 through small particle technology, and send the first code block stream to the second communication device 200 .
- the above small particle technology is SPN small particle technology.
- the transceiver unit 1620 can send the first code block stream to the second communication device 200 in the following manner: Assume that the first code block The flow belongs to the first FlexE sub-client, and the transceiver unit 1620 maps the first FlexE sub-client to at least one sub-slot allocated for the first FlexE sub-client in the fgBU.
- the above small particle technology is MTN small particle technology.
- the transceiver unit 1620 can send the first code block stream to the second communication device 200 in the following manner: Assume that the first code block The flow belongs to the first MTN fg-path, and the transceiver unit 1620 maps the first MTN fg-path to at least one sub-slot allocated for the first MTN fg-path in the MTN fgBU.
- the transceiver unit 1620 communicates with the second communication device 200 through FlexE.
- the transceiver unit 1620 may send the first code block stream to the second communication device 200 in the following manner: Assume The first code block stream belongs to the first FlexE client, and the transceiver unit 1620 maps the first FlexE client to at least one time slot allocated for the first FlexE sub-client in the FlexE Group.
- the transceiver unit 1620 communicates with the second communication device 200 through MTN.
- the transceiver unit 1620 may send the first code block stream to the second communication device 200 in the following manner: Assume The first code block stream belongs to the first MTNP, and the transceiver unit 1620 maps the first MTNP to at least one time slot allocated for the first MTNP in the MTNS.
- the transceiver unit 1620 is used to receive the second service, and the processing unit 1610 is used to generate a second service according to the second service.
- the transceiver unit 1620 is also configured to send the second code block stream to the second communication device 200 .
- the second code block stream consists of a second S code block, M second D code blocks and a second T code block.
- the second code block stream includes second indication information and a second padding area.
- the second indication information indicates The second filling area is filled with the business number According to data, the second filling area is filled with the second service, and the length of the second filling area is less than the length of the second D code block.
- the processing unit 1610 is specifically configured to: when it is determined that the second service does not require rate adaptation, generate a first code block stream for carrying the second service according to the second service. .
- the transceiver unit 1620 is used to receive the first service and the third service
- the processing unit 1610 is used to receive the first service and the third service according to the first service and the third service.
- the third service generates a first code block stream used to carry the first service and the third service.
- the transceiver unit 1620 is also used to send the first code block stream carrying the first service and the third service to the second communication device 200 .
- the first code block stream in addition to the first indication information and the first filling area, also includes third indication information and a third filling area.
- the third indication information indicates that the third filling area is not filled with service data, and the third filling area The area is not filled with data in the third service, and the sum of the lengths of the first filling area and the third filling area is less than the length of the first D code block.
- the processing unit 1610 is specifically configured to: when it is determined that both the first service and the third service have rate adaptation requirements, generate a signal for carrying the third service according to the first service and the third service.
- the first code block stream of the first service and the third service is specifically configured to: when it is determined that both the first service and the third service have rate adaptation requirements, generate a signal for carrying the third service according to the first service and the third service.
- the transceiver unit 1620 is used to receive the first service and the fourth service
- the processing unit 1610 is used to receive the first service and the fourth service according to the first service and the fourth service.
- Four services generate a first code block stream for carrying the first service and the fourth service.
- the transceiver unit 1620 is also configured to send the first code block stream for carrying the first service and the fourth service to the second communication device 200 .
- the first code block stream in addition to the first indication information and the first padding area, the first code block stream also includes fourth indication information and a fourth padding area.
- the fourth indication information indicates that the fourth padding area is filled with service data.
- the fourth padding area The area is filled with data in the fourth service, and the sum of the lengths of the first filling area and the fourth filling area is less than the length of the first D code block.
- the processing unit 1610 is specifically configured to: when it is determined that the first service has a rate adaptation requirement and the fourth service does not have a rate adaptation requirement, based on the first service and the fourth service, Generate a first code block stream for carrying the first service and the fourth service.
- the transceiver unit 1620 is used to receive the second service and the fifth service
- the processing unit 1610 is used to receive the second service and the fifth service according to the second service and the fifth service.
- the fifth service generates a second code block stream used to carry the second service and the fifth service
- the transceiver unit 1620 is also used to send the second code block stream carrying the second service and the fifth service to the second communication device 200, wherein , in addition to the second indication information and the second padding area, the second code block stream also includes fifth indication information and a fifth padding area.
- the fifth indication information indicates that the fifth padding area is filled with service data, and the fifth padding area
- the data in the fifth service is filled, and the sum of the lengths of the second filling area and the fifth filling area is less than the length of the second D code block.
- the processing unit 1610 is specifically configured to: when it is determined that neither the second service nor the fifth service has a rate adaptation requirement, generate a bearer data according to the second service and the fifth service.
- the second code block stream of the second service and the fifth service is specifically configured to: when it is determined that neither the second service nor the fifth service has a rate adaptation requirement, generate a bearer data according to the second service and the fifth service.
- the processing unit 1610 may specifically determine the first service, the second service, and the third service through any one or more combinations of the following methods 1, 2, and 3. Whether there are rate adaptation requirements for the third service, fourth service, fifth service and other services:
- Method 1 Periodically obtain the rate at which the transceiver unit 1620 receives the first service, and determine whether the rate at which the transceiver unit 1620 receives the first service is less than the rate threshold. When it is determined that the rate at which the transceiver unit 1620 receives the first service is less than the rate threshold, determine the second service rate. If the first service has a rate adaptation requirement, and vice versa, it is determined that the first service does not have a rate adaptation requirement.
- Method 2 Periodically obtain the depth of the first service in the cache queue used to cache the first service in the transceiver unit 1620. When the depth of the first service in the cache queue is less than the depth threshold, it is determined that the existence rate of the first service is appropriate. Otherwise, it is determined that the first service does not have a rate adaptation requirement.
- Method 3 Periodically obtain the depth of the first service in the cache queue used to cache the first service in the transceiver unit 1620, and determine that the ratio of the depth of the first service in the cache queue to the total depth of the cache queue is less than the depth ratio threshold When , it is determined that the first service has a rate adaptation requirement; otherwise, it is determined that the first service does not have a rate adaptation requirement.
- the communication device 1600 shown in Figure 16 can also be used to implement the second communication device in the above-mentioned method embodiment shown in Figure 10, the method embodiment shown in Figure 13, the method embodiment shown in Figures 14a-14c, etc. 200 features.
- the transceiver unit 1620 is used to receive the first code block stream carrying the first service sent by the first communication device 100
- the processing unit 1610 is configured to obtain the first service according to the first code block stream.
- the first code block stream consists of a first S code block, M first D code blocks and a first T code block.
- the first code block stream includes first indication information and a first padding area.
- the first indication information indicates The first filling area is not filled with service data, the first filling area is not filled with the first service, the length of the first filling area is less than the length of the first D code block, and M is a positive integer.
- the processing unit 1610 can obtain the first service according to the first code block stream in the following manner: first, decode the first code block stream to obtain the first container, and the first container includes: The first data, the first indication information and the first filling area are extracted from the first service, and then the first service is obtained from the first container.
- the transceiver unit 1620 may communicate with the first communication device 100 through small particle technology, and receive the first code block stream sent by the first communication device 100.
- the above small particle technology is SPN small particle technology.
- the transceiver unit 1620 can specifically receive the first code block stream in the following manner: Assume that the first code block stream belongs to the first FlexE sub- client, the second communication device 200 can obtain the first code block stream from at least one sub-time slot allocated to the first FlexE sub-client in the fgBU.
- the above small particle technology is MTN small particle technology.
- the transceiver unit 1620 can receive the first code block stream in the following manner: Assume that the first code block stream belongs to the first MTN fg -path, the transceiver unit 1620 can obtain the first code block stream from at least one sub-slot allocated for the first MTN fg-path in the MTN fgBU.
- the transceiver unit 1620 communicates with the first communication device 100 through FlexE.
- the transceiver unit 1620 may receive the first code block stream sent by the first communication device 100 in the following manner: Assuming that the first code block stream belongs to the first FlexE client, the transceiver unit 1620 can obtain the first code block stream from at least one time slot allocated to the first FlexE sub-client in the FlexE Group.
- the transceiver unit 1620 communicates with the first communication device 100 through MTN.
- the transceiver unit 1620 may receive the first code block stream sent by the first communication device 100 in the following manner: Assuming that the first code block stream belongs to the first MTNP, the transceiver unit 1620 may obtain the first code block stream from at least one time slot allocated for the first MTNP in the MTNS.
- the transceiver unit 1620 is used to receive the second code block stream carrying the second service, and the second code block stream is generated by the second code block stream. It consists of two S code blocks, M second D code blocks and a second T code block.
- the second code block stream includes second indication information and a second filling area.
- the second indication information indicates that the second filling area is filled with service data.
- the second filling area is filled with the second service, and the length of the second filling area is less than the length of the second D code block.
- the processing unit 1610 is configured to obtain the second service according to the second code block stream.
- the transceiver unit 1620 is used to receive the first code block stream carrying the first service and the third service.
- the block stream also includes third indication information and a third filling area.
- the third indication information indicates that the third filling area is not filled with service data, and the third filling area is not filled with the third filling area.
- the processing unit 1610 is configured to obtain according to the first code block stream carrying the first service and the third service. First business and third business.
- the transceiver unit 1620 is used to receive the first code block stream carrying the first service and the fourth service.
- the block stream also includes fourth indication information and a fourth filling area.
- the fourth indication information indicates that the fourth filling area is filled with service data, and the fourth filling area is filled with the fourth filling area.
- the processing unit 1610 is configured to obtain according to the first code block stream carrying the first service and the fourth service. First business and fourth business.
- the transceiver unit 1620 is used to receive the second code block stream carrying the second service and the fifth service.
- the block stream also includes fifth indication information and a fifth filling area.
- the fifth indication information indicates that the fifth filling area is filled with service data, and the fifth filling area is filled with the fifth filling area.
- the sum of the lengths of the second padding area and the fifth padding area is less than the length of the second D code block.
- the processing unit 1610 is configured to obtain according to the second code block stream carrying the second service and the fifth service. Second business and fifth business.
- the communication device 1700 includes a processing circuit 1710 and an interface circuit 1720 .
- the processing circuit 1710 and the interface circuit 1720 are coupled to each other.
- the interface circuit 1720 may be a transceiver or an input-output interface.
- the communication device 1700 may also include a memory for storing instructions executed by the processing circuit, or input data required by the processing circuit 1710 to run the instructions, or data generated after the processing circuit 1710 executes the instructions.
- the communication device 1700 When the communication device 1700 is used to implement the functions of the first communication device 100 in the method embodiment shown in FIG. 10, the method embodiment shown in FIG. 13, the method embodiment shown in FIGS. 14a-14c, etc., process
- the circuit 1710 is used to realize the above-mentioned functions of the processing unit 1610 corresponding to the first communication device 100
- the interface circuit 1720 is used to realize the above-mentioned functions of the transceiver unit 1620 corresponding to the first communication device 100. able.
- the communication device 1700 When the communication device 1700 is used to implement the functions of the second communication device 200 in the method embodiment shown in FIG. 10, the method embodiment shown in FIG. 13, the method embodiment shown in FIGS. 14a-14c, etc., process
- the circuit 1710 is used to implement the above-mentioned functions of the processing unit 1610 corresponding to the second communication device 200
- the interface circuit 1720 is used to realize the above-mentioned functions of the transceiver unit 1620 corresponding to the second communication device 200 .
- the communication device 1800 includes a processor 1810 and a communication interface 1820.
- the processor 1810 and the communication interface 1820 are coupled to each other.
- the communication interface 1820 may be a transceiver or an input-output interface.
- the communication device 1800 may also include a memory 1830 for storing instructions executed by the processor 1810 or input data required for the processor 1810 to run the instructions or data generated after the processor 1810 executes the instructions.
- the communication device 1800 When the communication device 1800 is used to implement the functions of the first communication device 100 in the method embodiment shown in FIG. 10, the method embodiment shown in FIG. 13, the method embodiment shown in FIGS. 14a-14c, etc., process
- the processor 1810 is used to implement the above-mentioned functions of the processing unit 1610 corresponding to the first communication device 100
- the communication interface 1820 is used to realize the above-mentioned functions of the transceiver unit 1620 corresponding to the first communication device 100.
- process The processor 1810 is used to implement the above-mentioned functions of the processing unit 1610 corresponding to the second communication device 200
- the communication interface 1820 is used to realize the above-mentioned functions of the transceiver unit 1620 corresponding to the second communication device 200.
- the communication device chip implements the functions of the communication device in the above method embodiment.
- the communication device chip receives information from other modules in the communication device (such as radio frequency modules or antennas), and the information is sent to the communication device chip by other communication devices; or, the communication device chip sends information to other modules in the communication device (such as radio frequency module or antenna) to send information that the communication device sends to other communication device chips.
- processor in the embodiment of the present application can be a central processing unit (CPU), or other general-purpose processor, digital signal processor (DSP), application-specific integrated circuit ( application specific integrated circuit (ASIC), field programmable gate array (FPGA) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof.
- DSP digital signal processor
- ASIC application specific integrated circuit
- FPGA field programmable gate array
- a general-purpose processor can be a microprocessor or any conventional processor.
- this application also provides a computer program product.
- the computer program product includes: a computer program or an instruction.
- this application also provides a computer-readable storage medium.
- the computer-readable medium stores a program or instructions.
- the program or instructions When the program or instructions are run on a computer, the computer is caused to execute the steps shown in Figure 10
- this application also provides a chip system, which may include a processor.
- the processor is coupled with the memory and can be used to execute the method of any one of the method embodiments shown in FIG. 10, the method embodiment shown in FIG. 13, the method embodiments shown in FIGS. 14a-14c, and other embodiments.
- the chip system also includes a memory.
- Memory is used to store computer programs (also called codes, or instructions).
- the processor is used to call and run the computer program from the memory, so that the device installed with the chip system executes the method embodiment shown in Figure 10, the method embodiment shown in Figure 13, and the method embodiment shown in Figure 14a- Figure 14c The method of any one of the other embodiments.
- this application also provides a communication system, which includes the aforementioned first communication device 100 and the second communication device 200.
- the method steps in the embodiments of the present application can be implemented by hardware or by a processor executing software instructions.
- Software instructions can be composed of corresponding software modules.
- Software modules can be stored in random access memory (RAM), flash memory (flash), read-only memory (read-only memory, ROM), and programmable read-only memory. , erasable programmable ROM (EPROM), electrically erasable programmable read-only memory, register, hard disk, solid-state drive (SSD), mobile hard disk, portable read-only memory ( compact disc read-only memory (CD-ROM) or any other form of storage media known in the art.
- An exemplary storage medium is coupled to the processor such that the processor can read information from the storage medium and write information to the storage medium.
- the storage medium can also be an integral part of the processor.
- the processor and storage medium may be located in an application specific integrated circuit (ASIC). Additionally, the ASIC may be located in the communication device.
- ASIC application specific integrated circuit
- the processor and the storage medium may also exist as discrete components in the communication device.
- a computer program product includes one or more computer programs or instructions.
- the computer may be a general purpose computer, a special purpose computer, a computer network, a network device, a user equipment, or other programmable device.
- a computer program or instructions may be stored in or transmitted from one computer-readable storage medium to another, e.g., a computer program or instructions may be transferred from a website, computer, server, or data center Transmission by wired or wireless means to another website site, computer, server or data center.
- Computer-readable storage media can be any available media that can be accessed by a computer, or data storage devices such as servers and data centers that integrate one or more available media. Available media can be magnetic media, such as floppy disks, hard disks, and magnetic tapes; they can also be optical media, such as digital video optical disks; or they can be semiconductor media, such as solid-state drives.
- the computer-readable storage medium may be volatile or nonvolatile storage media, or may include both volatile and nonvolatile types of storage media.
- “plurality” means two or more.
- “And/or” describes the association of associated objects, indicating that there can be three relationships, for example, A and/or B, which can mean: A exists alone, A and B exist simultaneously, and B exists alone, where A, B can be singular or plural.
- the character “/” generally indicates that the related objects before and after are an “or” relationship; in the formula of this application, the character “/” indicates that the related objects before and after are a kind of “division” Relationship.
- “Including at least one of A, B or C” may mean: including A; including B; including C; including A and B; including A and C; including B and C; including A, B and C.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种通信方法、相关装置及计算机可读存储介质,其中,方法包括:第一通信装置接收第一CBR业务,并根据第一CBR业务生成用于承载第一CBR业务的第一码块流,然后向第二通信装置发送第一码块流,其中,第一码块流由第一起始码块、M个第一数据码块和第一结束码块组成,第一码块流包括第一指示信息和第一填充区域,第一指示信息指示第一填充区域未填充CBR业务数据,第一填充区域未填充第一CBR业务,第一填充区域的长度小于第一数据码块的长度,M为正整数。该方法能够降低通信装置处理CBR业务的时延和抖动,提升通信装置的性能。
Description
本申请要求于2022年08月09日提交中国专利局、申请号为202210952392.6、发明名称为“通信方法、相关装置及计算机可读存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及互联网技术领域,尤其涉及一种通信方法、相关装置及计算机可读存储介质。
在传送网中,固定比特率(constant bit rate,CBR)业务例如通用公共无线接口(common public radio interface,CPRI)业务和同步数字体系(synchronous digital hierarchy,SDH)业务等,有速率适配的需求,例如在一台通信装置(如网络设备)发送CBR业务的速率长时间大于自身接收CBR业务的速率时,若不进行速率适配,长期以往会造成缓存读空。
目前,在基于灵活以太网(flex ethernet,FlexE)/城域传送网(metro transport network,MTN)等技术的传送网中,通信装置是将CBR业务编码成码块流,然后以码块流的形式向下游通信装置发送CBR业务。通信装置可在向下游通信装置发送码块流之前,判断CBR业务是否存在速率适配需求,在确定CBR业务存在速率适配需求的情况下,根据CBR业务速率适配需求的大小,在码块流中起始码块的前面插入或者删除一个或多个空闲(idle)码块来实现速率适配,之后,先向下游通信装置发送插入的idle码块,再发送码块流。
然而,本申请发明人发现,上述通过在由CBR业务生成的码块流中起始码块的前面插入idle码块实现速率适配的方法中,由于插入了一个或多个idle码块,会导致通信装置处理CBR业务的时延和抖动变大,而时延和抖动变大是通信装置需要极力避免的性能劣势。
发明内容
本申请提供一种通信方法、相关装置及计算机可读存储介质,能够降低通信装置处理CBR业务的时延和抖动,提升通信装置的性能。
第一方面,提供一种通信方法,该方法可以由第一通信装置执行,具体地,该方法包括如下步骤:第一通信装置接收第一CBR业务,并根据第一CBR业务生成用于承载第一CBR业务的第一码块流,然后向第二通信装置发送第一码块流。其中,第一码块流由第一起始码块、M个第一数据码块和第一结束码块组成,第一码块流包括第一指示信息和第一填充区域,第一指示信息指示第一填充区域未填充业务数据,第一填充区域未填充第一CBR业务,第一填充区域的长度小于第一数据码块的长度,M为正整数。
上述第一填充区域未填充业务数据时,可以填充业务数据以外的数据,如固定图案全0或者全1,或者,也可以填充其他数据,例如第一填充区域在第一码块流中的位置信息、第一指示信息在第一码块流中的位置信息等。可选地,第一填充区域还可以部分填充固定图案,部分填充其他数据。为了便于描述,下文均以填充区域(如第一填充区域、下文所述第三填充区域)未填充业务数据时,填充了固定图案展开描述。
由于第一通信装置根据第一CBR业务生成的第一码块流中有一块区域(即第一填充区域)没有用于承载第一CBR业务,可以看出,这样可以使得第一码块流承载的第一CBR业务的数据量变少,从而使得第一通信装置向第二通信装置发送第一CBR业务的速率变慢,起到速率适配的效果。而且,由于第一填充区域的长度小于第一数据码块的长度,而第一数据码块的长度等于一个idle码块的长度,因此,第一通信装置在根据第一CBR业务生成第一码块流时,相当于对第一CBR业务进行了一次粒度小于idle码块的长度的速率适配,相较于当前第一通信装置需要在码块流中起始码块的前面插入idle码块来实现对CBR业务速率的适配,可以降低第一通信装置处理CBR业务的时延和抖动。
还可以看出,由于第一通信装置向第二通信装置发送的第一码块流包括第一指示信息和第一填充区域,第一指示信息指示第一填充区域未填充业务数据,因此,第二通信装置在接收到第一码块流后,可以获取到第一指示信息,根据第一指示信息获知第一填充区域未填充业务数据。之后,第二通信装置可以丢弃第一填充区域填充的固定图案,从第一码块流的剩余区域中获取第一CBR业务。由于第一填充区域的长度小于第一数据码块的长度,而第一数据码块的长度等于idle码块的长度,因此,相较于当前第二通信装置
需要先删除码块流中起始码块的前面插入的idle码块,才能获取到CBR业务,可以降低第二通信装置处理CBR业务的时延和抖动。
在一种可能的实施方式中,第一方面提供的通信方法还包括如下步骤:第一通信装置接收第二CBR业务,并根据第二CBR业务生成用于承载第二CBR业务的第二码块流,然后向第二通信装置发送第二码块流。其中,第二码块流由第二起始码块、M个第二数据码块和第二结束码块组成,第二码块流包括第二指示信息和第二填充区域,第二指示信息指示第二填充区域填充了业务数据,第二填充区域填充了第二CBR业务,第二填充区域的长度小于第二数据码块的长度。
由于第一通信装置根据第二CBR业务生成的第二码块流中的填充区域(即第二填充区域)承载了第二CBR业务中的数据,可以看出,这样并不会使得第二码块流承载的第二CBR业务的数据量变少,因而不会使得第一通信装置向第二通信装置发送第二CBR业务的速率变慢,因此,该实施方式可以在CBR业务没有速率适配需求时对CBR业务进行传输。
由于第二码块流中包括第二指示信息和第二填充区域,第二指示信息指示第二填充区域填充了业务数据,因此,第二通信装置在接收到第二码块流后,根据第二指示信息可以获知第二填充区域填充了业务数据,然后第二通信装置在从第二码块流中获取第二CBR业务时,便会保留第二填充区域填充的业务数据,然后从第二码块流的剩余区域以及保留的第二填充区域中获取第二CBR业务,从而实现CBR业务的传输。
在一种可能的实施方式中,第一通信装置具体可以通过如下方式实现根据第一CBR业务,生成用于承载第一CBR业务的第一码块流:首先获取第一容器,第一容器包括从第一CBR业务中提取的第一数据、第一指示信息和第一填充区域,然后对第一容器进行编码,得到第一码块流。
第一容器,是本申请提供的一个具有固定长度的封装结构,用于对第一CBR业务进行封装。
在该实施方式中,通过本申请提供的第一容器对第一数据进行封装,然后再对第一容器进行编码生成第一码块流,可以使得生成的第一码块流包括从第一CBR业务中提取的第一数据、第一指示信息和第一填充区域,从而实现对第一CBR业务进行一次粒度小于idle码块的长度的速率适配。
为了提高方案的灵活性,在一种可能的实施方式中,第一容器包括容器开销和容器净荷,容器净荷包括第一填充区域和第一数据,容器开销包括第一指示信息。在另一种可能的实施方式中,第一容器包括容器开销和容器净荷,容器开销包括第一指示信息和第一填充区域,容器净荷包括第一数据。在本申请中,第一容器是一个具有固定长度的封装结构,第一容器中的容器开销的位置和长度以及容器净荷的位置和长度也是固定的,可以看出,容器开销包括第一填充区域的实施方式相较于容器净荷包括第一填充区域的实施方式,可以提高容器净荷承载的来自第一CBR业务的比特数量,从而提高第一码块流承载的来自第一CBR业务的比特数量。因此,在实际应用中,可以根据需要传输的CBR业务的具体情况,从上述两种可能的实施方式中灵活选择合适的容器结构来承载CBR业务。
为了进一步提高方案的灵活性,在又一种可能的实施方式中,第一容器还包括固定填充区域,固定填充区域填充了固定图案,固定填充区域不用于承载业务数据。固定填充区域用于使得第一通信装置对第一容器进行编码生成第一码块流时,生成的第一码块流能够凑够第一起始码块、M个第一数据码块和第一结束码块的格式。
为了提高方案的灵活性,在对第一容器编码生成第一码块流时,第一容器在第一码块流中的承载方式可以为以下任意一种:(1)M个第一数据码块承载第一容器,第一起始码块和第一结束码块不承载第一容器;(2)M个第一数据码块和第一结束码块承载第一容器,第一起始码块不承载第一容器;(3)M个第一数据码块、第一结束码块和第一起始码块承载第一容器。
可以看出,上述方式(2)相较于上述方式(1),多了第一结束码块来承载第一容器,可以理解,这样可以使得第一容器的长度设计的长一些,在第一容器的长度可以设计的长一些时,可以把第一容器中的容器净荷的长度设计的长一些,如此,可以提高容器净荷承载的来自第一CBR业务的比特数量,从而提高第一码块流承载的来自第一CBR业务的比特数量。还可以看出,上述方式(3)相较于上述方式(2),多了第一起始码块来承载第一容器,可以理解,这样可以使得第一容器的长度设计的更长,在第一容器的长度可以设计的更长时,可以把第一容器中的容器净荷的长度设计的更长,如此,可以进一步提高容器净荷承载的来自第一CBR业务的比特数量,从而进一步提高第一码块流承载的来自第一CBR业务的比特数量。因此,在实际应用中,可以根据需要传输的CBR业务的具体情况,从上述三种可能的实施方式中灵活选择合适的码块组合来承载容器。
在一种可能的实施方式中,第一通信装置可以通过小颗粒技术与第二通信装置通信。如此,可以使得本申请提供的方案适用于通过小颗粒技术进行通信的两个通信装置,从而解决当前这两个通信装置在传输
CBR业务时存在的业务处理时延和抖动较大的问题。
在一种可能的实施方式中,第一通信装置具体可以通过切片分组网络(slicing packet network,SPN)小颗粒技术与第二通信装置通信,该场景下,第一通信装置可以通过如下方式实现向第二通信装置发送第一码块流:第一码块流属于第一FlexE子用户(sub-client),将第一FlexE sub-client映射到在小颗粒基本单元(fine granularity basic unit,fgBU)中为第一FlexE sub-client所分配的至少一个子时隙。如此,可以使得本申请提供的方案适用于通过SPN小颗粒技术进行通信的两个通信装置,从而解决当前这两个通信装置在传输CBR业务时存在的业务处理时延和抖动较大的问题。
在一种可能的实施方式中,第一通信装置具体可以通过MTN小颗粒技术与第二通信装置通信,该场景下,第一通信装置可以通过如下方式实现向第二通信装置发送第一码块流:第一码块流属于第一MTN小颗粒通道(MTN fine granularity path,MTN fg-path),第一通信装置将第一MTN fg-path映射到在MTN fgBU中为第一MTN fg-path所分配的至少一个子时隙。如此,可以使得本申请提供的方案适用于通过MTN小颗粒技术进行通信的两个通信装置,从而解决当前这两个通信装置在传输CBR业务时存在的业务处理时延和抖动较大的问题。
在一种可能的实施方式中,第一通信装置可以通过FlexE与第二通信装置通信,该场景下,第一通信装置可以通过如下方式实现向第二通信装置发送第一码块流:第一码块流属于第一FlexE client,第一通信装置将第一FlexE client映射到在FlexE组(FlexE Group)中为第一FlexE client所分配的至少一个时隙。如此,可以使得本申请提供的方案适用于通过FlexE进行通信的两个通信装置,从而解决当前这两个通信装置在传输CBR业务时存在的业务处理时延和抖动较大的问题。
在一种可能的实施方式中,第一通信装置可以通过MTN与第二通信装置通信,该场景下,第一通信装置可以通过如下方式实现向第二通信装置发送第一码块流:第一码块流属于第一MTN通道(MTN path,MTNP),第一通信装置将第一MTNP映射到在MTN段层(MTN section layer,MTNS)中为第一MTNP所分配的至少一个时隙。如此,可以使得本申请提供的方案适用于通过MTN进行通信的两个通信装置,从而解决当前这两个通信装置在传输CBR业务时存在的业务处理时延和抖动较大的问题。
上述第一方面以及第一方面的任一项实施方式均是以第一通信装置接收一个CBR业务(如上述第一CBR业务、第二CBR业务),并根据一个CBR业务生成用于承载该CBR业务的码块流(如上述第一码块流、第二码块流)为例对本申请提供的技术方案进行描述,在一种可能的实施方式中,第一通信装置可以接收包括第一CBR业务/第二CBR业务在内的多个CBR业务,根据该多个CBR业务生成用于承载该多个CBR业务的第一码块流/第二码块流。为了提高方案的灵活性,第一通信装置根据多个CBR业务生成用于承载该多个CBR业务的第一码块流/第二码块流的可能实施方式包括但不限于如下可能的实施方式一、二、三:
可能的实施方式一、以在第一通信装置根据第一CBR业务,生成用于承载第一CBR业务的第一码块流之前,第一通信装置还接收了第三CBR业务为例,第一通信装置可以根据第一CBR业务和第三CBR业务,生成用于承载第一CBR业务和第三CBR业务的第一码块流,这里,第一码块流不仅包括第一指示信息和第一填充区域,还包括第三指示信息和第三填充区域,第三指示信息指示第三填充区域未承载业务数据,第三填充区域未填充业务数据,第三填充区域和第一填充区域的长度之和小于第一数据码块的长度。
可能的实施方式二、以在第一通信装置根据第一CBR业务,生成用于承载第一CBR业务的第一码块流之前,第一通信装置还接收了第四CBR业务为例,第一通信装置可以根据第一CBR业务和第四CBR业务,生成用于承载第一CBR业务和第四CBR业务的第一码块流,这里,第一码块流不仅包括第一指示区域和第一填充区域,还包括第四指示信息和第四填充区域,第四指示信息指示第四填充区域填充了业务数据,第四填充区域填充了第四CBR业务,第四填充区域和第一填充区域的长度之和小于第一数据码块的长度。
可能的实施方式三、以在第一通信装置根据第二CBR业务,生成用于承载第二CBR业务的第二码块流之前,第一通信装置还接收了第五CBR业务为例,第一通信装置可以根据第二CBR业务和第五CBR业务,生成用于承载第二CBR业务和第五CBR业务的第二码块流,这里,第二码块流不仅包括第二指示区域和第二填充区域,还包括第五指示信息和第五填充区域,第五指示信息指示第五填充区域填充了业务数据,第五填充区域填充了第五CBR业务,第五填充区域和第一填充区域的长度之和小于第二数据码块的长度。
可以看出,上述可能的实施方式一、二、三均能够实现一条码块流同时承载多个CBR业务,以第一通信装置和第二通信装置通过SPN小颗粒技术通信为例,可以理解,在第一码块流同时承载多个CBR业
务时,可以实现让fgBU中为一个FlexE sub-client(如上述第一FlexE sub-client)所分配的至少一个子时隙同时传输多个CBR业务,相较于当前一个FlexE sub-client所分配的子时隙只能传输一个CBR业务(如上述第一CBR业务),在一个CBR业务的带宽(如2.048Mbps)远小于该FlexE sub-client所分配的子时隙的带宽之和(如10Mbps)的情况下,可以减少带宽浪费,提高带宽利用率。
可以理解,在第一通信装置采用一条码块流同时承载多个CBR业务的方式向第二通信装置传输多个CBR业务时,该多个CBR业务可能存在速率适配需求,例如在第一通信装置发送多个CBR业务中每个CBR业务的速率长时间大于第一通信装置接收该CBR业务的速率时,若不进行速率适配,长期以往会造成该CBR业务的缓存读空。因此,第一通信装置在采用一条码块流同时承载多个CBR业务的方式向第二通信装置传输多个CBR业务时,也需要对多个CBR业务中存在速率适配需求的CBR业务进行速率适配。
进一步地,可以理解,第一通信装置在传输多个CBR业务时,多个CBR业务可能均存在速率适配需求或者均不存在速率适配需求,也可能部分CBR业务存在速率适配需求,另一部分CBR业务不存在速率适配需求。
以第一通信装置传输的多个CBR业务为第一CBR业务和第三CBR业务,第一CBR业务和第三CBR业务均存在速率适配需求为例,该情况下,可以采用上述可能的实施方式一根据第一CBR业务和第三CBR业务生成用于承载第一CBR业务和第三CBR业务的第一码块流。
可以看出,由于第一通信装置根据第一CBR业务和第三CBR业务生成的用于承载第一CBR业务和第三CBR业务的第一码块流中有两块区域没有用于承载CBR业务,即第一填充区域没有用于承载第一CBR业务,第三填充区域没有用于承载第三CBR业务,这样可以使得第一码块流承载的第一CBR业务的数据量和第三CBR业务的数据量均变少,从而使得第一通信装置向第二通信装置发送第一CBR业务的速率变慢,起到对第一CBR业务的速率进行适配的效果,以及使得第一通信装置向第二通信装置发送第三CBR业务的速率变慢,起到对第三CBR业务的速率进行适配的效果。
而且,由于第一填充区域和第三填充区域的长度之和小于一个idle码块的长度,因此,第一通信装置在根据第一CBR业务和第三CBR业务生成用于承载第一CBR业务和第三CBR业务的第一码块流时,相当于对第一CBR业务和第三CBR业务一起进行了一次粒度小于idle码块的长度的速率适配,相较于当前第一通信装置需要在码块流中起始码块的前面插入idle码块来实现对CBR业务速率的适配,可以降低第一通信装置处理CBR业务的时延和抖动。
还可以看出,由于第一通信装置向第二通信装置发送的承载了第一CBR业务和第三CBR业务的第一码块流中包括第一指示信息、第三指示信息、第一填充区域和第三填充区域,第一指示信息指示第一填充区域未填充业务数据,第三指示信息指示第三填充区域未填充业务数据,因此,第二通信装置在接收到承载了第一CBR业务和第三CBR业务的第一码块流后,可以获取到第一指示信息和第三指示信息,根据第一指示信息获知第一填充区域未填充业务数据,根据第三指示信息获知第三填充区域未填充业务数据。之后,第二通信装置可以丢弃第一填充区域填充的固定图案,以及丢弃第三填充区域填充的固定图案,然后从第一码块流的剩余区域中获取第一CBR业务和第三CBR业务。
由于第一填充区域和第三填充区域的长度之和小于一个idle码块的长度,因此,相较于当前第二通信装置需要先删除码块流中起始码块的前面插入的idle码块,才能获取到CBR业务,可以降低第二通信装置处理CBR业务的时延和抖动。
以第一通信装置传输的多个CBR业务为第一CBR业务和第四CBR业务,第一CBR业务存在速率适配需求,第四CBR业务不存在速率适配需求为例,该情况下,可以采用上述可能的实施方式二根据第一CBR业务和第四CBR业务生成用于承载第一CBR业务和第四CBR业务的第一码块流。
可以看出,由于第一通信装置根据第一CBR业务和第四CBR业务生成的用于承载第一CBR业务和第四CBR业务的第一码块流中有一块区域(即第一填充区域)没有用于承载第一CBR业务,这样可以使得第一码块流承载的第一CBR业务的数据量变少,从而使得第一通信装置向第二通信装置发送第一CBR业务的速率变慢,起到对第一CBR业务的速率进行适配的效果,第四填充区域承载了第四CBR业务,这样可以维持第一码块流承载的第一CBR业务的数据量不变,不对第四CBR业务的速率进行适配。
而且,由于第一填充区域和第四填充区域的长度之和小于一个idle码块的长度,此时,第一填充区域的长度一定小于一个idle码块的长度,因此,第一通信装置在根据第一CBR业务和第四CBR业务生成用于承载第一CBR业务和第四CBR业务的第一码块流时,相当于对第一CBR业务进行了一次粒度小于idle码块的长度的速率适配,相较于当前第一通信装置需要在码块流中起始码块的前面插入idle码块来实现对CBR业务速率的适配,可以降低第一通信装置处理CBR业务的时延和抖动。
还可以看出,由于第一通信装置向第二通信装置发送的承载了第一CBR业务和第四CBR业务的第一码块流中包括第一指示信息、第四指示信息、第一填充区域和第四填充区域,第一指示信息指示第一填充区域未填充业务数据,第四指示信息指示第四填充区域填充了业务数据,因此,第二通信装置在接收到承载了第一CBR业务和第四CBR业务的第一码块流后,可以获取到第一指示信息和第四指示信息,根据第一指示信息获知第一填充区域未填充业务数据,根据第四指示信息获知第四填充区域填充了业务数据。之后,第二通信装置可以丢弃第一填充区域填充的固定图案,保留第四填充区域填充的业务数据,然后从第一码块流的剩余区域以及保留的第四填充区域中获取第一CBR业务和第四CBR业务。
而且,由于第一填充区域和第四填充区域的长度之和小于一个idle码块的长度,此时,第一填充区域的长度一定小于一个idle码块的长度,因此,相较于当前第二通信装置需要先删除码块流中起始码块的前面插入的idle码块,才能获取到CBR业务,可以降低第二通信装置处理CBR业务的时延和抖动。
以第一通信装置传输的多个CBR业务为第二CBR业务和第五CBR业务,第二CBR业务存在速率适配需求,第五CBR业务不存在速率适配需求为例,可以采用上述可能的实施方式三根据第二CBR业务和第五CBR业务生成用于承载第二CBR业务和第五CBR业务的第二码块流。
可以看出,第一通信装置根据第二CBR业务和第五CBR业务生成的用于承载第二CBR业务和第五CBR业务的第二码块流中第二填充区域承载了第二CBR业务,第五填充区域承载了第五CBR业务,这样可以维持第二码块流承载的第二CBR业务的数据量不变,以及维持第二码块流承载的第五CBR业务的数据量不变,也就是说,第一通信装置并没有对第二CBR业务和第五CBR业务的速率进行适配。
还可以看出,由于第一通信装置向第二通信装置发送的承载了第二CBR业务和第五CBR业务的第二码块流中包括第二指示信息、第五指示信息、第二填充区域和第五填充区域,第二指示信息指示第二填充区域填充了业务数据,第五指示信息指示第五填充区域填充了业务数据,因此,第二通信装置在接收到承载了第二CBR业务和第五CBR业务的第二码块流后,可以获取到第二指示信息和第五指示信息,根据第二指示信息获知第二填充区域填充了业务数据,根据第五指示信息获知第五填充区域填充了业务数据。之后,第二网络设可以保留第二填充区域填充的固定图案,保留第五填充区域填充的业务数据,然后从第二码块流的剩余区域以及保留的第二填充区域和第五填充区域中获取第二CBR业务和第五CBR业务。
在一种可能的实施方式中,针对上述第一CBR业务、第二CBR业务、第三CBR业务、第四CBR业务、第五CBR业务,以第一CBR业务为例,第一通信装置可以参考如下方式1、方式2、方式3中任意一种或多种组合判断第一CBR业务是否存在速率适配需求:
方式1、周期性获取第一通信装置接收第一CBR业务的速率,确定第一通信装置接收第一CBR业务的速率是否小于速率阈值,在确定第一通信装置接收第一CBR业务的速率小于速率阈值时,则确定第一CBR业务存在速率适配需求,反之,则确定第一CBR业务不存在速率适配需求。
方式2、周期性获取第一CBR业务在第一通信装置中用于缓存第一CBR业务的缓存队列中的深度,在第一CBR业务在缓存队列中的深度小于深度阈值时,则确定第一CBR业务存在速率适配需求,反之,则确定第一CBR业务不存在速率适配需求。
方式3、周期性获取第一CBR业务在第一通信装置中用于缓存第一CBR业务的缓存队列中的深度,在第一CBR业务在缓存队列中的深度与缓存队列的总深度的比值小于深度比值阈值时,则确定第一CBR业务存在速率适配需求,反之,则确定第一CBR业务不存在速率适配需求。
应理解,上述方式1、方式2和方式3仅仅是作为示例,不应视为对第一通信装置针对一个CBR业务判断该CBR业务是否存在速率适配需求的方式的具体限定。
第二方面,本申请提供一种通信方法,该方法可以由第二通信装置执行,具体地,该方法包括如下步骤:第二通信装置接收第一通信装置发送的承载了第一CBR业务的第一码块流,其中,第一码块流由第一起始码块、M个第一数据码块和第一结束码块组成,第一码块流包括第一指示信息和第一填充区域,第一指示信息指示第一填充区域未填充业务数据,第一填充区域未填充第一CBR业务,第一填充区域的长度小于第一数据码块的长度,M为正整数,然后,第二通信装置根据第一码块流,获取第一CBR业务。
在一种可能的实施方式中,第二方面提供的通信方法还包括如下步骤:
第二通信装置接收第一通信装置发送的承载了第二CBR业务的第二码块流,其中,第二码块流由第二起始码块、M个第二数据码块和第二结束码块组成,第二码块流包括第二指示信息和第二填充区域,第二指示信息指示第二填充区域填充承载了业务数据,第二填充区域填充了第二CBR业务,第二填充区域的长度小于第二数据码块的长度,然后,第二通信装置根据第二码块流,获取第二CBR业务。
在一种可能的实施方式中,第二通信装置具体可以通过如下方式实现根据第一码块流,获取第一CBR
业务:对第一码块流进行解码,得到第一容器,第一容器包括从第一CBR业务中提取的第一数据,第一指示信息和第一填充区域,然后从第一容器中获取第一CBR业务。
在一种可能的实施方式中,第一容器包括容器开销和容器净荷,容器净荷包括第一填充区域和第一数据,容器开销包括第一指示信息。
在一种可能的实施方式中,第一容器包括容器开销和容器净荷,容器开销包括第一指示信息和第一填充区域,容器净荷包括第一数据。
在一种可能的实施方式中,第一容器还包括固定填充区域,固定填充区域填充了固定图案,固定填充区域不用于承载业务数据。
在一种可能的实施方式中,M个第一数据码块承载第一容器,第一起始码块和第一结束码块不承载第一容器。
在一种可能的实施方式中,M个第一数据码块和第一结束码块承载第一容器,第一起始码块不承载第一容器。
在一种可能的实施方式中,第二通信装置通过小颗粒技术与第一通信装置通信。
在一种可能的实施方式中,第二通信装置具体通过SPN小颗粒技术与第一通信装置通信,该场景下,第二通信装置可以通过如下方式实现接收第一通信装置发送的第一码块流:第一码块流属于第一FlexE sub-client,从fgBU中为第一FlexE sub-client所分配的至少一个子时隙,获取第一码块流。
在一种可能的实施方式中,第二通信装置具体通过MTN小颗粒技术与第一通信装置通信,该场景下,第二通信装置可以通过如下方式实现接收第一通信装置发送的第一码块流:第一码块流属于第一MTN fg-path,从MTN fgBU中为第一MTN fg-path所分配的至少一个子时隙,获取第一码块流。
在一种可能的实施方式中,第二通信装置通过FlexE与第一通信装置通信,该场景下,第二通信装置可以过如下方式实现接收第一通信装置发送的第一码块流:第一码块流属于第一FlexE client,从FlexE Group中为第一FlexE client所分配的至少一个时隙,获取第一码块流。
在一种可能的实施方式中,第二通信装置通过MTN与第一通信装置通信,该场景下,第二通信装置可以通过如下方式实现接收第一通信装置发送的第一码块流:第一码块流属于第一MTNP,从MTNS中为第一MTNP所分配的至少一个时隙,获取第一码块流。
在一种可能的实施方式中,第一码块流不仅承载了第一CBR业务,还承载了第三CBR业务,第一码块流不仅包括第一指示信息和第一填充区域,还包括第三指示信息和第三填充区域,第三指示信息指示第三填充区域未填充业务数据,第三填充区域未填充第三CBR业务,第三填充区域和第一填充区域的长度之和小于第一数据码块的长度,该情况下,第二通信装置可以根据第一码块流,获取第一CBR业务和第三CBR业务。
在一种可能的实施方式中,第一码块流不仅承载了第一CBR业务,还承载了第四CBR业务,第一码块流不仅包括第一指示信息和第一填充区域,还包括第四指示信息和第四填充区域,第四指示信息指示第四填充区域填充了业务数据,第四填充区域填充了第四CBR业务,第四填充区域和第一填充区域的长度之和小于第一数据码块的长度,该情况下,第二通信装置可以根据第一码块流,获取第一CBR业务和第四CBR业务。
在一种可能的实施方式中,第二码块流不仅承载了第二CBR业务,还承载了第五CBR业务,第二码块流不仅包括第二指示信息和第二填充区域,还包括第五指示信息和第五填充区域,第五指示信息指示第五填充区域填充了业务数据,第五填充区域填充了第五CBR业务,第五填充区域和第一填充区域的长度之和小于第二数据码块的长度,该情况下,第二通信装置可以根据第二码块流,获取第二CBR业务和第五CBR业务。
关于第二方面提供的通信方法以及第二方面的任一种实施方式的相关有益效果和描述可以参见前述第一方面以及第一方面的任一种实施方式的相关有益效果和描述,在此不再赘述。
第三方面,提供一种第一通信装置,该装置包括:收发单元和处理单元;所述收发单元,用于执行以上第一方面所述的由第一通信装置执行的接收和/或发送操作;所述处理单元用于执行以上第一方面所述的由第一通信装置执行的接收和/或发送操作之外的操作。
在一个具体的示例中,所述收发单元,用于接收第一CBR业务;所述处理单元,用于根据所述第一CBR业务,生成用于承载所述第一CBR业务的第一码块流,其中,所述第一码块流由第一起始码块、M个第一数据码块和第一结束码块组成,所述第一码块流包括第一指示信息和第一填充区域,所述第一指示信息指示所述第一填充区域未填充业务数据,所述第一填充区域未填充所述第一CBR业务,所述第一填
充区域的长度小于所述第一数据码块的长度,M为正整数;所述收发单元,还用于向第二通信装置发送所述第一码块流。
在一种可能的实施方式中,所述处理单元,具体用于:在确定所述第一CBR业务存在速率适配需求的情况下,根据所述第一CBR业务,生成用于承载所述第一CBR业务的所述第一码块流。
在一种可能的实施方式中,所述收发单元,还用于接收第二CBR业务;所述处理单元,还用于根据所述第二CBR业务,生成用于承载所述第二CBR业务的第二码块流,其中,所述第二码块流由第二起始码块、M个第二数据码块和第二结束码块组成,所述第二码块流包括第二指示信息和第二填充区域,所述第二指示信息指示所述第二填充区域填充了业务数据,所述第二填充区域填充了所述第二CBR业务,所述第二填充区域的长度小于所述第二数据码块的长度;所述收发单元,还用于向所述第二通信装置发送所述第二码块流。
在一种可能的实施方式中,所述处理单元,具体用于:在确定所述第二CBR业务不存在速率适配需求的情况下,根据所述第二CBR业务,生成用于承载所述第二CBR业务的所述第二码块流。
在一种可能的实施方式中,所述处理单元,具体用于通过如下方式实现根据所述第一CBR业务,生成用于承载所述第一CBR业务的第一码块流:获取第一容器,所述第一容器包括从所述第一CBR业务中提取的第一数据,所述第一指示信息和所述第一填充区域,然后对所述第一容器进行编码,得到所述第一码块流。
在一种可能的实施方式中,所述第一容器包括容器开销和容器净荷,所述容器净荷包括所述第一填充区域和所述第一数据,所述容器开销包括所述第一指示信息。
在一种可能的实施方式中,所述第一容器包括容器开销和容器净荷,所述容器开销包括所述第一指示信息和所述第一填充区域,所述容器净荷包括所述第一数据。
在一种可能的实施方式中,所述第一容器还包括固定填充区域,所述固定填充区域填充了固定图案,所述固定填充区域不用于承载业务数据。
在一种可能的实施方式中,所述M个第一数据码块承载所述第一容器,所述第一起始码块和所述第一结束码块不承载所述第一容器。
在一种可能的实施方式中,所述M个第一数据码块和所述第一结束码块承载所述第一容器,所述第一起始码块不承载所述第一容器。
在一种可能的实施方式中,所述收发单元,用于通过小颗粒技术与所述第二通信装置通信。
在一种可能的实施方式中,所述收发单元,具体用于通过如下方式实现向第二通信装置发送所述第一码块流:所述第一码块流属于第一FlexE子用户sub-client,将所述第一FlexE sub-client映射到在fgBU中为所述第一FlexE sub-client所分配的至少一个子时隙。
在一种可能的实施方式中,所述收发单元,具体用于通过如下方式实现向第二通信装置发送所述第一码块流:所述第一码块流属于第一MTN fg-path,将所述将第一MTN fg-path映射到在MTN fgBU中为所述第一MTN fg-path所分配的至少一个子时隙。
在一种可能的实施方式中,所述收发单元,具体用于通过如下方式实现向第二通信装置发送所述第一码块流:所述第一码块流属于第一FlexE client,将所述第一FlexE client映射到在FlexE Group中为所述第一FlexE client所分配的至少一个时隙。
在一种可能的实施方式中,所述收发单元,具体用于通过如下方式实现向第二通信装置发送所述第一码块流:所述第一码块流属于第一MTNP,将所述第一MTNP映射到在MTNS中为所述第一MTNP所分配的至少一个时隙。
在一种可能的实施方式中,所述收发单元,还用于接收第三CBR业务;所述处理单元,具体用于:根据所述第一CBR业务和所述第三CBR业务,生成用于承载所述第一CBR业务和所述第三CBR业务的所述第一码块流,所述第一码块流还包括第三指示信息和第三填充区域,所述第三指示信息指示所述第三填充区域未承载业务数据,所述第三填充区域未填充所述业务数据,所述第三填充区域和所述第一填充区域的长度之和小于所述第一数据码块的长度。
在一种可能的实施方式中,所述处理单元,具体用于:在确定所述第一CBR业务和所述第三CBR业务均存在速率适配需求的情况下,根据所述第一CBR业务和所述第三CBR业务,生成用于承载所述第一CBR业务和所述第三CBR业务的所述第一码块流。
在一种可能的实施方式中,所述收发单元,还用于接收第四CBR业务;所述处理单元,具体用于:根据所述第一CBR业务和所述第四CBR业务,生成用于承载所述第一CBR业务和所述第四CBR业务的
所述第一码块流,所述第一码块流还包括第四指示信息和第四填充区域,所述第四指示信息指示所述第四填充区域填充了业务数据,所述第四填充区域填充了所述第四CBR业务,所述第四填充区域和所述第一填充区域的长度之和小于所述第一数据码块的长度。
在一种可能的实施方式中,所述处理单元,具体用于:在确定所述第一CBR业务存在速率适配需求,所述第四CBR业务不存在速率适配需求的情况下,根据所述第一CBR业务和所述第四CBR业务,生成用于承载所述第一CBR业务和所述第四CBR业务的第一码块流。
在一种可能的实施方式中,所述收发单元,还用于接收第五CBR业务;所述处理单元,具体用于:根据所述第二CBR业务和所述第五CBR业务,生成用于承载所述第二CBR业务和所述第五CBR业务的所述第二码块流,所述第二码块流还包括第五指示信息和第五填充区域,所述第五指示信息指示所述第五填充区域填充了业务数据,所述第五填充区域填充了所述第五CBR业务,所述第五填充区域和所述第一填充区域的长度之和小于所述第二数据码块的长度。
在一种可能的实施方式中,所述处理单元,具体用于:在确定所述第二CBR业务和所述第五CBR业务均不存在速率适配需求的情况下,根据所述第二CBR业务和所述第五CBR业务,生成用于承载所述第二CBR业务和所述第五CBR业务的所述第二码块流。
在一种可能的实施方式中,以所述第一CBR业务为例,所述处理单元,具体可以通过如下方式1、方式2、方式3中任意一种或多种组合判断所述第一CBR业务、所述第二CBR业务、所述第三CBR业务、所述第四CBR业务、所述第五CBR业务是否存在速率适配需求:
方式1、周期性获取所述收发单元接收所述第一CBR业务的速率,确定所述收发单元接收所述第一CBR业务的速率是否小于速率阈值,在确定所述收发单元接收所述第一CBR业务的速率小于所述速率阈值时,则确定所述第一CBR业务存在速率适配需求,反之,则确定所述第一CBR业务不存在速率适配需求。
方式2、周期性获取所述第一CBR业务在所述收发单元中用于缓存所述第一CBR业务的缓存队列中的深度,在所述第一CBR业务在所述缓存队列中的深度小于深度阈值时,则确定所述第一CBR业务存在速率适配需求,反之,则确定所述第一CBR业务不存在速率适配需求。
方式3、周期性获取所述第一CBR业务在所述收发单元中用于缓存所述第一CBR业务的所述缓存队列中的深度,在所述第一CBR业务在所述缓存队列中的深度与所述缓存队列的总深度的比值小于深度比值阈值时,则确定所述第一CBR业务存在速率适配需求,反之,则确定所述第一CBR业务不存在速率适配需求。
应理解,上述方式1、方式2和方式3仅仅是作为示例,不应视为对所述处理单元判断所述第一CBR业务是否存在速率适配需求的方式的具体限定。
关于第三方面提供的通信装置以及第三方面的任一种实施方式的相关有益效果和描述可以参见前述第一方面以及第一方面的任一种实施方式的相关有益效果和描述,在此不再赘述。
第四方面,提供一种第二通信装置,该装置包括:收发单元和处理单元;所述收发单元,用于执行以上第二方面所述的由第二通信装置执行的接收和/或发送操作;所述处理单元用于执行以上第二方面所述的由第二通信装置执行的接收和/或发送操作之外的操作。
在一个具体的示例中,所述收发单元,用于接收第一通信装置发送的承载了第一CBR业务的第一码块流,其中,所述第一码块流由第一起始码块、M个第一数据码块和第一结束码块组成,所述第一码块流包括第一指示信息和第一填充区域,所述第一指示信息指示所述第一填充区域未填充业务数据,所述第一填充区域未填充所述第一CBR业务,所述第一填充区域的长度小于所述第一数据码块的长度,M为正整数;所述处理单元,用于根据所述第一码块流,获取所述第一CBR业务。
在一种可能的实施方式中,所述收发单元,还用于接收第一通信装置发送的承载了第二CBR业务的第二码块流,其中,所述第二码块流由第二起始码块、M个第二数据码块和第二结束码块组成,所述第二码块流包括第二指示信息和第二填充区域,所述第二指示信息指示所述第二填充区域填充承载了业务数据,所述第二填充区域填充了所述第二CBR业务,所述第二填充区域的长度小于所述第二数据码块的长度;所述处理单元,还用于根据所述第二码块流,获取所述第二CBR业务。
在一种可能的实施方式中,所述处理单元,具体用于通过如下方式实现根据所述第一码块流,获取所述第一CBR业务:对所述第一码块流进行解码,得到第一容器,所述第一容器包括从所述第一CBR业务中提取的第一数据,所述第一指示信息和所述第一填充区域,然后从所述第一容器中获取所述第一CBR业务。
在一种可能的实施方式中,所述第一容器包括容器开销和容器净荷,所述容器净荷包括所述第一填充区域和所述第一数据,所述容器开销包括所述第一指示信息。
在一种可能的实施方式中,所述第一容器包括容器开销和容器净荷,所述容器开销包括所述第一指示信息和所述第一填充区域,所述容器净荷包括所述第一数据。
在一种可能的实施方式中,所述第一容器还包括固定填充区域,所述固定填充区域填充了固定图案,所述固定填充区域不用于承载业务数据。
在一种可能的实施方式中,所述M个第一数据码块承载所述第一容器,所述第一起始码块和所述第一结束码块不承载所述第一容器。
在一种可能的实施方式中,所述M个第一数据码块和所述第一结束码块承载所述第一容器,所述第一起始码块不承载所述第一容器。
在一种可能的实施方式中,所述收发单元,用于通过小颗粒技术与所述第一通信装置通信。
在一种可能的实施方式中,所述收发单元,具体用于通过如下方式实现接收第一通信装置发送的第一码块流:所述第一码块流属于第一FlexE sub-client,从fgBU中为所述第一FlexE sub-client所分配的至少一个子时隙,获取所述第一码块流。
在一种可能的实施方式中,所述收发单元,具体用于通过如下方式实现接收第一通信装置发送的第一码块流:所述第一码块流属于第一MTN fg-path,从MTN fgBU中为所述第一MTN fg-path所分配的至少一个子时隙,获取所述第一码块流。
在一种可能的实施方式中,所述收发单元,具体用于过如下方式实现接收第一通信装置发送的第一码块流:所述第一码块流属于第一FlexE client,从FlexE Group中为所述第一FlexE client所分配的至少一个时隙,获取所述第一码块流。
在一种可能的实施方式中,所述收发单元,具体用于通过如下方式实现接收第一通信装置发送的第一码块流:所述第一码块流属于第一MTNP,从MTNS中为所述第一MTNP所分配的至少一个时隙,获取所述第一码块流。
在一种可能的实施方式中,所述第一码块流不仅承载了所述第一CBR业务,还承载了第三CBR业务,所述第一码块流不仅包括所述第一指示区域和所述第一填充区域,还包括第三指示信息和第三填充区域,所述第三指示信息指示所述第三填充区域未填充业务数据,所述第三填充区域未填充所述第三CBR业务,所述第三填充区域和所述第一填充区域的长度之和小于所述第一数据码块的长度;所述处理单元,具体用于根据所述第一码块流,获取所述第一CBR业务和所述第三CBR业务。
在一种可能的实施方式中,所述第一码块流不仅承载了所述第一CBR业务,还承载了第四CBR业务,所述第一码块流不仅包括所述第一指示区域和所述第一填充区域,还包括第四指示信息和第四填充区域,所述第四指示信息指示所述第四填充区域填充了业务数据,所述第四填充区域填充了所述第四CBR业务,所述第四填充区域和所述第一填充区域的长度之和小于所述第一数据码块的长度;所述处理单元,具体用于根据所述第一码块流,获取所述第一CBR业务和所述第四CBR业务。
在一种可能的实施方式中,所述第二码块流不仅承载了所述第二CBR业务,还承载了第五CBR业务,所述第二码块流不仅包括所述第二指示信息和所述第二填充区域,还包括第五指示信息和第五填充区域,所述第五指示信息指示所述第五填充区域填充了业务数据,所述第五填充区域填充了所述第五CBR业务,所述第五填充区域和所述第一填充区域的长度之和小于所述第二数据码块的长度;所述处理单元,具体用于根据所述第二码块流,获取所述第二CBR业务和所述第五CBR业务。
关于第四方面提供的第二通信装置以及第四方面的任一种实施方式的相关有益效果和描述可以参见前述第一方面以及第一方面的任一种实施方式的相关有益效果和描述,在此不再赘述。
第五方面,提供一种通信装置,包括处理器和存储器。该通信装置可以为上述第一通信装置,也可以为上述第二通信装置。可选的,还包括收发器,该存储器用于存储计算机程序或指令,该处理器用于从存储器中调用并运行该计算机程序或指令,当处理器执行存储器中的计算机程序或指令时,使得该通信装置执行上述第一方面至第二方面中任一方面,以及任一方面的任一种实施方式。
可选的,处理器为一个或多个,存储器为一个或多个。
可选的,存储器可以与处理器集成在一起,或者存储器与处理器分离设置。
可选的,收发器中可以包括,发射机(发射器)和接收机(接收器)。
第六方面,提供一种通信装置,包括处理器。该通信装置可以为上述第一通信装置,也可以为上述第二通信装置。该处理器与存储器耦合,可用于执行第一方面至第二方面中任一方面,以及任一方面的任一
种实施方式。该通信装置可以为上述第一通信装置,也可以为上述第二通信装置。可选地,该通信装置还包括存储器。可选地,该通信装置还包括通信接口,处理器与通信接口耦合。
在一种可能的实现方式中,该通信装置为第一通信装置或第二通信装置时,通信接口可以是收发器,或,输入/输出接口。可选地,收发器可以为收发电路。可选地,输入/输出接口可以为输入/输出电路。
在又一种可能的实现方式中,当该通信装置为第一通信装置的芯片或芯片系统,或为第二通信装置的芯片或芯片系统时,通信接口可以是该芯片或芯片系统上的输入/输出接口、接口电路、输出电路、输入电路、管脚或相关电路等。处理器也可以体现为处理电路或逻辑电路。
第七方面,提供一种通信系统,该通信系统包括上述第一通信装置和第二通信装置。
第八方面,提供一种计算机程序产品,该计算机程序产品包括:计算机程序(也可以称为代码,或指令),当计算机程序被运行时,使得计算机执行上述第一方面至第二方面中任一方面,以及任一方面的任一种实施方式。
第九方面,提供一种计算机可读存储介质,该计算机可读介质存储有计算机程序(也可以称为代码,或指令)当其在计算机上运行时,使得计算机执行上述第一方面至第二方面中任一方面,以及任一方面的任一种实施方式。
第十方面,提供一种芯片系统,该芯片系统可以包括处理器。该处理器与存储器耦合,可用于执行上述第一方面至第二方面中任一方面,以及任一方面的任一种实施方式。可选地,该芯片系统还包括存储器。存储器,用于存储计算机程序(也可以称为代码,或指令)。处理器,用于从存储器调用并运行计算机程序,使得安装有芯片系统的装置执行第一方面至第二方面中任一方面,以及任一方面的任一种实施方式。
第十一方面,提供一种处理装置,包括:接口电路和处理电路。接口电路可以包括输入电路和输出电路。处理电路用于通过输入电路接收信号,并通过输出电路发射信号,使得第一方面至第二方面中任一方面,以及任一方面的任一种实施方式被实现。
在具体实现过程中,上述处理装置可以为芯片,输入电路可以为输入管脚,输出电路可以为输出管脚,处理电路可以为晶体管、门电路、触发器和各种逻辑电路等。输入电路所接收的输入的信号可以是由例如但不限于接收器接收并输入的,输出电路所输出的信号可以是例如但不限于输出给发射器并由发射器发射的,且输入电路和输出电路可以是同一电路,该电路在不同的时刻分别用作输入电路和输出电路。本申请对处理器及各种电路的具体实现方式不做限定。
在又一种实现方式中,处理装置可以是第一通信装置或第二通信装置中的部分器件,如系统芯片或通信芯片等集成电路产品。接口电路可以为该芯片或芯片系统上的输入/输出接口、接口电路、输出电路、输入电路、管脚或相关电路等。处理电路可以为该芯片上的逻辑电路。
图1为本申请涉及的64B/66B编码格式的码块的结构示意图;
图2为本申请涉及的一种空闲码块的结构示意图;
图3为本申请涉及的一种FlexE技术的示意图;
图4为本申请涉及的将不同业务映射到不同PHY链路的示意图;
图5为本申请涉及的一种MTN协议栈层次模型的架构示意图;
图6为本申请涉及的一种fgBU的格式示意图;
图7为本申请涉及的一种应用场景的示意图;
图8为本申请涉及的另一种应用场景的示意图;
图9a为本申请涉及的一种将业务转换为码块流的过程示意图;
图9b为本申请涉及的一种将码块流转换为业务的过程示意图;
图10为本申请提供的一种通信方法的交互示意图;
图11a为本申请提供的一种第一容器的结构示意图;
图11b为本申请示例性示出的一种第一容器的结构示意图;
图11c为本申请提供的另一种第一容器的结构示意图;
图11d为本申请示例性示出的另一种第一容器的结构示意图;
图11e为本申请提供的又一种第一容器的结构示意图;
图12a为本申请示例性示出的一种将业务转换为码块流的过程示意图;
图12b为本申请示例性示出的一种将码块流转换为业务的过程示意图;
图12c为本申请示例性示出的另一种将业务转换为码块流的过程示意图;
图12d为本申请示例性示出的另一种将码块流转换为业务的过程示意图;
图12e为本申请提供的又一种将业务转换为码块流的过程示意图;
图13为本申请提供的另一种通信方法的交互示意图;
图14a为本申请提供的另一种通信方法的交互示意图;
图14b为本申请提供的另一种通信方法的交互示意图;
图14c为本申请提供的另一种通信方法的交互示意图;
图15为本申请示例性示出的一种对码块流进行复用的示意图;
图16为本申请提供的一种通信装置的结构示意图;
图17为本申请提供的另一种通信装置的结构示意图;
图18为本申请提供的又一种通信装置的结构示意图。
为了便于清楚的理解本申请提供的技术方案,首先对本申请提供的技术方案涉及到的一些名词和术语进行解释。
(1)CBR业务,也可以称为CBR业务信号、CBR业务流或者CBR数据流等,包括但不限于欧洲传输级别(european transmission level 1,E1)、同步(synchronous,STM-1)、串行数字信息(serial digital information,SDI)。为了便于描述,在本申请实施例中,均以业务表示CBR业务。
(2)码块,是指多个连续的比特位组成的比特块,一个码块上承载(也可以称为封装或填充)的信息可以是指该码块包括的比特位上承载的信息。本申请实施例中的码块也可以有其他可以替换的名称,比如可以替换为微片(flit)。本申请实施例中一些使用码块为例进行介绍的实施例同样也适用于flit的场景。
本申请实施例中的码块可以包括两大类型,分别为数据类型的码块(以下简称为数据码块)和控制类型的码块(以下简称为控制码块)。数据码块的净荷区域(block payload)可以用于承载实际的数据有效载荷,控制码块的净荷区域可以用于承载控制信息。
控制码块下还可以划分出多种类型的码块,例如:起始码块(也可以称为头码块)、结束码块(也可以称为尾码块)、空闲(idle)码块、操作维护管理(operation administration and maintenance,OAM)码块、错误(error)码块、低功耗码块等等。
图1示例性示出了IEEE Std 802.3-2018.IEEE Standard for Ethenet SECTION SIX标准中定义的64比特(binary digit,简称为bit或B))/66B编码格式的码块的结构示意图。如图1所示,码块的同步头区域包括码块的第0B和第1B,码块的同步头区域有两种情况,分别为01和10。同步头为01的码块称为数据码块,数据码块可以写为D码块;同步头为10的码块称为控制码块。控制码块的字段D0占用8B,可以称为控制码块的类型(type)域。
本申请实施例中起始码块可以为图1中同步头为10类型域为0x78的码块,该情况下,起始码块可以写为S码块。本申请实施例中结束码块可以为图1中同步头为10,类型域为0x87的码块(也可以称为T0码块)、0x99的码块(也可以称为T1码块)、0xAA的码块(也可以称为T2码块)、0xB4的码块(也可以称为T3码块)、0xCC的码块(也可以称为T4码块)、0xD2的码块(也可以称为T5码块)、0xE1的码块(也可以称为T6码块)和0xFF的码块(也可以称为T7码块),该情况下,图1所示的结束码块均可以写为T码块。本申请实施例中OAM码块可以为图1中同步头为10、类型域为0x4B的码块,该情况下,OAM码块可以写为O码块。
图2示例性示出了本申请涉及的一种idle码块的结构形式,如图2所示,idle码块的同步头区域为10,idle码块中的其它内容如图2所示。本申请实施例中所涉及到的码块均以图1、图2所示的64B/66B码块结构形式为例进行示例性说明,但本申请实施例也适用于其它标准所定义的码块形式,比如8B/10B,256B/257B等。
(3)FlexE,是光互联网论坛(optical internet forum,OIF)定义的一种实现业务隔离和网络分片的接口技术,支持多种速率的业务,通过将多个100千兆以太网(giga bit ethernet,GE)物理(physical,PHY)接口绑定,并将每个100GE接口在时域上以5千兆比特每秒(gigabits per second,Gbps)为颗粒划分为20个时隙,FlexE可支持以下功能:绑定,将多个PHY接口对应的链路(以下简称为PHY链路)绑定为一个FlexE组(也可以称为FlexE Group),以支持速率大于单个PHY接口的业务;子速率,通过为业务分配时隙支持速率小于FlexE Group带宽或者小于单个PHY接口带宽的业务;通道化,通过为业务分配时隙
支持在FlexE Group中同时传输多个业务,例如在2*100GE FlexE Group中支持同时传输一个150Gbps和两个25Gbps的业务。
FlexE的基本功能是将U个业务中的每个业务按照FlexE Shim的时分复用(time division multiplexing,TDM)机制映射到一个由V条PHY链路组成的FlexE Group上,U和V均为正整数。例如,U为3,V为2,FlexE的基本架构可如图3所示,在图3中,FlexE是将3个业务按照FlexE Shim的TDM机制映射到一个由2条PHY链路组成的FlexE Group上。
更具体地,是将每个业务映射到FlexE Group中为每个业务对应的FlexE用户(client)所分配的时隙。也就是说,通过FlexE进行通信的两个通信装置(如图4所示的通信装置1和通信装置2)之间通过FlexE组传输一个或多个业务,每个业务占用FlexE Group中一个或多个PHY链路上的一个或多个时隙。
需要说明的是,本申请实施例中提及的通信装置,可以是交换机、路由器等网络设备,也可以是网络设备上的一部分组件,例如是网络设备上的单板,线卡,还可以是网络设备上的一个功能模块,还可以是用于实现本申请方法的芯片,本申请实施例不做具体限定。通信装置之间例如可以但不限于通过以太网线或光缆直接连接。
其中,FlexE client,对应一条按照特定编码(例如,64B/66B编码)格式对业务编码后的码块流,每个FlexE client可以分配(占用)FlexE Group包括的多个时隙中的至少一个时隙。
例如,请参考图4,在图4中,以由100GE PHY1链路和100GE PHY2链路组成了FlexE Group为例,FlexE Group总共具有40个时隙,每个时隙对应于5G的带宽。其中,PHY1对应40个时隙中的20个时隙,PHY2对应另外20个时隙。
在图4中,业务1占用5G的带宽,业务1被分配了PHY1的时隙1,业务2占用25G的带宽,业务2被分配了PHY1的时隙2至时隙5以及时隙19,业务3占用10G的带宽,业务3被分配了PHY2的时隙1和时隙20。
具体实现中,发送端(如图4所示的通信装置1)在向接收端(如图4所示的通信装置2)传输业务时,会先将业务编码成码块流(对应FlexE client),然后将码块流映射到FlexE Group中为FlexE client所分配的时隙上进行传输。接收端在接收到FlexE Group中的时隙上映射的码块流后,可以根据FlexE client与时隙的映射关系从码块流中获取业务。
(4)MTN,是国际电信联盟电信标准分局(ITU-T for ITU telecommunication standardization sector,简称为ITU-T)第15研究组借鉴FlexE部分设计理念定义的一种新的传送技术,包含完整的传送网功能,比如接口、交叉、操作维护管理(operations,administration and maintenance,OAM)、管控、保护等。上述FlexE是一种接口技术,可以针对数据中心互联(data center interconnection,DCI)场景。MTN是一种综合传送网技术,可以面向5G传送网。
MTN中定义了两个层:MTN段层(section layer)(可以简称为MTNS)和MTN通道层(path layer)。
MTNS的基本功能与FlexE的基本功能类似,进行数据传输的过程也类似,通过MTN进行通信的两个通信装置,发送端是将W个业务中的每个业务转换成码块流,然后将每个业务对应的码块流映射到MTNS中为每个业务对应的MTN通道(path)(可以简称为MTNP)所分配的时隙进行传输。接收端在接收到MTNS中的时隙上映射的码块流后,可以根据MTNP与时隙的映射关系从码块流中获取业务。
其中,MTNP,对应一条按照特定编码(例如64B/66B编码)格式对一个或多个业务编码后的码块流,每个MTNP可以分配MTNS包括的多个时隙中的至少一个时隙。
参见图5,图5示例性示出了本申请涉及的MTN协议栈层次模型的架构示意图,如图5所示,从协议栈的角度看,MTNS功能上相当于FlexE Shim功能。
图5中的物理编码子层(physical coding sublayer,PCS)可以包括MTN通道适配(MTN path adaptation)层、MTN通道终结(MTN path trail termination)层功能模块、MTN通道连接(MTN path connection)功能模块、MTN段层适配(MTN section adaptation)层功能模块和MTN段层终结(MTN section trail termination)功能模块。
如图5所示,发送端接收业务、处理业务、发送业务的流程可以从上到下进行,业务经过数据链路层中的媒体介入控制层(media access control,MAC)子层,进入物理层,在物理层内,先经过协调子层(reconciliation sublayer,RS)(RS的功能是使不同介质类型对MAC子层透明),然后进入MTN通道层,业务在MTN通道层经过PCS编码(encode)模块进行编码后,可以称为码块流(比如可以是64B/66B码块流)。进一步,该64B/66B码块流在MTN通道层还可以插入MTNP的OAM等开销信息,且在MTN通道层可以通过MTN通道连接功能找到对应的转发端口和时隙。之后该码块流可以从MTN通道层进入
MTNS,在MTNS可以通过速率适配与其他码块流进行交织。交织后的码块流可以在MTNS被插入MTNS的OAM等开销信息,随后该码块流经过适配进入物理层内的底层进行传输。经过适配后,该码块流会在前向纠错码(forward error correction,FEC)子层处进行64B/66B到256B/257B转码。经过转码后的码块流会被送到PHY链路上进行传输,从而发送出去。
如图5所示,接收端接收码块流、处理码块流获取业务的流程可以从下到上进行,码块流可以依次经过FEC子层、MTNS、MTN通道层等的处理,该流程为发送端对业务的处理流程的逆过程。在接收过程中,接收端的FEC子层接收到码块流之后,先进行FEC纠错,之后将码块流进行编码格式的转换(比如将256B/257B码块流转换为64B/66B码块流)。之后该码块流进入MTNS,经过MTNS的处理及解交织后,在MTNS的适配层处恢复为各个单路业务对应的64B/66B码块流。之后在MTN通道层可以通过MTN通道层的连接功能对各路64B/66B码块流进行转发。
(5)小颗粒(fine granularity)技术,也可以称为细颗粒技术、切片分组网络(slicing packet network,SPN)细颗粒技术、SPN小颗粒技术或者小颗粒单元(fine granularity unit,FGU)细粒度技术或者MTN小颗粒技术等,是在上述FlexE/MTN的基础上,业界衍生出的一种用于传输小带宽业务的技术。
小颗粒技术采用TDM机制,以固定周期循环发送FGU帧,而每帧包含的子时隙(sub-slot)数量和位置都严格固定,因此每子时隙的发送周期也是确定性的,其中,子时隙是对时隙进行划分得到的,一个时隙可以划分为多个子时隙,例如,一个带宽为5Gbps的MTN/FlexE时隙可以划分为480个带宽为10兆比特每秒(megabits per second,Mbps)的子时隙,这种机制实现了对5Gbps颗粒的时隙划分与复用,每个小带宽业务所占用的子时隙位置严格固定,独享子时隙资源,不同小带宽业务之间互不干扰,严格隔离。每个子时隙具有确定性发送周期,保障了确定性低时延、低抖动性能。
小颗粒技术包括但不限于:中国移动通信企业标准定义的SPN小颗粒技术(以下简称为SPN小颗粒技术)、ITU定义的MTN小颗粒技术(以下简称为MTN小颗粒技术)。需要说明的是,在SPN小颗粒技术中,FGU帧可以被称为小颗粒基本单元(fine granularity basic unit,fgBU)、小颗粒基帧、小颗粒单帧等,在MTN小颗粒技术中,FGU帧可以被称为MTN fgBU、MTN小颗粒基帧、MTN小颗粒单帧等,MTN fgBU的格式可以沿用SPN小颗粒技术中的fgBU格式。本申请不对设备通过小颗粒技术发送的FGU帧的名称进行具体限定。
下面对fgBU进行介绍。
参见图6,图6示例性示出了本申请涉及的一种fgBU的示意图,在图6中,以100GE PHY接口为例,该PHY接口被划分为20个带宽为5Gbps的时隙,每个时隙被划分为480个带宽为10Mbps的子时隙。如图6所示,一个100GE PHY接口输出的数据流的格式为1个fgBU复帧,1个fgBU复帧包括20个fgBU,如图6中的fgBU0至fgBU19,1个fgBU包括24个子时隙。
如图6所示,fgBU具有固定长度,包含1个S码块、195个D码块和1个T码块,共197个64B/66B码块。其中,fgBU的195个D码块和1个T码块包含7字节的fgBU开销(overhead,缩写为OH)和1560字节的fgBU净荷,fgBU OH用于承载fgBU的开销信息,fgBU净荷用于承载业务数据。fgBU的开销信息可以包括fgBU的序列号、PHY链路对应的子时隙映射表等。其中,fgBU的序列号可以用于表示该fgBU在整个fgBU复帧中的位置,根据该位置可以知道该fgBU所装载的子时隙编号,子时隙映射表,可以用于标识PHY链路上每个FlexE sub-client所分配的子时隙数量和子时隙位置。
如图6所示,在fgBU包括的24个子时隙中,1个子时隙可以传输8个65B的码块,其中,65B的码块可以是将66B码块中占2B的同步头区压缩为占1B的同步头得到,比如,同步头为01,压缩后为0,同步头为10,压缩后为1。
在SPN小颗粒技术中,发送端可以将W个小带宽业务中的每个小带宽业务转换成码块流(对应FlexE子用户(sub-client)),然后按照FlexE shim的TDM机制映射到fgBU中为每个小带宽业务对应的FlexE sub-client所分配的子时隙进行传输。接收端在接收到fgBU中的子时隙上映射的码块流后,可以根据FlexE sub-client与子时隙的映射关系从码块流中获取小带宽业务。
其中,FlexE sub-client,对应一条按照特定编码(例如64B/66B编码)格式对小带宽业务编码后的码块流,每个FlexE sub-client可以分配fgBU包括的多个子时隙中的至少一个子时隙。
在MTN小颗粒技术中,采用层次化的方式,在图5所示的MTN协议栈层次模型架构中的MAC子层与MTN通道层之间新增了一个独立子层:MTN细颗粒通道(MTN fine granularity path,MTN fg-path)层,MTN通道层与MTN fg-path层是可以解耦的,MTN通道层是MTN fg-path层的服务层。
在MTN小颗粒技术中,发送端可以将W个小带宽业务中的每个小带宽业务转换成码块流,然后将每
个小带宽业务对应的码块流映射到MTN fgBU中为每个小带宽业务对应的MTN fg-path所分配的子时隙进行传输。接收端在接收到MTN fgBU中的子时隙上映射的码块流后,可以根据MTN fg-path与子时隙的映射关系获取小带宽业务。
其中,MTN fg-path,对应一条按照特定编码(例如,64B/66B编码)格式对一个或多个小带宽业务编码后的码块流,每个MTN fg-path可以分配MTN fgBU包括的多个时隙中的至少一个时隙。
在上述FlexE、MTN、小颗粒技术中,发送端将业务转换成码块流的一种可能的实现方式可以参见图9a以及对图9a的相关描述,接收端将码块流转换成业务的一种可能的实现方式均可以参见图9b以及对图9b的相关描述,此处不再赘述。
(6)大颗粒业务,也可以称为粗颗粒业务、大粒度业务、上述大带宽业务等,主要是指使用上述FlexE/MTN技术中的N(N为正整数)个带宽为5Gbps的时隙承载的业务,在一些技术中,时隙的带宽粒度可以为1Gbps等,以时隙的带宽粒度是1Gbps为例,大颗粒业务也可以是这些技术中N个带宽为1Gbps的时隙承载的业务,大颗粒业务的带宽可以为任意值,只不过在大颗粒业务的带宽大于N个时隙的带宽之和时,大颗粒业务在传输时会面临部分业务数据被丢弃的风险,在大颗粒业务的带宽小于N个时隙的带宽之和时,会造成带宽浪费。
(7)小颗粒业务,也可以称为细颗粒业务、小粒度业务、上述小带宽业务等,主要是指使用上述小颗粒技术中的N个子时隙(如上述带宽粒度为10Mbps的子时隙)承载的业务,在一些技术中,子时隙的带宽粒度可以为100Mbps等,以子时隙的带宽粒度是100Mbps为例,小颗粒业务也可以是这些技术中N个带宽为100Mbps的子时隙承载的业务。与上述大颗粒业务类似,小颗粒业务的带宽可以为任意值,只不过在小颗粒业务的带宽大于N个子时隙的带宽之和时,小颗粒业务在传输时会面临部分业务数据被丢弃的风险,在小颗粒业务的带宽小于N个子时隙的带宽之和时,会造成带宽浪费。
接下来对本申请实施例的应用场景作简要介绍。
本申请实施例提供的技术方案可以应用于基于FlexE、小颗粒技术实现的传送网中,还可以应用于其他类型的传送网中,例如MTN、以太网、光传送网(optical transport network,OTN)、同步数字体系(synchronous digital hierarchy,SDH)等。为了介绍方便,本申请实施例主要以FlexE为例进行说明。
参见图7,图7是本申请示例性示出的一种基于FlexE的传送网的架构示意图,如图7所示,基于FlexE的传送网包括接入层、汇聚层和核心层。
接入层为直接面向用户连接或访问网络的部分,其目的是允许用户终端连接到网络。
核心层是网络的高速交换主干,对整个网络的连通起到至关重要的作用。由于核心层的主要目的在于通过高速转发通信提供优化、可靠的骨干传输结构,因此核心层的通信装置具有较高的可靠性和较大的吞吐量。通常,核心层采用带宽较高的通信装置。
汇聚层位于接入层和核心层之间,负责处理来自接入层的所有通信量,提供接入层与核心层连接的链路。
在图7所示的传送网中包含多个通信装置。这里所说的通信装置可以理解为支持FlexE的接口设备。通过多个通信装置之间的转发操作,可以实现用户终端与骨干网之间的数据交换,或者实现用户终端与用户终端之间的数据交换。
在图7所示的传送网包含的通信装置中,位于核心层的通信装置可以是运营商(provider)设备(简称P设备),P设备具有强大的交换能力,可用于数据流的高速交换;位于汇聚层的通信装置可以是运营商边缘(provider edge,PE)设备,PE设备可用于实现接入层和核心层的连接。来自核心层的数据流通过PE设备进入接入层,来自接入层的数据流通过PE设备进入核心层;位于接入层的通信装置可以是客户侧边缘(customer edge,CE)设备,CE设备用来为用户终端提供接入服务。
此外,在图7所示的传送网中,通信装置间的接口可以分为两类:网络-网络接口(network to network interface,NNI)和用户-网络接口(user networks interface,UNI)。其中,NNI可以是PE设备上的、与P设备之间的接口,也可以是两个P设备之间的接口;UNI接口可以是PE设备上的、与CE设备之间的接口。
如前所述,通过多个通信装置的转发操作,可以实现用户终端与骨干网之间的数据交换,或者实现用户终端与用户终端之间的数据交换。也就是说,在图7所示的传送网中,每个通信装置均用于进行数据转发,用户终端的业务可通过CE设备和PE设备到达核心网,核心网的业务也可通过PE设备和CE设备到达用户终端。
参见图8,图8是本申请实施例适用的另一种网络架构的示意图,如图8所示,该网络架构包括第一
通信装置100和第二通信装置200,第一通信装置100与第二通信装置200之间例如可以但不限于通过以太网线或光缆直接连接,其中,第一通信装置100和第二通信装置200之间可以包括有其他的通信装置,也可以不包括其他通信装置。第一通信装置100和第二通信装置200包括但不限于交换机、路由器等网络设备,也可以是网络设备上的一部分组件,例如是网络设备上的单板,线卡,还可以是网络设备上的一个功能模块,还可以是用于实现本申请提供的通信方法的芯片,本申请实施例不做具体限定。
下面将以该网络架构采用图7所示的传送网为例进行说明。
第一通信装置100用于实现业务(也可以称为以太帧或者以太网帧)和码块流的转换。
第二通信装置200用于实现码块流和业务的转换。
具体地,第一通信装置100可以将从接入层中的通信装置接收到的业务转换为码块流以在核心层的通信装置中传输,由核心层的通信装置将码块流传输给位于汇聚层的第二通信装置200,第二通信装置200在接收到码块流后,将码块流恢复成业务,然后通过接入层的通信装置传输给目的终端。在一具体的实施例中,第一通信装置100可以是图7中的汇聚层的一个PE设备,第二通信装置200是汇聚层中的另一个PE设备。在一具体的实施例中,第一通信装置100可以是图4所示的通信装置1,第二通信装置200可以是图4所示的通信装置2。
具体实现中,第一通信装置100在将业务转换为码块流时,可以按照特定编码(如64B/66B编码、8B/10B编码、256B/257B编码等)格式对业务进行编码。为了便于描述,在接下来的实施例中,均以第一通信装置100按照64B/66B编码格式对业务进行编码,实现将业务转换为码块流为例展开描述。但是,本申请提供的技术方案也适用于第一通信装置100按照其他编码(如8B/10B编码、256B/257B编码等)格式对业务进行编码将业务转换为码块流的场景,关于本申请提供的技术方案在上述其他场景中的具体实现,可以参照本申请提供的技术方案在64B/66B编码格式对应的场景中的具体实现,为了说明书的简洁,不再展开赘述。
在图8所示的传送网中,一些业务(指CBR业务)有速率适配需求,例如,在第一通信装置100发送业务的速率长时间大于第一通信装置100接收业务的速率(该速率等于接入层的通信装置发送业务给第一通信装置100的速率)时,若不进行速率适配,长期以往会造成第一通信装置100缓存读空。
目前,第一通信装置100若发现业务存在速率适配需求,可以在向第二通信装置200传输码块流之前,在码块流中S码块的前面插入/删除idle码块进行速率适配,然后将进行速率适配后的码块流传输给第二通信装置200。第二通信装置200在接收到插入了idle码块的码块流后,可以先删除码块流中S码块前面插入的idle码块,然后将码块流转换成业务。
参见图9a和图9b,图9a为本申请示例性示出的当前第一通信装置100将业务转换成码块流并在码块流中S码块的前面插入idle码块进行业务速率适配的流程示意图,图9b为本申请示例性示出的当前第二通信装置200删除码块流中S码块的前面插入的idle码块并将码块流转换成业务的流程示意图。
图9a中以第一通信装置100将业务1转换为码块流1,且码块流1为64B/66B的编码形式为例进行展示。
如图9a所示,业务1为一串比特流,针对业务1,第一通信装置100可以按照64比特为单位逐段截取,得到M个段,每段包括64比特。
之后,第一通信装置100将每段的64比特放入一个D码块的净荷区域,得到M(M可以为正整数)个D码块,也可以理解为第一通信装置100为每段添加一个01的同步头,得到一个D码块。
具体实现中,第一通信装置100可以一直对业务1进行切片,生成多组D码块,多组D码块中任意两组D码块中D码块的数量可以相等,也可以不等。
之后,第一通信装置100可以在M个D码块的两端添加S码块和T码块,从而得到码块流1。其中,S码块可以表示该码块流的开始,T码块可以表示该码块流的结束。
在得到码块流1后,若第一通信装置100发现业务1存在速率适配需求,第一通信装置100可以在码块流1中S码块的前面插入一个或多个idle码块进行速率适配(参见图9a所示的插入idle码块流后的码块流1)。
图9b中以码块流1转换为业务1,且码块流1为64B/66B的编码形式为例进行展示。图9b可以理解为图9a的逆过程。
如图9b所示,第二通信装置200在接收到插入idle码块后的码块流1后,可以去除idle码块得到码块流1。
之后,第二通信装置200可以去除码块流1中D码块两端的S码块和T码块,得到M个D码块。
之后,第二通信装置200去除M个D码块中每个D码块的同步头,得到的一串比特流,即为业务1。
然而,上述通过在码块流中S码块的前面插入idle码块进行速率适配的方法中,由于插入了一个或多个idle码块,会导致第一通信装置100和第二通信装置200处理业务的时延和抖动变大,而时延和抖动变大是任何一个通信装置需要极力避免的性能劣势。
为了解决上述通过在码块流中S码块的前面插入idle码块进行速率适配的方法中,第一通信装置100和第二通信装置200存在的业务处理时延和抖动变大的问题,本申请提供一种通信方法、相关装置及计算机可读存储介质,第一通信装置100可以在根据业务生成码块流时,对业务进行一次小粒度(小于一个idle码块的长度)的速率适配,从而降低第一通信装置100和第二通信装置200处理业务的时延和抖动,提升第一通信装置100和第二通信装置200的性能。
参见图10,图10是本申请提供的一种通信方法的交互示意图,如图10所示,本申请提供的通信方法包括:
S1001:第一通信装置100接收第一业务。
S1002:第一通信装置100根据第一业务,生成用于承载第一业务的第一码块流,其中,第一码块流由第一S码块、M个第一D码块和第一T码块组成,第一码块流包括第一指示信息和第一填充区域,第一指示信息指示第一填充区域未填充业务数据,第一填充区域未填充第一业务中的数据,第一填充区域的长度小于第一D码块的长度。
S1003:第一通信装置100向第二通信装置200发送第一码块流,相应的,第二通信装置200接收第一通信装置100发送的第一码块流。
S1004:第二通信装置200根据第一码块流获取第一业务。
下面对本申请实施例涉及的业务和码块流进行介绍。
在本申请实施例中,涉及多个业务,如第一业务、第二业务、第三业务、第四业务等,这些业务均可以包括但不限于E1、STM-1、SDI。
在本申请实施例中,涉及多条码块流,如第一码块流、第二码块流等,这些码块流均由1个S码块、M个D码块和1个T码块组成。其中,M可以根据实际传输的业务的速率进行确定。例如,对于E1(速率通常在2.048Mbps上下极小的范围内浮动)、T1(速率通常在1.544Mbps上下极小的范围内浮动)等速率非常小的业务,M=2,例如,对于STM-1(速率通常在155Mbps上下极小的范围内浮动)等速率相对大一些的业务,M=123,对于速率更大的业务,M可以设置的更大。
上述第一填充区域未填充业务数据时,可以填充业务数据以外的数据,如固定图案全0或者全1,或者,也可以填充其他数据,例如第一填充区域在第一码块流中的位置信息、第一指示信息在第一码块流中的位置信息等。可选地,第一填充区域还可以部分填充固定图案,部分填充其他数据。为了便于描述,在接下来的实施例中,均以填充区域(如第一填充区域、下文所述第三填充区域)未填充业务数据时,填充了固定图案展开描述。
由于第一通信装置100根据第一业务生成的第一码块流中有一块区域(即第一填充区域)没有用于承载第一业务,可以看出,这样可以使得第一码块流承载的第一业务的数据量变少,从而使得第一通信装置100向第二通信装置200发送第一业务的速率变慢,起到速率适配的效果。
而且,由于第一填充区域的长度小于第一数据码块的长度,而第一数据码块的长度等于一个idle码块的长度,因此,第一通信装置100在根据第一业务生成第一码块流时,相当于对第一业务进行了一次粒度小于idle码块的长度的速率适配,相较于图9a所示的第一通信装置100需要在码块流中S码块的前面插入idle码块来实现对业务速率的适配,可以降低第一通信装置100处理业务的时延和抖动。
还可以看出,由于第一通信装置100向第二通信装置200发送的第一码块流包括第一指示信息和第一填充区域,第一指示信息指示第一填充区域未填充业务数据,因此,第二通信装置200在接收到第一码块流后,可以获取到第一指示信息,根据第一指示信息获知第一填充区域未填充业务数据。之后,第二通信装置200可以丢弃第一填充区域填充的固定图案,从第一码块流的剩余区域中获取第一业务。
由于第一填充区域的长度小于第一D码块的长度,而第一D码块的长度等于idle码块的长度,因此,相较于图9b所示的第二通信装置200需要先删除码块流中S码块的前面插入的idle码块,才能获取到业务,可以降低第二通信装置200处理业务的时延和抖动。
下面对图10所示的各个步骤进行详绍。
在S1001中,第一通信装置100接收的第一业务,可以为第一源端直接发送给第一通信装置100的业务,也可以为第一源端发送给其他通信装置,由其他通信装置转发给第一通信装置100的业务,此处不作
具体限定。
在S1002中,第一通信装置100可以参考如下步骤A1-A3实现根据第一业务生成用于承载第一业务的第一码块流:
A1:从第一业务中提取第一数据。
A2:获取第一容器,其中,第一容器包括第一数据、第一指示信息和第一填充区域。
A3:对第一容器进行编码得到第一码块流。
在本申请中,S1004的具体实施过程可以为S1002的逆过程,该过程可以为如下B1-B3:
B1:对第一码块流进行解码得到第一容器。
B2:从第一容器中获取第一指示信息。
B3:根据第一指示信息从第一容器中获取第一数据。
首先对本申请实施例涉及的第一容器进行介绍。
第一容器,是本申请提供的一个具有固定长度W的封装结构,用于对第一业务进行封装。第一容器包括第一开销(也可以称为容器开销或者容器开销区域,长度为X比特,X为正整数)和第一净荷(也可以称为容器净荷或者容器净荷区域,长度为Y比特,Y为正整数)。其中,W可以等于第一码块流中M个第一D码块的净荷区域的长度之和,即W=X+Y=M*64。请参见图11a,图11a为本申请示例性示出的一种第一容器的结构示意图。
第一开销中可以设置有1个固定长度(Z2比特,Z2为正整数,Z2可以设置的比较小,如1或2等)的指示区域,以下称为第一指示区域,第一开销中可以设置有1个固定长度(Z1比特,Z1为大于0且小于66的整数)的填充区域,以下称为第一填充区域,请继续参见图11a。
应理解,图11a所示的第一容器仅仅是作为示例,例如,具体实现中,第一指示区域可以与第一填充区域相邻,或者,第一指示区域与第一填充区域的长度之和Z1+Z2正好等于第一开销的长度X,本申请不对第一容器中各个区域的位置和各个区域的长度进行具体限定。
可选地,第一填充区域也可以设置于第一净荷,或者,第一填充区域也可以部分设置于第一开销,另一部分设置于第一净荷,本申请对此不作具体限定。为了便于描述,在接下来的实施例中均以第一填充区域设置于第一开销为例进行描述。
在图10所示的实施例中,第一净荷用于封装(承载)第一业务,第一填充区域用于填充固定图案,不用于填充第一业务中的数据,即不用于封装第一业务,第一指示区域用于封装指示第一填充区域未填充业务数据的第一指示信息。
如图11a所示,在本申请实施例中,若第一开销中除第一指示区域和第一填充区域之外还有剩余区域,该剩余区域可以用于承载第一容器对应的开销信息,如第一开销在第一容器中的位置信息、第一净荷在第一容器中的位置信息等。
基于上述内容,参见图11b,图11b为本申请示例性示出的一种第一容器的结构示意图。在图11b中,第一容器的长度为128比特,第一开销的长度为20比特,第一净荷的长度为108比特,第一指示区域的长度为1比特,第一填充区域的长度为8比特。
基于上述内容,参见图12a和图12b,图12a为本申请示例性示出的根据第一业务生成第一容器,并对第一容器进行编码得到第一码块流的过程示意图,图12b为本申请示例性示出的对第一码块流进行解码得到第一容器,并从第一容器中获取第一业务的过程示意图。
在图12a和图12b中,以M为2,业务1表示第一业务,容器1表示第一容器,码块流1表示第一码块流,码块流1为64B/66B编码格式的码块流,容器1为图11b所示的容器为例进行展示。
如图12a所示,业务1为一串比特流,针对业务1,第一通信装置100可以按照108比特进行切片,得到片段1,片段1包括108比特。
之后,第一通信装置100将片段1放入容器1的净荷,在容器1的填充区域填充固定图案,在容器1的指示区域填入指示信息1,指示信息1指示容器1的填充区域未填充业务数据,以及在容器1的开销中除填充区域和指示区域之外的剩余区域填入容器1对应的开销信息。
之后,针对容器1,第一通信装置100可以按照64比特为单位逐段进行截取,得到2个段,每段包括64比特。
之后,第一通信装置100将每段的64比特放入一个D码块的净荷区域,得到2个D码块。
之后,第一通信装置100可以在2个D码块的两端添加S码块和T码块,得到码块流1。
如图12b所示,第二通信装置200在接收到码块流1后,可以去除码块流1中D码块两端的S码块和
T码块,得到2个D码块。
之后,第二通信装置200去除2个D码块的同步头01,得到容器1。
之后,第二通信装置200读取容器1的指示区域内的指示信息1和容器1对应的开销信息,根据指示信息1获知容器1的填充区域未填充业务数据,则去除容器1的填充区域,仅保留容器1的净荷,可以理解,保留的容器1的净荷对应的一串比特流,即为片段1,获取到片段1即为获取到业务1。
在本申请中,基于业务(如上述业务1、下文所述业务2等)得到容器(如上述容器1、下文所述容器2等)的过程,可以称为对业务进行封装的过程,基于容器(如上述容器1、下文所述容器2等)得到码块流(如上述码块流1、下文所述码块流2等)的过程,可以称为对容器进行编码(也可以称为封装)的过程。
在本申请中,基于码块流(如上述码块流1、下文所述码块流2等)得到容器(如上述容器1、下文所述容器2等)的过程,可以称为对码块流进行解码(也可以称为解封装)的过程,基于容器(如上述容器1、下文所述容器2等)得到业务(如上述业务1、下文所述业务2等)的过程,可以称为对容器进行解封装的过程。
在S1003中:
以第一业务为大颗粒业务,第一通信装置100与第二通信装置200之间通过FlexE进行通信为例,S1003的具体实现过程可以为:假设第一码块流属于第一FlexE client,第一通信装置100可以将第一FlexE client映射到在FlexE Group中为第一FlexE client所分配的至少一个时隙进行传输,相应的,第二通信装置200接收FlexE Group中为第一FlexE client所分配的至少一个时隙上映射的第一码块流,然后根据第一码块流获取第一业务。
以第一业务为大颗粒业务,第一通信装置100和第二通信装置200通过MTN进行通信为例,S1003的具体实现过程可以为:假设第一码块流属于第一MTNP,第一通信装置100可以将第一MTNP映射到在MTNS中为第一MTNP所分配的至少一个时隙进行传输,相应的,第二通信装置200接收MTNS中为第一MTNP所分配的至少一个时隙上映射的第一码块流,然后根据第一码块流获取第一业务。
以第一业务为小颗粒业务,第一通信装置100和第二通信装置200通过SPN小颗粒技术进行通信为例,S1003的具体实现过程可以为:假设第一码块流属于第一FlexE sub-client,第一通信装置100可以将第一FlexE sub-client映射到在fgBU中为第一FlexE sub-client所分配的至少一个子时隙进行传输,相应的,第二通信装置200接收fgBU中为第一FlexE sub-client所分配的至少一个子时隙上映射的第一码块流,然后根据第一码块流获取第一业务。
以第一业务为小颗粒业务,第一通信装置100和第二通信装置200通过MTN小颗粒技术进行通信为例,S1003的具体实现过程可以为:假设第一码块流属于第一MTN fg-path,第一通信装置100可以将第一MTN fg-path映射到在MTN fgBU中为第一MTN fg-path所分配的至少一个子时隙进行传输,相应的,第二通信装置200接收MTN fgBU中为第一MTN fg-path所分配的至少一个子时隙上的映射的第一码块流,然后根据第一码块流获取第一业务。
上述第一通信装置100和第二通信装置200通过不同的技术进行通信时,发送第一码块流的进一步具体实现过程可以参考上文概念术语部分对各个技术的介绍,为了说明书的简洁,此处不再展开赘述。
可以理解,实际应用中,第一通信装置100在一段时间内可能会源源不断地接收第一业务的比特流,若第一业务一直存在速率适配需求,则第一通信装置100可以按照图10所示的方法实施例中的步骤S1001-S1003不断地对已经接收到的第一业务的比特流进行处理,生成第一码块流,然后发送给第二通信装置200,直至满足第一业务的速率适配需求。
然而,在满足第一业务的速率适配需求后,第一通信装置100可能还会继续接收到第一业务的比特流,并需要传输第一业务的比特流给第二通信装置200,该情况下,针对后续接收的没有速率适配需求的第一业务的比特流,第一通信装置100可以停止按照图10所示的方法实施例中的S1001-S1003进行处理,即停止对第一业务的速率进行适配,该成参照图9a所示的对业务1进行处理生成码块流1的过程对第一业务进行处理后传输,也可以参照图13所示的方法实施例中的S1301-S1303中对第二业务进行处理和传输的过程,对第一业务进行处理和传输,本申请对此不作具体限定。
若第一通信装置100在参照图9a或者图13所示的方法实施例中的S1301-S1303处理并传输后续接收的第一业务的比特流的过程中,再次发现第一业务存在速率适配需求,便可以再次按照图10所示的方法实施例中的步骤S1001-S1003对第一业务进行处理和传输,实现对第一业务的速率进行适配,以此类推,直至传输完整个第一业务。
在本申请实施例中,第一通信装置100判断第一业务是否存在速率适配需求的方式有很多种,具体请参见下文方式1、方式2、方式3的相关描述。
参见图13,图13是本申请提供的另一种通信方法的流程示意图,如图13所示,本申请提供的另一种通信方法包括:
S1301:第一通信装置100接收第二业务。
S1302:第一通信装置100根据第二业务,生成用于承载第二业务的第二码块流,其中,第二码块流由第二S码块、M个第二D码块和第二T码块组成,第二码块流包括第二指示信息和第二填充区域,第二指示信息指示第二填充区域填充了业务数据,第二填充区域填充了第二业务中的数据,第二填充区域的长度小于第二D码块的长度。
S1303:第一通信装置100向第二通信装置200发送第二码块流,相应的,第二通信装置200接收第二码块流。
S1304:第二通信装置200根据第二码块流获取第二业务。
由于第一通信装置100根据第二业务生成的第二码块流中的填充区域(即第二填充区域)也承载了第二业务中的数据,可以看出,这样并不会使得第二码块流承载的第二业务的数据量变少,因而不会使得第一通信装置100向第二通信装置200发送第二业务的速率变慢,使用该方案可以在业务没有速率适配需求时对业务进行传输。
由于第一通信装置100向第二通信装置200发送的第二码块流中包括第二指示信息和第二填充区域,第二指示信息指示第二填充区域填充了业务数据,因此,第二通信装置200在接收到第二码块流后,根据第二指示信息可以获知第二填充区域填充了业务数据,然后第二通信装置200在从第二码块流中获取第二业务时,便会保留第二填充区域填充的业务数据,然后从第二码块流的剩余区域以及保留的第二填充区域中获取第二业务,从而实现业务的传输。
可以看出,当针对第一通信装置100后续接收到的没有速率适配需求的第一业务的比特流,参照图13所示的方法实施例中的S1301-S1303中对第二业务进行处理和传输的过程对第一业务进行处理和传输,这样可以使得第一通信装置100停止对第一业务进行速率适配。
下面对图13所示的各个步骤进行详绍。
在S1302中,第一通信装置100可以参考如下步骤C1-C3实现根据第二业务生成第二码块流:
C1:从第二业务中提取第二数据。
C2:获取第二容器,其中,第二容器包括第二数据的部分数据、第二指示信息和第二填充区域,第二填充区域填充了第二数据中的剩余数据。
C3:对第二容器进行编码,得到第二码块流。
在本申请中,S1304的具体实施过程可以为S1302的逆过程,该过程可以为如下D1-D3:
D1:对第二码块流进行解码得到第二容器。
D2:从第二容器中获取第二指示信息。
D3:根据第二指示信息从第二容器中获取第二数据。
在图13所示实施例中,第二容器的结构与第一容器的结构相同,即第二容器包括第二开销、第二净荷、第二开销中包括第二填充区域和第二指示区域。其中,第二净荷用于承载第二业务,第二填充区域不用于填充固定图案,用于填充第二业务中的数据,即用于承载第二业务,第二指示区域用于承载指示第二填充区域填充了业务数据的第二指示信息。
基于上述内容,参见图12c和图12d,图12c为本申请示例性示出的根据第二业务生成第二容器,并对第二容器进行编码得到第二码块流的过程示意图,图12d为本申请示例性示出的对第二码块流进行解码得到第二容器,并从第二容器中获取第二业务的过程示意图。
在图12c和图12d中,以M为2,业务2表示第二业务,容器2表示第二容器,以码块流2表示第二码块流,码块流2为64B/66B编码格式的码块流,容器2为图11b所示的容器为例进行展示。
如图12c所示,业务2为一串比特流,针对业务2,第一通信装置100可以按照8比特和108比特进行切片,得到片段2和片段3,片段2包括8比特,片段3包括108比特。
之后,第一通信装置100将片段2放入容器2的填充区域,将片段3放入容器2的净荷,在容器2的指示区域填入指示信息2,指示信息2指示容器2的填充区域填充了业务数据,以及在容器2的开销中除填充区域和指示区域之外的剩余区域填入容器2对应的开销信息。
之后,针对容器2,第一通信装置100可以按照64比特为单位逐段进行截取,得到2个段,每段包括
64比特。
之后,第一通信装置100将每段的64比特放入一个D码块的净荷区域,得到2个D码块。
之后,第一通信装置100可以为一组D码块的两端添加S码块和T码块,得到码块流2。
如图12d所示,第二通信装置200在接收到码块流2后,可以去除码块流2中D码块两端的S码块和T码块,得到2个D码块。
之后,第二通信装置200去除2个D码块中每个D码块的同步头01,得到容器2。
之后,第二通信装置200读取容器2的指示区域内的指示信息2和容器2对应的开销信息,根据指示信息2获知容器2的填充区域填充了业务数据,则保留容器2的填充区域和容器2的净荷,可以理解,保留的容器2的填充区域对应的一串比特流即为片段2,保留的容器2的净荷对应的一串比特流,即为片段3,获取到片段2和片段2即为获取到业务2。
在S1303中,第一通信装置100向第二通信装置200发送第二码块流的具体过程与S1003中所述的第一通信装置100向第二通信装置200发送第一码块流的具体过程相类似,具体可以参见上文对S1003的相关描述,为了说明书的简洁,此处不再展开赘述。
上述实施例(如图10所示的方法实施例、图13所示的方法实施例)中,是以第一通信装置100接收一个业务(如第一业务、第二业务)为例,对本申请提供的通信方法进行描述,在本申请提供的通信方法中,第一通信装置100也可以接收多个业务,比如在执行S1002/S1302之前,第一通信装置100除了接收第一业务/第二业务之外,还可以接收第三业务、第四业务、第五业务等更多业务。在一种可能的实施方式中,第一业务/第二业务和第三业务、第四业务、第五业务等更多业务为同一源端发送给第一通信装置100,且第一业务/第二业务和第三业务、第四业务、第五业务等更多业务的目的终端相同,即第一业务/第二业务和第三业务、第四业务、第五业务等更多业务的源地址相同,且第一业务/第二业务和第三业务、第四业务、第五业务等更多业务的目的地址也相同。
在一种可能的实施例中,在S1002/S1302中,第一通信装置100可以根据第一业务和第三业务、第四业务、第五业务等更多业务,生成第一码块流/第二码块流,这里的第一码块流/第二码块流除了承载第一业务之外,还可以同时承载第三业务、第四业务、第五业务等更多业务,然后,第一通信装置100向第二通信装置200发送同时承载了多个业务的第一码块流/第二码块流,相对应的,第二通信装置200在接收到同时承载了多个业务的第一码块流/第二码块流之后,可以从该第一码块流/第二码块流中获取到多个业务。
为了提高方案的灵活性,第一通信装置根据多个业务生成同时用于承载该多个业务的第一码块流/第二码块流并进行传输的可能实施方式,包括但不限于图14a、图14b、图14c所示的数据传输方式。
参见图14a,图14a是本申请提供的另一种通信方法的交互示意图,如图14a所示,该方法包括:
S1401:第一通信装置100接收第一业务和第三业务。
S1402:第一通信装置100根据第一业务和第三业务,生成用于承载第一业务和第三业务的第一码块流,第一码块流不仅包括第一指示信息和第一填充区域,还包括第三指示信息和第三填充区域,第三指示信息指示第三填充区域未填充业务数据,第三填充区域未填充第三业务中的数据,第一填充区域与第三填充区域的长度之和小于第一D码块的长度。
S1403:第一通信装置100向第二通信装置200发送承载了第一业务和第三业务的第一码块流。
S1404:第二通信装置200根据承载了第一业务和第三业务的第一码块流,获取第一业务和第三业务。
参见图14b,图14b是本申请提供的另一种通信方法的交互示意图,如图14b所示,该方法包括:
S1410:第一通信装置100接收第一业务和第四业务。
S1420:第一通信装置100根据第一业务和第四业务,生成用于承载第一业务和第四业务的第一码块流,第一码块流不仅包括第一指示信息和第一填充区域,还包括第四指示信息和第四填充区域,第四指示信息指示第四填充区域填充了业务数据,第四填充区域填充了第四业务中的数据,第一填充区域与第四填充区域的长度之和小于第一D码块的长度。
S1430:第一通信装置100向第二通信装置200发送承载了第一业务和第四业务的第一码块流。
S1440:第二通信装置200根据承载了第一业务和第四业务的第一码块流,获取第一业务和第四业务。
参见图14c,图14c是本申请提供的另一种通信方法的交互示意图,如图14c所示,该方法包括:
S141:第一通信装置100接收第二业务和第五业务。
S142:第一通信装置100根据第二业务和第五业务,生成用于承载第二业务和第五业务的第二码块流,第二码块流不仅包括第二指示信息和第二填充区域,还包括第五指示信息和第五填充区域,第五指示信息指示第五填充区域填充了业务数据,第五填充区域填充了第五业务中的数据,第二填充区域与第五填充区
域的长度之和小于第二D码块的长度。
S143:第一通信装置100向第二通信装置200发送承载了第二业务和第五业务的第二码块流。
S144:第二通信装置200根据承载了第二业务和第五业务的第二码块流,获取第二业务和第五业务。
可以看出,上述图14a、图14b、图14c所示的通信方法均能够实现一条码块流同时承载多个业务,以第一通信装置100和第二通信装置200通过SPN小颗粒技术通信为例,可以理解,在一条码块流同时承载多个业务时,可以实现让fgBU中为一个FlexE sub-client(如上述第一FlexE sub-client)所分配的至少一个子时隙同时传输多个业务,相较于当前一个FlexE sub-client所分配的子时隙只能传输一个业务,在一个业务的带宽(如2.048Mbps)远小于该FlexE sub-client所分配的子时隙的带宽之和(如10Mbps)的情况下,可以减少带宽浪费,提高带宽利用率。
接下来以图14a所示的方法实施例为例,对图14a-图14c所示的几种实施例进行详细介绍。
在S1402中,第一通信装置100可以从第一业务中提取第三数据,从第三业务中提取第四数据,然后获取包括第三数据和第四数据、第一指示信息和第三指示信息、第一填充区域和第三填充区域的第一容器,然后,对该第一容器进行编码,得到承载了第一业务和第三业务的第一码块流。
在本实施例中,第一容器中的第一开销中可以设置有2个固定长度(Z2比特)的指示区域,以下称为第一指示区域和第三指示区域,第一开销中可以设置有2个固定长度(Z1比特,2*Z1<66)的填充区域,以下称为第一填充区域和第三填充区域,第一容器中的第一净荷可以划分为等长的两个子净荷,以下称为第一子净荷和第二子净荷。
其中,第一子净荷用于承载第一业务,第二子净荷用于承载第三业务,第一填充区域用于填充固定图案,第三填充区域也用于填充固定图案,第一指示区域用于承载指示第一填充区域未填充业务数据的第一指示信息,第三指示区域用于承载指示第三填充区域未填充业务数据的第三指示信息。参见图11c,图11c为本申请示例性示出的另一种第一容器的结构示意图。
应理解,图11c所示的第一容器仅仅是作为示例,具体实现中,第一容器的结构可以为其他,例如,具体实现中,第一指示区域可以在第一填充区域和第三填充区域的中间,第一子净荷可以为第一净荷的Y比特中的第1比特至第Y/4比特和(2Y+1)/4比特至第3Y/4比特,第二子净荷可以为(Y+1)/4比特至第Y/2比特至(3Y+1)/4至第Y比特,本申请不对第一容器的结构进行具体限定。
可选地,第一容器中的2个填充区域(即第一填充区域和第三填充区域)也可以均设置于第一净荷,2个填充区域也可以一个设置于第一开销另一个设置于第一净荷,本申请对此不作具体限定。在第一净荷中设置有填充区域时,第一净荷中除填充区域之外的区域可以划分为等长的两个子净荷,两个子净荷中的一个子净荷用于承载第一业务,另一个子净荷用于承载第三业务。
为了便于描述,在接下来的实施例中均以图11c所示的2个填充区域均设置于第一开销,第一净荷划分为等长的两个子净荷为例进行描述。
基于上述内容,参见图11d,图11d为本申请示例性示出的一种第一容器的结构示意图。在图11d中,第一容器的长度为128比特,第一开销的长度为20比特,第一净荷的长度为108比特,第一子净荷和第二子净荷的长度均为54比特,第一指示区域和第三指示区域的长度均为1比特,第一填充区域和第三填充区域的长度均为8比特。
基于上述内容,参见图12e,图12e为本申请示例性示出的根据第一业务和第三业务生成包括第三数据和第四数据、第一指示信息和第三指示信息、第一填充区域和第三填充区域的第一容器,并对该第一容器进行编码得到承载了第一业务和第三业务的第一码块流的过程示意图。
在图12e中,以M为2,业务1表示第一业务,业务3表示第三业务,以容器1表示第一容器,以码块流1表示第一码块流,码块流1为64B/66B编码格式的码块流,容器1为图11d所示的容器为例进行展示。
如图12e所示,业务1为一串比特流,业务3为另一串比特流,针对业务1,第一通信装置100可以按照54比特进行切片,得到片段1,片段1包括54比特,针对业务3,第一通信装置100可以按照54比特进行切片,得到片段3,片段3包括54比特。
之后,第一通信装置100将片段1放入容器1的第一子净荷,将片段3放入容器1的第二子净荷,在容器1的第一填充区域和第三填充区域填充固定图案,在容器1的第一指示区域填入指示信息1,指示信息1指示第一填充区域未填充业务数据,在容器1的第三指示区域填充指示信息3,指示信息3指示第三填充区域未填充业务数据,以及在容器1的开销中除第一填充区域、第三填充区域、第一指示区域和第三指示区域之外的剩余区域填入容器1对应的开销信息。
之后,针对容器1,第一通信装置100可以按照64为单位逐段进行截取,得到2个段,每段包括64比特。
之后,第一通信装置100将每段的64比特放入一个D码块的净荷区域,得到2个D码块。
之后,第一通信装置100可以在2个D码块的两端添加S码块和T码块,得到码块流1。
在S1404中,第二通信装置200根据承载了第一业务和第三业务的第一码块流获取第一业务和第三业务的过程为S1402中所述的第一通信装置100根据第一业务和第三业务生成用于承载第一业务和第三业务的码块流的逆过程,本申请不再展开赘述。
图14b和图14c所示的方法实施例的具体实现过程与图14a所示的方法实施例的具体实现过程相类似,具体可以参见图14a所示的方法实施例的相关描述,此处不再展开赘述。
可以理解,在第一通信装置100采用一条码块流同时承载多个业务的方式向第二通信装置200传输多个业务时,该多个业务可能存在速率适配需求,例如在第一通信装置100发送多个业务中每个业务的速率长时间大于第一通信装置100接收该业务的速率时,若不进行速率适配,长期以往会造成该业务的缓存读空。因此,第一通信装置100在采用一条码块流同时承载多个业务的方式向第二通信装置200传输多个业务时,可能也需要对多个业务中存在速率适配需求的业务进行速率适配。
进一步地,可以理解,第一通信装置100在传输多个业务时,多个业务可能均存在速率适配需求或者均不存在速率适配需求,也可能部分业务存在速率适配需求,另一部分业务不存在速率适配需求。
以第一通信装置100传输的多个业务为第一业务和第三业务,第一业务和第三业务均存在速率适配需求为例,该情况下,第一通信装置100可以采用图14a所示的通信方法向第二通信装置200传输第一业务和第三业务。
可以看出,由于第一通信装置100根据第一业务和第三业务生成的用于承载第一业务和第三业务的第一码块流中有两块区域没有用于承载业务,即第一填充区域没有用于承载第一业务,第三填充区域没有用于承载第三业务,这样可以使得第一码块流承载的第一业务的数据量和第三业务的数据量均变少,从而使得第一通信装置100向第二通信装置200发送第一业务的速率变慢,起到对第一业务的速率进行适配的效果,以及使得第一通信装置100向第二通信装置200发送第三业务的速率变慢,起到对第三业务的速率进行适配的效果。
而且,由于第一填充区域和第三填充区域的长度之和小于一个idle码块的长度,因此,第一通信装置100在根据第一业务和第三业务,生成用于承载第一业务和第三业务的第一码块流时,相当于对第一业务和第三业务一起进行了一次粒度小于idle码块的长度的速率适配,相较于图9a所示的第一通信装置100需要在码块流中S码块的前面插入idle码块来实现对业务速率的适配,可以降低第一通信装置100处理业务的时延和抖动。
还可以看出,由于第一通信装置100向第二通信装置200发送的承载了第一业务和第三业务的第一码块流中包括第一指示信息、第三指示信息、第一填充区域和第三填充区域,第一指示信息指示第一填充区域未填充业务数据,第三指示信息指示第三填充区域未填充业务数据,因此,第二通信装置200在接收到承载了第一业务和第三业务的第一码块流后,可以获取到第一指示信息和第三指示信息,根据第一指示信息获知第一填充区域未填充业务数据,根据第三指示信息获知第三填充区域未填充业务数据。之后,第二通信装置200可以丢弃第一填充区域填充的固定图案,以及丢弃第三填充区域填充的固定图案,然后从第一码块流的剩余区域中获取第一业务和第三业务。
由于第一填充区域和第三填充区域的长度之和小于一个idle码块的长度,因此,相较于图9b所示的第二通信装置200需要先删除码块流中S码块的前面插入的idle码块,才能获取到业务,可以降低第二通信装置200处理业务的时延和抖动。
以第一通信装置100传输的多个业务为第一业务和第四业务,第一业务存在速率适配需求,第四业务不存在速率适配需求为例,该情况下,第一通信装置100可以采用图14b所示的通信方法向第二通信装置200传输第一业务和第四业务。
可以看出,由于第一通信装置100根据第一业务和第四业务生成的用于承载第一业务和第四业务的第一码块流中有一块区域(即第一填充区域)没有用于承载第一业务,这样可以使得第一码块流承载的第一业务的数据量变少,从而使得第一通信装置100向第二通信装置200发送第一业务的速率变慢,起到对第一业务的速率进行适配的效果,第四填充区域承载了第四业务,这样可以维持第一码块流承载的第一业务的数据量不变,不对第四业务的速率进行适配。而且,由于第一填充区域和第四填充区域的长度之和小于一个idle码块的长度,此时,第一填充区域的长度一定小于一个idle码块的长度,因此,第一通信装置100
在根据第一业务和第四业务生成用于承载第一业务和第四业务的第一码块流时,相当于对第一业务进行了一次粒度小于idle码块的长度的速率适配,相较于图9a所示的第一通信装置100需要在码块流中S码块的前面插入idle码块来实现对业务速率的适配,可以降低第一通信装置100处理业务的时延和抖动。
还可以看出,由于第一通信装置100向第二通信装置200发送的承载了第一业务和第四业务的第一码块流中包括第一指示信息、第四指示信息、第一填充区域和第四填充区域,第一指示信息指示第一填充区域未填充业务数据,第四指示信息指示第四填充区域填充了业务数据,因此,第二通信装置200在接收到承载了第一业务和第四业务的第一码块流后,可以获取到第一指示信息和第四指示信息,根据第一指示信息获知第一填充区域未填充业务数据,根据第四指示信息获知第四填充区域填充了业务数据。之后,第二通信装置200可以丢弃第一填充区域填充的固定图案,保留第四填充区域填充的业务数据,然后从第一码块流的剩余区域以及保留的第四填充区域中获取第一业务和第四业务。由于第一填充区域和第四填充区域的长度之和小于一个idle码块的长度,此时,第一填充区域的长度一定小于一个idle码块的长度,因此,相较于图9b所示的第二通信装置200需要先删除码块流中S码块的前面插入的idle码块,才能获取到业务,可以降低第二通信装置200处理业务的时延和抖动。
以第一通信装置100传输的多个业务为第二业务和第五业务,第二业务存在速率适配需求,第五业务不存在速率适配需求为例,该情况下,第一通信装置100可以采用图14c所示的通信方法向第二通信装置200传输第二业务和第五业务。
可以看出,第一通信装置100根据第二业务和第五业务生成的用于承载第二业务和第五业务的第二码块流中第二填充区域承载了第二业务,第五填充区域承载了第五业务,这样可以维持第二码块流承载的第二业务的数据量不变,以及维持第二码块流承载的第五业务的数据量不变,也就是说,第一通信装置100并没有对第二业务和第五业务的速率进行适配。
还可以看出,由于第一通信装置100向第二通信装置200发送的承载了第二业务和第五业务的第二码块流中包括第二指示信息、第五指示信息、第二填充区域和第五填充区域,第二指示信息指示第二填充区域填充了业务数据,第五指示信息指示第五填充区域填充了业务数据,因此,第二通信装置200在接收到承载了第二业务和第五业务的第二码块流后,可以获取到第二指示信息和第五指示信息,根据第二指示信息获知第二填充区域填充了业务数据,根据第五指示信息获知第五填充区域填充了业务数据。之后,第二通信装置200可以保留第二填充区域填充的固定图案,保留第五填充区域填充的业务数据,然后从第二码块流的剩余区域以及保留的第二填充区域和第五填充区域中获取第二业务和第五业务。
在图14a-图14c所示的方法实施例中,第一通信装置100判断第一业务、第二业务、第三业务、第四业务和第五业务是否存在速率适配需求的方式有很多种,具体请参见下文方式1、方式2、方式3的相关描述。
可以看出,在图14a-图14c所示的方法实施例中,是以第一通信装置100根据两个业务生成同时用于承载两个业务的码块流为例进行描述的,关于第一通信装置100根据三个或者三个以上业务生成同时用于承载三个或者三个以上业务的码块流的实现方式可以根据图10所示的方法实施例、图13所示的方法实施例以及图14a-图14c所示的方法实施例进行类推得到,本申请不再展开赘述。
在另一种可能的实施例中,第一通信装置100也可以在执行S1003/S1303之前,接收第三业务、第四业务、第五业务等更多业务,并分别对第三业务、第四业务、第五业务等更多业务执行类似S1002/S1302中对第一业务/第二业务执行的操作,生成用于承载第三业务的第三码块流、用于承载第四业务的第四码块流、用于承载第五业务的第五码块流等更多码块流。然后,在执行S1003/S1303时,先对第一码块流/第二码块流、第三码块流、第四码块流、第五码块流等更多码块流进行复用(也可以称为合并或者拼接),得到复用后的码块流,然后,向第二通信装置200发送复用后的码块流。
进一步地,以第三业务为例,第一通信装置100可以在确定第三业务存在速率适配需求时,执行类似S1002对第一业务执行的操作,生成用于承载第三业务的第三码块流,可以理解,这里的第三码块流中的填充区域未填充第三业务中的数据,第三码块流中的指示信息指示第三码块流中的填充区域未填充业务数据,第一通信装置100可以在确定第三业务不存在速率适配需求时,执行类似S1302对第二业务执行的操作,生成用于承载第三业务的第三码块流,可以理解,这里的第三码块流中的填充区域填充了第三业务中的数据,第三码块流中的指示信息指示填充区域填充了业务数据。
以第一通信装置100根据第一业务生成用于承载第一业务的第一码块流,根据第三业务生成用于承载第三业务的第三码块流为例,该情况下,第一通信装置100可以通过如下方式向第二通信装置200发送第一码块流和第三码块流:以N1(N1为正整数)个码块流为单位,按照预设的排序(如先第一码块流后第
三码块流的顺序或者先第三码块流后第一码块流的顺序)对第一码块流和第三码块流进行复用,得到复用后的码块流,然后,向第二通信装置200发送复用后的码块流。
参见图15,图15为本申请示例性示出的根据第一码块流和第三码块流生成复用后的码块流的流程示意图。在图15中,是以N1为2,预设的排序为第一码块流、第三码块流的顺序为例对第一码块流、第三码块流进行复用,得到复用后的码块流。
相对应的,第二通信装置200侧在获取到复用后的码块流后,可以以N1个码块流为单位对复用后的码块流进行解复用,得到第一码块流和第三码块流,然后,根据第一码块流获取第一业务,根据第三码块流获取第三业务。
进一步地,第一通信装置100可以通过如下方式发送复用后的码块流:
以第一业务和第三业务均为小颗粒业务,第一通信装置100和第二通信装置200通过SPN小颗粒技术通信为例,假设复用后的码块流属于第一FlexE sub-client,此时,第一通信装置100可以将第一FlexE sub-client映射到在fgBU中为第一FlexE sub-client所分配的至少一个子时隙进行传输,相应的,第二通信装置200接收fgBU中为第一FlexE sub-client所分配的至少一个子时隙上映射的复用后的码块流,然后根据复用后的码块流获取第一业务和第三业务。如此,也可以实现让fgBU中为一个FlexE sub-client所分配的至少一个子时隙同时传输多个业务,相较于当前一个FlexE sub-client所分配的子时隙只能传输一个业务,在一个业务的带宽(如2.048Mbps)远小于该FlexE sub-client所分配的子时隙的带宽之和(如10Mbps)的情况下,可以减少带宽浪费,提高带宽利用率。
下面对上述实施例(如图10所示的方法实施例、图13所示的方法实施例、图14a-图14c所示的方法实施例等)中涉及的第一通信装置100判断一个业务(如上述第一业务、上述第二业务、上述第三业务等)是否存在速率适配需求的方式进行详细介绍。
以第一业务为例,第一通信装置100可以参考如下方式1、方式2、方式3中任意一种或多种组合来判断第一业务是否存在速率适配需求:
方式1、周期性获取第一通信装置100接收第一业务的速率,确定第一通信装置100接收第一业务的速率是否小于速率阈值,在确定第一通信装置100接收第一业务的速率小于速率阈值时,则确定第一业务存在速率适配需求,反之,则确定第一业务不存在速率适配需求。
其中,速率阈值可以根据实际情况进行自定义,例如,假设第一通信装置100接收第一业务的速率在2.048Mbps上下浮动,则速率阈值可以设置为2.048Mbps,假设第一通信装置100接收第一业务的速率在155Mbps上下浮动,则速率阈值可以设置为155Mbps。
方式2、周期性获取第一业务在第一通信装置100中用于缓存第一业务的缓存队列中的深度,在第一业务在缓存队列中的深度小于深度阈值时,则确定第一业务存在速率适配需求,反之,则确定第一业务不存在速率适配需求。
其中,深度阈值可以根据实际情况进行自定义,例如,在缓存队列的总深度为100比特时,深度阈值可以设置为60比特。
方式3、周期性获取第一业务在第一通信装置100中用于缓存第一业务的缓存队列中的深度,在确定第一业务在缓存队列中的深度与缓存队列的总深度的比值小于深度比值阈值时,则确定第一业务存在速率适配需求,反之,则确定第一业务不存在速率适配需求。
其中,深度比值阈值可以根据实际情况进行自定义,例如,在缓存队列的总深度为100比特时,深度比值阈值可以设置于0.6。
应理解,上述方式1、方式2和方式3仅仅是作为示例,不应视为对第一通信装置100针对一个业务判断该业务是否存在速率适配需求的方式的具体限定。
在上述实施例(如图10所示的方法实施例、图13所示的方法实施例、图14a-图14c所示的方法实施例等)中,均是以填充区域(如图12a所示的容器1的填充区域、图12c所示容器2的填充区域)全部设置于容器开销进行描述的,由上文可知,填充区域也可以全部设置于容器净荷,或者,填充区域的部分设置于容器开销,另一部分设置于容器净荷,本申请对此不作具体限定。可以理解,填充区域部分设置于容器开销另一部分设置于容器净荷,相较于全部设置于容器净荷,可以提高容器净荷承载的来自业务的比特数量,从而提高码块流承载的来自业务的比特数量,提高业务的传输效率。还可以理解,填充区域全部设置于容器开销,相较于部分设置于容器开销另一部分设置于容器净荷,可以进一步提高容器净荷承载的来自业务的比特数量,从而进一步提高码块流承载的来自业务的比特数量。因此,在实际应用中,可以根据需要传输的业务的具体情况,从上述两种可能的实施方式中灵活选择合适的容器结构来承载业务。
在上述实施例(如图10所示的方法实施例、图13所示的方法实施例、图14a-图14c所示的方法实施例等)中,均是以容器(如图12a所示的容器1、图12c所示的容器2)中的比特承载于码块流(如图12a所示的码块流1、图12c所示的码块流2)中的D码块的净荷区域为例进行描述的,具体实现中,为了提高码块流中承载的来自业务的比特数量,容器中的比特除了可以承载于码块流中的D码块的净荷区域之外,还可以承载于S码块和/或T码块的净荷区域等。也就是说,容器的长度W还可以等于码块流中的D码块的净荷区域与S码块和/或T码块的部分或全部净荷区域的长度之和,容器净荷的长度Y可以更大,这样可以使得容器承载更多的来自业务的比特数量,从而使得根据容器生成的码块流可以承载更多的来自业务的比特数量,提高业务的传输效率。因此,在实际应用中,可以根据需要传输的业务的具体情况,从上述几种可能的实施方式中灵活选择合适的码块组合来承载容器。
在上述实施例(如图10所示的方法实施例、图13所示的方法实施例、图14a-图14c所示的方法实施例等)中,是以容器(如图12a所示的容器1、图12c所示的容器2)仅包括容器开销和容器净荷、容器开销包括填充区域和指示区域进行展示的。在一种可能的实施例中,容器开销或者容器净荷中还可以设置长度为Z3(Z3为正整数)比特的固定填充区域,固定填充区域用于填充固定图案,固定填充区域不用于承载业务数据,固定填充区域用于使得容器的长度W等于码块流中用于承载容器的总比特,从而使得第一通信装置100在对容器进行编码生成码块流时,生成的码块流能够凑够第一S码块、M个第一D码块和第一T码块的格式,即凑够固定64B/66B编码格式的码块类型。可选地,固定填充区域也可以部分设置于容器开销承载固定填充区域,或者由第一容器净荷承载固定填充区域。以固定填充区域设置于容器开销为例,如图11e所示。
在上述实施例(如图10所示的方法实施例、图13所示的方法实施例、图14a-图14c所示的方法实施例等)中,是以指示信息(如图12a所示的指示信息1、图12c所示的指示信息2)仅指示容器中的填充区域是否填充业务数据、指示区域(如图12a所示的指示区域1、图12c所示的指示区域2)的长度为1比特为例进行展示的。在一种可能的实施例中,指示信息除了指示容器中的填充区域未填充业务数据之外,还可以指示容器中的填充区域未填充的是哪个业务中的数据,指示区域的长度也可以大于1比特,如此,可以使得第二通信装置200在接收到业务时,获知接收到的是哪个业务。
例如,图12a所示的容器1中的指示信息1,除了指示容器1中的填充区域未填充业务数据之外,还可以指示容器1中的填充区域未填充的是业务1中的数据,指示信息2除了指示容器2中的填充区域填充了业务数据之外,还可以指示容器2中的填充区域填充的是业务1中的数据。该情况下,指示区域的长度可以为1比特,也可以大于1比特,在指示区域的长度大于1比特时,指示区域可以为容器开销中相连的比特,也可以是分开的比特,本申请对此不作具体限定。
在上述实施例(如图10所示的方法实施例、图13所示的方法实施例、图14a-图14c所示的方法实施例等)中,均是以填充区域(如图12a所示的容器1的填充区域)未填充业务数据时,填充固定图案为例进行描述的。具体实现中,若填充区域未填充业务数据时,填充了非固定图案的其他数据,第二通信装置200在根据指示信息(如图12a所示的指示信息)获知填充区域未填充业务数据之后,可以读取填充区域的内容,并从码块流的剩余区域中获取业务。可以理解,即便填充区域未填充业务数据时,填充非固定图案的其他数据,也能起到对业务速率进行适配的效果。
本申请提供的通信方法还可以与现有的通过在码块流中S码块的前面插入idle码块来实现业务速率适配的方法结合使用,若第一通信装置100生成第一码块流/第二码块流等码块流之后,向第二通信装置200发送第一码块流/第二码块流等码块流之前,发现第一码块流/第二码块流等码块流的速率仍存在适配需求,则可以在第一码块流/第二码块流等码块流中S码块的前面插入idle码块来实现速率的进一步适配。可以理解,由于本申请提供的通信方法在第一通信装置100生成第一码块流/第二码块流等码块流之前已经进行了一次小粒度的速率适配,因此,即便后面仍需要在第一码块流/第二码块流等码块流中S码块的前面通过插入idle码块进行速率适配,相较于当前仅通过插入idle码块进行速率适配,仍然可以减少需要插入的idle码块的数量,也能够起到降低第一通信装置100和第二通信装置200处理业务的时延和抖动的效果。
可以理解的是,为了实现上述实施例中功能,通信装置包括了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本申请中所公开的实施例描述的各示例的单元及方法步骤,本申请能够以硬件或硬件和计算机软件相结合的形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用场景和设计约束条件。
图16、图17和图18为本申请提供的可能的通信装置的结构示意图。这些通信装置可以用于实现上述图10所示的方法实施例、图13所示的方法实施例、图14a-图14c所示的方法实施例等实施例中第一通信
装置100的功能,因此也能实现图10所示的方法实施例、图13所示的方法实施例、图14a-图14c所示的方法实施例等实施例所具备的有益效果。这些通信装置也可以用于实现上述图10所示的方法实施例、图13所示的方法实施例、图14a-图14c所示的方法实施例等实施例中第二通信装置200的功能,因此也能实现上述图10所示的方法实施例、图13所示的方法实施例、图14a-图14c所示的方法实施例等实施例所具备的有益效果。
在本申请的实施例中,该通信装置可以是如图8中的第一通信装置100。在本申请的实施例中,该通信装置还可以是如图8中的第二通信装置200。如图16所示,通信装置1600包括处理单元1610和收发单元1620。通信装置1600用于实现上述图16所示的方法实施例、图13所示的方法实施例、图14a-图14c所示的方法实施例等实施例中第一通信装置100的功能。
当通信装置1600用于实现图10所示的方法实施例中第一通信装置100的功能时:
收发单元1620用于接收第一业务,处理单元1610用于根据第一业务生成用于承载第一业务的第一码块流,收发单元1620还用于向第二通信装置200发送第一码块流。其中,第一码块流由第一S码块、M个第一D码块和第一T码块组成,第一码块流包括第一指示信息和第一填充区域,第一指示信息指示第一填充区域未填充业务数据,第一填充区域未填充第一业务,第一填充区域的长度小于第一D码块的长度,M为正整数。
在一种可能的实施方式中,处理单元1610,具体用于:在确定第一业务存在速率适配需求的情况下,根据第一业务,生成用于承载第一业务的第一码块流。
在一种可能的实施方式中,处理单元1610具体可以通过如下方式实现根据第一业务,生成用于承载第一业务的第一码块流:首先获取第一容器,第一容器包括从第一业务中提取的第一数据、第一指示信息和第一填充区域,然后对第一容器进行编码,得到第一码块流。在一种可能的实施方式中,第一容器包括容器开销和容器净荷,容器净荷包括第一填充区域和第一数据,容器开销包括第一指示信息。
在一种可能的实施方式中,第一容器包括容器开销和容器净荷,容器开销包括第一指示信息和第一填充区域,容器净荷包括第一数据。
在一种可能的实施方式中,第一容器还包括固定填充区域,固定填充区域填充了固定图案,固定填充区域不用于承载业务数据。
在一种可能的实施方式中,M个第一数据码块承载第一容器,第一起始码块和第一结束码块不承载第一容器。
在一种可能的实施方式中,M个第一数据码块和第一结束码块承载第一容器,第一起始码块不承载第一容器。
在一种可能的实施方式中,收发单元1620具体可以通过小颗粒技术与第二通信装置200通信,向第二通信装置200发送第一码块流。
当收发单元1620通过小颗粒技术与第二通信装置200通信时:
在一种可能的实施方式中,上述小颗粒技术为SPN小颗粒技术,该情况下,收发单元1620具体可以通过如下方式实现向第二通信装置200发送第一码块流:假设第一码块流属于第一FlexE sub-client,收发单元1620将第一FlexE sub-client映射到在fgBU中为第一FlexE sub-client所分配的至少一个子时隙。
在一种可能的实施方式中,上述小颗粒技术为MTN小颗粒技术,该情况下,收发单元1620具体可以通过如下方式实现向第二通信装置200发送第一码块流:假设第一码块流属于第一MTN fg-path,收发单元1620将第一MTN fg-path映射到在MTN fgBU中为第一MTN fg-path所分配的至少一个子时隙。
在另一种可能的实施方式中,收发单元1620通过FlexE与第二通信装置200通信,该情况下,收发单元1620具体可以通过如下方式实现向第二通信装置200发送第一码块流:假设第一码块流属于第一FlexE client,收发单元1620将第一FlexE client映射到在FlexE Group中为第一FlexE sub-client所分配的至少一个时隙。
在又一种可能的实施方式中,收发单元1620通过MTN与第二通信装置200通信,该情况下,收发单元1620具体可以通过如下方式实现向第二通信装置200发送第一码块流:假设第一码块流属于第一MTNP,收发单元1620将第一MTNP映射到在MTNS中为第一MTNP所分配的至少一个时隙。
当通信装置1600用于实现图13所示的方法实施例中第一通信装置100的功能时:收发单元1620用于接收第二业务,处理单元1610用于根据第二业务生成用于承载第二业务的第二码块流,收发单元1620还用于向第二通信装置200发送第二码块流。其中,第二码块流由第二S码块、M个第二D码块和第二T码块组成,第二码块流包括第二指示信息和第二填充区域,第二指示信息指示第二填充区域填充了业务数
据,第二填充区域填充了第二业务,第二填充区域的长度小于第二D码块的长度。
在一种可能的实施方式中,处理单元1610,具体用于:在确定第二业务不存在速率适配需求的情况下,根据第二业务,生成用于承载第二业务的第一码块流。
当通信装置1600用于实现图14a所示的方法实施例中第一通信装置100的功能时:收发单元1620用于接收第一业务和第三业务,处理单元1610用于根据第一业务和第三业务,生成用于承载第一业务和第三业务的第一码块流,收发单元1620还用于向第二通信装置200发送承载了第一业务和第三业务的第一码块流。其中,第一码块流除了包括第一指示信息和第一填充区域之外,还包括第三指示信息和第三填充区域,第三指示信息指示第三填充区域未填充业务数据,第三填充区域未填充第三业务中的数据,第一填充区域与第三填充区域的长度之和小于第一D码块的长度。
在一种可能的实施方式中,处理单元1610,具体用于:在确定第一业务和第三业务均存在速率适配需求的情况下,根据第一业务和第三业务,生成用于承载第一业务和第三业务的第一码块流。
当通信装置1600用于实现图14b所示的方法实施例中第一通信装置100的功能时:收发单元1620用于接收第一业务和第四业务,处理单元1610用于根据第一业务和第四业务,生成用于承载第一业务和第四业务的第一码块流,收发单元1620还用于向第二通信装置200发送承载了第一业务和第四业务的第一码块流。其中,第一码块流除了包括第一指示信息和第一填充区域之外,还包括第四指示信息和第四填充区域,第四指示信息指示第四填充区域填充了业务数据,第四填充区域填充了第四业务中的数据,第一填充区域与第四填充区域的长度之和小于第一D码块的长度。
在一种可能的实施方式中,处理单元1610,具体用于:在确定第一业务存在速率适配需求,第四业务不存在速率适配需求的情况下,根据第一业务和第四业务,生成用于承载第一业务和第四业务的第一码块流。
当通信装置1600用于实现图14c所示的方法实施例中第一通信装置100的功能时:收发单元1620用于接收第二业务和第五业务,处理单元1610用于根据第二业务和第五业务生成用于承载第二业务和第五业务的第二码块流,收发单元1620还用于向第二通信装置200发送承载了第二业务和第五业务的第二码块流,其中,第二码块流除了包括第二指示信息和第二填充区域之外,还包括第五指示信息和第五填充区域,第五指示信息指示第五填充区域填充了业务数据,第五填充区域填充了第五业务中的数据,第二填充区域与第五填充区域的长度之和小于第二D码块的长度。
在一种可能的实施方式中,处理单元1610,具体用于:在确定第二业务和第五业务均不存在速率适配需求的情况下,根据第二业务和第五业务,生成用于承载第二业务和第五业务的第二码块流。
在一种可能的实施方式中,以第一业务为例,处理单元1610,具体可以通过如下方式1、方式2、方式3中任意一种或多种组合判断第一业务、第二业务、第三业务、第四业务、第五业务等业务是否存在速率适配需求:
方式1、周期性获取收发单元1620接收第一业务的速率,确定收发单元1620接收第一业务的速率是否小于速率阈值,在确定收发单元1620接收第一业务的速率小于速率阈值时,则确定第一业务存在速率适配需求,反之,则确定第一业务不存在速率适配需求。
方式2、周期性获取第一业务在收发单元1620中用于缓存第一业务的缓存队列中的深度,在第一业务在缓存队列中的深度小于深度阈值时,则确定第一业务存在速率适配需求,反之,则确定第一业务不存在速率适配需求。
方式3、周期性获取第一业务在收发单元1620中用于缓存第一业务的缓存队列中的深度,在确定第一业务在缓存队列中的深度与缓存队列的总深度的比值小于深度比值阈值时,则确定第一业务存在速率适配需求,反之,则确定第一业务不存在速率适配需求。
应理解,上述方式1、方式2和方式3仅仅是作为示例,不应视为对处理单元1610针对一个业务判断该业务是否存在速率适配需求的方式的具体限定。
图16所示的通信装置1600还可以用于实现上述图10所示的方法实施例、图13所示方法实施例、图14a-图14c所示的方法实施例等实施例中第二通信装置200的功能。
当通信装置1600用于实现图10所示的方法实施例中第二通信装置200的功能时:收发单元1620用于接收第一通信装置100发送的承载了第一业务的第一码块流,处理单元1610用于根据第一码块流,获取第一业务。其中,第一码块流由第一S码块、M个第一D码块和第一T码块组成,第一码块流包括第一指示信息和第一填充区域,第一指示信息指示第一填充区域未填充业务数据,第一填充区域未填充第一业务,第一填充区域的长度小于第一D码块的长度,M为正整数。
在一种可能的实施方式中,处理单元1610具体可以通过如下方式实现根据第一码块流,获取第一业务:首先对第一码块流进行解码,得到第一容器,第一容器包括从第一业务中提取的第一数据,第一指示信息和第一填充区域,然后从第一容器中获取第一业务。
在一种可能的实施方式中,收发单元1620具体可以通过小颗粒技术与第一通信装置100通信,接收第一通信装置100发送的第一码块流。
当收发单元1620通过小颗粒技术与第一通信装置100通信时:
在一种可能的实施方式中,上述小颗粒技术为SPN小颗粒技术,该情况下,收发单元1620具体可以通过如下方式接收第一码块流:假设第一码块流属于第一FlexE sub-client,第二通信装置200可以从fgBU中为第一FlexE sub-client所分配的至少一个子时隙,获取第一码块流。
在一种可能的实施方式中,上述小颗粒技术为MTN小颗粒技术,该情况下,收发单元1620具体可以通过如下方式实现接收第一码块流:假设第一码块流属于第一MTN fg-path,收发单元1620可以从MTN fgBU中为第一MTN fg-path所分配的至少一个子时隙,获取第一码块流。
在另一种可能的实施方式中,收发单元1620通过FlexE与第一通信装置100通信,该情况下,收发单元1620具体可以通过如下方式实现接收第一通信装置100发送的第一码块流:假设第一码块流属于第一FlexE client,收发单元1620可以从FlexE Group中为第一FlexE sub-client所分配的至少一个时隙,获取第一码块流。
在又一种可能的实施方式中,收发单元1620通过MTN与第一通信装置100通信,该情况下,收发单元1620具体可以通过如下方式实现接收第一通信装置100发送的第一码块流:假设第一码块流属于第一MTNP,收发单元1620可以从MTNS中为第一MTNP所分配的至少一个时隙,获取第一码块流。
当通信装置1600用于实现图13所示的方法实施例中第二通信装置200的功能时:收发单元1620用于接收承载了第二业务的第二码块流,第二码块流由第二S码块、M个第二D码块和第二T码块组成,第二码块流包括第二指示信息和第二填充区域,第二指示信息指示第二填充区域填充了业务数据,第二填充区域填充了第二业务,第二填充区域的长度小于第二D码块的长度,处理单元1610用于根据第二码块流,获取第二业务。
当通信装置1600用于实现图14a所示的方法实施例中第二通信装置200的功能时:收发单元1620用于接收承载了第一业务和第三业务的第一码块流,第一码块流除了包括第一指示信息和第一填充区域之外,还包括第三指示信息和第三填充区域,第三指示信息指示第三填充区域未填充业务数据,第三填充区域未填充第三业务中的数据,第一填充区域与第三填充区域的长度之和小于第一D码块的长度,处理单元1610用于根据承载了第一业务和第三业务的第一码块流,获取第一业务和第三业务。
当通信装置1600用于实现图14b所示的方法实施例中第二通信装置200的功能时:收发单元1620用于接收承载了第一业务和第四业务的第一码块流,第一码块流除了包括第一指示信息和第一填充区域之外,还包括第四指示信息和第四填充区域,第四指示信息指示第四填充区域填充了业务数据,第四填充区域填充了第四业务中的数据,第一填充区域与第四填充区域的长度之和小于第一D码块的长度,处理单元1610用于根据承载了第一业务和第四业务的第一码块流,获取第一业务和第四业务。
当通信装置1600用于实现图14c所示的方法实施例中第二通信装置200的功能时:收发单元1620用于接收承载了第二业务和第五业务的第二码块流,第二码块流除了包括第二指示信息和第二填充区域之外,还包括第五指示信息和第五填充区域,第五指示信息指示第五填充区域填充了业务数据,第五填充区域填充了第五业务中的数据,第二填充区域与第五填充区域的长度之和小于第二D码块的长度,处理单元1610用于根据承载了第二业务和第五业务的第二码块流,获取第二业务和第五业务。
有关上述方案中的相关内容,以及处理单元1610和收发单元1620更详细的描述可以直接参考图10所示的方法实施例、图13所示的方法实施例、图14a-图14c所示的方法实施例等实施例中相关描述直接得到,这里不加赘述。
如图17所示,通信装置1700包括处理电路1710和接口电路1720。处理电路1710和接口电路1720之间相互耦合。可以理解的是,接口电路1720可以为收发器或输入输出接口。可选的,通信装置1700还可以包括存储器,用于存储处理电路执行的指令或存储处理电路1710运行指令所需要的输入数据或存储处理电路1710运行指令后产生的数据。
当通信装置1700用于实现图10所示的方法实施例、图13所示的方法实施例、图14a-图14c所示的方法实施例等实施例中第一通信装置100的功能时,处理电路1710用于实现上述与第一通信装置100对应的处理单元1610的功能,接口电路1720用于实现上述与第一通信装置100对应的收发单元1620的功
能。
当通信装置1700用于实现图10所示的方法实施例、图13所示的方法实施例、图14a-图14c所示的方法实施例等实施例中第二通信装置200的功能时,处理电路1710用于实现上述与第二通信装置200对应的处理单元1610的功能,接口电路1720用于实现上述与第二通信装置200对应的收发单元1620的功能。
如图18所示,通信装置1800包括处理器1810和通信接口1820。处理器1810和通信接口1820之间相互耦合。可以理解的是,通信接口1820可以为收发器或输入输出接口。可选的,通信装置1800还可以包括存储器1830,用于存储处理器1810执行的指令或存储处理器1810运行指令所需要的输入数据或存储处理器1810运行指令后产生的数据。
当通信装置1800用于实现图10所示的方法实施例、图13所示的方法实施例、图14a-图14c所示的方法实施例等实施例中第一通信装置100的功能时,处理器1810用于实现上述与第一通信装置100对应的处理单元1610的功能,通信接口1820用于实现上述与第一通信装置100对应的收发单元1620的功能。
当通信装置1800用于实现图10所示的方法实施例、图13所示的方法实施例、图14a-图14c所示的方法实施例等实施例中第二通信装置200的功能时,处理器1810用于实现上述与第二通信装置200对应的处理单元1610的功能,通信接口1820用于实现上述与第二通信装置200对应的收发单元1620的功能。
当上述通信装置(如通信装置1600、通信装置1700、通信装置1800)为应用于通信装置的芯片时,该通信装置芯片实现上述方法实施例中通信装置的功能。该通信装置芯片从通信装置中的其它模块(如射频模块或天线)接收信息,该信息是其他通信装置发送给该通信装置芯片的;或者,该通信装置芯片向通信装置中的其它模块(如射频模块或天线)发送信息,该信息是该通信装置发送给其他通信装置芯片的。
可以理解的是,本申请实施例中的处理器可以是中央处理单元(central processing unit,CPU),还可以是其它通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其它可编程逻辑器件、晶体管逻辑器件,硬件部件或者其任意组合。通用处理器可以是微处理器,也可以是任何常规的处理器。
根据本申请提供的方法,本申请还提供一种计算机程序产品,该计算机程序产品包括:计算机程序或指令,当该计算机程序或指令在计算机上运行时,使得该计算机执行图10所示的方法实施例、图13所示的方法实施例、图14a-图14c所示的方法实施例等实施例中任意一个实施例的方法。
根据本申请提供的方法,本申请还提供一种计算机可读存储介质,该计算机可读介质存储有程序或指令,当该程序或指令在计算机上运行时,使得该计算机执行图10所示的方法实施例、图13所示的方法实施例、图14a-图14c所示的方法实施例等实施例中任意一个实施例的方法。
根据本申请提供的方法,本申请还提供一种芯片系统,该芯片系统可以包括处理器。该处理器与存储器耦合,可用于执行图10所示的方法实施例、图13所示的方法实施例、图14a-图14c所示的方法实施例等实施例中任意一个实施例的方法。可选地,该芯片系统还包括存储器。存储器,用于存储计算机程序(也可以称为代码,或指令)。处理器,用于从存储器调用并运行计算机程序,使得安装有芯片系统的装置执行图10所示的方法实施例、图13所示的方法实施例、图14a-图14c所示的方法实施例等实施例中任意一个实施例的方法。
根据本申请提供的通信方法,本申请还提供一种通信系统,该通信系统包括前述的第一通信装置100和第二通信装置200。
本申请的实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存(flash)、只读存储器(read-only memory,ROM)、可编程只读存储器、可擦除可编程只读存储器(erasable programmable ROM,EPROM)、电可擦除可编程只读存储器、寄存器、硬盘、固态硬盘(solid-state drive,SSD)、移动硬盘、便携式只读存储器(compact disc read-only memory,CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(application specific integrated circuit,ASIC)中。另外,该ASIC可以位于通信装置中。当然,处理器和存储介质也可以作为分立组件存在于通信装置中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机程序或指令。
在计算机上加载和执行计算机程序或指令时,全部或部分地执行本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其它可编程装置。计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘;还可以是半导体介质,例如,固态硬盘。该计算机可读存储介质可以是易失性或非易失性存储介质,或可包括易失性和非易失性两种类型的存储介质。
在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
本申请中,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。在本申请的文字描述中,字符“/”,一般表示前后关联对象是一种“或”的关系;在本申请的公式中,字符“/”,表示前后关联对象是一种“相除”的关系。“包括A,B或C中的至少一个”可以表示:包括A;包括B;包括C;包括A和B;包括A和C;包括B和C;包括A、B和C。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定。
Claims (34)
- 一种通信方法,其特征在于,所述方法包括:第一通信装置接收第一固定比特率CBR业务;所述第一通信装置根据所述第一CBR业务,生成用于承载所述第一CBR业务的第一码块流,其中,所述第一码块流由第一起始码块、M个第一数据码块和第一结束码块组成,所述第一码块流包括第一指示信息和第一填充区域,所述第一指示信息指示所述第一填充区域未填充业务数据,所述第一填充区域未填充所述第一CBR业务,所述第一填充区域的长度小于所述第一数据码块的长度,M为正整数;所述第一通信装置向第二通信装置发送所述第一码块流。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:所述第一通信装置接收第二CBR业务;所述第一通信装置根据所述第二CBR业务,生成用于承载所述第二CBR业务的第二码块流,其中,所述第二码块流由第二起始码块、M个第二数据码块和第二结束码块组成,所述第二码块流包括第二指示信息和第二填充区域,所述第二指示信息指示所述第二填充区域填充了业务数据,所述第二填充区域填充了所述第二CBR业务,所述第二填充区域的长度小于所述第二数据码块的长度;所述第一通信装置向所述第二通信装置发送所述第二码块流。
- 根据权利要求1或2所述的方法,其特征在于,所述第一通信装置根据所述第一CBR业务,生成用于承载所述第一CBR业务的第一码块流,包括:所述第一通信装置获取第一容器,所述第一容器包括从所述第一CBR业务中提取的第一数据,所述第一指示信息和所述第一填充区域;所述第一通信装置对所述第一容器进行编码,得到所述第一码块流。
- 根据权利要求3所述的方法,其特征在于,所述第一容器包括容器开销和容器净荷,所述容器净荷包括所述第一填充区域和所述第一数据,所述容器开销包括所述第一指示信息。
- 根据权利要求3所述的方法,其特征在于,所述第一容器包括容器开销和容器净荷,所述容器开销包括所述第一指示信息和所述第一填充区域,所述容器净荷包括所述第一数据。
- 根据权利要求4或5所述的方法,其特征在于,所述第一容器还包括固定填充区域,所述固定填充区域填充了固定图案,所述固定填充区域不用于承载业务数据。
- 根据权利要求3至6任一项所述的方法,其特征在于,所述M个第一数据码块承载所述第一容器,所述第一起始码块和所述第一结束码块不承载所述第一容器。
- 根据权利要求3至6任一项所述的方法,其特征在于,所述M个第一数据码块和所述第一结束码块承载所述第一容器,所述第一起始码块不承载所述第一容器。
- 根据权利要求1至8任一项所述的方法,其特征在于,所述第一通信装置通过小颗粒技术与所述第二通信装置通信。
- 根据权利要求9所述的方法,其特征在于,所述第一通信装置向第二通信装置发送所述第一码块流,包括:所述第一码块流属于第一灵活以太网FlexE子用户sub-client,所述第一通信装置将所述第一FlexE sub-client映射到在小颗粒基本单元fgBU中为所述第一FlexE sub-client所分配的至少一个子时隙。
- 根据权利要求9所述的方法,其特征在于,所述第一通信装置向第二通信装置发送所述第一码块流,包括:所述第一码块流属于第一城域传送网细粒度通道MTN fg-path,将所述将第一MTN fg-path映射到在 MTN fgBU中为所述第一MTN fg-path所分配的至少一个子时隙。
- 根据权利要求1至11任一项所述的方法,其特征在于,在所述第一通信装置根据所述第一CBR业务,生成用于承载所述第一CBR业务的第一码块流之前,所述方法还包括:所述第一通信装置接收第三CBR业务;所述第一通信装置根据所述第一CBR业务,生成用于承载所述第一CBR业务的第一码块流,包括:所述第一通信装置根据所述第一CBR业务和所述第三CBR业务,生成用于承载所述第一CBR业务和所述第三CBR业务的所述第一码块流,所述第一码块流还包括第三指示信息和第三填充区域,所述第三指示信息指示所述第三填充区域未承载业务数据,所述第三填充区域未填充所述业务数据,所述第三填充区域和所述第一填充区域的长度之和小于所述第一数据码块的长度。
- 根据权利要求1至11任一项所述的方法,其特征在于,在所述第一通信装置根据所述第一CBR业务,生成用于承载所述第一CBR业务的第一码块流之前,所述方法还包括:所述第一通信装置接收第四CBR业务;所述第一通信装置根据所述第一CBR业务,生成用于承载所述第一CBR业务的第一码块流,包括:所述第一通信装置根据所述第一CBR业务和所述第四CBR业务,生成用于承载所述第一CBR业务和所述第四CBR业务的所述第一码块流,所述第一码块流还包括第四指示信息和第四填充区域,所述第四指示信息指示所述第四填充区域填充了业务数据,所述第四填充区域填充了所述第四CBR业务,所述第四填充区域和所述第一填充区域的长度之和小于所述第一数据码块的长度。
- 根据权利要求2至13任一项所述的方法,其特征在于,在所述第一通信装置根据所述第二CBR业务,生成用于承载所述第二CBR业务的第二码块流之前,所述方法还包括:所述第一通信装置接收第五CBR业务;所述第一通信装置根据所述第二CBR业务,生成用于承载所述第二CBR业务的第二码块流,包括:所述第一通信装置根据所述第二CBR业务和所述第五CBR业务,生成用于承载所述第二CBR业务和所述第五CBR业务的所述第二码块流,所述第二码块流还包括第五指示信息和第五填充区域,所述第五指示信息指示所述第五填充区域填充了业务数据,所述第五填充区域填充了所述第五CBR业务,所述第五填充区域和所述第一填充区域的长度之和小于所述第二数据码块的长度。
- 一种通信方法,其特征在于,所述方法包括:第二通信装置接收第一通信装置发送的承载了第一CBR业务的第一码块流,其中,所述第一码块流由第一起始码块、M个第一数据码块和第一结束码块组成,所述第一码块流包括第一指示信息和第一填充区域,所述第一指示信息指示所述第一填充区域未填充业务数据,所述第一填充区域未填充所述第一CBR业务,所述第一填充区域的长度小于所述第一数据码块的长度,M为正整数;所述第二通信装置根据所述第一码块流,获取所述第一CBR业务。
- 根据权利要求15所述的方法,其特征在于,所述方法还包括:所述第二通信装置接收所述第一通信装置发送的承载了第二CBR业务的第二码块流,其中,所述第二码块流由第二起始码块、M个第二数据码块和第二结束码块组成,所述第二码块流包括第二指示信息和第二填充区域,所述第二指示信息指示所述第二填充区域填充承载了业务数据,所述第二填充区域填充了所述第二CBR业务,所述第二填充区域的长度小于所述第二数据码块的长度;所述第二通信装置根据所述第二码块流,获取所述第二CBR业务。
- 根据权利要求15或16所述的方法,其特征在于,所述第二通信装置根据所述第一码块流,获取所述第一CBR业务,包括:所述第二通信装置对所述第一码块流进行解码,得到第一容器,所述第一容器包括从所述第一CBR业务中提取的第一数据,所述第一指示信息和所述第一填充区域;所述第二通信装置从所述第一容器中获取所述第一CBR业务。
- 根据权利要求17所述的方法,其特征在于,所述第一容器包括容器开销和容器净荷,所述容器净荷包括所述第一填充区域和所述第一数据,所述容器开销包括所述第一指示信息。
- 根据权利要求17所述的方法,其特征在于,所述第一容器包括容器开销和容器净荷,所述容器开销包括所述第一指示信息和所述第一填充区域,所述容器净荷包括所述第一数据。
- 根据权利要求18或19所述的方法,其特征在于,所述第一容器还包括固定填充区域,所述固定填充区域填充了固定图案,所述固定填充区域不用于承载业务数据。
- 根据权利要求17至20任一项所述的方法,其特征在于,所述M个第一数据码块承载所述第一容器,所述第一起始码块和所述第一结束码块不承载所述第一容器。
- 根据权利要求17至20任一项所述的方法,其特征在于,所述M个第一数据码块和所述第一结束码块承载所述第一容器,所述第一起始码块不承载所述第一容器。
- 根据权利要求15至22任一项所述的方法,其特征在于,所述第二通信装置通过小颗粒技术与所述第一通信装置通信。
- 根据权利要求23所述的方法,其特征在于,所述第一码块流属于所述第一FlexE sub-client;所述第二通信装置接收所述第一通信装置发送的所述第一码块流,包括:所述第二通信装置从fgBU中为第一FlexE sub-client所分配的至少一个子时隙,获取所述第一码块流。
- 根据权利要求23所述的方法,其特征在于,所述第一码块流属于第一MTN fg-path;所述第二通信装置接收所述第一通信装置发送的所述第一码块流,包括:所述第二通信装置从MTN fgBU中为所述第一MTN fg-path所分配的至少一个子时隙,获取所述第一码块流。
- 根据权利要求15至25任一项所述的方法,其特征在于,所述第一码块流还承载了第三CBR业务,所述第一码块流还包括第三指示信息和第三填充区域,所述第三指示信息指示所述第三填充区域未填充业务数据,所述第三填充区域未填充所述第三CBR业务,所述第三填充区域和所述第一填充区域的长度之和小于所述第一数据码块的长度;所述第二通信装置根据所述第一码块流,获取所述第一CBR业务,包括:所述第二通信装置根据所述第一码块流,获取所述第一CBR业务和所述第三CBR业务。
- 根据权利要求15至25任一项所述的方法,其特征在于,所述第一码块流还承载了第四CBR业务,所述第一码块流还包括第四指示信息和第四填充区域,所述第四指示信息指示所述第四填充区域填充了业务数据,所述第四填充区域填充了所述第四CBR业务,所述第四填充区域和所述第一填充区域的长度之和小于所述第一数据码块的长度;所述第二通信装置根据所述第一码块流,获取所述第一CBR业务,包括:所述第二通信装置根据所述第一码块流,获取所述第一CBR业务和所述第四CBR业务。
- 根据权利要求16至27所述的方法,其特征在于,所述第二码块流还承载了第五CBR业务,所述第二码块流还包括第五指示信息和第五填充区域,所述第五指示信息指示所述第五填充区域填充了业务数据,所述第五填充区域填充了所述第五CBR业务,所述第五填充区域和所述第一填充区域的长度之和小于所述第二数据码块的长度;所述第二通信装置根据所述第二码块流,获取所述第二CBR业务,包括:所述第二通信装置根据所述第二码块流,获取所述第二CBR业务和所述第五CBR业务。
- 一种第一通信装置,其特征在于,所述装置包括:收发单元和处理单元;所述收发单元,用于执行权利要求1至14任意一项所述的由第一通信装置执行的接收和/或发送操作;所述处理单元,用于执行权利要求1至14任意一项所述的由第一通信装置执行的接收和/或发送操作之外的操作。
- 一种第二通信装置,其特征在于,所述装置包括:收发单元和处理单元;所述收发单元,用于执行权利要求15至28任意一项所述的由第二通信装置执行的接收和/或发送操作;所述处理单元,用于执行权利要求15至28任意一项所述的由第二通信装置执行的接收和/或发送操作之外的操作。
- 一种通信装置,其特征在于,所述装置包括:通信接口和处理器,根据所述通信接口和所述处理器,所述通信装置执行权利要求1至28中任意一项所述的方法。
- 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被计算机调用时,实现权利要求1至28任意一项所述的方法。
- 一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被处理器执行时,实现权利要求1至28任意一项所述的方法。
- 一种通信系统,其特征在于,包括第一通信装置和第二通信装置,所述第一通信装置用于执行权利要求1至14任意一项所述的方法,所述第二通信装置用于执行权利要求15至28任意一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210952392.6A CN117640527A (zh) | 2022-08-09 | 2022-08-09 | 通信方法、相关装置及计算机可读存储介质 |
CN202210952392.6 | 2022-08-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024032269A1 true WO2024032269A1 (zh) | 2024-02-15 |
Family
ID=89850679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2023/105316 WO2024032269A1 (zh) | 2022-08-09 | 2023-06-30 | 通信方法、相关装置及计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117640527A (zh) |
WO (1) | WO2024032269A1 (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019062227A1 (zh) * | 2017-09-30 | 2019-04-04 | 华为技术有限公司 | 数据传输方法、传输设备和传输系统 |
CN110719143A (zh) * | 2015-07-30 | 2020-01-21 | 华为技术有限公司 | 用于数据传输的方法、发送机和接收机 |
WO2022022263A1 (zh) * | 2020-07-25 | 2022-02-03 | 华为技术有限公司 | 一种传输数据的方法和设备 |
WO2022088907A1 (zh) * | 2020-10-26 | 2022-05-05 | 中兴通讯股份有限公司 | Cbr信号传输方法、系统及设备 |
-
2022
- 2022-08-09 CN CN202210952392.6A patent/CN117640527A/zh active Pending
-
2023
- 2023-06-30 WO PCT/CN2023/105316 patent/WO2024032269A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110719143A (zh) * | 2015-07-30 | 2020-01-21 | 华为技术有限公司 | 用于数据传输的方法、发送机和接收机 |
WO2019062227A1 (zh) * | 2017-09-30 | 2019-04-04 | 华为技术有限公司 | 数据传输方法、传输设备和传输系统 |
WO2022022263A1 (zh) * | 2020-07-25 | 2022-02-03 | 华为技术有限公司 | 一种传输数据的方法和设备 |
WO2022088907A1 (zh) * | 2020-10-26 | 2022-05-05 | 中兴通讯股份有限公司 | Cbr信号传输方法、系统及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN117640527A (zh) | 2024-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019128664A1 (zh) | 一种数据传输方法、通信设备及存储介质 | |
CN109600188B (zh) | 数据传输方法、传输设备和传输系统 | |
US11082199B2 (en) | Data transmission method in optical network and optical network device | |
US6847644B1 (en) | Hybrid data transport scheme over optical networks | |
US6771663B1 (en) | Hybrid data transport scheme over optical networks | |
US11477549B2 (en) | Transmission network system, data switching and transmission method, apparatus and equipment | |
US7006525B1 (en) | Hybrid data transport scheme over optical networks | |
WO2016197894A1 (zh) | 一种数据处理的方法、通信设备及通信系统 | |
CN113162853A (zh) | 转发数据的方法和设备 | |
US11381338B2 (en) | Data transmission method, communications device, and storage medium | |
WO2021180007A1 (zh) | 一种业务承载的方法、装置和系统 | |
CN109391461B (zh) | 透传业务频率的方法和设备 | |
US20110013619A1 (en) | Universal Service Transport Transitional Encoding | |
CN113330696B (zh) | Cpri数据块传输方法和设备 | |
US7099584B1 (en) | Advanced error correcting optical transport network | |
WO2009021376A1 (fr) | Dispositif ethernet et procédé de traitement d'affaire ethernet basé sur l hiérarchie numérique synchrone (sdh) | |
WO2021197208A1 (zh) | 一种业务流调整方法和通信装置 | |
US6778561B1 (en) | Hybrid data transport scheme over optical networks | |
WO2023035776A1 (zh) | 一种通信方法、相关装置以及存储介质 | |
WO2023109424A1 (zh) | 一种数据传输的方法以及相关装置 | |
WO2024032269A1 (zh) | 通信方法、相关装置及计算机可读存储介质 | |
EP1266476A1 (en) | Hybrid data transport scheme over optical networks | |
WO2021115215A1 (zh) | 一种数据传输方法、通信设备及存储介质 | |
WO2022111309A1 (zh) | 一种码块识别方法及装置 | |
WO2024051586A1 (zh) | 一种光传送网中的数据帧的处理方法、装置和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23851495 Country of ref document: EP Kind code of ref document: A1 |