A data transmission method and device, electronic equipment and storage medium
By sending a discard command to the second RLC entity after the PDCP entity determines that the first RLC entity has completed data transmission, the problems of wasted wireless link resources and system retransmission overhead are solved, and the efficiency and reliability of data transmission are achieved.
Patent Information
- Application Number
- CN202011065941.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-09-30
- Publication Date
- 2025-12-23
- Estimated Expiration
- 2040-09-30
AI Technical Summary
In the URLLC scenario of 5G communication, the difference in logical channel quality between the primary and secondary RLC entities leads to the transmission, reception and processing of invalid data, resulting in waste of wireless link resources and system retransmission overhead.
After determining that the first RLC entity has completed data transmission, the PDCP entity sends a discard instruction to the second RLC entity, causing it to discard the data that has been transmitted, thus avoiding the transmission of invalid data.
By avoiding the transmission and processing of invalid data, the waste of wireless link resources and system retransmission overhead are reduced, thus meeting the requirements for data transmission reliability and low latency.
Smart Images

Figure CN114339883B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] Embodiments of the present application relate to the technical field of communication, and particularly relate to a data transmission method and device, electronic equipment and storage medium. BACKGROUND
[0002] In the Ultra-Reliable and Low Latency Communications (URLLC) scenario of 5G communication, in order to guarantee the reliability of data transmission, at least one secondary Radio Link Control (RLC) entity is added to the primary RLC entity connected to the Packet Data Convergence Protocol (PDCP) in the wireless interface. After the duplication of the PDCP is activated, the PDCP delivers multiple identical PDCP Protocol Data Units (PDUs), each RLC entity corresponds to one of the multiple identical PDCP PDUs, and the multiple identical PDCP PDUs are transmitted through independent paths, which can improve the reliability of data transmission and reduce the delay.
[0003] However, in the process of data transmission by using the above method, since there is a difference between the channel quality of the primary / secondary entity corresponding to each logical channel, when one RLC entity has completed data transmission and is successfully received by the receiver due to better channel quality, the other RLC entity will continue to transmit the same data to the receiver, thereby avoiding the waste of wireless link resources caused by the sending, receiving and processing of invalid data, and the overhead of system retransmission, and meeting the user's demand for data transmission. SUMMARY
[0004] Embodiments of the present application provide a data transmission method and device, a communication unit and a storage medium to avoid the waste of wireless link resources caused by the sending, receiving and processing of invalid data.
[0005] In a first aspect, embodiments of the present application provide a data transmission method applied to a terminal device, the terminal device comprising:
[0006] a Packet Data Convergence Protocol (PDCP) entity, and a first Radio Link Control (RLC) entity and a second RLC entity connected to the PDCP;
[0007] the PDCP entity sends first data to the first RLC entity and the second RLC entity, wherein the first RLC entity and the second RLC entity transmit the first data to a receiver by using independent channels;
[0008] The PDCP entity sends a discard instruction to the second RLC entity to discard the first data when it is determined that the first RLC entity has completed sending the first data.
[0009] In a second aspect, an embodiment of the present application provides a data transmission apparatus, comprising: a first data sending module configured to send first data by a PDCP entity to a first RLC entity and a second RLC entity, wherein the first RLC entity and the second RLC entity send the first data to a receiving party by independent channels;
[0010] A data discarding module configured to send a discard instruction to the second RLC entity to discard the first data when the PDCP entity determines that the first RLC entity has completed sending the first data.
[0011] In a third aspect, an embodiment of the present application provides a terminal device, comprising:
[0012] one or more processors;
[0013] a storage device configured to store one or more programs;
[0014] When the one or more programs are executed by the one or more processors, the one or more processors implement the method in any embodiment of the present application.
[0015] In a fourth aspect, an embodiment of the present application further provides a computer storage medium having a computer program stored thereon, which, when executed by a processor, implements the method in any embodiment of the present application.
[0016] The technical solution of the embodiment of the present application, in the process of sending data by the PDCP entity to the receiving party through the first RLC entity and the second RLC entity by independent channels, the PDCP entity instructs the second RLC entity to discard the part of the first data that has been sent and received by the receiving party, and no longer sends the part to the receiving party, thereby avoiding the waste of wireless link resources caused by the sending, receiving and processing of invalid data, and the overhead of system retransmission, thereby meeting the user's demand for data transmission. BRIEF DESCRIPTION OF DRAWINGS
[0017] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following will briefly introduce the drawings needed to be used in the embodiments. It should be understood that the following drawings only show some embodiments of the present application, and therefore should not be regarded as a limitation on the scope, and for those skilled in the art, other related drawings can also be obtained without creative labor on the basis of these drawings.
[0018] Fig. 1(a) is a flow chart of a data transmission method according to an embodiment of the present application;
[0019] Fig. 1(b) is a schematic diagram of an application scenario of the data transmission method according to the embodiment of the present application;
[0020] Fig. 1(c) is a logic diagram of data discarding according to the embodiment of the present application;
[0021] Fig. 1(d) is a logic diagram of data receiving by a receiver according to the embodiment of the present application;
[0022] Figure 2 Fig. 2 is a structural diagram of a data transmission apparatus according to an embodiment of the present application;
[0023] Figure 3 Fig. 3 is a structural diagram of a terminal device according to an embodiment of the present application. DETAILED DESCRIPTION
[0024] The present application will be further described below in conjunction with the drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application, but not to limit the present application. In addition, it should be noted that only the parts related to the present application are shown in the drawings for the convenience of description.
[0025] In addition, it should be noted that only the parts related to the present application are shown in the drawings for the convenience of description. Before discussing the exemplary embodiments in more detail, it should be mentioned that some exemplary embodiments are described as processes or methods depicted as flowcharts. Although the flowcharts depict the operations (or steps) as sequential processes, many of the operations can be performed in parallel, concurrently or simultaneously. In addition, the order of the operations can be rearranged. The processes can be terminated when their operations are completed, but can also have additional steps not included in the drawings. The processes can correspond to methods, functions, procedures, subroutines, subprograms, etc.
[0026] Embodiment 1
[0027] Fig. 1(a) is a flow chart of a data transmission method according to an embodiment of the present application. The embodiment can be applied to the case of transmitting data by using wireless link resources in the URLLC scenario. The method can be performed by a data transmission apparatus according to the embodiment of the present application, which can be realized by software and / or hardware. As shown in Fig. 1(a), the method specifically includes the following operations:
[0028] In step 101, the PDCP entity sends first data to a first RLC entity and a second RLC entity, wherein the first RLC entity and the second RLC entity send the first data to a receiver by using independent channels.
[0029] As shown in FIG. 1(b), which is a schematic diagram of an application scenario of the data transmission method in the embodiment, the terminal device, i.e., the data sender in the embodiment specifically includes a packet data convergence protocol (PDCP) entity, and a first radio link control (RLC) entity and a second RLC entity connected with the PDCP. In a specific implementation, the first RLC entity can be a primary RLC, and the second RLC entity can be a secondary RLC; or the first RLC entity can be a secondary RLC, and the second RLC entity can be a primary RLC. The embodiment does not make any limitation in this regard, as long as the first RLC entity and the second RLC entity use independent channels to transmit data, which is within the protection scope of the present application. The following description is based on an example in which the first RLC entity is a secondary RLC, and the second RLC entity is a primary RLC.
[0030] Optionally, the first data includes first protocol data units with different numbers; the first RLC entity pre-processes the first data to obtain second data, and sends the second data to a receiver, where the second data includes second protocol data units with different numbers, and the numbers of the second protocol data units correspond to the numbers of the first protocol data units; and the second RLC entity pre-processes the first data to obtain third data, and sends the third data to the receiver, where the third data includes third protocol data units with different numbers, and the numbers of the third protocol data units correspond to the numbers of the first protocol data units.
[0031] Specifically, after the PDCP entity is configured with duplication activation, the PDCP entity generates first data, the first data includes first protocol data units with different numbers, and the first data can be expressed by PDCP PDUs. The PDCP entity sends the first data to the first RLC entity and the second RLC entity respectively. The first RLC entity pre-processes the obtained first data to obtain second data, and the second RLC entity pre-processes the obtained first data to obtain third data. The first RLC entity and the second RLC entity respectively send the pre-processed data to the receiving end by using independent channels. In the embodiment, the first RLC or the second RLC can use AM-acknowledgment mode or UM-non-acknowledgment mode for data transmission. As shown in FIG. 1(c), a logical diagram for data discarding in the embodiment is shown. The first data includes first protocol data units with numbers 2-13, the second data includes second protocol data units with numbers 15-25, and the third data includes third protocol data units with numbers 1-10. For example, the first data unit with number 8 of the first data corresponds to the second data unit with number 17 of the second data. Specifically, the second data unit with number 17 of the second data can be obtained by adding a header symbol to the first data unit with number 8 of the first data. In the embodiment, one first data unit can correspond to multiple second data units, which means that the data is segmented. Of course, the embodiment is only an example, and the specific values of the numbers in each type of data are not limited.
[0032] In step 102, when the PDCP entity determines that the first RLC entity has completed sending the first data, the PDCP entity sends a discarding instruction to the second RLC entity, so that the second RLC entity discards the first data.
[0033] Optionally, when the PDCP entity determines that the first RLC entity has completed sending the first data, the PDCP entity can include: receiving, by the PDCP entity, a currently updated number of the second protocol data units sent by the first RLC entity. In fact, the currently updated second protocol data unit is the largest number of the second protocol data units that have been confirmed by the receiving end. According to the currently updated number of the second protocol data units, the PDCP entity determines the largest number of the first protocol data units that have been completed by the first RLC entity for sending the first data.
[0034] Optionally, the PDCP entity sends a discarding instruction to the second RLC entity, so that the second RLC entity discards the first data. The discarding instruction includes the largest number of the first protocol data units that have been completed for sending. The second RLC entity discards the first data that has not been sent and is smaller than the largest number of the first protocol data units that have been completed for sending.
[0035] For example, in Fig. 1(c), the last second protocol data unit in the second data in the first RLC entity has a number SN=24, i.e., TX-Next points to 25, indicating the starting number of the next update of the first RLC entity. The PDCP receives the number SN=18 of the second protocol data unit in the current update sent by the first entity, i.e., TX_Next_Ack points to 18, indicating that the second protocol data units with numbers SN<18 in the second data are all acknowledged by the receiver. Since the second protocol data unit with number 17 corresponds to the first protocol data unit with number 8, it can be known that the first protocol data units with numbers SN<=8 in the first data have all been successfully sent by the channel path of the first RLC entity and acknowledged by the receiver. Similarly, for the second RLC entity, the last third protocol data unit in the third data has a number SN=9, i.e., TX-Next points to 10, indicating the starting number of the next update of the second RLC entity. Since TX_Next_Ack of the second RLC entity points to 1, the third protocol data unit with number 1 corresponds to the first protocol data unit with number 3, and the third protocol data unit with number 6 corresponds to the first protocol data unit with number 8, it can be known that the first protocol data units with numbers SN<=2 in the first data have all been successfully sent by the channel path of the second RLC entity and acknowledged by the receiver. Therefore, it can be known that the channel quality of the first RLC entity relative to the second RLC entity is better, and thus the data transmission speed is faster.
[0036] The PDCP receives the number SN=18 of the second protocol data unit in the current update sent by the first RLC entity, and determines that the first protocol data units with numbers SN<=8 in the first data have all been completely received by the receiver, and notifies the second RLC entity to discard the obtained first protocol data units with numbers in the interval of 3-8 in the first data, so as to avoid the second RLC entity from re-sending the data that has been sent and determined to be completed, causing unnecessary resource waste.
[0037] Optionally, after the PDCP entity determines that the first RLC entity has completed the sending of the first data, the PDCP entity sends a discard instruction to the second RLC entity to make the second RLC entity discard the first data, and the method further includes: determining, by the second RLC entity, the maximum number of the first protocol data units corresponding to the valid number of the third protocol data unit; generating, by the second RLC entity, a synchronization status report status packet according to the valid number of the third protocol data unit, and sending the synchronization status report status packet to the receiver, so as to make the receiver stop feeding back the status of the data units smaller than the valid number of the third protocol data unit to the second RLC entity.
[0038] Optionally, the synchronization status report status packet further comprises: a type of the synchronization status report status packet.
[0039] Specifically, for the above example, according to the new sending window, the first RLC entity updates the valid number TX_Sync_Next of the second protocol data unit to be equal to the number of TX_Next_Ack in the second data, i.e. TX_Sync_Next = 18. After the PDCP instructs the second RLC entity to discard the first protocol data units with numbers in the range of 3-8 in the acquired first data, the second RLC entity updates the valid number TX_Sync_Next of the third protocol data unit to be the maximum number of the first protocol data units completed sending, i.e. TX_Sync_Next = 6. And the second RLC entity generates a synchronization status report status packet according to the valid number of the third protocol data unit. The synchronization status report status packet in the embodiment can be 12 bits or 18 bits. Table 1-1 below shows the structure of the 12-bit synchronization status report status packet, and Table 1-2 below shows the structure of the 18-bit synchronization report status packet:
[0040] Table 1-1
[0041]
[0042] Table 1-2
[0043]
[0044] The D / C field is used to represent the data form, and occupies 1 bit. Table 2 below shows the details:
[0045] Table 2
[0046] Values Description 0 Control PDU 1 Data PDU
[0047] The CPT is used to represent the type of the synchronization status report status packet, and occupies 3 bytes. Table 3 below shows the details:
[0048] Table 3
[0049]
[0050] When the 12-bit synchronization report status packet structure in Table 1-1 is used to determine the synchronization status report status packet, and the valid number TX_Sync_Next of the third protocol data unit is determined to be 6, the ACK-SN in Table 1-1 is filled with 6, the D / C in Table 1-1 is filled with 0 in combination with Table 2, and the CPT in Table 1-1 is filled with 001 in combination with Table 3, so that the final obtained synchronization status report status packet is shown in Table 4 below:
[0051] Table 4
[0052]
[0053] Optionally, after the second RLC entity generates the synchronization status report status package according to the valid number of the third protocol data unit and sends the synchronization status report status package to the receiving party, the method further comprises: the second RLC entity determines the current third data unit state received by the receiving party feedback; determines whether the number of the received current third data unit is greater than the valid number of the third protocol data unit, if yes, determines that the synchronization status report status package is sent successfully, otherwise, re-sends the synchronization status report status package.
[0054] It should be noted that the second RLC entity sends the synchronization status report status package shown in Table 4 to the receiving party, so that the receiving party stops feeding back the status of the third protocol data unit with a number less than 6 to the second RLC entity. If the second RLC entity determines that the status sent by the receiving party is received, and the status indicates that the third protocol data unit with a number of 4 has packet loss, since 4<6, it can be determined that the receiving party has not successfully received the synchronization status report status package sent by the second RLC entity, and the synchronization status report status package shown in Table 4 above is re-sent to the receiving party; if the second RLC entity determines that the status sent by the receiving party is received, and the status indicates that the third protocol data unit with a number of 8 has packet loss, since 8>6, it can be determined that the receiving party has successfully received the synchronization status report status package sent by the second RLC entity, and there is no need to perform the status package re-sending operation.
[0055] It should be noted that the receiving party in the embodiment has the same structure as the sending party, including a main RLC entity, a secondary RLC entity and a PDCP entity. The terminal device and the main RLC entity of the sending party send data to the main RLC entity of the receiving party, and the secondary RLC entity of the sending party sends data to the secondary RLC entity of the receiving party. Therefore, when the second RLC entity, i.e. the secondary RLC entity of the sending party, sends the synchronization status report status package shown in Table 4 to the receiving party, it is actually received by the secondary RLC entity of the receiving party. 、 、 、 、 、 、 、 、
[0056] For example, as shown in Figure 1(d), which is a logical diagram of the receiver's received data, the main RLC in the receiver... 、 The latest received second protocol data unit (PDC) in the second data of the sender's main RLC entity is numbered SN=21, meaning RX-Next-Highest points to 22. RX_Next indicates the packet loss location, and RX_Highest_Status indicates the status feedback location. RX_Next=18, meaning that packet loss first occurred at position SN=18 in the second PLC, and status feedback was sent to the sender. The main RLC entity fully received the second PLC data unit with SN<=17 in the second data and sent it to the receiver's PDCP. 、 Upon physical delivery, since the second protocol data unit numbered 18 corresponds to the first protocol data unit numbered 8, it can be concluded that all first protocol data units with numbers SN<=8 in the first data have been received. Similarly, regarding the receiver's auxiliary RLC... 、 The entity, RX_Next_Highest=8, RX_Next=1, RX_Highest_Status=3, indicates that packet loss first occurred at position SN=1 in the third protocol data unit, and corresponding packet losses also occurred at positions SN=3 and SN=6. Therefore, a status feedback will be sent to the sender. According to the new receive window mechanism, if the secondary RLC... 、 The entity has already reported to the sender that the third protocol data unit with number SN=2 has been received, and the third protocol data unit with number SN=1 has not been fully received. After receiving the synchronization status report packet, by parsing the ACK-SN field, it is determined that ACK-SN=6. Then, RX_Next and RX_Highest_Status are both updated to the first SN that has not been acknowledged and is greater than 6, i.e., 8.
[0057] In the technical solution of this invention embodiment, during the process of PDCP transmitting data to the receiver through the first RLC entity and the second RLC entity using mutually independent channels, when PDCP determines that the first RLC entity has completed transmission and been received by the receiver, it will instruct the second RLC entity to discard the already transmitted portion and stop transmitting it to the receiver. This avoids the waste of wireless link resources caused by the transmission, reception and processing of invalid data, as well as the overhead of system retransmission, thereby meeting the user's data transmission needs.
[0058] Example 2
[0059] Figure 2 This is a schematic diagram of a data transmission device provided in an embodiment of the present invention. The device includes:
[0060] The first data sending module 210 is configured to send, by the PDCP entity, first data to a first RLC entity and a second RLC entity, wherein the first RLC entity and the second RLC entity send the first data to a receiving end by using independent channels.
[0061] The data discarding module 220 is configured to, when it is determined that the first RLC entity has completed sending the first data, send a discarding instruction to the second RLC entity, so that the second RLC entity discards the first data.
[0062] Optionally, the first data comprises first protocol data units with different numbers.
[0063] The first RLC entity pre-processes the first data to obtain second data, and sends the second data to the receiving end, wherein the second data comprises second protocol data units with different numbers, and the numbers of the second protocol data units correspond to the numbers of the first protocol data units.
[0064] The second RLC entity pre-processes the first data to obtain third data, and sends the third data to the receiving end, wherein the third data comprises third protocol data units with different numbers, and the numbers of the third protocol data units correspond to the numbers of the first protocol data units.
[0065] Optionally, the data discarding module 220 comprises a data sending completion determining sub-module, configured to:
[0066] The PDCP receives a number of a currently updated second protocol data unit sent by the first RLC entity, wherein the currently updated second protocol data unit is a second protocol data unit with a largest number that has been confirmed by the receiving end.
[0067] According to the number of the currently updated second protocol data unit, a largest number of the first protocol data units that have been completed by the first RLC entity is determined.
[0068] Optionally, the data discarding module 220 comprises a data discarding sub-module, configured to:
[0069] The discarding instruction comprises the largest number of the first protocol data units that have been completed.
[0070] The second RLC entity discards the first data that has not been sent and is smaller than the largest number of the first protocol data units that have been completed.
[0071] Optionally, the apparatus further comprises a state packet sending module, configured to:
[0072] The second RLC entity determines a maximum number of the first protocol data units that are sent and completed, and an effective number of the third protocol data unit corresponding to the maximum number of the first protocol data units that are sent and completed;
[0073] The second RLC entity generates a synchronization status report status package according to the effective number of the third protocol data unit, and sends the synchronization status report status package to the receiving end, so that the receiving end stops feeding back the status of the data unit smaller than the effective number of the third protocol data unit to the second RLC entity.
[0074] The apparatus further comprises a detection module for:
[0075] The second RLC entity determines the status of the current third data unit received by the receiving end.
[0076] It is determined whether the number of the received current third data unit is greater than the effective number of the third protocol data unit, if yes, it is determined that the synchronization status report status package is sent successfully, otherwise, the synchronization status report status package is re-sent.
[0077] The apparatus can execute the data transmission method provided by any embodiment of the application, has the function modules and beneficial effects corresponding to the execution method. Technical details not described in detail in the embodiment can be referred to the method provided by any embodiment of the application.
[0078] Embodiment three
[0079] Figure 3 is a structural schematic diagram of a terminal device provided by an embodiment of the application. Figure 3 A block diagram of an exemplary communication unit 412 suitable for use in implementing embodiments of the application is shown. Figure 3 The terminal device 412 shown is merely an example and should not be taken as limiting the functionality or applicability of embodiments of the application.
[0080] As shown in Figure 3 The communication unit 412 appears in the form of a general computing communication unit. Components of the communication unit 412 can include, but are not limited to, one or more processors 416, memory 428, and a bus 418 that connects different system components, including the memory 428 and the processor 416.
[0081] The bus 418 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, a graphics acceleration bus, a processor or local bus using any of a variety of bus architectures including, for example, an industry standard architecture (ISA) bus, an Intel® micro-channel architecture (MAC) bus, an enhanced ISA bus, a video electronics standards association (VESA) local bus, and a peripheral component interconnect (PCI) bus.
[0082] Communication unit 412 typically includes a variety of computer system readable media. These media can be any available media that can be accessed by communication unit 412, including volatile and non-volatile media, and removable and non-removable media.
[0083] Memory 428 is used to store instructions. Memory 428 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 430 and / or cache memory 432. Communication unit 412 may further include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, storage system 434 may be used to read and write non-removable, non-volatile magnetic media (…). Figure 3 Not shown; usually referred to as a "hard drive"). Although Figure 3 Not shown, a disk drive for reading and writing to a removable non-volatile disk (e.g., a "floppy disk") and an optical disk drive for reading and writing to a removable non-volatile optical disk (e.g., a CD-ROM, DVD-ROM, or other optical media) may be provided. In these cases, each drive may be connected to bus 418 via one or more data media interfaces. Memory 428 may include at least one program product having a set (e.g., at least one) of program modules configured to perform the functions of the embodiments of the present invention.
[0084] A program / utility 440 having a set (at least one) of program modules 442 may be stored, for example, in memory 428. Such program modules 442 include, but are not limited to, an operating system, one or more application programs, other program modules, and program data. Each or some combination of these examples may include an implementation of a network environment. Program modules 442 typically perform the functions and / or methods described in the embodiments of the present invention.
[0085] The communication unit 412 can also communicate with one or more external communication units 414 (e.g., keyboard, pointing communication unit, display 424, etc.), and with one or more communication units that enable a user to interact with the communication unit 412, and / or with any communication unit (e.g., network card, modem, etc.) that enables the communication unit 412 to communicate with one or more other computing communication units. This communication can be performed via the input / output (I / O) interface 422. Furthermore, the communication unit 412 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via the network adapter 420. As shown, the network adapter 420 communicates with other modules of the communication unit 412 via the bus 418. It should be understood that, although... Figure 3Other hardware and / or software modules not shown in FIG. 4 can be used in conjunction with the communications unit 412, including but not limited to a microcode, a communications unit driver, a redundant processing unit, an external disk drive array, a RAID system, a tape drive, and a data backup storage system, etc.
[0086] The processor 416 performs various function applications and data processing by running the instructions stored in the memory 428, such as implementing the data transmission method provided by the embodiments of the present application: the PDCP entity sends the first data to the first RLC entity and the second RLC entity, wherein the first RLC entity and the second RLC entity send the first data to the receiver by using independent channels; and the PDCP entity sends a discard instruction to the second RLC entity to discard the first data when it is determined that the first RLC entity has completed the sending of the first data.
[0087] Embodiment four
[0088] The embodiment four of the present application provides a computer readable storage medium, which stores a computer program, and the program is executed by a processor to implement the data transmission method provided by all the embodiments of the present application:
[0089] The PDCP entity sends the first data to the first RLC entity and the second RLC entity, wherein the first RLC entity and the second RLC entity send the first data to the receiver by using independent channels; and the PDCP entity sends a discard instruction to the second RLC entity to discard the first data when it is determined that the first RLC entity has completed the sending of the first data.
[0090] Any combination of one or more computer readable medium can be employed. The computer readable medium can be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium include an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In this document, the computer readable storage medium can be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
[0091] A computer readable signal medium can include a propagated data signal with computer executable code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal can take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium can be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate or transport programming code.
[0092] Program code embodied on a computer readable medium can be transmitted using any appropriate medium, including but not limited to wireless, wire line, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
[0093] Computer program code for carrying out operations for aspects of the present application can be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider). In an embodiment, electronic program guide data can be received from a remote computer.
[0094] Note that the foregoing only describes a few example embodiments of the application and the use of technical principles. Those skilled in the art will understand that the application is not limited to the specific embodiments described herein, and that various obvious changes, modifications and substitutions can be made to the application without departing from the scope of the application. Therefore, although the application has been described in detail through the above embodiments, the application is not limited to the above embodiments, and can include more other equivalent embodiments without departing from the concept of the application, and the scope of the application is determined by the scope of the appended claims.
Claims
1. A data transmission method, characterized in that, Applied to a terminal device, the terminal device comprising: Packet Data Convergence Protocol (PDCP) entity, and a first Radio Link Control (RLC) entity and a second Radio Link Control (RLC) entity connected to the PDCP; The PDCP entity sends first data to the first RLC entity and the second RLC entity, wherein the first RLC entity and the second RLC entity use independent channels to send the first data to the receiver; When the PDCP entity determines that the first RLC entity has completed the transmission of the first data, it sends a discard instruction to the second RLC entity so that the second RLC entity discards the first data. The first data contains first protocol data units with different numbers; The first RLC entity preprocesses the first data to obtain the second data and sends the second data to the receiver. The second data contains second protocol data units with different numbers, and the numbers of the second protocol data units correspond to the numbers of the first protocol data units. The second RLC entity preprocesses the first data to obtain third data and sends the third data to the receiver. The third data contains third protocol data units with different numbers, and the numbers of the third protocol data units correspond to the numbers of the first protocol data units. The PDCP entity determines, upon determining that the first RLC entity has completed the transmission of the first data, that: The PDCP receives the number of the currently updated second protocol data unit sent by the first RLC entity, and the currently updated second protocol data unit is the second protocol data unit with the largest number that the receiver has completed message acknowledgment for; Based on the number of the currently updated second protocol data unit, determine the maximum number of the first protocol data unit that the first RLC entity has completed sending for the first data; Sending a discard instruction to the second RLC entity to cause the second RLC entity to discard the first data includes: Send a discard instruction to the second RLC entity, wherein the discard instruction contains the maximum number of the first protocol data unit that has been sent; The second RLC entity discards the first data that has not been sent and is smaller than the maximum number of the first protocol data unit that has been sent. Wherein, after the PDCP entity determines that the first RLC entity has completed the transmission of the first data, it sends a discard instruction to the second RLC entity so that the second RLC entity discards the first data, the method further includes: The second RLC entity determines the valid number of the third protocol data unit corresponding to the maximum number of the first protocol data unit that has been sent. The second RLC entity generates a synchronization status report packet based on the valid number of the third protocol data unit and sends the synchronization status report packet to the receiver, so that the receiver stops feeding back the status of data units with valid numbers smaller than the third protocol data unit to the second RLC entity. After the second RLC entity generates a synchronization status report packet based on the valid number of the third protocol data unit and sends the synchronization status report packet to the receiver, the method further includes: The second RLC entity determines the status of the current third data unit received from the receiver; Determine whether the number of the received current third data unit is greater than the valid number of the third protocol data unit. If so, determine that the synchronization status report packet was successfully sent; otherwise, resend the synchronization status report packet. The synchronization status report packet also includes: the type of the synchronization status packet.
2. A data transmission device, characterized in that, include: The first data transmission module is used for the PDCP entity to send first data to the first RLC entity and the second RLC entity, wherein the first RLC entity and the second RLC entity use independent channels to send the first data to the receiver; The data discarding module is used so that when the PDCP entity determines that the first RLC entity has completed the transmission of the first data, it sends a discarding instruction to the second RLC entity so that the second RLC entity discards the first data. The first data includes first protocol data units with different numbers; The first RLC entity preprocesses the first data to obtain the second data and sends the second data to the receiver. The second data contains second protocol data units with different numbers, and the numbers of the second protocol data units correspond to the numbers of the first protocol data units. The second RLC entity preprocesses the first data to obtain third data and sends the third data to the receiver. The third data contains third protocol data units with different numbers, and the numbers of the third protocol data units correspond to the numbers of the first protocol data units. The data discarding module includes a data transmission completion determination submodule, used for: The PDCP receives the number of the currently updated second protocol data unit sent by the first RLC entity, and the currently updated second protocol data unit is the second protocol data unit with the largest number that the receiver has completed message acknowledgment for; Based on the number of the currently updated second protocol data unit, determine the maximum number of the first protocol data unit that the first RLC entity has completed sending for the first data; The data discarding module includes a data discarding submodule, used for: Send a discard instruction to the second RLC entity, wherein the discard instruction contains the maximum number of the first protocol data unit that has been sent; The second RLC entity discards the first data that has not been sent and is smaller than the maximum number of the first protocol data unit that has been sent. The status packet sending module is used for: The maximum number of the first protocol data unit and the corresponding valid number of the third protocol data unit are determined and completed by the second RLC entity. The second RLC entity generates a synchronization status report packet based on the valid number of the third protocol data unit and sends the synchronization status report packet to the receiver so that the receiver stops feeding back the status of data units with valid numbers less than the third protocol data unit to the second RLC entity. The detection module is used for: The second RLC entity determines the status of the current third data unit received from the receiver; Determine whether the number of the received current third data unit is greater than the valid number of the third protocol data unit. If so, determine that the synchronization status report packet was sent successfully; otherwise, resend the synchronization status report packet. The synchronization status report packet also includes: the type of the synchronization status packet.
3. A terminal device, characterized in that, The terminal device includes: One or more processors; Storage device for storing one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement the method as described in claim 1.
4. A computer storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the method as described in claim 1.
Citation Information
Patent Citations
Method and apparatus for handover in a mobile communication system
CN101897132A
Method and Apparatus For Handling Data Duplication In Mobile Communications
CN109417716A
Data transmission method, device, user equipment and base station
CN109429555A
A repeated data transmission method and device
CN109698736A
Duplicating PDCP PDUS for radio bearer
CN110945901A