Data forwarding method, network device, and storage medium

By using data sub-heads to replace multi-layer protocol stack headers in wireless communication systems, reducing data copying and protocol header generation, the memory consumption and delay problems in the prior art are solved, and the high transmission rate and low delay requirements of future wireless communication systems are realized.

WO2025118558A1PCT designated stage expired Publication Date: 2025-06-12ZTE CORP
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/101483
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-12-05
Filing Date
2024-06-26
Publication Date
2025-06-12

AI Technical Summary

Technical Problem

The multi-layer protocol stack processing method in existing wireless communication systems increases memory consumption and data processing delay, and cannot meet the extremely high transmission rate and extremely low latency requirements of future wireless communication systems such as 6G.

Method used

By deploying the transmission block generation components and data cache areas in the sending and receiving devices, using data sub-headers instead of the multi-layer protocol stack headers, reducing data copying and protocol header generation, and achieving unified storage management of data.

Benefits of technology

It reduces memory consumption and data processing delay, improves data transmission efficiency, and can meet the requirements of high transmission rates and low latency of future wireless communication systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024101483_12062025_PF_FP_ABST
    Figure CN2024101483_12062025_PF_FP_ABST
Patent Text Reader

Abstract

Provided in the present application are a data forwarding method, a network device, and a storage medium. The method comprises: firstly, acquiring data to be transmitted; then, adding a data sub-header to the data to be transmitted, so as to obtain first data, and caching the first data in a data cache region; when a data transmission grant is received, performing transport block generation processing on data in the data cache region, so as to obtain a transport block, wherein the transport block is cached in the data cache region or cached in an HARQ cache region; and subsequently, forwarding transport block.
Need to check novelty before this filing date? Find Prior Art

Description

Data forwarding method, network device and storage medium

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to the Chinese patent application filed with the China Patent Office on December 5, 2023, with application number 202311669532.X and invention name “Data forwarding method, network device and storage medium”. The entire contents of the Chinese patent application are incorporated herein by reference. Technical Field

[0003] The embodiments of the present application relate to, but are not limited to, the field of communication technology, and in particular to a data forwarding method, a network device, and a storage medium. Background Art

[0004] In wireless communication systems in related technologies (such as 5G communication systems), user plane data is generally session-based user data, such as voice call data, video call data, Internet access data, etc. During transmission, these data need to be processed by the four-layer user plane protocol stack. When these data are processed in each layer of the protocol stack, the protocol header of the corresponding protocol stack needs to be generated and added, and the data needs to be copied to the data buffer of the protocol layer to which it belongs. This processing method not only increases memory consumption, but also increases the delay of data processing. Therefore, this multi-layer protocol stack processing method in the wireless communication system of related technologies cannot meet the extremely high transmission rate requirements and extremely low transmission delay requirements of future wireless communication systems such as 6G.

[0005] Summary of the Invention

[0006] The embodiments of the present application provide a data forwarding method, a network device, and a storage medium, which can not only reduce memory consumption but also reduce data processing latency.

[0007] On the one hand, an embodiment of the present application provides a data forwarding method, including: obtaining data to be transmitted; adding a data sub-header to the data to be transmitted to obtain first data, and caching the first data in a data cache area; when a data transmission authorization is received, performing transmission block generation processing on the data in the data cache area to obtain a transmission block, wherein the transmission block is cached in the data cache area or in a HARQ cache area; and forwarding the transmission block.

[0008] On the other hand, an embodiment of the present application also provides a data forwarding method, including: obtaining a transmission block, wherein the transmission block includes a data sub-header; performing transmission block parsing processing on the transmission block according to the data sub-header, and caching the data obtained after parsing into a data cache area; performing data security inverse processing on the data in the data cache area, so that the data in the data cache area is updated to the first data; and forwarding the first data in the data cache area.

[0009] On the other hand, an embodiment of the present application further provides a network device, comprising: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the data forwarding method described above when executing the computer program.

[0010] On the other hand, an embodiment of the present application further provides a computer-readable storage medium storing computer-executable instructions, wherein the computer-executable instructions are used to execute the data forwarding method as described above.

[0011] On the other hand, an embodiment of the present application also provides a computer program product, including a computer program or computer instructions, wherein the computer program or the computer instructions are stored in a computer-readable storage medium, the processor of the network device reads the computer program or the computer instructions from the computer-readable storage medium, and the processor executes the computer program or the computer instructions, so that the network device performs the data forwarding method as described above. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] FIG1 is a schematic diagram of a data forwarding process in the related art;

[0013] FIG2 is a flow chart of a data forwarding method provided by an embodiment of the present application;

[0014] FIG3 is a flow chart of a data forwarding method provided by another embodiment of the present application;

[0015] FIG4 is a schematic diagram of the system architecture of a transmitting end device for executing a data forwarding method provided in an embodiment of the present application;

[0016] FIG5 is a schematic diagram of the working principle of a transmission block generation component provided in an embodiment of the present application;

[0017] FIG6 is a schematic diagram of the system architecture of a receiving device for executing a data forwarding method according to an embodiment of the present application;

[0018] FIG7 is a schematic diagram of a network device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0019] In order to make the purpose, technical methods and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and examples. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.

[0020] It should be noted that although a logical order is shown in the flowchart, in some cases, the steps shown or described may be performed in an order different from that in the flowchart. In the description of the specification, claims and the above-mentioned drawings, the meaning of multiple (or multiple) is more than two, greater than, less than, exceed, etc. are understood to exclude the number itself, and above, below, within, etc. are understood to include the number itself. If there is a description of "first", "second", etc., it is only used for the purpose of distinguishing technical features, and cannot be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features or implicitly indicating the order of the indicated technical features.

[0021] It is worth noting that in current wireless communication systems (such as 5G communication systems), the data transmitted is generally conversation-based communication data, such as voice call data, video call data, and Internet access data. The air interface transmission delay is 1ms, and the peak transmission rate is 10Gbit / s. In future wireless communication systems (such as 6G communication systems), due to the support of new services such as artificial intelligence (AI), perception, and computing power, and the expansion of application scenarios to various vertical industries, higher data transmission rates and lower data processing delays are required. Therefore, in future wireless communication systems, the air interface transmission delay is required to be reduced to 0.1ms and the peak transmission rate is increased to 100Gbit / s. In other words, the performance of future wireless communication systems such as 6G needs to be improved by more than 10 times compared to current wireless communication systems such as 5G.

