Data processing method and apparatus, device, and readable storage medium
By generating and parsing PDUs by adding or not adding identifiers to the 5G user plane higher-layer protocol stack, the problem of the receiving end correctly parsing the protocol layers or functional modules through which data packets pass is solved, thereby saving air interface resources and improving data processing efficiency.
Patent Information
- Application Number
- PCT/CN2025/106656
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-08-27
- Filing Date
- 2025-07-02
- Publication Date
- 2026-03-05
AI Technical Summary
In the 5G user plane high-layer protocol stack, existing technologies have not been able to effectively solve the problem of reducing air interface resource overhead, especially in flexible and modular protocol stacks, and ensuring that the receiving end can correctly parse the protocol layers or functional modules through which data packets pass.
By adding or removing identifiers in the target protocol layer or functional module at the sending end, depending on whether data is being processed, a PDU is generated. At the receiving end, the data packet is parsed based on the identifier, ensuring that the receiving end correctly parses the protocol layer or functional module through which the data has passed.
It effectively saves air interface resources, ensures that the receiving end can correctly parse data, and reduces unnecessary processing delays and overhead.
Smart Images

Figure CN2025106656_05032026_PF_FP_ABST
Abstract
Description
A data processing method, apparatus, device, and readable storage medium
[0001] This disclosure claims priority to Chinese Patent Application No. 202411183809.2, filed with the Chinese Patent Office on August 27, 2024, entitled “A data processing method, apparatus, device and readable storage medium”, the entire contents of which are incorporated herein by reference. Technical Field
[0002] This disclosure relates to the field of communication technology, and in particular to a data processing method, apparatus, device and readable storage medium. Background Technology
[0003] As shown in Figure 1, the 5G user plane high-layer protocol stack includes: Service Data Adaptation Protocol (SDAP), Packet Data Convergence Protocol (PDCP), Radio Link Control (RLC), and Medium Access Control (MAC) layers.
[0004] As shown in Figure 2, the Layer 2 data flow is as follows: When higher-layer data passes through each layer, each layer processes it separately, adds a header, and sends it to the next layer. Finally, it is organized into a MAC Protocol Data Unit (PDU) and transmitted to the physical layer. The data entering each layer's protocol stack is called a Service Data Unit (SDU). The data processed and input to the next layer is called a PDU. For example, the input to the PDCP layer is a PDCP SDU, and the output is a PDCP PDU; a PDCP PDU input to the RLC layer is an RLC SDU, and the RLC layer outputs an RLC PDU, and so on.
[0005] In air interface data transmission, the transmitting end needs to pass through multiple higher-level protocol stacks for processing. Each protocol stack adds its own header after necessary processing. For modular data transmission methods, each module adds a corresponding sub-header to the data packet so that the receiving end's corresponding module can correctly parse it. For flexible and modular protocol stacks, some protocol layers or functions may not process the data packet, thus saving processing latency and overhead. However, in this case, how to enable the receiving end to know which protocol layers or functions the data packet has passed through, and thus correctly parse the data packet to save air interface resource overhead, is a technical problem that needs to be solved. Summary of the Invention
[0006] This disclosure provides a data processing method, apparatus, device, and readable storage medium to reduce air interface resource overhead.
[0007] In a first aspect, embodiments of this disclosure provide a data processing method applied at a sending end, comprising:
[0008] For a target protocol layer or functional module, if no data processing is performed, the PDU of the target protocol layer or functional module is obtained based on the SDU from the preceding protocol layer or module; or,
[0009] For the target protocol layer or functional module, if data is to be processed, the SDU is processed and the identifier of the target protocol layer or functional module is added to obtain the PDU of the target protocol layer or functional module.
[0010] In some embodiments, if no data processing is performed, obtaining the Protocol Data Unit (PDU) of the target protocol layer or functional module based on the Service Data Unit (SDU) from the previous protocol layer or module of the target protocol layer or functional module includes:
[0011] If the target protocol layer or functional module is the first protocol layer or functional module and the target protocol layer or functional module is optional, add the header of the target protocol layer or functional module, and obtain the PDU of the target protocol layer or functional module based on the header and the SDU; wherein, the header includes an original data identifier or an end identifier; or
[0012] If the target protocol layer or functional module is not the first protocol layer or functional module, the SDU is directly used as the PDU of the target protocol layer or functional module.
[0013] In some embodiments, if no data processing is performed, obtaining the Protocol Data Unit (PDU) of the target protocol layer or functional module based on the Service Data Unit (SDU) from the previous protocol layer or module of the target protocol layer or functional module includes:
[0014] If the target protocol layer or functional module is the first protocol layer or functional module and the target protocol layer or functional module is optional, add the original data identifier or end identifier to the layer or functional module identifier list to obtain an updated layer or functional module identifier list. Based on the updated layer or functional module identifier list and the SDU, obtain the PDU of the target protocol layer or functional module; or
[0015] If the target protocol layer or functional module is not the first protocol layer or functional module, the SDU is directly used as the PDU of the target protocol layer or functional module.
[0016] In some embodiments, if data is processed, the process involves processing the SDU and adding the identifier of the target protocol layer or functional module to obtain the PDU of the target protocol layer or functional module, including:
[0017] The SDU is processed and a header of the target protocol layer or functional module is added to obtain the PDU; wherein the header includes the identifier of the target protocol layer or functional module.
[0018] In some embodiments, if the target protocol layer or functional module is the last protocol layer or functional module, the method further includes:
[0019] If the target protocol layer or function is a required protocol layer or function module, determine whether to add the identifier of the target protocol layer or function module to the header based on the configuration information.
[0020] In some embodiments, the identifier of the target protocol layer or functional module is set at a designated location in the header, the designated location including any of the following:
[0021] The first N bits of the header;
[0022] The target bit of the target byte in the header;
[0023] The last N bits of the header;
[0024] Where N is an integer greater than or equal to 1.
[0025] In some embodiments, the step of processing the data, adding the identifier of the target protocol layer or functional module, and obtaining the PDU of the target protocol layer or functional module based on the identifier and the SDU from the previous protocol layer or module includes:
[0026] Add the identifier of the target protocol layer or functional module to the layer or functional module identifier list to obtain an updated layer or functional module identifier list, which is carried in the SDU;
[0027] The data packet is processed based on the portion of the SDU excluding the layer or functional module identifier list, and the header of the target protocol layer or functional module is added to obtain the processed data packet.
[0028] The PDU is obtained based on the processed data packet and the updated list of layer or functional module identifiers.
[0029] In some embodiments, the list of layer or functional module identifiers is located in the first M bits or the last M bits of the PDU, where M is an integer greater than or equal to 1.
[0030] In some embodiments, the list of layer or functional module identifiers occupies a whole byte; or
[0031] The sum of the length of the SDU of the target protocol layer or functional module and the length of the layer or functional module identifier list is an integer byte.
[0032] The length of the header of the target protocol layer or functional module is the difference between the length of the integer bytes and the length of the updated layer or functional module identifier list.
[0033] In some embodiments, if the sending end is a terminal, the method further includes:
[0034] Receive configuration information from network devices, wherein the configuration information includes one or more of the following:
[0035] Information on optional protocol layers or functional modules;
[0036] Information on required protocol layers or functional modules;
[0037] Original data identifier or end identifier;
[0038] The order of protocol layers or functional modules.
[0039] In some embodiments, if the sending end is a network device, the method further includes:
[0040] Send configuration information to the terminal, wherein the configuration information includes one or more of the following:
[0041] Information on optional protocol layers or functional modules;
[0042] Information on required protocol layers or functional modules;
[0043] Original data identifier or end identifier;
[0044] The order of protocol layers or functional modules.
[0045] Secondly, embodiments of this disclosure provide a data processing method applied at a receiving end, comprising:
[0046] At the target protocol layer or functional module, if the received PDU includes the identifier of the target protocol layer or functional module, the PDU is parsed and the parsed PDU is submitted to the higher protocol layer or functional module; if the received PDU does not include the identifier of the target protocol layer or functional module, the PDU is submitted to the higher protocol layer or functional module.
[0047] In some embodiments, if the target protocol layer or functional module is the last protocol layer or functional module, the step of delivering the PDU to a higher protocol layer or functional module if the received PDU does not include the identifier of the target protocol layer or functional module includes:
[0048] If the PDU includes the original data identifier or end identifier of the target protocol layer or functional module, the portion of the PDU after removing the original data identifier or end identifier is submitted as the target protocol layer or functional module SDU to the higher protocol layer or functional module; or
[0049] If the PDU includes the original data identifier or the end identifier, the portion of the PDU after removing the layer or functional module identifier list is submitted to the higher protocol layer or functional module as the target protocol layer or functional module SDU, wherein the layer or functional module identifier list includes the original data identifier or the end identifier.
[0050] In some embodiments, if the target protocol layer or functional module is not the last protocol layer or functional module, the identifier of the target protocol layer or functional module is located in the layer or functional module identifier list;
[0051] The step of parsing the PDU includes:
[0052] Obtain the list of layer or functional module identifiers from the PDU;
[0053] Remove the identifier of the target protocol layer or functional module from the layer or functional module identifier list to obtain an updated layer or functional module identifier list;
[0054] The PDU is parsed to obtain a parsed data packet, and the updated layer or functional module identifier list is added to the parsed data packet.
[0055] In some embodiments, the list of layer or functional module identifiers is located in the first M bits or the last M bits of the PDU, where M is an integer greater than or equal to 1.
[0056] In some embodiments, if the receiving end is a terminal, the method further includes:
[0057] Receive configuration information sent by a network device, wherein the configuration information includes one or more of the following:
[0058] Information on optional protocol layers or functional modules;
[0059] Information on required protocol layers or functional modules;
[0060] Original data identifier or end identifier;
[0061] The order of protocol layers or functional modules.
[0062] In some embodiments, if the receiving end is a network device, the method further includes:
[0063] Send configuration information to the terminal, wherein the configuration information includes one or more of the following:
[0064] Information on optional protocol layers or functional modules;
[0065] Information on required protocol layers or functional modules;
[0066] Original data identifier or end identifier;
[0067] The order of protocol layers or functional modules.
[0068] Thirdly, embodiments of this disclosure provide a data processing apparatus applied at a transmitting end, comprising: a memory, a transceiver, and a processor.
[0069] A memory for storing computer programs; a transceiver for sending and receiving data under the control of the processor; and a processor for reading the computer programs from the memory and performing the following operations:
[0070] For a target protocol layer or functional module, if no data processing is performed, the PDU of the target protocol layer or functional module is obtained based on the SDU from the preceding protocol layer or module; or,
[0071] For the target protocol layer or functional module, if data is to be processed, the SDU is processed and the identifier of the target protocol layer or functional module is added to obtain the PDU of the target protocol layer or functional module.
[0072] Fourthly, embodiments of this disclosure provide a data processing apparatus for use at a receiving end, comprising: a memory, a transceiver, and a processor.
[0073] A memory for storing computer programs; a transceiver for sending and receiving data under the control of the processor; and a processor for reading the computer programs from the memory and performing the following operations:
[0074] At the target protocol layer or functional module, if the received PDU includes the identifier of the target protocol layer or functional module, the PDU is parsed and the parsed PDU is submitted to the higher protocol layer or functional module; if the received PDU does not include the identifier of the target protocol layer or functional module, the PDU is submitted to the higher protocol layer or functional module.
[0075] Fifthly, embodiments of this disclosure provide a data processing apparatus applied at a transmitting end, comprising:
[0076] The first unit is used to, for a target protocol layer or functional module, if no data processing is performed, obtain the PDU of the target protocol layer or functional module based on the SDU from the previous protocol layer or module; or,
[0077] The second unit is used to process the data of the target protocol layer or functional module by processing the SDU and adding the identifier of the target protocol layer or functional module to obtain the PDU of the target protocol layer or functional module.
[0078] Sixthly, embodiments of this disclosure provide a data processing apparatus applied at a receiving end, comprising:
[0079] The first unit is configured to, at the target protocol layer or functional module, if the received PDU includes the identifier of the target protocol layer or functional module, parse the PDU and submit the parsed PDU to the higher protocol layer or functional module; if the received PDU does not include the identifier of the target protocol layer or functional module, submit the PDU to the higher protocol layer or functional module.
[0080] In a seventh aspect, embodiments of this disclosure also provide a processor-readable storage medium storing a computer program that, when executed by a processor, implements the steps of the data processing method described above.
[0081] In this embodiment of the disclosure, the protocol layer or functional module of the sending end can be identified according to whether it processes the data, so that the receiving end can clearly identify the protocol layer or functional module through which the received data has passed, thereby correctly parsing the received data and saving air interface resources. Attached Figure Description
[0082] Figure 1 is a schematic diagram of the user plane protocol stack of related technologies;
[0083] Figure 2 is a schematic diagram of the Layer 2 data flow;
[0084] Figure 3 is a flowchart of one of the data processing methods provided in the embodiments of this disclosure;
[0085] Figure 4 is a second flowchart of the data processing method provided in the embodiments of this disclosure;
[0086] Figure 5 is a schematic diagram of the SDAP PDU format;
[0087] Figure 6 is a schematic diagram of PDCP PDU format;
[0088] Figure 7(a) is a schematic diagram of the MAC layer containing layer ID;
[0089] Figure 7(b) is a schematic diagram of the MAC layer without layer ID;
[0090] Figure 8 is a schematic diagram of the PDU format for the QoS flow mapping function;
[0091] Figure 9 is a schematic diagram of the PDU format for integrity protection function;
[0092] Figure 10 is a schematic diagram of the PDU format for the segmented reassembly function;
[0093] Figure 11 is a schematic diagram of the SDAP PDU format;
[0094] Figure 12 is a schematic diagram of PDCP PDU format;
[0095] Figure 13 is a schematic diagram of the MAC PDU format;
[0096] Figure 14 is a schematic diagram of the MAC layer identifier list;
[0097] Figure 15 is a schematic diagram of the PDU format for the QoS flow mapping function;
[0098] Figure 16 is a schematic diagram of the PDU format for the segmented reassembly function;
[0099] Figure 17 is a schematic diagram of the PDU that performs encryption, integrity protection and in-order delivery functions at the PDCP layer;
[0100] Figure 18 is a schematic diagram of the PDU performing ROHC compression, encryption, and sequential delivery functions in the PDCP layer;
[0101] Figure 19 is a schematic diagram of a PDU that performs ROHC header compression, encryption, integrity protection, and in-order delivery functions in the PDCP layer;
[0102] Figure 20 is a schematic diagram of PDCP PDU format;
[0103] Figure 21 is a structural diagram of a data processing apparatus provided in an embodiment of this disclosure;
[0104] Figure 22 is a second structural diagram of the data processing apparatus provided in an embodiment of this disclosure;
[0105] Figure 23 is a third structural diagram of the data processing apparatus provided in an embodiment of this disclosure;
[0106] Figure 24 is a fourth structural diagram of the data processing apparatus provided in the embodiments of this disclosure. Detailed Implementation
[0107] In this disclosure, the term "and / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent three cases: A alone, A and B simultaneously, and B alone. The character " / " generally indicates that the preceding and following related objects have an "or" relationship.
[0108] In this disclosure, the term "multiple" refers to two or more, and other quantifiers are similar.
[0109] The technical solutions of the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this disclosure, and not all embodiments. Based on the embodiments of this disclosure, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this disclosure.
[0110] This disclosure provides a data processing method and apparatus to save air interface resources.
[0111] The method and apparatus are based on the same concept of the application. Since the methods and apparatus solve problems in similar ways, the implementation of the apparatus and methods can refer to each other, and the repeated parts will not be described again.
[0112] Referring to Figure 3, which is a flowchart of a data processing method provided in an embodiment of this disclosure, applied to a sending end, wherein the sending end can be a network device (such as a base station) or a terminal. As shown in Figure 3, the method includes the following steps:
[0113] Step 301: For the target protocol layer or functional module, if no data processing is performed, obtain the PDU of the target protocol layer or functional module based on the SDU from the previous protocol layer or module; or, for the target protocol layer or functional module, if data processing is performed, process the SDU and add the identifier of the target protocol layer or functional module to obtain the PDU of the target protocol layer or functional module.
[0114] The target protocol layer or functional module can be any protocol layer or functional module.
[0115] Whether or not data processing is required depends on the network device's configuration information. If a certain protocol layer or function module is a mandatory protocol layer or function module in the network device's configuration, then that protocol layer or function module must process the data; if a certain protocol layer or function module is an optional protocol layer or function module in the network device's configuration, then that protocol layer or function module can decide for itself whether or not to process the data.
[0116] Alternatively, whether or not data processing is required can be determined based on whether a particular protocol layer or functional module is mandatory according to the agreement. For example, if the agreement stipulates that a certain protocol layer or functional module is mandatory, then that protocol layer or functional module must process the data; if the agreement stipulates that a certain protocol layer or functional module is optional, then that protocol layer or functional module can decide for itself whether or not to process the data.
[0117] In this disclosure, there are the following different implementation methods:
[0118] Method 1: For protocol layers or functional modules with a fixed order, assign an identifier to each protocol layer or functional module. If the first protocol layer or functional module is optional, then an identifier needs to be assigned to the raw data portion or an end identifier needs to be configured. If the first protocol layer or functional module is mandatory, then it is not necessary to assign an identifier to the raw data portion or assign an end identifier.
[0119] For example, the user plane protocol layers and their order include SDAP, PDCP, RLC, and MAC layers. SDAP is optional (layer identifier '00'), PDCP is optional (layer identifier '01'), RLC is optional (layer identifier '10'), and MAC is mandatory and the last layer. Since SDAP is optional, the raw data identifier is assigned as '11' for accurate data extraction at the receiving end.
[0120] The sending end processes each data packet sequentially through each protocol layer or functional module. If a protocol layer or functional module does not process the data packet, it directly forwards the data packet to the next protocol layer or functional module; otherwise, the protocol layer or functional module processes and assembles the data packet, including the identifier of the assigned protocol layer or functional module in the header and generating the PDU of that protocol layer or functional module. For the first protocol layer or functional module, if it does not process the data packet, it adds a header containing the original data identifier or the end identifier, and then sends it to the next protocol layer or functional module.
[0121] Specifically, if no data processing is performed, the Protocol Data Unit (PDU) of the target protocol layer or functional module is obtained based on the SDU from the previous protocol layer or module of the target protocol layer or functional module, including:
[0122] If the target protocol layer or functional module is the first protocol layer or functional module and the target protocol layer or functional module is optional, add the header of the target protocol layer or functional module, and obtain the PDU of the target protocol layer or functional module based on the header and the SDU; wherein the header includes an original data identifier or an end identifier; or, if the target protocol layer or functional module is not the first protocol layer or functional module, directly use the SDU as the PDU of the target protocol layer or functional module.
[0123] For the above example, if no data processing is performed, for the SDAP layer, since it is the first protocol layer, the original data identifier '11' can be added to the header of the SDAP layer, and the PDU of the SDAP layer can be obtained based on the header and the SDU; for other layers, if no data processing is performed, the SDU can be directly used as the PDU of the corresponding protocol layer or functional module.
[0124] If the data is processed, based on the SDU, the identifier of the target protocol layer or functional module is added to obtain the PDU of the target protocol layer or functional module, including:
[0125] The SDU is processed and a header of the target protocol layer or functional module is added to obtain the PDU; wherein the header includes the identifier of the target protocol layer or functional module.
[0126] If the target protocol layer or function is a required protocol layer or function module and is the last protocol layer or function module, the system determines whether to add the identifier of the target protocol layer or function module to the header based on the configuration information. This configuration information can be the network device's configuration information or default configuration information.
[0127] In the above example, if data processing is required, for the SDAP layer, a layer identifier '00' can be added to the SDAP layer header. For the MAC layer, if the network device's configuration information determines that a layer identifier is not needed, then no layer identifier is added to the MAC layer header.
[0128] In this embodiment of the disclosure, the identifier of the target protocol layer or functional module is set at a designated location in the header, and the designated location includes any one of the following:
[0129] The first N bits of the header; the target bits of the target byte (e.g., the first byte, where X is greater than or equal to 1); the last N bits of the header; where N is an integer greater than or equal to 1. Other specified positions are not limited here.
[0130] The length of the target protocol layer or functional module identifier is related to the number of protocol layers or functional modules. For example, if no original data identifier or end identifier is needed, the identifier length of the target protocol layer or functional module is 2 bits if 1-4 protocol layers or functional modules are included, 3 bits if 5-8 protocol layers or functional modules are included, and so on. If an original data identifier or end identifier is needed, the identifier length of the target protocol layer or functional module is 2 bits if 1-3 protocol layers or functional modules are included, 3 bits if 4-7 protocol layers or functional modules are included, and so on.
[0131] Method 2: Use the first or last M bits (M greater than or equal to 1) of the PDU as a layer or functional module identifier list header. This header is independent of each protocol layer or functional module and is used to carry the layer or functional module identifier list. This layer or functional module identifier list may include the identifiers of one or more protocol layers or functional modules, the original data identifier, or the end identifier, depending on the circumstances.
[0132] If the first protocol layer or functional module is optional, it must end with either the original data identifier or an end identifier. If the first protocol layer or functional module is mandatory, it ends with the identifier of the first protocol layer or functional module. At the sending end, only the protocol layer or functional module that processes the data packet needs to add its own identifier to the layer or functional module identifier list header.
[0133] In this case, if no data processing is performed, the PDU of the target protocol layer or functional module is obtained based on the SDU from the previous protocol layer or module of the target protocol layer or functional module, including:
[0134] If the target protocol layer or functional module is the first protocol layer or functional module and the target protocol layer or functional module is optional, add the original data identifier or end identifier to the layer or functional module identifier list to obtain an updated layer or functional module identifier list, and obtain the PDU of the target protocol layer or functional module based on the updated layer or functional module identifier list and the SDU; or, if the target protocol layer or functional module is not the first protocol layer or functional module, directly use the SDU as the PDU of the target protocol layer or functional module.
[0135] For example, the user plane protocol layers and their order include SDAP, PDCP, RLC, and MAC layers. SDAP is optional, with the corresponding layer identifier '000'; PDCP is optional, with the corresponding layer identifier '001'; RLC is optional, with the corresponding layer identifier '010'; and MAC is mandatory, with the corresponding layer identifier '011'. Since SDAP is optional, the raw data identifier is assigned '110' for the receiving end to accurately extract data.
[0136] If the SDAP layer is optional and no data is processed, then add "110" to the layer or functional module identifier list.
[0137] If the data is processed, the identifier of the target protocol layer or functional module is added, and the PDU of the target protocol layer or functional module is obtained based on the identifier and the SDU from the previous protocol layer or module, including:
[0138] The identifier of the target protocol layer or functional module is added to the layer or functional module identifier list to obtain an updated layer or functional module identifier list, which is carried in the SDU. Then, the portion of the SDU excluding the layer or functional module identifier list is processed, and the header of the target protocol layer or functional module is added to obtain a processed data packet. Finally, the PDU is obtained based on the processed data packet and the updated layer or functional module identifier list.
[0139] Based on the above examples, if the SDAP layer is optional and processes data, then "000" is added to the layer or functional module identifier list. If the PDCP layer is optional and processes data, then "001" is added to the layer or functional module identifier list after processing by the SDAP layer.
[0140] The layer or functional module identifier list is located in the first M bits or the last M bits of the PDU, where M is an integer greater than or equal to 1. The layer or functional module identifier list can also form the layer or functional module identifier list header.
[0141] The length of this layer or functional module identifier depends on the number of protocol layers or functional modules. For example, if no original data identifier or end identifier is needed, the layer or functional module identifier is 2 bits long if 1-4 protocol layers or functional modules are included, 3 bits long if 5-8 protocol layers or functional modules are included, and so on. If an original data identifier or end identifier is needed, the layer or functional module identifier is 2 bits long if 1-3 protocol layers or functional modules are included, 3 bits long if 4-7 protocol layers or functional modules are included, and so on. The length of the layer / functional identifier list header depends on the number of protocol layers or functional modules processing the packet.
[0142] In this approach, the layer or functional module identifier list header does not occupy the header of each layer, but this may result in data fields not being whole bytes. To avoid this, byte alignment can be performed. Byte alignment can be achieved in at least the following ways:
[0143] 1. The layer or functional module identifier list occupies a whole byte. For example, the last Y byte is reserved as the header of the layer or functional module identifier list. For example, if each layer header identifier field is 2 bits, and there are a maximum of 3 layers, then the last 1 byte of the layer or functional module identifier list header will have 2 bits reserved as reserved bits (Rbit).
[0144] 2. The sum of the length of the SDU of the target protocol layer or functional module and the length of the layer or functional module identifier list is an integer byte. For example, this can be achieved by punching holes in the data field to ensure that the sum of the length of the SDU and the length of the layer or functional module identifier list is an integer byte.
[0145] 3. The length of the header of the target protocol layer or functional module is the difference between the length of the integer bytes and the length of the updated layer or functional module identifier list.
[0146] In this embodiment, both of the above methods can be implemented in combination with protocol layers or functional modules. That is, the protocol layer and / or each functional module of a certain protocol layer can be configured as optional or mandatory, and their order is also configurable. They can also carry layer identifiers or functional module identifiers as needed. For each mandatory functional module of a layer, it can also be configured whether or not a functional identifier can be carried.
[0147] Specifically, if the sending end is a terminal, it can also receive configuration information from the network device, wherein the configuration information includes one or more of the following:
[0148] Information on optional protocol layers or functional modules;
[0149] Information on required protocol layers or functional modules;
[0150] Original data identifier or end identifier;
[0151] The order of protocol layers or functional modules.
[0152] The information regarding protocol layers or functional modules may include their identifiers, which are optional, and which are mandatory. For example, network devices can configure this information using static or semi-static signaling (such as Radio Resource Control (RRC) signaling). This configuration may have default values; if the network device does not configure it, the default protocol layers or functional modules, their order, their identifiers, and the list of optional and mandatory modules will be used.
[0153] Specifically, if the sending end is a network device, it can also send configuration information to the terminal, wherein the configuration information includes one or more of the following:
[0154] Information on optional protocol layers or functional modules;
[0155] Information on required protocol layers or functional modules;
[0156] Original data identifier or end identifier;
[0157] The order of protocol layers or functional modules.
[0158] In this embodiment of the disclosure, the protocol layer or functional module of the sending end can be identified according to whether it processes the data, so that the receiving end can clearly identify the protocol layer or functional module through which the received data has passed, thereby correctly parsing the received data and saving air interface resources.
[0159] Referring to Figure 4, which is a flowchart of a data processing method provided in an embodiment of this disclosure, applied to a receiving end, wherein the receiving end can be a network device (such as a base station) or a terminal. As shown in Figure 4, the method includes the following steps:
[0160] Step 401: At the target protocol layer or functional module, if the received PDU includes the identifier of the target protocol layer or functional module, parse the PDU and submit the parsed PDU to the higher protocol layer or functional module; if the received PDU does not include the identifier of the target protocol layer or functional module, submit the PDU to the higher protocol layer or functional module.
[0161] The target protocol layer or functional module can be any protocol layer or functional module. Since the first protocol layer or functional module at the sending end is processed differently from other protocol layers or functional modules, the receiving end can have different processing methods depending on whether the target protocol layer or functional module is the last protocol layer or functional module.
[0162] Specifically, if the target protocol layer or functional module is the last protocol layer or functional module, the step of delivering the PDU to a higher protocol layer or functional module if the received PDU does not include the identifier of the target protocol layer or functional module includes:
[0163] If the PDU includes the original data identifier or end identifier of the target protocol layer or functional module, the portion of the PDU after removing the original data identifier or end identifier is submitted to the higher protocol layer or functional module as the target protocol layer or functional module SDU; or, if the PDU includes the original data identifier or end identifier, the portion of the PDU after removing the layer or functional module identifier list is submitted to the higher protocol layer or functional module as the target protocol layer or functional module SDU, wherein the layer or functional module identifier list includes the original data identifier or end identifier.
[0164] If the target protocol layer or functional module is not the last protocol layer or functional module, its identifier is located in the layer or functional module identifier list. Parsing a PDU may include:
[0165] The layer or functional module identifier list is obtained from the PDU, and the identifier of the target protocol layer or functional module is deleted from the layer or functional module identifier list to obtain an updated layer or functional module identifier list. Then, the PDU is parsed to obtain a parsed data packet, and the updated layer or functional module identifier list is added to the parsed data packet.
[0166] The layer or functional module identifier list is located in the first M bits or the last M bits of the PDU, where M is an integer greater than or equal to 1.
[0167] In this embodiment of the disclosure, the protocol layer or functional module of the sending end can be identified according to whether it processes the data, so that the receiving end can clearly identify the protocol layer or functional module through which the received data has passed, thereby correctly parsing the received data and saving air interface resources.
[0168] In some embodiments, if the receiving end is a terminal, it may also receive configuration information sent by a network device, wherein the configuration information includes one or more of the following:
[0169] Information on optional protocol layers or functional modules;
[0170] Information on required protocol layers or functional modules;
[0171] Original data identifier or end identifier;
[0172] The order of protocol layers or functional modules.
[0173] If the receiving end is a network device, it can also send configuration information to the terminal, wherein the configuration information includes one or more of the following:
[0174] Information on optional protocol layers or functional modules;
[0175] Information on required protocol layers or functional modules;
[0176] Original data identifier or end identifier;
[0177] The order of protocol layers or functional modules.
[0178] The meaning of each item in the configuration information can be found in the description of the foregoing embodiments.
[0179] The specific implementation process of the embodiments of this disclosure is described in detail below with reference to different examples.
[0180] In this embodiment, a layer or functional module identifier is introduced to identify the protocol layer or functional module corresponding to the header. When organizing data packets, the sending end adds headers for protocol layers or functional modules as needed, and indicates the corresponding protocol layer or functional module through the layer or functional module identifier. The receiving end determines the corresponding protocol layer or functional module based on the layer or functional module identifier, thereby correctly parsing the data packets.
[0181] In the following embodiments, the network device is a base station as an example. Embodiments 1 and 2 describe the steps from the downlink and uplink perspectives, respectively, for the same data organization method. The difference lies in: 1) whether the configuration signaling sent by the base station to the terminal is for the configuration of the downlink radio bearer or logical channel, or for the configuration of the uplink radio bearer or logical channel; 2) in the downlink direction, the base station organizes and transmits data, and the terminal receives and parses data; in the uplink direction, the terminal organizes and transmits data, and the base station receives and parses data. Embodiments 3-6 are described only from the perspective of unidirectional (downlink or uplink) data. The uplink data organization and parsing process is based on the same principle as the downlink data organization and parsing, except that the roles of the sender and receiver are reversed.
[0182] Therefore, in this embodiment of the disclosure, from the perspective of the sending end and the receiving end, the data processing principle of the sending end (base station / terminal) is the same, and the data processing principle of the receiving end (terminal / base station) is the same.
[0183] Example 1: In this example, the RLC layer does not process the data packets (downlink).
[0184] The processing steps on the base station side may include:
[0185] Step 1 (optional): Send configuration information (such as RRC signaling) to the terminal. For a radio bearer or logical channel (downlink), configure one or more of the following: User plane protocol layers and their order, including SDAP, PDCP, RLC and MAC layers. The SDAP layer is mandatory and its corresponding layer identifier is '00'. The PDCP layer is optional and its corresponding layer identifier is '01'. The RLC layer is optional and its corresponding layer identifier is '10'. The MAC layer is mandatory and its corresponding layer identifier is '11'. (Optionally, if the last layer is mandatory, it can be configured not to carry the layer ID field.)
[0186] Step 2: When the base station organizes downlink data, since SDAP is a mandatory protocol layer, the SDAP layer processes the data packets, adds a header, and sets the "layer ID" field to "00". SDAP then delivers the organized SDAP PDU to the PDCP layer. The SDAP layer data PDU format is shown in Figure 5.
[0187] Step 3: PDCP is an optional protocol layer. The sender decides to process the data packet using PDCP. The PDCP layer processes the data packet, adds a header, and sets the "layer ID" field to "01". Other parts (such as the length of the PDCP sequence number (SN)) can be different. The PDCP layer (or PDCP entity) delivers the organized PDCP PDU to the RLC layer (or RLC entity). The format of the PDCP PDU is shown in Figure 6.
[0188] Step 4: The RLC layer is an optional protocol layer. The sender of this data packet decides not to perform RLC processing. No RLC header needs to be added; instead, it is submitted to the MAC layer (MAC entity).
[0189] Step 5: The MAC layer is a mandatory protocol layer. The MAC layer processes the data packets and adds headers. If the MAC header configured in Step 1 includes a "layer ID" field, then the header format in Figure 7(a) is used and the "layer ID" field is set to "11". Otherwise, the header format in Figure 7(b) is used, and the data is organized into a MAC PDU and submitted to the lower layer (physical layer) for processing and transmission.
[0190] The terminal-side processing may include:
[0191] Step 1 (optional): Receive configuration information sent by the base station. For a radio bearer or logical channel, the information configures one or more of the following: user plane protocol layers and their order, including SDAP, PDCP, RLC and MAC layers. The SDAP layer is mandatory and its corresponding layer identifier is '00'. The PDCP layer is optional and its corresponding layer identifier is '01'. The RLC layer is optional and its corresponding layer identifier is '10'. The MAC layer is mandatory and its corresponding layer identifier is '11'. (Optionally, for the last layer that is mandatory, this layer can be configured not to carry the layer ID field.)
[0192] Step 2: Receive downlink data sent by the base station. If the MAC header configured in Step 1 contains a "layer ID" field, the MAC layer (MAC entity) parses the "layer ID" in the sub-header as "11", determining that the MAC layer needs to process the data packet. Based on the information in the MAC sub-header, it parses the data packet. If the MAC header configured in Step 1 does not contain a "layer ID" field, the MAC layer does not need to determine this by parsing the "layer ID". Instead, it determines that the MAC layer needs to process the data packet based on the configuration in Step 1, parses the data packet based on the information in the MAC sub-header, and submits it to the RLC layer.
[0193] Step 3: The RLC layer parses the header. The “layer ID” is “01”, which is not the ID of the RLC layer. Therefore, the RLC layer determines that it does not need to process the data packet and directly delivers it to the PDCP.
[0194] Step 4: The PDCP layer receives the data submitted by the RLC layer. This data is a PDCP PDU to the PDCP layer. The header is parsed. The "layer ID" is "01", which is the ID of the PDCP layer. Based on the information in the PDCP header, the data packet is parsed, and the PDCP SDU is parsed and then submitted to SDAP.
[0195] Step 5: The SDAP layer receives the data submitted by the PDCP layer, parses the header, and the "layer ID" of "00" is the ID of the SDAP layer. Based on the information in the SDAP header, the data packet is parsed, and the SDAP SDU is then submitted to the higher layer.
[0196] Example 2: Compression and integrity protection functions do not process data packets (downlink).
[0197] The processing steps on the base station side may include:
[0198] Step 1 (optional): Send configuration information (such as RRC signaling) to the terminal. For a radio bearer or logical channel (downlink), configure one or more of the following: User plane functions and their order include Quality of Service (QoS) flow mapping, compression, encryption, and segmentation and reassembly. QoS flow mapping is mandatory and its corresponding function identifier is '00'. Compression is optional and its corresponding function identifier is '01'. Encryption is optional and its corresponding function identifier is '10'. Segmentation and reassembly is optional and its corresponding function identifier is '11'.
[0199] Step 2: The base station receives the higher-layer data packet. The QoS flow mapping function is a mandatory protocol layer. The QoS flow mapping function processes the data packet, adds a header, and sets the "Function ID" field to "00". The QoS flow mapping function then delivers the organized PDU to the compression function. The PDU format for the QoS flow mapping function is shown in Figure 8.
[0200] Step 3: Compression is optional. The sender decides not to compress the data packet. No compression header needs to be added; the packet is then passed on to the integrity protection function.
[0201] Step 4: Integrity protection is an optional function. The sender performs integrity protection processing on some data packets. For data packets without integrity protection, no integrity protection header needs to be added, and they are submitted for segmentation and reassembly. For data packets with integrity protection, a header needs to be added, and the PDU format is shown in Figure 9.
[0202] For data packets that require integrity protection, a header needs to be added, with the "Function ID" field set to "10", and the packet should be incorporated into the integrity protection PDU and submitted to the segmentation and reassembly function.
[0203] Step 5: Segmentation and reassembly is an optional function. The sender of the data packet decides to perform segmentation and reassembly. Segmentation and reassembly divides the data packet into segments, adding a header to each segment, where the "Function ID" field is set to "11". These segments are then organized into a segmentation and reassembly PDU and submitted to the lower layer (physical layer) for processing and transmission. The PDU format is shown in Figure 10.
[0204] The terminal-side processing may include the following steps:
[0205] Step 1 (optional): Receive configuration information sent by the base station. For a radio bearer or logical channel, the information configures one or more of the following: user plane functions and their order, including Quality of Service (QoS) flow mapping, compression, encryption, and segmentation and reassembly. QoS flow mapping is mandatory and its corresponding function identifier is '00'. Compression is optional and its corresponding function identifier is '01'. Encryption is optional and its corresponding function identifier is '10'. Segmentation and reassembly is optional and its corresponding function identifier is '11'.
[0206] Step 2: Receive downlink data sent by the base station. The "Function ID" in the segment reassembly parser header is "11", indicating that segment reassembly needs to be processed. Based on the segmentation information in the segment reassembly header, multiple segments are reassembled into an SDU and submitted to the encryption function.
[0207] Step 3: The integrity protection function parses the header. For data packets with a "Function ID" other than "10", no processing is required; the data packet is directly submitted to the compression function. For data packets with a "Function ID" of "10", the integrity protection function performs integrity protection verification based on MAC-I. If the verification passes, the parsed data packet is submitted to the compression function.
[0208] Step 4: Parse the compression function header. The "Function ID" is "00", which is not the ID of the compression function. Therefore, the compression function does not need to be processed and the data packet is directly handed over to the QoS flow mapping function.
[0209] Step 5: The QoS flow mapping function parses the header. The "Function ID" of "00" is the ID of the QoS flow mapping function. Based on the information in the header, the data packet is parsed, and the SDU is then handed over to the higher layer.
[0210] Example 3: The RLC layer does not process the data packets, but adds a layer identifier field at the end of the data packets.
[0211] The processing steps on the base station side may include:
[0212] Step 1 (optional): Send configuration information (such as RRC signaling) to the terminal. For a radio bearer or logical channel (downlink), configure one or more of the following: User plane protocol layers and their order, including SDAP, PDCP, RLC and MAC layers. SDAP layer is mandatory and its corresponding layer identifier is '00'. PDCP layer is optional and its corresponding layer identifier is '01'. RLC layer is optional and its corresponding layer identifier is '10'. MAC layer is mandatory and its corresponding layer identifier is '11'.
[0213] Step 2: SDAP is a mandatory protocol layer. The SDAP layer processes the data packets, adds headers, and adds a "layer ID1" field set to "00" at the end of the generated data packets. SDAP then delivers the organized SDAP PDU to the PDCP layer. The SDAP layer data PDU format is shown in Figure 11.
[0214] Step 3: PDCP is an optional protocol layer. The sender decides to process the data packet using PDCP. The PDCP layer first removes the layer identifier list from the end of the SDU, then processes the data packet, adds a header, and finally adds a layer identifier list to the end of the generated data packet. The "layer ID1" field is the layer ID added by SDAP, and PDCP adds a "layer ID2" field after it, set to "01". The PDCP layer (or PDCP entity) then delivers the organized PDCP PDU to the RLC layer (or RLC entity). The format of the PDCP PDU is shown in Figure 12.
[0215] Step 4: The RLC layer is an optional protocol layer. The sender of this data packet decides not to perform RLC processing. No RLC header needs to be added; instead, it is submitted to the MAC layer (MAC entity).
[0216] Step 5: The MAC layer is a mandatory protocol layer. The MAC layer processes the data packets, adds headers, removes the layer identifier list from the end of the SDU, processes the data packets, adds headers, and then adds a layer identifier list to the end of the generated data packets. The "layer ID1" field is the layer ID added by SDAP, the "layer ID2" field is the layer ID added by PDCP, and the MAC layer adds a "layer ID3" field set to "11". This is then organized into a MAC PDU and submitted to the lower layer (physical layer) for processing and transmission.
[0217] The format of a MAC PDU is shown in Figure 13, and the schematic diagram of its layer identifier list is shown in Figure 14.
[0218] The terminal-side processing may include:
[0219] Step 1 (optional): Receive configuration information sent by the base station side, which is for a radio bearer or logical channel.
[0220] Step 2: Receive downlink data sent by the base station. The last "layer ID3" in the MAC layer (MAC entity) parsing layer identifier list is "11", indicating that the MAC layer needs to process it. Based on the information in the MAC subheader, the data packet is parsed, and the layer identifier list with "layer ID3" removed is added to the end of each MAC SDU before being handed over to the RLC layer.
[0221] Step 3: The RLC layer parses the last "layer ID2" in the layer identifier list. Since "layer ID2" is "01" and is not the ID of the RLC layer, the RLC layer determines that it does not need to process the data packet and directly delivers it to PDCP.
[0222] Step 4: The PDCP layer receives the data submitted by the RLC layer, parses the last "layer ID2" in the layer identifier list, where "layer ID2" is "01" and is the ID of the PDCP layer. Based on the information in the PDCP header, the data packet is parsed, and after parsing the PDCP SDU, the layer identifier list with "layer ID2" removed is added to the end of the PDCP SDU and submitted to SDAP.
[0223] Step 5: The SDAP layer receives the data submitted by the PDCP layer and parses the last "layer ID1" in the layer identifier list. "Layer ID1" being "00" is the ID of the SDAP layer. Based on the information in the SDAP header, the data packet is parsed, and the SDAP SDU is parsed and submitted to the higher layer.
[0224] It should be noted that in this embodiment, whole-byte data organization is achieved by punching holes in the Data portion. The layer identifier list can be located at the end or at other specified positions; this embodiment uses the end as an example rather than limiting it.
[0225] Example 4: Compression and encryption functions do not process data packets (downlink).
[0226] The processing steps on the base station side may include:
[0227] Step 1 (optional): Send configuration information (such as RRC signaling) to the terminal. For a radio bearer or logical channel (downlink), configure one or more of the following: User plane functions and their order include QoS flow mapping, compression, encryption and segmentation reassembly. QoS flow mapping is mandatory and its corresponding function identifier is '00'. Compression is optional and its corresponding function identifier is '01'. Encryption is optional and its corresponding function identifier is '10'. Segmentation reassembly is optional and its corresponding function identifier is '11'.
[0228] Step 2: The base station receives the higher-layer data packet. The QoS flow mapping function is a mandatory protocol layer. The QoS flow mapping function processes the data packet, adds a header, and adds a "Function ID1" field set to "00" at the end of the generated data packet. The QoS flow mapping function then delivers the organized PDU to the compression function. The PDU format of the QoS flow mapping function data is shown in Figure 15.
[0229] Step 3: Compression is optional. The sender decides not to compress the data packet. No compression header needs to be added; the packet is then passed to the encryption department.
[0230] Step 4: Encryption is optional. The sender of this data packet decides not to encrypt it. No encryption header is needed; it is then submitted to the segment reassembly team.
[0231] Step 5: Segmentation and reassembly is an optional function. The sender decides to perform segmentation and reassembly on this data packet. Segmentation and reassembly first removes the function identifier list from the end of the data packet, adds a "Function ID2" field set to "11" at the end of the function identifier list, then segments the data packet, adding a header to each segment, and adding a function identifier list to the end of each segmented data packet. This is then organized into a segmentation and reassembly PDU and submitted to the lower layer (physical layer) for processing and transmission. The PDU format is shown in Figure 16.
[0232] The terminal-side processing may include:
[0233] Step 1 (optional): Receive configuration information sent by the base station side, which is for a radio bearer or logical channel.
[0234] Step 2: Receive downlink data sent by the base station. The last "Function ID" in the segment reassembly parsing function ID list is "11", indicating that segment reassembly needs to be processed. The segment reassembly process removes the function ID from the list (each 2 bits from the end represents a Function ID, with "00" being the first Function ID), deleting the last "Function ID". Based on the segmentation information in the segment reassembly header, multiple segments are reassembled into an SDU. Each reassembled data packet has the Function ID (with "11" removed) appended to the end and is then submitted to the encryption function.
[0235] Step 3: The last "Function ID" in the encryption function identifier list is "00", which is not the ID of the encryption function. Therefore, the encryption function does not need to be processed, and the data packet is directly handed over to the compression function.
[0236] Step 4: The last "Function ID" in the compression function identifier list is "00", which is not the ID of the compression function. Therefore, the compression function does not need to be processed, and the data packet is directly delivered to the QoS flow mapping function.
[0237] Step 5: QoS flow mapping function parsing. The last "Function ID" in the function identifier list is "00", which is the ID of the QoS flow mapping function. After removing the function identifier list, the data packet is parsed based on the header information, and the SDU is parsed and submitted to the higher layer.
[0238] Example 5: Combining protocol layer and function.
[0239] Taking the PDCP layer as an example, the PDCP layer includes robust header compression (ROHC), electrochemical hydrogen compression (EHC), uplink data compression (UDC), encryption, integrity protection, deduplication, reordering, or out-of-order delivery functions. The base station can configure which functions are included in the PDCP layer, whether each function is optional or mandatory, and the execution order and ID of each function.
[0240] For the PDCP layer of UE1's Data Radio Bearer (DRB) 1, the PDCP layer is configured as an optional protocol layer (layer ID = 01). Required features in the PDCP layer do not need to carry the function ID in the header. Specifically, these include ROHC header compression (optional, indicated in the 3rd bit; 0 indicates no ROHC header compression, 1 indicates ROHC header compression), encryption (required), integrity protection (optional, indicated in the 4th bit; 0 indicates no integrity protection, 1 indicates integrity protection), and in-order delivery (required). Based on this configuration, for a data packet, if the sender performs encryption, integrity protection, and in-order delivery without ROHC header compression, the PDU format of that data packet is as shown in Figure 17.
[0241] For a data packet, the sending end compresses the data with an ROHC header, encrypts it, and delivers it in order. The PDU format of the data packet is shown in Figure 18.
[0242] For a data packet, the sending end performs ROHC header compression, encryption, integrity protection, and in-order delivery. The PDU format of the data packet is shown in Figure 19.
[0243] Example 6: The RLC layer does not process the data packets (downlink) and configures the original data identifier.
[0244] The processing steps on the base station side may include:
[0245] Step 1 (optional): Send configuration information (such as RRC signaling) to the terminal. For a radio bearer or logical channel (downlink), configure one or more of the following: User plane protocol layers and their order include SDAP, PDCP, RLC and MAC layers. The SDAP layer is optional and its corresponding layer identifier is '00'. The PDCP layer is optional and its corresponding layer identifier is '01'. The RLC layer is optional and its corresponding layer identifier is '10'. The MAC layer is required and is the last layer. Configure this layer not to carry the layer ID field and the original data identifier is '11'.
[0246] Step 2: When the base station organizes downlink data, SDAP is an optional protocol layer. The base station decides that the SDAP layer will not process the data packet, but adds a header, in which the "layer ID" field is set to the original data identifier "11". SDAP then delivers the organized SDAP PDU to the PDCP layer.
[0247] Step 3: PDCP is an optional protocol layer. The sender decides to process the data packet using PDCP. The PDCP layer processes the data packet, adds a header, and sets the "layer ID" field to "01". Other parts (such as the PDCP SN length) can be different. The PDCP layer (or PDCP entity) delivers the organized PDCP PDU to the RLC layer (or RLC entity). The format of the PDCP PDU is shown in Figure 20.
[0248] Step 4: The RLC layer is an optional protocol layer. The sender of this data packet decides not to perform RLC processing. No RLC header needs to be added; instead, it is submitted to the MAC layer (MAC entity).
[0249] Step 5: The MAC layer is a mandatory protocol layer. The MAC layer processes the data packets, adds headers, and organizes them into MAC PDUs based on the configuration in Step 1, which does not include the "layer ID" field in the MAC header. These PDUs are then handed over to the lower layer (physical layer) for processing and transmission.
[0250] The terminal-side processing may include:
[0251] Step 1 (optional): Receive configuration information sent by the base station side, which is for a radio bearer or logical channel.
[0252] Step 2: Receive downlink data sent by the base station. The MAC layer does not need to determine this by parsing the "layer ID". Instead, it determines what the MAC layer needs to process based on the configuration in Step 1, parses the data packet based on the information in the MAC sub-header, and submits it to the RLC layer.
[0253] Step 3: The RLC layer parses the header. The “layer ID” is “01”, which is not the ID of the RLC layer. Therefore, the RLC layer determines that it does not need to process the data packet and directly delivers it to the PDCP.
[0254] Step 4: The PDCP layer receives the data submitted by the RLC layer. This data is a PDCP PDU to the PDCP layer. The header is parsed. The "layer ID" is "01", which is the ID of the PDCP layer. Based on the information in the PDCP header, the data packet is parsed, and the PDCP SDU is parsed and then submitted to SDAP.
[0255] Step 5: The SDAP layer receives the data submitted by the PDCP layer, parses the header, and the "layer ID" of "11" is the identifier of the original data. After removing the header, the data part is submitted to the higher layer.
[0256] This disclosure allows for the on-demand processing of protocol layers or modules for flexible or modular protocol stacks, with the addition of corresponding headers, saving overhead on higher-level protocol processing and conserving air interface transmission resources.
[0257] The technical solutions provided in this disclosure can be applied to a variety of systems. For example, applicable systems may include Long Term Evolution (LTE) systems, LTE Frequency Division Duplex (FDD) systems, LTE Time Division Duplex (TDD) systems, Long Term Evolution Advanced (LTE-A) systems, Universal Mobile Telecommunications System (UMTS), Worldwide Interoperability for Microwave Access (WiMAX) systems, 5G New Radio (NR) systems and their evolved communication systems, and 6G (sixth generation mobile communication technology) systems. These systems may include terminal equipment and network equipment. The systems may also include a core network component, such as the Evolved Packet Core (EPC) or the 5G Core Network (5GC).
[0258] The terminal devices involved in the embodiments of this disclosure can be devices that provide voice and / or data connectivity to users, handheld devices with wireless connectivity, or other processing devices connected to a wireless modem. The names of the terminal devices may differ in different systems; for example, in 5G or 6G systems, the terminal device may be called User Equipment (UE). Wireless terminal devices can be USB storage devices, other personal computer memory devices, and dongles. They can also communicate with one or more core networks (CNs) via a Radio Access Network (RAN). Wireless terminal devices can be mobile terminal devices, such as mobile phones (or "cellular" phones) and computers with mobile terminal devices. For example, they can be portable, pocket-sized, handheld, computer-embedded, or vehicle-mounted mobile devices that exchange voice and / or data with the radio access network. Examples of such devices include Personal Communication Service (PCS) telephones, cordless phones, Session Initiated Protocol (SIP) phones, Wireless Local Loop (WLL) stations, Personal Digital Assistants (PDAs), personal computers, tablets, and Machine-type Communication (MTC) terminal devices. Wireless terminal devices can also be referred to as systems, subscriber units, subscriber stations, mobile stations, mobile devices, remote stations, access points, remote terminals, access terminals, user terminals, user agents, user devices, and wireless access devices and routers / modems that meet the limitations of this definition, but are not limited to these in the embodiments of this disclosure.
[0259] The network device involved in this disclosure can be a base station, which may include multiple cells providing services to terminals. Depending on the specific application, the base station may also be called an access point, or a device in the access network that communicates with wireless terminal devices through one or more sectors on the air interface, or other names. The network device can be used to exchange received air frames with Internet Protocol (IP) packets, acting as a router between the wireless terminal device and the rest of the access network, where the rest of the access network may include an Internet Protocol (IP) communication network. The network device can also coordinate the attribute management of the air interface. For example, the network device involved in this disclosure can be an evolved Node B (eNB or e-NodeB) in a long term evolution (LTE) system, a 5G base station (gNB) in a next generation system, or a Home evolved Node B (HeNB), relay node, femto, pico, network testing equipment, etc., and is not limited in this disclosure. In some network architectures, network devices may include centralized unit (CU) nodes and distributed unit (DU) nodes, which may also be geographically separated.
[0260] As shown in FIG21, the data processing apparatus of this embodiment of the present disclosure, applied at a transmitting end, includes: a processor 2100, configured to read a program from a memory 2120 and execute the following processes:
[0261] For a target protocol layer or functional module, if no data processing is performed, the PDU of the target protocol layer or functional module is obtained based on the SDU from the preceding protocol layer or module; or,
[0262] For the target protocol layer or functional module, if data is to be processed, the SDU is processed and the identifier of the target protocol layer or functional module is added to obtain the PDU of the target protocol layer or functional module.
[0263] Transceiver 2110 is used to receive and send data under the control of processor 2100.
[0264] In Figure 21, the bus architecture may include any number of interconnected buses and bridges, specifically linking various circuits of one or more processors represented by processor 2100 and memory represented by memory 2120. The bus architecture may also link various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art and therefore will not be described further herein. The bus interface provides an interface. Transceiver 2110 may be multiple elements, including transmitters and receivers, providing units for communicating with various other devices over a transmission medium. Processor 2100 is responsible for managing the bus architecture and general processing, and memory 2120 may store data used by processor 2100 during operation.
[0265] The processor 2100 can be a central processing unit (CPU), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a complex programmable logic device (CPLD). The processor can also adopt a multi-core architecture.
[0266] The processor 2100 is responsible for managing the bus architecture and general processing, while the memory 2120 can store the data used by the processor 2100 when performing operations.
[0267] Processor 2100 is also used to read the program and perform the following steps:
[0268] In some embodiments, if no data processing is performed, obtaining the Protocol Data Unit (PDU) of the target protocol layer or functional module based on the Service Data Unit (SDU) from the previous protocol layer or module of the target protocol layer or functional module includes:
[0269] If the target protocol layer or functional module is the first protocol layer or functional module and the target protocol layer or functional module is optional, add the header of the target protocol layer or functional module, and obtain the PDU of the target protocol layer or functional module based on the header and the SDU; wherein, the header includes an original data identifier or an end identifier; or
[0270] If the target protocol layer or functional module is not the first protocol layer or functional module, the SDU is directly used as the PDU of the target protocol layer or functional module.
[0271] In some embodiments, if no data processing is performed, obtaining the Protocol Data Unit (PDU) of the target protocol layer or functional module based on the Service Data Unit (SDU) from the previous protocol layer or module of the target protocol layer or functional module includes:
[0272] If the target protocol layer or functional module is the first protocol layer or functional module and the target protocol layer or functional module is optional, add the original data identifier or end identifier to the layer or functional module identifier list to obtain an updated layer or functional module identifier list. Based on the updated layer or functional module identifier list and the SDU, obtain the PDU of the target protocol layer or functional module; or
[0273] If the target protocol layer or functional module is not the first protocol layer or functional module, the SDU is directly used as the PDU of the target protocol layer or functional module.
[0274] In some embodiments, if data is processed, the process involves processing the SDU and adding the identifier of the target protocol layer or functional module to obtain the PDU of the target protocol layer or functional module, including:
[0275] The SDU is processed and a header of the target protocol layer or functional module is added to obtain the PDU; wherein the header includes the identifier of the target protocol layer or functional module.
[0276] In some embodiments, if the target protocol layer or functional module is the last protocol layer or functional module, the processor is further configured to:
[0277] If the target protocol layer or function is a required protocol layer or function module, determine whether to add the identifier of the target protocol layer or function module to the header based on the configuration information.
[0278] In some embodiments, the identifier of the target protocol layer or functional module is set at a designated location in the header, the designated location including any of the following:
[0279] The first N bits of the header;
[0280] The target bit of the target byte in the header;
[0281] The last N bits of the header;
[0282] Where N is an integer greater than or equal to 1.
[0283] In some embodiments, the step of processing the data, adding the identifier of the target protocol layer or functional module, and obtaining the PDU of the target protocol layer or functional module based on the identifier and the SDU from the previous protocol layer or module includes:
[0284] Add the identifier of the target protocol layer or functional module to the layer or functional module identifier list to obtain an updated layer or functional module identifier list, which is carried in the SDU;
[0285] The data packet is processed based on the portion of the SDU excluding the layer or functional module identifier list, and the header of the target protocol layer or functional module is added to obtain the processed data packet.
[0286] The PDU is obtained based on the processed data packet and the updated list of layer or functional module identifiers.
[0287] In some embodiments, the list of layer or functional module identifiers is located in the first M bits or the last M bits of the PDU, where M is an integer greater than or equal to 1.
[0288] In some embodiments, the list of layer or functional module identifiers occupies a whole byte; or
[0289] The sum of the length of the SDU of the target protocol layer or functional module and the length of the layer or functional module identifier list is an integer byte.
[0290] The length of the header of the target protocol layer or functional module is the difference between the length of the integer bytes and the length of the updated layer or functional module identifier list.
[0291] In some embodiments, if the sending end is a terminal, the processor is further configured to:
[0292] Receive configuration information from network devices, wherein the configuration information includes one or more of the following:
[0293] Information on optional protocol layers or functional modules;
[0294] Information on required protocol layers or functional modules;
[0295] Original data identifier or end identifier;
[0296] The order of protocol layers or functional modules.
[0297] In some embodiments, if the sending end is a network device, the processor is further configured to:
[0298] Send configuration information to the terminal, wherein the configuration information includes one or more of the following:
[0299] Information on optional protocol layers or functional modules;
[0300] Information on required protocol layers or functional modules;
[0301] Original data identifier or end identifier;
[0302] The order of protocol layers or functional modules.
[0303] It should be noted that the apparatus provided in this embodiment can implement all the method steps implemented in the above method embodiment and can achieve the same technical effect. Therefore, the parts and beneficial effects that are the same as those in the method embodiment will not be described in detail here.
[0304] As shown in Figure 22, the data processing apparatus of this embodiment, applied at a receiving end, includes: a processor 2200, configured to read a program from a memory 2220 and execute the following processes:
[0305] At the target protocol layer or functional module, if the received PDU includes the identifier of the target protocol layer or functional module, the PDU is parsed and the parsed PDU is submitted to the higher protocol layer or functional module; if the received PDU does not include the identifier of the target protocol layer or functional module, the PDU is submitted to the higher protocol layer or functional module.
[0306] Transceiver 2210 is used to receive and send data under the control of processor 2200.
[0307] In Figure 22, the bus architecture may include any number of interconnected buses and bridges, specifically linking various circuits of one or more processors represented by processor 2200 and memory represented by memory 2220. The bus architecture may also link various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art and therefore will not be described further herein. The bus interface provides an interface. Transceiver 2210 may be multiple elements, including transmitters and receivers, providing a unit for communicating with various other devices over a transmission medium. Processor 2200 is responsible for managing the bus architecture and general processing, and memory 2220 may store data used by processor 2200 during operation.
[0308] The processor 2200 can be a central processing unit (CPU), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a complex programmable logic device (CPLD). The processor can also adopt a multi-core architecture.
[0309] The processor 2200 is responsible for managing the bus architecture and general processing, while the memory 2220 can store the data used by the processor 2200 when performing operations.
[0310] In some embodiments, if the target protocol layer or functional module is the last protocol layer or functional module, the step of delivering the PDU to a higher protocol layer or functional module if the received PDU does not include the identifier of the target protocol layer or functional module includes:
[0311] If the PDU includes the original data identifier or end identifier of the target protocol layer or functional module, the portion of the PDU after removing the original data identifier or end identifier is submitted as the target protocol layer or functional module SDU to the higher protocol layer or functional module; or
[0312] If the PDU includes the original data identifier or the end identifier, the portion of the PDU after removing the layer or functional module identifier list is submitted to the higher protocol layer or functional module as the target protocol layer or functional module SDU, wherein the layer or functional module identifier list includes the original data identifier or the end identifier.
[0313] In some embodiments, if the target protocol layer or functional module is not the last protocol layer or functional module, the identifier of the target protocol layer or functional module is located in the layer or functional module identifier list;
[0314] The step of parsing the PDU includes:
[0315] Obtain the list of layer or functional module identifiers from the PDU;
[0316] Remove the identifier of the target protocol layer or functional module from the layer or functional module identifier list to obtain an updated layer or functional module identifier list;
[0317] The PDU is parsed to obtain a parsed data packet, and the updated layer or functional module identifier list is added to the parsed data packet.
[0318] In some embodiments, the list of layer or functional module identifiers is located in the first M bits or the last M bits of the PDU, where M is an integer greater than or equal to 1.
[0319] In some embodiments, if the receiving end is a terminal, the processor is further configured to:
[0320] Receive configuration information sent by a network device, wherein the configuration information includes one or more of the following:
[0321] Information on optional protocol layers or functional modules;
[0322] Information on required protocol layers or functional modules;
[0323] Original data identifier or end identifier;
[0324] The order of protocol layers or functional modules.
[0325] In some embodiments, if the receiving end is a network device, the processor is further configured to:
[0326] Send configuration information to the terminal, wherein the configuration information includes one or more of the following:
[0327] Information on optional protocol layers or functional modules;
[0328] Information on required protocol layers or functional modules;
[0329] Original data identifier or end identifier;
[0330] The order of protocol layers or functional modules.
[0331] It should be noted that the apparatus provided in this embodiment can implement all the method steps implemented in the above method embodiment and can achieve the same technical effect. Therefore, the parts and beneficial effects that are the same as those in the method embodiment will not be described in detail here.
[0332] As shown in Figure 23, the data processing apparatus of this embodiment of the present disclosure is applied at the sending end and includes:
[0333] The first unit 2301 is used to, for a target protocol layer or functional module, if no data processing is performed, obtain the PDU of the target protocol layer or functional module based on the SDU from the previous protocol layer or module of the target protocol layer or functional module; or,
[0334] The second unit 2302 is used to process the data of the target protocol layer or functional module by processing the SDU and adding the identifier of the target protocol layer or functional module to obtain the PDU of the target protocol layer or functional module.
[0335] In some embodiments, if no data processing is performed, obtaining the PDU of the target protocol layer or functional module based on the SDU from the previous protocol layer or module of the target protocol layer or functional module includes:
[0336] If the target protocol layer or functional module is the first protocol layer or functional module and the target protocol layer or functional module is optional, add the header of the target protocol layer or functional module, and obtain the PDU of the target protocol layer or functional module based on the header and the SDU; wherein, the header includes an original data identifier or an end identifier; or
[0337] If the target protocol layer or functional module is not the first protocol layer or functional module, the SDU is directly used as the PDU of the target protocol layer or functional module.
[0338] In some embodiments, if no data processing is performed, obtaining the meta-PDU of the target protocol layer or functional module based on the SDU from the previous protocol layer or module of the target protocol layer or functional module includes:
[0339] If the target protocol layer or functional module is the first protocol layer or functional module and the target protocol layer or functional module is optional, add the original data identifier or end identifier to the layer or functional module identifier list to obtain an updated layer or functional module identifier list. Based on the updated layer or functional module identifier list and the SDU, obtain the PDU of the target protocol layer or functional module; or
[0340] If the target protocol layer or functional module is not the first protocol layer or functional module, the SDU is directly used as the PDU of the target protocol layer or functional module.
[0341] In some embodiments, if data is processed, the process involves processing the SDU and adding the identifier of the target protocol layer or functional module to obtain the PDU of the target protocol layer or functional module, including:
[0342] The SDU is processed and a header of the target protocol layer or functional module is added to obtain the PDU; wherein the header includes the identifier of the target protocol layer or functional module.
[0343] In some embodiments, if the target protocol layer or functional module is the last protocol layer or functional module, the apparatus further includes:
[0344] The third unit is used to determine, based on configuration information, whether to add the identifier of the target protocol layer or function module to the header if the target protocol layer or function is a required protocol layer or function module.
[0345] In some embodiments, the identifier of the target protocol layer or functional module is set at a designated location in the header, the designated location including any of the following:
[0346] The first N bits of the header;
[0347] The target bit of the target byte in the header;
[0348] The last N bits of the header;
[0349] Where N is an integer greater than or equal to 1.
[0350] In some embodiments, the step of processing the data, adding the identifier of the target protocol layer or functional module, and obtaining the PDU of the target protocol layer or functional module based on the identifier and the SDU from the previous protocol layer or module includes:
[0351] Add the identifier of the target protocol layer or functional module to the layer or functional module identifier list to obtain an updated layer or functional module identifier list, which is carried in the SDU;
[0352] The data packet is processed based on the portion of the SDU excluding the layer or functional module identifier list, and the header of the target protocol layer or functional module is added to obtain the processed data packet.
[0353] The PDU is obtained based on the processed data packet and the updated list of layer or functional module identifiers.
[0354] In some embodiments, the list of layer or functional module identifiers is located in the first M bits or the last M bits of the PDU, where M is an integer greater than or equal to 1.
[0355] In some embodiments, the list of layer or functional module identifiers occupies a whole byte; or
[0356] The sum of the length of the SDU of the target protocol layer or functional module and the length of the layer or functional module identifier list is an integer byte.
[0357] The length of the header of the target protocol layer or functional module is the difference between the length of the integer bytes and the length of the updated layer or functional module identifier list.
[0358] In some embodiments, if the transmitting end is a terminal, the apparatus further includes:
[0359] The fourth unit is used to receive configuration information from network devices, wherein the configuration information includes one or more of the following:
[0360] Information on optional protocol layers or functional modules;
[0361] Information on required protocol layers or functional modules;
[0362] Original data identifier or end identifier;
[0363] The order of protocol layers or functional modules.
[0364] In some embodiments, if the sending end is a network device, the apparatus further includes:
[0365] The fifth unit is used to send configuration information to the terminal, wherein the configuration information includes one or more of the following:
[0366] Information on optional protocol layers or functional modules;
[0367] Information on required protocol layers or functional modules;
[0368] Original data identifier or end identifier;
[0369] The order of protocol layers or functional modules.
[0370] It should be noted that the apparatus provided in this embodiment can implement all the method steps implemented in the above method embodiment and can achieve the same technical effect. Therefore, the parts and beneficial effects that are the same as those in the method embodiment will not be described in detail here.
[0371] As shown in Figure 24, the data processing apparatus of this embodiment is applied at a receiving end and includes:
[0372] The first unit 2401 is configured to, at the target protocol layer or functional module, if the received PDU includes the identifier of the target protocol layer or functional module, parse the PDU and submit the parsed PDU to the higher protocol layer or functional module; if the received PDU does not include the identifier of the target protocol layer or functional module, submit the PDU to the higher protocol layer or functional module.
[0373] In some embodiments, if the target protocol layer or functional module is the last protocol layer or functional module, the step of delivering the PDU to a higher protocol layer or functional module if the received PDU does not include the identifier of the target protocol layer or functional module includes:
[0374] If the PDU includes the original data identifier or end identifier of the target protocol layer or functional module, the portion of the PDU after removing the original data identifier or end identifier is submitted as the target protocol layer or functional module SDU to the higher protocol layer or functional module; or
[0375] If the PDU includes the original data identifier or the end identifier, the portion of the PDU after removing the layer or functional module identifier list is submitted to the higher protocol layer or functional module as the target protocol layer or functional module SDU, wherein the layer or functional module identifier list includes the original data identifier or the end identifier.
[0376] In some embodiments, if the target protocol layer or functional module is not the last protocol layer or functional module, the identifier of the target protocol layer or functional module is located in the layer or functional module identifier list;
[0377] The first unit is further configured to:
[0378] Obtain the list of layer or functional module identifiers from the PDU;
[0379] Remove the identifier of the target protocol layer or functional module from the layer or functional module identifier list to obtain an updated layer or functional module identifier list;
[0380] The PDU is parsed to obtain a parsed data packet, and the updated layer or functional module identifier list is added to the parsed data packet.
[0381] In some embodiments, the list of layer or functional module identifiers is located in the first M bits or the last M bits of the PDU, where M is an integer greater than or equal to 1.
[0382] In some embodiments, if the receiving end is a terminal, the device further includes:
[0383] The second unit is used to receive configuration information sent by the network device, wherein the configuration information includes one or more of the following:
[0384] Information on optional protocol layers or functional modules;
[0385] Information on required protocol layers or functional modules;
[0386] Original data identifier or end identifier;
[0387] The order of protocol layers or functional modules.
[0388] In some embodiments, if the receiving end is a network device, the apparatus further includes:
[0389] The third unit is used to send configuration information to the terminal, wherein the configuration information includes one or more of the following:
[0390] Information on optional protocol layers or functional modules;
[0391] Information on required protocol layers or functional modules;
[0392] Original data identifier or end identifier;
[0393] The order of protocol layers or functional modules.
[0394] It should be noted that the apparatus provided in this embodiment can implement all the method steps implemented in the above method embodiment and can achieve the same technical effect. Therefore, the parts and beneficial effects that are the same as those in the method embodiment will not be described in detail here.
[0395] It should be noted that the division of units in the embodiments of this disclosure is illustrative and only represents one logical functional division. In actual implementation, other division methods may be used. Furthermore, the functional units in the various embodiments of this disclosure can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated units described above can be implemented in hardware or as software functional units.
[0396] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a processor-readable storage medium. Based on this understanding, the technical solution of this disclosure, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a computer software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute all or part of the steps of the methods described in the various embodiments of this disclosure. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0397] This disclosure also provides a communication device, including: a memory, a processor, and a program stored in the memory and executable on the processor, wherein the processor executes the program to implement the steps in the data processing method described above.
[0398] This disclosure also provides a computer program product, including computer instructions. When executed by a processor, these computer instructions implement the various processes of the above-described data processing method embodiments and achieve the same technical effects. To avoid repetition, further details are omitted here.
[0399] This disclosure also provides a processor-readable storage medium storing a program. When executed by a processor, this program implements the various processes of the above-described data processing method embodiments and achieves the same technical effects. To avoid repetition, further details are omitted here. The readable storage medium can be any available medium or data storage device accessible to the processor, including but not limited to magnetic storage (e.g., floppy disks, hard disks, magnetic tapes, magneto-optical disks (MO), etc.), optical storage (e.g., compact discs (CDs), digital versatile discs (DVDs), Blu-ray discs (BD), holographic versatile discs (HVD), etc.), and semiconductor storage (e.g., ROMs, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), non-volatile memory (NAND FLASH), solid-state drives (SSDs), etc.).
[0400] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0401] Those skilled in the art will understand that embodiments of this disclosure can be provided as methods, systems, or computer program products. Therefore, this disclosure can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this disclosure can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage and optical storage) containing computer-usable program code.
[0402] This disclosure describes embodiments of methods, apparatus (systems), and computer program products according to embodiments of this disclosure with reference to flowchart illustrations and / or block diagrams. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-executable instructions. These computer-executable instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in one or more flowchart illustrations and / or one or more block diagrams.
[0403] These processor-executable instructions may also be stored in a processor-readable memory that can instruct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the processor-readable memory produce an article of manufacture including instruction means that implement the functions specified in one or more flowcharts and / or one or more block diagrams.
[0404] Furthermore, it should be noted that in the apparatus and method of this disclosure, it is obvious that the components or steps can be decomposed and / or recombined. These decompositions and / or recombinations should be considered equivalent solutions of this disclosure. Moreover, the steps performing the above series of processes can naturally be executed in the order described, but are not necessarily required to be executed in chronological order; some steps can be executed in parallel or independently of each other. Those skilled in the art will understand that all or any step or component of the method and apparatus of this disclosure can be implemented in any computing device (including processors, storage media, etc.) or network of computing devices, in hardware, firmware, software, or a combination thereof, which can be achieved by those skilled in the art using their basic programming skills after reading the description of this disclosure.
[0405] It should be noted that the above division of modules is merely a logical functional division. In actual implementation, they can be fully or partially integrated into a single physical entity, or they can be physically separated. Furthermore, these modules can be implemented entirely in software via processing element calls; they can be fully implemented in hardware; or some modules can be implemented by processing element calls to software, while others are implemented in hardware. For example, a module can be a separate processing element, or it can be integrated into a chip in the aforementioned device. Alternatively, it can be stored as program code in the memory of the aforementioned device, and its function can be called and executed by a processing element of the device. The implementation of other modules is similar. Moreover, these modules can be fully or partially integrated together, or they can be implemented independently. The processing element mentioned here can be an integrated circuit with signal processing capabilities. In the implementation process, each step of the above method or each of the above modules can be completed through integrated logic circuits in the hardware of the processor element or through software instructions.
[0406] For example, each module, unit, subunit, or submodule can be one or more integrated circuits configured to implement the above methods, such as one or more application-specific integrated circuits (ASICs), one or more digital signal processors (DSPs), or one or more field-programmable gate arrays (FPGAs). As another example, when a module is implemented using processing element scheduler code, the processing element can be a general-purpose processor, such as a central processing unit (CPU) or other processor capable of calling program code. Furthermore, these modules can be integrated together to implement a system-on-a-chip (SOC).
[0407] The terms “first,” “second,” etc., used in this disclosure and in the claims are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that embodiments of this disclosure described herein may be implemented in orders other than those illustrated or described herein. Furthermore, the terms “comprising” and “having,” and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus. Additionally, the use of “and / or” in the specification and claims indicates at least one of the connected objects, such as A and / or B and / or C, indicating seven possibilities: A alone, B alone, C alone, and both A and B, both B and C, both A and C, and A, B, and C. Similarly, the use of “at least one of A and B” in this specification and claims should be understood as “A alone, B alone, or both A and B.”
[0408] Obviously, those skilled in the art can make various modifications and variations to the embodiments of this disclosure without departing from the spirit and scope of the embodiments of this disclosure. Therefore, if these modifications and variations to the embodiments of this disclosure fall within the scope of the claims of the embodiments of this disclosure and their equivalents, then the embodiments of this disclosure are also intended to include these modifications and variations.
Claims
1. A data processing method applied at a sending end, the method comprising: For a target protocol layer or functional module, if no data processing is performed, the protocol data unit (PDU) of the target protocol layer or functional module is obtained based on the service data unit (SDU) from the previous protocol layer or module; or, For the target protocol layer or functional module, if data is to be processed, the SDU is processed and the identifier of the target protocol layer or functional module is added to obtain the PDU of the target protocol layer or functional module.
2. The method according to claim 1, wherein, If no data processing is performed, the process of obtaining the Protocol Data Unit (PDU) of the target protocol layer or functional module based on the Service Data Unit (SDU) from the previous protocol layer or module of the target protocol layer or functional module includes: If the target protocol layer or functional module is the first protocol layer or functional module and the target protocol layer or functional module is optional, add the header of the target protocol layer or functional module, and obtain the PDU of the target protocol layer or functional module based on the header and the SDU; wherein, the header includes an original data identifier or an end identifier; or If the target protocol layer or functional module is not the first protocol layer or functional module, the SDU is directly used as the PDU of the target protocol layer or functional module.
3. The method according to claim 1, wherein, If no data processing is performed, the process of obtaining the Protocol Data Unit (PDU) of the target protocol layer or functional module based on the Service Data Unit (SDU) from the previous protocol layer or module of the target protocol layer or functional module includes: If the target protocol layer or functional module is the first protocol layer or functional module and the target protocol layer or functional module is optional, add the original data identifier or end identifier to the layer or functional module identifier list to obtain an updated layer or functional module identifier list. Based on the updated layer or functional module identifier list and the SDU, obtain the PDU of the target protocol layer or functional module; or If the target protocol layer or functional module is not the first protocol layer or functional module, the SDU is directly used as the PDU of the target protocol layer or functional module.
4. The method according to claim 1, wherein, If the data is processed, based on the SDU, and the identifier of the target protocol layer or functional module is added to obtain the PDU of the target protocol layer or functional module, the process includes: The SDU is processed and a header of the target protocol layer or functional module is added to obtain the PDU; wherein the header includes the identifier of the target protocol layer or functional module.
5. The method according to claim 4, wherein, If the target protocol layer or functional module is the last protocol layer or functional module, the method further includes: If the target protocol layer or function is a required protocol layer or function module, determine whether to add the identifier of the target protocol layer or function module to the header based on the configuration information.
6. The method according to claim 4 or 5, wherein, The identifier of the target protocol layer or functional module is set at a designated location in the header, and the designated location includes any one of the following: The first N bits of the header; The target bit of the target byte in the header; The last N bits of the header; Where N is an integer greater than or equal to 1.
7. The method according to claim 1, wherein, The step of processing the data, adding the identifier of the target protocol layer or functional module, and obtaining the PDU of the target protocol layer or functional module based on the identifier and the SDU from the previous protocol layer or module includes: Add the identifier of the target protocol layer or functional module to the layer or functional module identifier list to obtain an updated layer or functional module identifier list, which is carried in the SDU; The data packet is processed based on the portion of the SDU excluding the layer or functional module identifier list, and the header of the target protocol layer or functional module is added to obtain the processed data packet. The PDU is obtained based on the processed data packet and the updated list of layer or functional module identifiers.
8. The method according to claim 3 or 7, wherein, The list of layer or functional module identifiers is located in the first M bits or the last M bits of the PDU, where M is an integer greater than or equal to 1.
9. The method according to claim 3 or 7, wherein, The list of layer or functional module identifiers occupies an integer byte; or The sum of the length of the SDU of the target protocol layer or functional module and the length of the layer or functional module identifier list is an integer byte. The length of the header of the target protocol layer or functional module is the difference between the length of the integer bytes and the length of the updated layer or functional module identifier list.
10. The method according to claim 1, wherein if the sending end is a terminal, the method further comprises: Receive configuration information from network devices, wherein the configuration information includes one or more of the following: Information on optional protocol layers or functional modules; Information on required protocol layers or functional modules; Original data identifier or end identifier; The order of protocol layers or functional modules.
11. The method according to claim 1, wherein if the sending end is a network device, the method further comprises: Send configuration information to the terminal, wherein the configuration information includes one or more of the following: Information on optional protocol layers or functional modules; Information on required protocol layers or functional modules; Original data identifier or end identifier; The order of protocol layers or functional modules.
12. A data processing method, applied at a receiving end, comprising: At the target protocol layer or functional module, if the received PDU includes the identifier of the target protocol layer or functional module, the PDU is parsed and the parsed PDU is submitted to the higher protocol layer or functional module; if the received PDU does not include the identifier of the target protocol layer or functional module, the PDU is submitted to the higher protocol layer or functional module.
13. The method according to claim 12, wherein, If the target protocol layer or functional module is the last protocol layer or functional module, the step of delivering the PDU to a higher protocol layer or functional module if the received PDU does not include the identifier of the target protocol layer or functional module includes: If the PDU includes the original data identifier or end identifier of the target protocol layer or functional module, the portion of the PDU after removing the original data identifier or end identifier is submitted as the target protocol layer or functional module SDU to the higher protocol layer or functional module; or If the PDU includes the original data identifier or the end identifier, the portion of the PDU after removing the layer or functional module identifier list is submitted to the higher protocol layer or functional module as the target protocol layer or functional module SDU, wherein the layer or functional module identifier list includes the original data identifier or the end identifier.
14. The method according to claim 12, wherein, If the target protocol layer or functional module is not the last protocol layer or functional module, the identifier of the target protocol layer or functional module is located in the layer or functional module identifier list; The step of parsing the PDU includes: Obtain the list of layer or functional module identifiers from the PDU; Remove the identifier of the target protocol layer or functional module from the layer or functional module identifier list to obtain an updated layer or functional module identifier list; The PDU is parsed to obtain a parsed data packet, and the updated layer or functional module identifier list is added to the parsed data packet.
15. The method according to claim 13 or 14, wherein, The list of layer or functional module identifiers is located in the first M bits or the last M bits of the PDU, where M is an integer greater than or equal to 1.
16. The method according to claim 12, wherein if the receiving end is a terminal, the method further comprises: Receive configuration information sent by a network device, wherein the configuration information includes one or more of the following: Information on optional protocol layers or functional modules; Information on required protocol layers or functional modules; Original data identifier or end identifier; The order of protocol layers or functional modules.
17. The method according to claim 12, wherein if the receiving end is a network device, the method further comprises: Send configuration information to the terminal, wherein the configuration information includes one or more of the following: Information on optional protocol layers or functional modules; Information on required protocol layers or functional modules; Original data identifier or end identifier; The order of protocol layers or functional modules.
18. A data processing apparatus, applied at a transmitting end, comprising: Memory, transceiver, processor: Memory, used to store computer programs; Transceiver, used to send and receive data under the control of the processor; Processor, configured to read the computer program in the memory and perform the following operations: For a target protocol layer or functional module, if no data processing is performed, the PDU of the target protocol layer or functional module is obtained based on the SDU from the preceding protocol layer or module; or, For the target protocol layer or functional module, if data is to be processed, the SDU is processed and the identifier of the target protocol layer or functional module is added to obtain the PDU of the target protocol layer or functional module.
19. The apparatus according to claim 18, wherein, If no data processing is performed, the process of obtaining the Protocol Data Unit (PDU) of the target protocol layer or functional module based on the Service Data Unit (SDU) from the previous protocol layer or module of the target protocol layer or functional module includes: If the target protocol layer or functional module is the first protocol layer or functional module and the target protocol layer or functional module is optional, add the header of the target protocol layer or functional module, and obtain the PDU of the target protocol layer or functional module based on the header and the SDU; wherein, the header includes an original data identifier or an end identifier; or If the target protocol layer or functional module is not the first protocol layer or functional module, the SDU is directly used as the PDU of the target protocol layer or functional module.
20. The apparatus according to claim 18, wherein, If no data processing is performed, the process of obtaining the Protocol Data Unit (PDU) of the target protocol layer or functional module based on the Service Data Unit (SDU) from the previous protocol layer or module of the target protocol layer or functional module includes: If the target protocol layer or functional module is the first protocol layer or functional module and the target protocol layer or functional module is optional, add the original data identifier or end identifier to the layer or functional module identifier list to obtain an updated layer or functional module identifier list. Based on the updated layer or functional module identifier list and the SDU, obtain the PDU of the target protocol layer or functional module; or If the target protocol layer or functional module is not the first protocol layer or functional module, the SDU is directly used as the PDU of the target protocol layer or functional module.
21. The apparatus according to claim 18, wherein, If the data is processed, based on the SDU, and the identifier of the target protocol layer or functional module is added to obtain the PDU of the target protocol layer or functional module, the process includes: The SDU is processed and a header of the target protocol layer or functional module is added to obtain the PDU; wherein the header includes the identifier of the target protocol layer or functional module.
22. The apparatus according to claim 21, wherein, If the target protocol layer or functional module is the last protocol layer or functional module, the processor is further configured to: If the target protocol layer or function is a required protocol layer or function module, determine whether to add the identifier of the target protocol layer or function module to the header based on the configuration information.
23. The apparatus according to claim 21 or 22, wherein, The identifier of the target protocol layer or functional module is set at a designated location in the header, and the designated location includes any one of the following: The first N bits of the header; The target bit of the target byte in the header; The last N bits of the header; Where N is an integer greater than or equal to 1.
24. The apparatus according to claim 18, wherein, The step of processing the data, adding the identifier of the target protocol layer or functional module, and obtaining the PDU of the target protocol layer or functional module based on the identifier and the SDU from the previous protocol layer or module includes: Add the identifier of the target protocol layer or functional module to the layer or functional module identifier list to obtain an updated layer or functional module identifier list, which is carried in the SDU; The data packet is processed based on the portion of the SDU excluding the layer or functional module identifier list, and the header of the target protocol layer or functional module is added to obtain the processed data packet. The PDU is obtained based on the processed data packet and the updated list of layer or functional module identifiers.
25. The apparatus according to claim 20 or 24, wherein, The list of layer or functional module identifiers is located in the first M bits or the last M bits of the PDU, where M is an integer greater than or equal to 1.
26. The apparatus according to claim 20 or 24, wherein, The list of layer or functional module identifiers occupies an integer byte; or The sum of the length of the SDU of the target protocol layer or functional module and the length of the layer or functional module identifier list is an integer byte. The length of the header of the target protocol layer or functional module is the difference between the length of the integer bytes and the length of the updated layer or functional module identifier list.
27. The apparatus according to claim 18, wherein if the transmitting end is a terminal, the processor is further configured to: Receive configuration information from network devices, including The configuration information includes one or more of the following: Information on optional protocol layers or functional modules; Information on required protocol layers or functional modules; Original data identifier or end identifier; The order of protocol layers or functional modules.
28. The apparatus according to claim 18, wherein if the transmitting end is a network device, the processor is further configured to: Send configuration information to the terminal, including The configuration information includes one or more of the following: Information on optional protocol layers or functional modules; Information on required protocol layers or functional modules; Original data identifier or end identifier; The order of protocol layers or functional modules.
29. A data processing apparatus, applied at a receiving end, comprising: Memory, transceiver, processor: Memory, used to store computer programs; Transceiver, used to send and receive data under the control of the processor; Processor, configured to read the computer program in the memory and perform the following operations: At the target protocol layer or functional module, if the received PDU includes the identifier of the target protocol layer or functional module, the PDU is parsed and the parsed PDU is submitted to the higher protocol layer or functional module; if the received PDU does not include the identifier of the target protocol layer or functional module, the PDU is submitted to the higher protocol layer or functional module.
30. The apparatus according to claim 29, wherein, If the target protocol layer or functional module is the last protocol layer or functional module, the step of delivering the PDU to a higher protocol layer or functional module if the received PDU does not include the identifier of the target protocol layer or functional module includes: If the PDU includes the original data identifier or end identifier of the target protocol layer or functional module, the portion of the PDU after removing the original data identifier or end identifier is submitted as the target protocol layer or functional module SDU to the higher protocol layer or functional module; or If the PDU includes the original data identifier or the end identifier, the portion of the PDU after removing the layer or functional module identifier list is submitted to the higher protocol layer or functional module as the target protocol layer or functional module SDU, wherein the layer or functional module identifier list includes the original data identifier or the end identifier.
31. The apparatus according to claim 29, wherein, If the target protocol layer or functional module is not the last protocol layer or functional module, the identifier of the target protocol layer or functional module is located in the layer or functional module identifier list; The step of parsing the PDU includes: Obtain the list of layer or functional module identifiers from the PDU; Remove the identifier of the target protocol layer or functional module from the layer or functional module identifier list to obtain an updated layer or functional module identifier list; The PDU is parsed to obtain a parsed data packet, and the updated layer or functional module identifier list is added to the parsed data packet.
32. The apparatus according to claim 30 or 31, wherein, The list of layer or functional module identifiers is located in the first M bits or the last M bits of the PDU, where M is an integer greater than or equal to 1.
33. The apparatus according to claim 29, wherein if the receiving end is a terminal, the processor is further configured to: Receive configuration information sent by network devices, including The configuration information includes one or more of the following: Information on optional protocol layers or functional modules; Information on required protocol layers or functional modules; Original data identifier or end identifier; The order of protocol layers or functional modules.
34. The apparatus of claim 29, wherein if the receiving end is a network device, the processor is further configured to: Send configuration information to the terminal, including The configuration information includes one or more of the following: Information on optional protocol layers or functional modules; Information on required protocol layers or functional modules; Original data identifier or end identifier; The order of protocol layers or functional modules.
35. A data processing apparatus, applied at a transmitting end, comprising: The first unit is used to obtain the PDU of the target protocol layer or functional module based on the SDU of the previous protocol layer or module of the target protocol layer or functional module if no data processing is performed. or, The second unit is used to process the data of the target protocol layer or functional module by processing the SDU and adding the identifier of the target protocol layer or functional module to obtain the PDU of the target protocol layer or functional module.
36. A data processing apparatus, characterized in that, Applied to the receiving end, including: The first unit is configured to, at the target protocol layer or functional module, if the received PDU includes the identifier of the target protocol layer or functional module, parse the PDU and submit the parsed PDU to the higher protocol layer or functional module; if the received PDU does not include the identifier of the target protocol layer or functional module, submit the PDU to the higher protocol layer or functional module.
37. A processor-readable storage medium, characterized in that, The processor-readable storage medium stores a program for causing the processor to perform the method as described in any one of claims 1 to 17.
Citation Information
Patent Citations
Data sending method and device, data receiving method and device and storage medium
CN110753076A
Data transmission method and device
CN112640564A
Information transmission method and apparatus, and communication device
CN118233957A
Message transmission method and apparatus, and device
WO2024153014A1