[0022] However, in current wireless communication systems (such as 5G communication systems), user plane data needs to be processed by four user plane protocol stacks: the Service Data Adaptation Protocol (SDAP), the Packet Data Convergence Protocol (PDCP), the Radio Link Control (RLC), and the Medium Access Control (MAC). The processing flow of user plane data within these four layers of the user plane protocol stack can be shown in Figure 1. As shown in Figure 1, when data is processed in each layer of the protocol stack, corresponding protocol headers are generated and added. These protocol headers include the SDAP header, the PDCP header, the RLC header, and the MAC header. Furthermore, when data is transmitted between these four layers of the protocol stack, multiple data copies are required. Each layer of the protocol stack needs to copy the data to its own data buffer. These data buffers include the PDCP send buffer, the RLC send buffer and retransmission buffer, and the MAC Hybrid Automatic Repeat reQuest (HARQ) buffer. In other words, the multi-layer protocol stack processing method adopted by current wireless communication systems will not only increase memory consumption, but also increase data processing latency, and cannot meet the extremely high transmission rate requirements and extremely low transmission latency requirements of future wireless communication systems such as 6G.

[0023] In order to reduce memory consumption and data processing delay to meet the extremely high transmission rate requirements and extremely low transmission delay requirements of future wireless communication systems such as 6G, an embodiment of the present application provides a data forwarding method, a network device, a computer-readable storage medium and a computer program product, wherein, after obtaining the data to be transmitted, a data sub-header is first added to the data to be transmitted to obtain first data, and the first data is cached in a data cache area. When a data transmission authorization is received, a transmission block generation process is performed on the data in the data cache area to obtain a transmission block, wherein the transmission block is cached in the data cache area or in the HARQ cache area, and then the transmission block is forwarded. After obtaining the first data, the first data will be cached in the data cache area, and when the transmission block generation processing is performed, the corresponding data in the same data cache area is processed. There is no need to copy the data multiple times and save it to multiple data buffers of different protocol stacks as in the multi-layer protocol stack processing method in the current wireless communication system. Therefore, the memory consumption can be effectively reduced. Moreover, since the data sub-header is only generated and added once for the data, there is no need to generate and add the protocol header of each layer of the protocol stack for the data as in the multi-layer protocol stack processing method in the current wireless communication system. Therefore, the data processing delay can be effectively reduced, thereby meeting the extremely high transmission rate requirements and extremely low transmission delay requirements of future wireless communication systems such as 6G.

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

[0025] 2 , which is a flowchart of a data forwarding method provided by an embodiment of the present application, the data forwarding method may be executed by a transmitting device, and the data forwarding method may include but is not limited to steps S210 to S240 .

[0026] Step S210: Acquire data to be transmitted.

[0027] Step S220: adding a data sub-header to the data to be transmitted to obtain first data, and buffering the first data into a data buffer area.

[0028] Step S230: When a data transmission grant is received, a transmission block generation process is performed on the data in the data buffer area to obtain a transmission block, wherein the transmission block is cached in the data buffer area or in the HARQ buffer area.

[0029] Step S240: forwarding the transmission block.

[0030] In one embodiment, a transmitting device may be deployed with functional components such as a transport block generation component and a data buffer. The transport block generation component is configured to generate a transport block (TB) based on the data to be transmitted after receiving a data transmission authorization. The data buffer is configured to cache the data to be transmitted and provide data processing objects for functional components such as the transport block generation component. Therefore, the transport block generation processing performed on the data in the data buffer can be performed by the transport block generation component. By deploying functional components such as the transport block generation component and the data buffer in the transmitting device, the method of processing and storing data separately using a four-layer protocol stack in related technologies can be simplified to using functional components. Furthermore, only a single data sub-header is required, eliminating the need to distinguish between different protocol layers. Each functional component can be flexibly configured according to the service type, eliminating the need to generate and add protocol headers for each layer of the protocol stack as in related technologies, thereby effectively reducing data processing latency. In addition, since the first data is cached in the data cache area after obtaining it, and the transmission block generation component directly processes the corresponding data in the same data cache area when performing the transmission block generation process, there is no need to define multiple different data buffers as in the related art, nor is there a need to copy the data multiple times as in the related art, thereby achieving unified storage management of the data and effectively reducing memory consumption. By adopting the method provided by the embodiment of the present application for reducing the number of times protocol headers are generated and added and reducing the data copy process, memory consumption can be greatly reduced and data processing efficiency can be improved, thereby better ensuring the extremely high transmission rate requirements and extremely low transmission delay requirements of future wireless communication systems.

[0031] In one embodiment, the data to be transmitted may include but is not limited to at least one of the following three types: IP data packets, high-layer signaling, and L2 internal data. Among them, the L2 internal data may include but is not limited to at least one of the following three types: AI data, perception data, and computing power data from within the wireless communication system. For example, in addition to data such as AI data, perception data, and computing power data, the L2 internal data may also include other new types of data from within the wireless communication system, which is not limited here.

[0032] In one embodiment, when the data to be transmitted is an IP data packet, high-layer signaling, or L2 internal data with a small data volume (i.e., a small data packet generated within Layer 2), the data sub-header added to the data to be transmitted may carry a sequence number (SN) and / or segment offset information; when the data to be transmitted includes L2 internal data with a large data volume (e.g., a large file, etc.), the data sub-header added to the data to be transmitted may carry segment offset information and may not carry a sequence number.

[0033] In one embodiment, when the data sub-header added to the data to be transmitted carries segment offset information, the segment offset information can be used to determine the offset of the data segment relative to the first address of the data; a data segment (Segment) refers to a data segment obtained after segmenting the data.

[0034] In one embodiment, the segment offset information may include only segmentation information (SI), or may include both segmentation information and a segment offset value (SO). The segmentation information may be used to indicate the segment type of the corresponding data segment, and the segment offset value may be used to represent the offset of the corresponding data segment relative to the first address of the data. In one embodiment, the unit of the segment offset value may be bytes, which is not limited here.

[0035] In one embodiment, when the value of the segmentation information is a first value (for example, 0b00), it can indicate that the corresponding data segment is not segmented data, that is, the corresponding data segment is complete data. When the value of the segmentation information is a second value (for example, 0b01), it can indicate that the corresponding data segment is the first data segment (i.e., Segment 1). When the value of the segmentation information is a third value (for example, 0b10), it can indicate that the corresponding data segment is the last data segment. For example, if the number of data segments is 10, then the corresponding data segment is Segment 10. When the value of the segmentation information is a fourth value (for example, 0b11), it can indicate that the corresponding data segment is an intermediate data segment. For example, if the number of data segments is 10, then the corresponding data segment is any one of Segment 2 to Segment 9.

[0036] In one embodiment, when the value of the segment information is the first value (for example, 0b00), since it indicates that the corresponding data segment is not segmented data, in this case, the segment offset information may only include the segment information.

[0037] In one embodiment, when the value of the segmentation information is the second value (for example, it may be 0b01), since it indicates that the corresponding data segment is Segment 1, and the offset of Segment 1 relative to the first address of the data is 0, in this case, the segmentation offset information may not include the offset of Segment 1 relative to the first address of the data, that is, the segmentation offset information may only include the segmentation information.

[0038] In one embodiment, when the value of the segmentation information is the third value (for example, it can be 0b10), since it indicates that the corresponding data segment is the last data segment, in this case, the segmentation offset information can include both the segmentation information and the segmentation offset value, where the segmentation offset value can give the offset of the first address of the last data segment relative to the first address of the data.

[0039] In one embodiment, when the value of the segmentation information is the fourth value (for example, it can be 0b11), since it indicates that the corresponding data segment is an intermediate data segment, in this case, the segmentation offset information can include both the segmentation information and the segmentation offset value, where the segmentation offset value can give the offset of the first address of the intermediate data segment relative to the first address of the data.

[0040] In one embodiment, in the process of adding a data sub-header to the data to be transmitted to obtain the first data and caching the first data in the data cache, the target logical channel and data sub-header corresponding to the data to be transmitted can be determined first, and then the target sub-data cache corresponding to the data to be transmitted in the data cache can be determined based on the target logical channel, and then the data sub-header is added to the data to be transmitted to obtain the first data, and the first data is cached in the target sub-data cache. In the data cache, a logical control channel (Logical Control Channel, LCH) can be used to manage the cached data. For example, multiple sub-data caches can be set in the data cache, and each sub-data cache corresponds to an LCH. When the first data with the added data sub-header needs to be cached in the data cache, the corresponding target logical channel can be determined first, and then the corresponding target sub-data cache is determined among the multiple sub-data caches in the data cache, and then the first data is cached in the target sub-data cache. To illustrate with an example, assuming that three sub-data buffers are set in the data buffer, where the first sub-data buffer corresponds to LCH 0, the second sub-data buffer corresponds to LCH 1, and the third sub-data buffer corresponds to LCH 2, then when adding a data sub-header to the data to be transmitted to obtain the first data and caching the first data in the data buffer, first determine the target logical channel and data sub-header corresponding to the data to be transmitted. Assuming that the target logical channel corresponding to the data to be transmitted is LCH 1, then based on the sub-data buffer corresponding to LCH 1, the second sub-data buffer can be determined as the corresponding target sub-data buffer among the three sub-data buffers in the data buffer, then add a data sub-header to the data to be transmitted to obtain the first data, and then cache the first data in the target sub-data buffer (i.e., the second sub-data buffer).

[0041] In one embodiment, when the data to be transmitted includes an IP data packet, upon determining the target logical channel corresponding to the data to be transmitted, QoS flow mapping can be performed on the IP data packet, thereby matching the IP data packet to the corresponding target logical channel. It should be noted that in this case, a QoS flow mapping component can be deployed in the transmitting device, and thus the QoS flow mapping operation for matching the IP data packet to the corresponding target logical channel can be performed by the QoS flow mapping component. The IP data packet after QoS flow mapping is cached in the target sub-data buffer corresponding to the corresponding target logical channel in the data buffer.

[0042] In one embodiment, when an LCH corresponds to a SN, when the LCH is used to manage cached data in the data cache, the sub-data cache corresponding to the LCH can be further subdivided into multiple lower-level data caches, each of which corresponds to a SN. In other words, each lower-level data cache corresponds to a LCH SN. In this case, when the data to be transmitted includes at least one of an IP packet, higher-layer signaling, or L2 internal data requiring sequence numbers (i.e., L2 internal data with a relatively small data volume), the target sub-data cache used to cache the first data corresponding to the data to be transmitted will correspond to the corresponding sequence number in the target logical channel corresponding to the data to be transmitted. To illustrate with an example, assuming that two sub-data buffers are set in the data buffer, and each sub-data buffer is set with two lower-level data buffers, wherein the first sub-data buffer corresponds to LCH 0, the second sub-data buffer corresponds to LCH 1, the first lower-level data buffer of the first sub-data buffer corresponds to SN 0 of LCH 0, the second lower-level data buffer of the first sub-data buffer corresponds to SN 1 of LCH 0, the first lower-level data buffer of the second sub-data buffer corresponds to SN 0 of LCH 1, and the second lower-level data buffer of the second sub-data buffer corresponds to SN 1 of LCH 1. Then, when adding a data sub-header to the data to be transmitted to obtain the first data and caching the first data into the data buffer, first determine the target logical channel and data sub-header corresponding to the data to be transmitted. Assuming that the target logical channel corresponding to the data to be transmitted is LCH 1, and the data to be transmitted corresponds to SN 0 in LCH 1, then according to SN 0 of LCH 1, 0, determine the first lower-level data cache area of ​​the second sub-data cache area in the data cache area as the corresponding target sub-data cache area, then add a data sub-header to the data to be transmitted to obtain the first data, and then cache the first data to the target sub-data cache area (that is, the first lower-level data cache area of ​​the second sub-data cache area).

[0043] In one embodiment, when the data to be transmitted includes L2 internal data that does not require the addition of a serial number, the target sub-data cache area for caching the first data corresponding to the data to be transmitted only corresponds to the target logical channel corresponding to the data to be transmitted. That is, the sub-data cache area corresponding to the target logical channel corresponding to the data to be transmitted does not have a subdivided lower-level data cache area, and the target sub-data cache area is the sub-data cache area itself corresponding to the target logical channel corresponding to the data to be transmitted.

[0044] In one embodiment, when the data to be transmitted includes IP packets, after QoS flow mapping is performed on the IP packets to match the IP packets to corresponding target logical channels, header compression processing can also be performed on the IP packets according to application needs. It should be noted that in this case, a header compression processing component can be deployed in the transmitting device, and thus the header compression processing operation on the IP packets can be performed by the header compression processing component. The IP packets after header compression processing are cached back to the corresponding cache location in the data cache area.

[0045] In one embodiment, a security processing component may be deployed in the transmitting device, wherein the security processing component is used to perform integrity protection and encryption operations on the data to be transmitted. The data buffer area can also provide data processing objects for the security processing component.

[0046] In one embodiment, the security processing component may, before receiving the data transmission authorization, perform data security processing on first data in the data buffer to obtain second data, wherein the second data is data in the data buffer for performing transmission block generation processing. In other words, the transmission block generation component may perform transmission block generation processing on the second data in the data buffer to obtain a transmission block. In another embodiment, after receiving the data transmission authorization, the security processing component may segment the first data according to the data transmission authorization to obtain data segments, and then perform data security processing on the data segments to obtain third data, wherein the third data is data in the data buffer for performing transmission block generation processing. In other words, the transmission block generation component may perform transmission block generation processing on the third data in the data buffer to obtain a transmission block. By deploying functional components such as security processing components, transmission block generation components, and data buffers in the sending device, the method of using a four-layer protocol stack to process and store data separately in related technologies can be simplified to using functional components. Only one data sub-header needs to be added, and there is no need to distinguish between different protocol layers. Each functional component can be flexibly configured according to the business type, eliminating the need to generate and add protocol headers for each layer of the protocol stack as in related technologies, thereby effectively reducing data processing latency. In addition, the security processing component and transmission block generation component can directly perform data security processing and transmission block generation processing on the corresponding data in the same data buffer, eliminating the need to define multiple different data buffers as in related technologies, nor does it require multiple copies of data as in related technologies. Therefore, unified storage management of data can be achieved, effectively reducing memory consumption.

[0047] In one embodiment, after receiving a data transmission authorization (i.e., in an online processing state), when performing transmission block generation processing on the data in the data buffer (i.e., the second data or the third data), the data in the data buffer can be combined into a transmission block. Specifically, when data security processing is performed before receiving the data transmission authorization, the data in the data buffer is the second data that has undergone data security processing. At this time, after receiving the data transmission authorization, if the data volume of the second data of the current logical channel is equal to the current authorization size, the transmission block can be formed based on the second data itself; if the data volume of the second data of the current logical channel is greater than the current authorization size, the second data can be segmented according to the current authorization size to obtain data segments, and then transmission blocks can be formed based on the data segments. At this time, the remaining data of the second data can be used to form subsequent transmission blocks; if the data volume of the second data of the current logical channel is less than the current authorization size, the second data of other logical channels can be reused or padding data can be supplemented so that the total data volume of the obtained data is consistent with the current authorization size, and then the obtained data can be combined into a transmission block. In addition, when data security processing is performed after receiving the data transmission authorization, after receiving the data transmission authorization (that is, in the online processing state), the first data is segmented according to the current authorization size to obtain data segments, and then data security processing is performed on the currently obtained data segments to obtain third data, and then a transmission block is composed according to the third data. At this time, the remaining data of the first data can be used to compose subsequent transmission blocks. After receiving a new data transmission authorization again (i.e., in an online processing state), if the new authorization size is smaller than the data volume of the remaining data of the first data, the remaining data of the first data is re-segmented according to the new authorization size to obtain new data segments, and then the new data segments are subjected to data security processing to obtain new third data, and then a transmission block is formed based on the new third data; if the new authorization size is equal to the data volume of the remaining data of the first data, the remaining data of the first data is not re-segmented, but the remaining data of the first data is directly subjected to data security processing to obtain new third data, and then a transmission block is formed based on the new third data; if the new authorization size is larger than the data volume of the remaining data of the first data, the first data of other logical channels can be multiplexed or padding data can be supplemented so that the total data volume of the obtained data is consistent with the new authorization size, and then the obtained data is formed into a transmission block.

[0048] In one embodiment, after receiving a data transmission authorization (i.e., in an online processing state), during the process of generating transmission blocks for the data in the data buffer, it can be determined whether the data in the data buffer needs to be segmented or re-segmented. If the determination result is that the data in the data buffer needs to be segmented or re-segmented, then the data sub-header stored in the data buffer needs to be modified. For example, the SI, SO, and length fields in the data sub-header may need to be modified at this time. Alternatively, if the determination result is that the data in the data buffer does not need to be segmented or re-segmented, then the data sub-header stored in the data buffer is not modified.

[0049] In one embodiment, after a transmission block generation process is performed on the data in the data buffer to obtain a transmission block, and before the next data transmission grant is received, that is, in an offline processing state, the data sub-header stored in the data buffer can be modified based on the remaining data in the data buffer. For example, the SI, SO, and length fields in the data sub-header stored in the data buffer can be modified based on the remaining data in the data buffer.

[0050] In one embodiment, the data in the data buffer may correspond to a data status tag, which is used to determine whether the data in the data buffer needs to be sent or retransmitted. The data status tag may include at least one of three status tags: a data transmission status tag, an ARQ confirmation status tag, and a HARQ confirmation status tag. It should be noted that when the data buffer is used as a HARQ buffer, the data in the data buffer corresponds to a HARQ confirmation status tag. In addition, in one embodiment, when HARQ does not need to multiplex multiple logical channels, the data buffer can also be used as a HARQ buffer.

[0051] In one embodiment, when a transmitting end device does not deploy an independent HARQ buffer, after performing transport block generation processing on the data in the data buffer to obtain a transport block, the transport block can be cached in the data buffer so that in a subsequent step, the transport block can be sent from the data buffer to the coding buffer, allowing the coding buffer to forward the transport block via the physical layer (PHY). In this case, the data buffer can be used as a HARQ buffer.

[0052] In one embodiment, when the transmitting device is also deployed with an independent HARQ buffer area, after the data in the data buffer area is processed to generate a transport block to obtain a transport block, the transport block can be cached in the HARQ buffer area, so that in subsequent steps, the transport block can be sent from the HARQ buffer area to the coding buffer area, so that the coding buffer area can forward the transport block through the physical layer (Physical Layer, PHY).

[0053] 3 , which is a flowchart of a data forwarding method provided by another embodiment of the present application, the data forwarding method may be executed by a receiving device, and the data forwarding method may include but is not limited to steps S310 to S340 .

[0054] Step S310: Acquire a transport block, where the transport block includes a data sub-header.

[0055] Step S320: performing transport block parsing processing on the transport block according to the data sub-header, and buffering the parsed data into the data buffer area.

[0056] Step S330: performing data security inverse processing on the data in the data cache area, so that the data in the data cache area is updated to the first data.

[0057] Step S340: forwarding the first data in the data buffer area.

[0058] In one embodiment, a receiving device may be equipped with functional components such as a transport block parsing component, a security processing component, and a data buffer. The transport block parsing component is configured to perform transport block parsing on transport blocks; the data buffer is configured to cache data obtained after transport block parsing and provide data processing objects for functional components such as the security processing component; and the security processing component is configured to perform operations such as decryption and integrity verification on the data in the data buffer. Therefore, transport block parsing of transport blocks based on data sub-headers can be performed by the transport block parsing component, while inverse data security processing of the data in the data buffer can be performed by the security processing component. By deploying functional components such as the transport block parsing component, the security processing component, and the data buffer in the receiving device, the related art approach of processing and storing data separately across four protocol layers can be simplified to a single functional component approach. This eliminates the need to distinguish between different protocol layers, and allows for flexible configuration of each functional component based on the service type. This eliminates the need to perform protocol header decompression for each layer of the protocol stack, as required in the related art, effectively reducing data processing latency. In addition, since only one data buffer area is needed, there is no need to define multiple different data buffers as in the related art, nor is there any need to copy the data multiple times as in the related art. Therefore, unified storage management of data can be achieved, which can effectively reduce memory consumption. By adopting the method of reducing the processing of protocol headers and reducing the data copying process provided by the embodiments of the present application, memory consumption can be greatly reduced and data processing efficiency can be improved, thereby better ensuring the extremely high transmission rate requirements and extremely low transmission delay requirements of future wireless communication systems.

[0059] In one embodiment, the data carried in the transport block may include, but is not limited to, at least one of the following three types: IP data packets, high-layer signaling, and L2 internal data. The L2 internal data may include, but is not limited to, at least one of the following three types: AI data, perception data, and computing power data from within the wireless communication system. For example, in addition to AI data, perception data, computing power data, etc., the L2 internal data may also include other new types of data from within the wireless communication system, which is not limited here.

[0060] In one embodiment, when the data carried in the transport block is an IP data packet, high-layer signaling, or L2 internal data with a small data volume (i.e., a small data packet generated within Layer 2), the data subheader in the transport block may carry an SN and / or segment offset information; when the data carried in the transport block includes L2 internal data with a large data volume (e.g., a large file, etc.), the data subheader in the transport block may carry segment offset information and not carry an SN.

[0061] In one embodiment, when the data sub-header carries segment offset information, the segment offset information can be used to determine the offset of the data segment relative to the first address of the data; a data segment refers to a data segment obtained by segmenting the data.

[0062] In one embodiment, the segment offset information may include only the segment information, or may include both the segment information and the segment offset value. The segment information may be used to indicate the segment type of the corresponding data segment, and the segment offset value may be used to represent the offset of the corresponding data segment relative to the first address of the data. In one embodiment, the unit of the segment offset value may be bytes, which is not limited herein.

[0063] In one embodiment, when the value of the segmentation information is a first value (for example, 0b00), it can indicate that the corresponding data segment is not segmented data, that is, the corresponding data segment is complete data. When the value of the segmentation information is a second value (for example, 0b01), it can indicate that the corresponding data segment is the first data segment (i.e., Segment 1). When the value of the segmentation information is a third value (for example, 0b10), it can indicate that the corresponding data segment is the last data segment. For example, if the number of data segments is 10, then the corresponding data segment is Segment 10. When the value of the segmentation information is a fourth value (for example, 0b11), it can indicate that the corresponding data segment is an intermediate data segment. For example, if the number of data segments is 10, then the corresponding data segment is any one of Segment 2 to Segment 9.

[0064] In one embodiment, when the value of the segment information is the first value (for example, 0b00), since it indicates that the corresponding data segment is not segmented data, in this case, the segment offset information may only include the segment information.

[0065] In one embodiment, when the value of the segmentation information is the second value (for example, it may be 0b01), since it indicates that the corresponding data segment is Segment 1, and the offset of Segment 1 relative to the first address of the data is 0, in this case, the segmentation offset information may not include the offset of Segment 1 relative to the first address of the data, that is, the segmentation offset information may only include the segmentation information.

[0066] In one embodiment, when the value of the segmentation information is the third value (for example, it can be 0b10), since it indicates that the corresponding data segment is the last data segment, in this case, the segmentation offset information can include both the segmentation information and the segmentation offset value, where the segmentation offset value can give the offset of the first address of the last data segment relative to the first address of the data.

[0067] In one embodiment, when the value of the segmentation information is the fourth value (for example, it can be 0b11), since it indicates that the corresponding data segment is an intermediate data segment, in this case, the segmentation offset information can include both the segmentation information and the segmentation offset value, where the segmentation offset value can give the offset of the first address of the intermediate data segment relative to the first address of the data.

[0068] In one embodiment, in the process of caching the parsed data into the data cache, the target logical channel corresponding to the parsed data can be first determined, and then, based on the target logical channel, the target sub-data cache corresponding to the parsed data in the data cache can be determined, and then the parsed data can be cached into the target sub-data cache. In the data cache, the cached data can be managed using the LCH. For example, multiple sub-data caches can be set in the data cache, and each sub-data cache corresponds to an LCH. When the parsed data needs to be cached into the data cache, the corresponding target logical channel can be first determined, and then the corresponding target sub-data cache is determined among the multiple sub-data caches in the data cache, and then the parsed data is cached into the target sub-data cache. To illustrate with an example, assuming that three sub-data buffers are set in the data buffer, where the first sub-data buffer corresponds to LCH 0, the second sub-data buffer corresponds to LCH 1, and the third sub-data buffer corresponds to LCH 2, then when caching the parsed data into the data buffer, first determine the target logical channel corresponding to the parsed data. Assuming that the target logical channel corresponding to the parsed data is LCH 1, then based on the sub-data buffer corresponding to LCH 1, determine the second sub-data buffer as the corresponding target sub-data buffer among the three sub-data buffers in the data buffer, and then cache the parsed data into the target sub-data buffer (i.e., the second sub-data buffer).

[0069] In one embodiment, during the process of performing data security inversion processing on the data in the data buffer and updating the data in the data buffer to the first data, the data segments under the same target logical channel may be respectively subjected to data security inversion processing, and then the multiple data segments subjected to data security inversion processing may be restored to the first data, and then the data in the data buffer may be updated to the first data. In another embodiment, during the process of performing data security inversion processing on the data in the data buffer and updating the data in the data buffer to the first data, all collected data segments under the same target logical channel may be restored to a complete data, and then the data security inversion processing may be performed on the complete data to obtain the first data, and then the data in the data buffer may be updated to the first data.

[0070] In one embodiment, when the first data corresponds to a sequence number, before forwarding the first data in the data buffer, the first data in the data buffer can be submitted to the upper layer in the order of the sequence numbers. For example, when the receiving device also deploys a de-header compression processing component and the first data includes IP data packets, the IP data packets in the data buffer can be submitted to the de-header compression processing component in the order of the sequence numbers, so that the de-header compression processing component first performs de-header compression processing on the IP data packets and then forwards the de-header compressed IP data packets. It should be noted that the operation of submitting the first data in the data buffer to the upper layer in the order of the sequence numbers can be performed by a reordering component deployed in the receiving device.

[0071] In one embodiment, the first data may include, but is not limited to, at least one of an IP data packet, a high-layer signaling, and L2 internal data. When the first data includes an IP data packet, and a QoS flow demapping component is also deployed on the receiving end device, before forwarding the first data in the data buffer, the QoS flow demapping component may further perform QoS flow demapping on the IP data packet. For example, the header decompression processing component may first perform header decompression processing on the IP data packet to obtain a header-decompressed IP data packet. The QoS flow demapping component may then perform QoS flow demapping on the header-decompressed IP data packet to obtain a QoS flow demapping IP data packet. The QoS flow demapping component may then perform QoS flow demapping on the header-decompressed IP data packet to obtain a QoS flow demapping IP data packet. The QoS flow demapping IP data packet may then be forwarded.

[0072] The data forwarding method provided in the embodiment of the present application is described in detail below using an example.

[0073] For example, as shown in Figure 4, Figure 4 is a schematic diagram of the system architecture of a transmitting device for executing a data forwarding method provided by an embodiment of the present application. In the system architecture of the transmitting device shown in Figure 4, a QoS flow mapping component, a header compression processing component, a security processing component, a transport block generation component, an ARQ / HARQ component, a data buffer, a HARQ buffer, and a coding buffer can be deployed, wherein the header compression processing component and the HARQ buffer are optional, that is, the transmitting device can deploy the header compression processing component and the HARQ buffer, or it can not deploy the header compression processing component and the HARQ buffer, and can make an appropriate choice according to the actual application situation, which is not limited here.

[0074] In Figure 4, the use of a data cache area is conducive to the unified management of the data cache. That is, the various functions can be componentized, that is, the QoS flow mapping function, header compression function, security processing function, transmission block generation function, ARQ / HARQ function, etc. are componentized. There is no need to use multiple protocol layers in related technologies. The unified data cache area can be directly operated by various functional components, which can save the multiple data copying methods in related technologies, thereby effectively reducing memory consumption and reducing data processing delays.

[0075] In Figure 4, the data buffer can be used to cache data, including but not limited to IP packets, higher-layer signaling, and L2 internal data. When data reaches the forwarding plane protocol stack, it is stored in the data buffer. Each functional component can read and write data in the data buffer via the data bus or other data access interfaces.

[0076] In Figure 4, when the transmitting device is equipped with an independent HARQ buffer, the HARQ buffer can be used to cache pre-assembled transport blocks before encoding. When HARQ retransmission is required, the transport blocks to be retransmitted can be read from the HARQ buffer. Furthermore, when HARQ does not require multiplexing of multiple logical channels, the data buffer can be used as the HARQ buffer. In this case, the transmitting device does not need to deploy an independent HARQ buffer.

[0077] In FIG4 , the coding buffer can be used to store the coded transport blocks.

[0078] In Figure 4, the transmission block generation component can also read the data in the data buffer area and generate a transmission block based on the data transmission authorization and the data status maintained by the ARQ / HARQ component (for example, whether the data is valid, whether the data has been sent, whether the data has been confirmed to be received, etc.).

[0079] Based on the system architecture shown in Figure 4, when an IP packet enters the transmitting device, QoS flow mapping is first performed to match it to the corresponding logical channel and the SN associated with that logical channel. After the IP packet is matched to the SN associated with the logical channel, it is cached in the target sub-data buffer in the data buffer corresponding to the SN associated with the logical channel. Header compression (if a header compression processing component is deployed) and data security processing are then performed on the IP packet stored in the data buffer in the offline processing state. After receiving a data transmission authorization, the system enters the online processing state and generates a transport block from the IP packet in the data buffer based on the ARQ / HARQ results. The transport block is then encoded and sent to the PHY for external forwarding. Throughout this process, each functional component directly reads data from the data buffer.

[0080] Based on the system architecture shown in Figure 4, when high-level signaling enters the transmitting device, the logical channel and the SN associated with the high-level signaling are first determined, and the high-level signaling is cached in the target sub-data buffer corresponding to the SN associated with the logical channel in the data buffer. The high-level signaling stored in the data buffer is then processed for data security in the offline processing state. Upon receiving a data transmission authorization, the device enters the online processing state and generates a transport block from the high-level signaling in the data buffer based on the ARQ / HARQ results. The transport block is then encoded and sent to the PHY for external forwarding. Throughout this process, each functional component directly reads data from the data buffer.

[0081] Based on the system architecture shown in Figure 4, after L2 internal data enters the transmitting device, it is first determined whether the L2 internal data needs to be added with a SN and whether header compression processing is required. Among them, L2 internal data with a small data volume (i.e., small data packets generated within Layer 2) needs to have a SN added, while L2 internal data with a large data volume (such as large data blocks such as large files) does not need to have a SN added. If it is determined that no SN is needed, after determining the logical channel corresponding to the L2 internal data, the L2 internal data can be directly cached in the target sub-data cache corresponding to the logical channel in the data cache. Then, data security processing is performed on the L2 internal data stored in the data cache in an offline or online processing state. After receiving the data transmission authorization, the online processing state is entered, and the L2 internal data in the data cache is generated into a transmission block based on the ARQ / HARQ result. The transmission block is then encoded and sent to the PHY for external forwarding. Throughout the entire process, each functional component directly reads the data in the data cache.

[0082] For example, as shown in Figure 5, Figure 5 is a schematic diagram of the working principle of the transmission block generation component provided in an embodiment of the present application. In Figure 5, the transmission block generation component can be in two working states during operation: offline processing state and online processing state. The online processing state refers to the state between receiving the data transmission authorization and performing transmission block generation processing on the data in the data buffer area to obtain the transmission block; the offline processing state refers to the state before receiving the data transmission authorization.

[0083] In Figure 5, assume that data A and data B are cached in the data buffer. Data A and data B are data from different logical channels. Data A has a data subheader A1 and a data payload A2, while data B has a data subheader B1 and a data payload B2. When the first data transmission grant is received, the system enters the online processing state. In this online processing state, if the authorized data volume determined by the first data transmission grant is greater than the data volume of data A, part of data B can be reused. In other words, data payload B2 of data B needs to be segmented. After segmenting data payload B2 of data B to obtain data segment B21 and remaining data B22, a transmission block to be transmitted is formed based on data A, data sub-header B1, and data segment B21. Since data A does not need to be segmented, data sub-header A1 does not need to be modified. However, since data segment B21 is the segmented data and is the first data segment, data sub-header B1 needs to be modified (for example, the SI, SO, and length fields in data sub-header B1 are modified). At this point, transmission block 1 to be transmitted is obtained. After generating transmission block 1, an offline processing state is entered. In this offline processing state, data sub-header B1 stored in the data buffer can be modified based on remaining data B22. For example, the SI, SO, and length fields in data sub-header B1 stored in the data buffer can be modified based on remaining data B22. When the second data transmission authorization is received, the system enters the online processing state. In this online processing state, when it is determined based on the second data transmission authorization that the authorized data amount is exactly the amount of data sub-header B1 plus the remaining data B22, it can be determined that the remaining data B22 does not need to be re-segmented. Therefore, in the current online processing state, the data sub-header B1 does not need to be modified. Therefore, based on the data sub-header B1 and the remaining data B22 currently stored in the data cache area, the transmission block 2 that currently needs to be transmitted can be obtained.

[0084] For example, as shown in Figure 6, Figure 6 is a schematic diagram of the system architecture of a receiving device for executing a data forwarding method provided by an embodiment of the present application. In the system architecture of the receiving device shown in Figure 6, a QoS flow inverse mapping component, a de-header compression processing component, a reordering component, a security processing component, a transport block parsing component, an ARQ / HARQ component, a data buffer, and a decoding buffer can be deployed, wherein the de-header compression processing component and the reordering component are optional. That is, the de-header compression processing component and the reordering component can be deployed in the receiving device, or they can be not deployed. The appropriate selection can be made according to the actual application situation and is not limited here.

[0085] In Figure 6, the use of a data cache area is conducive to the unified management of the data cache. That is, the various functions can be componentized, that is, the QoS flow inverse mapping function, de-header compression function, reordering function, security processing function, transmission block parsing function, ARQ / HARQ function, etc. are componentized. There is no need to use multiple protocol layers in related technologies. The unified data cache area can be directly operated by various functional components, which can save the multiple data copying methods in related technologies, thereby effectively reducing memory consumption and reducing data processing delays.

[0086] In FIG6 , the decoding buffer can be used to store soft information before decoding.

[0087] In Figure 6, the data buffer can be used to cache data obtained after transport block parsing. After the transport block parsing component completes parsing of a transport block, it caches the parsed data in the data buffer. Furthermore, the security processing component, reordering component, and header decompression processing component can also directly read data from the data buffer.

[0088] In FIG6 , the ARQ / HARQ component can be used to reply an ARQ result and a HARQ result to the transmitting device.

[0089] 7 , an embodiment of the present application further discloses a network device, wherein the network device 700 includes a memory 710, a processor 720, and a computer program stored on the memory 710 and executable on the processor 720. When the processor 720 executes the computer program, the data forwarding method as in any of the previous embodiments is implemented.

[0090] In addition, an embodiment of the present application further discloses a computer-readable storage medium, which stores computer-executable instructions, and the computer-executable instructions are used to execute the data forwarding method in any of the previous embodiments.

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

[0092] Those skilled in the art will appreciate that all or some of the steps and systems in the method disclosed above can be implemented as software, firmware, hardware, and appropriate combinations thereof. Some physical components or all physical components can be implemented as software executed by a processor, such as a central processing unit, a digital signal processor, or a microprocessor, or implemented as hardware, or implemented as an integrated circuit, such as an application-specific integrated circuit. Such software can be distributed on a computer-readable medium, and the computer-readable medium can include computer storage media (or non-transitory media) and communication media (or temporary media). As known to those skilled in the art, the term computer storage media is included in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data) and is volatile and non-volatile, removable, and non-removable. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory, or other memory technology, CD-ROM, digital versatile disks (DVD), or other optical disk storage, magnetic cassettes, magnetic tapes, disk storage, or other magnetic storage devices, or any other medium that can be used to store desired information and can be accessed by a computer. Furthermore, as is well known to those skilled in the art, communication media typically embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism, and may include any information delivery media.

[0093] The above is an explanation of the preferred implementation of the present application, but the present application is not limited to the above implementation mode. Technical personnel familiar with the field can also make various equivalent modifications or substitutions without violating the spirit of the present application. These equivalent modifications or substitutions are all included in the scope defined by the claims of the present application.

Claims

1. A data forwarding method, comprising: Get the data to be transmitted; Adding a data subheader to the data to be transmitted to obtain first data, and caching the first data in a data cache area; When a data transmission authorization is received, a transmission block generation process is performed on the data in the data buffer area to obtain a transmission block, wherein the transmission block is cached in the data buffer area or in the HARQ buffer area; The transport block is forwarded.

2. The method according to claim 1, wherein: The adding a data sub-header to the data to be transmitted to obtain first data, and caching the first data in a data cache area, comprises: Determine a target logical channel and a data subheader corresponding to the data to be transmitted; Determine, according to the target logical channel, a target sub-data buffer area corresponding to the data to be transmitted in the data buffer area; Adding a data subheader to the data to be transmitted to obtain first data; The first data is cached in the target sub-data cache area.

3. The method according to claim 2, wherein: When the data to be transmitted includes an IP data packet, determining a target logical channel corresponding to the data to be transmitted includes: Perform QoS flow mapping on the IP data packet and match the IP data packet to the corresponding target logical channel.

4. The method according to claim 2, wherein: When the data to be transmitted includes at least one of the following, the target sub-data buffer area corresponds to a corresponding sequence number in the target logical channel corresponding to the data to be transmitted: IP packets; High-level signaling; L2 internal data that needs to have a sequence number added.

5. The method according to claim 2, wherein: When the data to be transmitted includes L2 internal data to which a sequence number does not need to be added, the target sub-data buffer area corresponds to the target logical channel corresponding to the data to be transmitted.

6. The method according to claim 1, wherein: When the data to be transmitted includes an IP data packet, the method further includes: Perform header compression processing on the IP data packet.

7. The method according to claim 1, wherein: The method further comprises one of the following: Before receiving the data transmission authorization, performing data security processing on the first data in the data buffer area to obtain second data, wherein the second data is the data in the data buffer area used for performing the transmission block generation process; After receiving the data transmission authorization, the first data is segmented according to the data transmission authorization to obtain data segments, and then the data segments are subjected to data security processing to obtain third data, wherein the third data is the data in the data buffer area used for performing the transmission block generation processing.

8. The method according to claim 1, wherein: In the process of performing transmission block generation processing on the data in the data buffer area, the method further includes: Determining whether it is necessary to segment or re-segment the data in the data buffer area; When it is necessary to segment or re-segment the data in the data buffer area, modify the data sub-header in the data buffer area; Alternatively, when there is no need to segment or re-segment the data in the data buffer area, the data sub-header in the data buffer area is not modified.

9. The method according to claim 1, wherein: After performing transmission block generation processing on the data in the data buffer area to obtain the transmission block, the method further includes: The data subheader in the data buffer area is modified according to the remaining data in the data buffer area.

10. The method according to claim 1, wherein: The data in the data buffer area corresponds to a data status tag, and the data status tag is used to determine whether the data in the data buffer area needs to be sent or retransmitted.

11. The method according to claim 10, wherein: The data status tag includes at least one of the following: Data sending status label; ARQ confirmation status tag; HARQ acknowledgment status tag.

12. A data forwarding method, comprising: Acquire a transmission block, wherein the transmission block includes a data subheader; Performing transport block parsing processing on the transport block according to the data subheader, and caching the parsed data into a data buffer area; Performing data security inverse processing on the data in the data cache area so that the data in the data cache area is updated to the first data; The first data in the data buffer area is forwarded.

13. The method according to claim 12, wherein: The step of caching the parsed data into a data cache area includes: Determine a target logical channel corresponding to the data obtained after parsing; Determine, according to the target logical channel, a target sub-data buffer area in the data buffer area corresponding to the data obtained after parsing; The data obtained after parsing is cached in the target sub-data cache area.

14. The method according to claim 13, wherein: The data in the data buffer area that is subjected to the data security inverse processing includes one of the following: Data segments under the same target logical channel; The data obtained after all data segments under the same target logical channel are collected.

15. The method according to claim 12, wherein: When the first data corresponds to a sequence number, before forwarding the first data in the data buffer area, the method further includes: The first data in the data buffer area is delivered to an upper layer in the order of the sequence numbers.

16. The method according to claim 12, wherein: When the first data includes an IP data packet, before forwarding the first data in the data buffer area, the method further includes: The IP data packet is subjected to header decompression processing.

17. The method according to claim 12, wherein: When the first data includes an IP data packet, before forwarding the first data in the data buffer area, the method further includes: Perform QoS flow inverse mapping on the IP data packet.

18. The method according to claim 12, wherein: The first data includes at least one of the following: IP packets; High-level signaling; L2 internal data.

19. A network device comprising: A memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the data forwarding method according to any one of claims 1 to 18 when executing the computer program.

20. A computer-readable storage medium storing computer-executable instructions, wherein the computer-executable instructions are used to execute the data forwarding method according to any one of claims 1 to 18.

Citation Information

Patent Citations

  • Data forwarding method, network equipment and storage medium

    CN120110615A

  • Data transmission method and device, equipment and storage medium

    CN111163081A

  • Millimeter wave base station RLC layer data transmission method and device

    CN114666830A

  • Data processing method, device and equipment applied to media access control layer

    CN115766909A

  • Data processing method and device based on DPDK

    CN116225671A