Method and apparatus for determining data transmission timing, and device and readable medium
By obtaining the number of data packets and the estimated processing time of the data link layer, and combining this with transmission priority, the transmission timing of the data link layer is rationally planned, which solves the abnormal problem caused by excessive processing time of the data link layer and improves the system's transmission performance and stability.
Patent Information
- Application Number
- PCT/CN2024/097188
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-07-03
- Filing Date
- 2024-06-04
- Publication Date
- 2025-01-09
AI Technical Summary
During data transmission at the data link layer, there are problems such as excessive processing time leading to missed authorized transmissions, memory exhaustion, and uplink or downlink interruptions.
By obtaining the number of data packets corresponding to each data processing process in the data link layer, the estimated time consumption can be determined, and the transmission sequence of the data link layer can be determined according to the transmission priority, so as to rationally plan the data processing process.
This effectively avoids abnormal situations caused by excessive processing time, improves system transmission performance and stability, and reduces problems such as missed authorized packets and downlink data interruption due to unprocessed data.
Smart Images

Figure CN2024097188_09012025_PF_FP_ABST
Abstract
Description
Method, device, apparatus, and readable medium for determining data transmission timing
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to Chinese patent application CN 202310803728.7, entitled “Data transmission timing determination method, device, apparatus and readable medium”, filed on July 3, 2023, the entire contents of which are incorporated herein by reference. Technical Field
[0003] The present disclosure relates to the field of communication technologies, and in particular to a method, apparatus, device, and readable medium for determining a data transmission timing. Background Art
[0004] The data link layer is responsible for the data transmission process of the protocol stack, which includes both uplink and downlink data transmission. In the current data link layer data transmission process, if a process takes too long, problems such as missed authorization transmission, memory exhaustion, and uplink or downlink disconnection may occur.
[0005] Summary of the Invention
[0006] The present disclosure provides a method, apparatus, device, and readable medium for determining a data transmission timing.
[0007] The present disclosure provides a method for determining data transmission timing, including: obtaining the number of data packets corresponding to each data processing process in the data link layer; determining the estimated duration corresponding to each data processing process based on the number of data packets corresponding to each data processing process; and determining the transmission timing of the data link layer based on the estimated duration corresponding to each data processing process and the transmission priority of each data processing process.
[0008] The present disclosure also provides a device for determining the data transmission timing, including: an acquisition module, used to obtain the number of data packets corresponding to each data processing process in the data link layer; an estimation module, used to determine the estimated duration corresponding to each data processing process based on the number of data packets corresponding to each data processing process; a determination module, used to determine the transmission timing of the data link layer based on the estimated duration corresponding to each data processing process and the transmission priority of each data processing process.
[0009] The present disclosure also provides an electronic device, comprising: at least one processor; and a memory on which one or more programs are stored. When the one or more programs are executed by the one or more processors, the one or more processors implement the method for determining data transmission timing according to the present disclosure.
[0010] The present disclosure also provides a computer-readable medium having a computer program stored thereon, which, when executed by a processor, implements the method for determining data transmission timing according to the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] FIG1 is a schematic flow chart of a method for determining a data transmission timing according to an embodiment of the present disclosure;
[0012] FIG2 is a schematic diagram of a partial process of determining a data transmission timing according to an embodiment of the present disclosure;
[0013] FIG3 is a schematic diagram of another part of the process of determining the data transmission timing provided in an embodiment of the present disclosure;
[0014] FIG4 is a schematic diagram of a data transmission timing sequence provided in an embodiment of the present disclosure;
[0015] FIG5 is a schematic diagram of the structure of an apparatus for determining a data transmission timing according to an embodiment of the present disclosure;
[0016] FIG6 is a schematic structural diagram of an electronic device provided in an embodiment of the present disclosure. DETAILED DESCRIPTION
[0017] The following describes the specific embodiments of the present disclosure in detail with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are only used to illustrate and explain the present disclosure and are not intended to limit the present disclosure.
[0018] As used in this disclosure, the term "and / or" includes any and all combinations of one or more of the associated listed items.
[0019] The terms used in the present disclosure are only used to describe specific embodiments and are not intended to limit the present disclosure.As used in the present disclosure, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.
[0020] When the terms “comprising” and / or “made of…” are used in the present disclosure, it specifies the existence of the stated features, integers, steps, operations, elements and / or components, but does not preclude the existence or addition of one or more other features, integers, steps, operations, elements, components and / or groups thereof.
[0021] Unless otherwise defined, all terms (including technical and scientific terms) used in this disclosure have the same meanings as those commonly understood by those skilled in the art. It will also be understood that terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with their meaning in the context of the relevant art and this disclosure, and will not be interpreted as having an idealized or overly formal meaning unless expressly defined in this disclosure.
[0022] The present disclosure provides a method for determining data transmission timing. This method can be applied to any electronic device with a data link layer in a wireless communication network system. The electronic device can be any type of terminal (UE) or any type of network device. For example, the method can be applied to user terminals, base stations, and core network elements performing data transmission.
[0023] FIG1 is a flow chart of a method for determining a data transmission timing sequence. The process of determining the data transmission timing sequence mainly includes steps 101 to 103 .
[0024] In step 101, the number of data packets corresponding to each data processing process in the data link layer is obtained.
[0025] In some embodiments, each data processing process includes an uplink data processing process and a downlink data processing process. The uplink data processing process includes: an uplink pre-packaging process, an uplink confirmation data release process, and an uplink authorization packaging process. The downlink data processing process includes a downlink delivery process.
[0026] The downlink data processing process also includes the unpacking process of the downlink transmission block (TB). The time required for the unpacking process of the downlink transmission block cannot be estimated. It can be divided on demand during real-time processing to ensure the reasonable progress of each data processing process.
[0027] In step 102, the estimated duration corresponding to each data processing process is determined based on the number of data packets corresponding to each data processing process.
[0028] In some embodiments, determining the estimated duration corresponding to each data processing process based on the number of data packets corresponding to each data processing process includes: obtaining a mapping relationship between the number of data packets corresponding to each data processing process and the processing time; and determining the estimated duration corresponding to each data processing process based on the mapping relationship.
[0029] The mapping relationship between the number of data packets and processing time corresponding to each data processing process is pre-measured. By using this pre-measured mapping relationship, the estimated processing time for each data processing process can be predicted before it begins. For processes whose time consumption cannot be estimated, they can be segmented as needed during real-time processing, thereby rationally planning each data processing process.
[0030] In some embodiments, for any data processing process, obtaining a mapping relationship between the number of data packets and the processing time includes: statistically obtaining the actual processing time corresponding to the number of data packets; performing a linear fit on the actual processing time corresponding to the number of data packets to obtain a mapping relationship between the number of data packets and the processing time, wherein the mapping relationship reflects the relationship between the rate of the data processing process, the number of data packets, the time increment, and the total time of the data processing process. The mapping relationship between the number of data packets and the processing time is determined for each data processing process according to the process.
[0031] For example, taking UE as an example, linear fitting is performed by obtaining the relationship between the number of data packets and the processing time of multiple groups, and the relationship between the number of data packets and the processing time of each data processing process is statistically calculated. This relationship can be a linear expression, specifically including: the mapping relationship expression of the uplink pre-packaging process is: T1 = V1*N1+t1; the mapping relationship expression of the uplink authorization packetization process is: T2 = V2*N2+t2; the mapping relationship expression of the uplink confirmation data release process is: T3 = V3*N3+t3; in the unpacking process of the downlink transmission block, since the number of data packets is unknown and cannot be estimated in advance, it is divided according to the real-time processing process; the mapping relationship expression of the downlink delivery process is: T4 = V4*N4+t4.
[0032] T1, T2, T3, and T4 represent the total time consumed by the corresponding data processing process; V1, V2, V3, and V4 represent the rate of the corresponding data processing process, that is, the processing time of each packet of data. The rate of a type of data processing process in the same system usually does not change; N1, N2, N3, and N4 represent the number of data packets in the corresponding data processing process; t1, t2, t3, and t4 represent the corresponding time increment. After linear fitting, the time increment in the mapping relationship of the corresponding data processing process is a fixed value.
[0033] In step 103, the transmission timing of the data link layer is determined according to the estimated duration corresponding to each data processing process and the transmission priority of each data processing process.
[0034] In some embodiments, within a transmission time interval (TTI), the transmission priority of each data processing process includes: at the moment when the uplink authorization arrives, the uplink authorization package assembly process has the highest priority; in the first time period before the moment when the uplink authorization arrives, the uplink pre-package assembly process has the highest priority; in the second time period after the moment when the uplink authorization arrives, the downlink delivery process has the highest priority.
[0035] The unpacking process of the downlink transmission block can be interspersed within the first time period and the second time period. If the unpacking cannot be completed within the first time period, the unpacking of the unfinished part will continue in the second time period. If the unpacking cannot be completed within the second time period, the unpacking will continue in the next transmission time interval, and so on.
[0036] During the first time period, the downlink transport block unpacking process has a lower priority than the uplink pre-packaging process; when the uplink grant arrives, the uplink grant packaging process is prioritized. During the second time period, because the downlink delivery process relies on the downlink delivery data obtained during the downlink transport block unpacking process, the downlink delivery process processing time is estimated based on the real-time processing progress of the downlink transport block unpacking process.
[0037] Exemplarily, the duration of a TTI is 0.5 ms.
[0038] In some embodiments, the uplink grant arrival time is fixed within each transmission time interval, so that the estimated completion time of each processing process can be compared with the uplink grant arrival time.
[0039] For example, a fixed position of the uplink grant arrival time within the transmission time interval is set as needed. Once the uplink grant arrival time is set, each transmission time interval is executed according to the same uplink grant arrival time.
[0040] In some embodiments, determining the transmission timing of the data link layer based on the estimated duration corresponding to each data processing process and the transmission priority of each data processing process includes: for any transmission time interval, determining the transmission timing corresponding to each data processing process according to the following process: in a first time period before the arrival of the uplink authorization, determining the transmission timing in the first time period based on the estimated duration corresponding to the uplink pre-packaging cache data, the uplink confirmation data, and the downlink delivery data and the length of the first time period; when the uplink authorization moment arrives, completing the uplink authorization packetization process in priority based on the estimated duration corresponding to the uplink authorization packetization processing process; determining the transmission timing in the second time period based on the data processes that are not completed in the first time period.
[0041] Exemplarily, within a first time period, while prioritizing the completion of the uplink pre-packaging process, if a downlink transmission block is received, the downlink transmission block unpacking process is performed, and the transmission timing is determined based on the real-time processing of the downlink transmission block unpacking process before the uplink authorization moment. If the downlink transmission block unpacking process is completed and uplink confirmation data exists, the uplink confirmation data release process is prioritized. If the downlink transmission block unpacking process is not completed, the unfinished portion is cached and awaits processing in the second time period or the next transmission time interval. If the uplink confirmation data release process is fully completed, the downlink delivery data delivery process continues, and the portion of downlink delivery data that could not be completed in the first time period awaits processing in the second time period or the next transmission time interval. Within a second time period, after the uplink authorization packaging process is completed, the unfinished processes of the first time period are continued, including, in order of priority: the downlink transmission block unpacking process, the downlink delivery data delivery process after the downlink transmission block unpacking process is completed, and the uplink confirmation data release process after the downlink delivery data delivery process is completed.
[0042] In some embodiments, within a first time period before the arrival of the uplink authorization, the transmission timing within the first time period is determined based on the estimated duration corresponding to the uplink pre-assembled packet cache data, the uplink confirmation data, and the downlink delivery data and the duration of the first time period, including: within the first time period, based on the estimated duration corresponding to the uplink pre-assembled packet cache data, judging whether the estimated time when the uplink pre-assembled packet cache data is processed exceeds the uplink authorization time; if it is determined that it exceeds, processing part of the uplink pre-assembled packet cache data before reaching the uplink authorization time; otherwise, completing the processing of the uplink pre-assembled packet cache data; after completing the processing of the uplink pre-assembled packet cache data, in the case where there is uplink confirmation data, judging based on the uplink confirmation data. The estimated time required for releasing the data is used to determine whether the moment when the release of the uplink confirmation data is completed exceeds the uplink authorization moment. If it is determined that it exceeds, part of the uplink confirmation data is released before the uplink authorization moment is reached, and the unreleased uplink confirmation data is saved in the uplink confirmation data cache. Otherwise, the release process of the uplink confirmation data is completed. After completing the release process of the uplink confirmation data, in the case of downlink delivery data, if there is downlink delivery data, based on the estimated time required for the delivery of the downlink delivery data, determine whether the moment when the delivery of the downlink delivery data is completed exceeds the uplink authorization moment. If it is determined that it exceeds, part of the downlink delivery data is delivered before the uplink authorization moment is reached. Otherwise, the delivery process of the downlink delivery data is completed.
[0043] Before the uplink authorization moment arrives, the transmission sequence is arranged in order according to the estimated time required for uplink pre-packaging cache data, the estimated time required for uplink confirmation data, and the estimated time required for downlink delivery data. If the transmission time of any item is too long and is expected to exceed the time when the uplink authorization arrives, the process is divided to ensure that the uplink authorization packaging process is handled in time when the uplink authorization moment arrives, and to ensure that the uplink authorization packaging process can be completed in time.
[0044] In some embodiments, the method for determining the data transmission timing according to the present disclosure also includes: after completing the processing process of the uplink pre-packaging cache data, receiving the downlink transmission block and performing the unpacking process of the downlink transmission block; when the unpacking process of the downlink transmission block is completed before the uplink authorization moment, and when there is uplink confirmation data in the downlink data obtained by unpacking the downlink transmission block or in the downlink data cache, executing the step of judging whether the moment when the release of the uplink confirmation data is completed exceeds the uplink authorization moment according to the estimated duration corresponding to the release of the uplink confirmation data; when the unpacking process of the downlink transmission block is not completed before the uplink authorization moment, when the uplink authorization moment arrives, obtaining the unpacked data, saving the unpacked data in the downlink transmission block to the downlink data cache, and executing the step of determining the transmission timing in the second time period according to the data process that is not completed in the first time period.
[0045] For the unpacking process of the downlink transmission block whose estimated time is unpredictable, the data processing process is ensured to proceed in an orderly manner by splitting it on demand during real-time processing, so as to avoid the timely progress of other data processing processes being affected by the long unpacking process of the downlink transmission block.
[0046] In some embodiments, determining the transmission timing in the second time period based on the data process that is not completed in the first time period includes: after completing the uplink authorization package process, unpacking the unpacked data and saving the unpacked downlink data to the downlink data cache; in the case where all the packets are unpacked before the arrival of the next transmission time interval, judging whether the time when the delivery is completed exceeds the arrival time of the next transmission time interval based on the estimated time duration corresponding to the downlink delivery data in the downlink data cache; if it is determined that it exceeds, delivering part of the downlink delivery data in the downlink data cache before the arrival of the next transmission time interval; otherwise, completing the delivery process of all the downlink delivery data in the downlink data cache; after completing the delivery process of all the downlink delivery data in the downlink data cache, in the case where there is unreleased uplink confirmation data, judging the time when the delivery is completed based on the unreleased uplink delivery data. The estimated duration corresponding to the release process of the confirmed data is used to determine whether the moment of release completion exceeds the arrival time of the next transmission time interval; if it is determined that it exceeds, part of the unreleased uplink confirmation data is released before the arrival time of the next transmission time interval; otherwise, the release process of all uplink confirmation data is completed; after completing the release process of all uplink confirmation data, if there is unprocessed pre-packaged cache data, based on the estimated duration corresponding to the processing process of the unprocessed pre-packaged cache data, determine whether the moment of processing completion exceeds the arrival time of the next transmission time interval; if it is determined that it exceeds, part of the unprocessed pre-packaged cache data is processed before the arrival time of the next transmission time interval; otherwise, the processing process of the unprocessed pre-packaged cache data is completed.
[0047] After the uplink authorization package assembly process is completed in the second time period, the unpacking process, downlink delivery process, and uplink confirmation data release process of the unfinished downlink transmission are processed in sequence. The processing process that cannot be completed in the second time period is split and left for the next transmission time interval to continue processing, thereby ensuring that each processing process is carried out in an orderly manner in the second time period, and ensuring that the current processing process is terminated in time when the next transmission time interval arrives, so as to ensure that the relevant processes are executed in sequence according to priority in the next transmission time interval.
[0048] The following describes the process of the method for determining the data transmission timing by using specific embodiments.
[0049] FIG2 , FIG3 and FIG4 are schematic diagrams showing a process of determining a data transmission timing in this specific embodiment, wherein FIG4 shows a data transmission timing of two consecutive TTIs.
[0050] FIG2 shows a partial process of determining the data transmission timing, which specifically includes steps 201 to 215 .
[0051] In step 201, at the start time of TTI, the estimated duration corresponding to the uplink pre-packet assembly process is obtained according to the uplink pre-packet assembly buffer data and the calculation formula T1=V1*N1+t1.
[0052] In step 202, it is determined whether the time when the uplink pre-packaging process is completed is less than the uplink authorization time. If so, step 203 is executed; otherwise, step 2021 in FIG. 3 is executed.
[0053] In step 203, all data in the uplink group pre-packaging buffer data are pre-packaging processed, and when a downlink TB is received, the downlink TB is unpacked.
[0054] In step 204, it is determined whether the time when the unpacking process is completed is less than the uplink authorization time. If so, step 205 is executed; otherwise, step 2041 in FIG. 3 is executed.
[0055] In step 205 , it is determined whether there is uplink confirmation data to release the buffer or to decompress the RLC status packet. If not, step 206 is executed. If so, step 2051 is executed.
[0056] In step 2051, the estimated time required to release the uplink confirmation data is obtained according to the calculation formula T3=V3*N3+t3.
[0057] In step 2052, it is determined whether the time when the uplink confirmation data release process is completed is less than the uplink authorization time. If so, step 2053 is executed; otherwise, step 2054 in FIG. 3 is executed.
[0058] In step 2053, all uplink confirmation data are released and the process continues with step 206.
[0059] In step 206, the estimated duration of the downlink delivery process is obtained according to the number of packets decoded in the downlink TB, the downlink delivery data in the downlink data buffer, and the calculation formula T4=V4*N4+t4.
[0060] In step 207 , it is determined whether the time when all downlink delivery is completed is less than the uplink authorization time. If so, step 208 is executed; otherwise, step 210 is executed.
[0061] In step 208, all downlink delivery data is delivered.
[0062] In step 209 , the estimated time required for uplink authorization packet formation is calculated according to the formula T2=V2*N2+t2, and the uplink authorization packet issuance process is performed, and the process then proceeds to step 214 .
[0063] In step 210, the downlink delivery data is segmented, and the data that cannot be delivered downlink after segmentation is placed in the cache, and the delivery process of the remaining downlink delivery data is completed. The estimated time required for uplink authorization package assembly is calculated according to the calculation formula T2=V2*N2+t2, and the uplink authorization package issuance process is performed; the estimated time required for downlink delivery data is calculated according to the calculation formula T4=V4*N4+t4.
[0064] In step 211 , it is determined whether the time when all downlink delivery is completed is less than the arrival time of the next TTI. If not, step 212 is executed; if so, step 213 is executed.
[0065] In step 212, the downlink buffer data is segmented, and the data that cannot be delivered downlink after segmentation is put into the buffer, and the delivery process of the remaining downlink delivery data is completed. Then, the process returns to step 201 to execute the timing determination process of the next TTI.
[0066] In step 213, all downlink delivery data in the downlink buffer are delivered.
[0067] In step 214 , it is determined whether there is data in the uplink pre-assembled packet buffer. If not, the process returns to step 201 to execute the timing determination process for the next TTI. If so, step 215 is executed.
[0068] In step 215, the uplink pre-packetized data that can be processed before the next TTI arrives is processed according to T1=V1*N1+t1, and the process ends.
[0069] FIG3 shows another part of the process for determining the data transmission timing, which specifically includes steps 2021 to 310 .
[0070] In step 2021, the uplink pre-packaging cache data is segmented, and the uplink pre-packaging cache data that cannot be completed after the segmentation is put back into the pre-packaging cache, and the remaining part is subjected to the uplink pre-packaging process; the downlink TB is received and the TB is cached; the estimated time required for uplink authorization packaging is calculated according to the calculation formula T2=V2*N2+t2, and the uplink authorization packaging process is performed, and then the downlink TB unpacking process is performed, and step 301 is executed.
[0071] In step 2041, when the uplink authorization time arrives, the downlink TB is split, the unpacked TB is cached, the estimated time required for uplink authorization packaging is calculated according to the calculation formula T2=V2*N2+t2, and the uplink authorization packaging process is performed, and step 301 is executed.
[0072] In step 2054, the uplink confirmation data is segmented, and the uplink confirmation data that cannot be completed after the segmentation is cached in the confirmation data cache. The remaining uplink confirmation data is directly released. At the same time, the downlink delivery data is placed in the cache, and the estimated duration of the uplink authorization package is calculated according to the calculation formula T2=V2*N2+t2, and the uplink authorization package issuance process is performed; the estimated duration of the downlink delivery data is calculated according to the calculation formula T4=V4*N4+t4, and step 302 is executed.
[0073] In step 301 , it is determined whether the unpacking process is completed before the next TTI arrives. If so, step 302 is executed; otherwise, step 308 is executed.
[0074] In step 302 , it is determined whether the delivery process of the downlink delivery data is completed before the next TTI arrives. If so, step 303 is executed; otherwise, step 309 is executed.
[0075] In step 303, all data in the cached downlink delivery data are unpacked and delivered, and then the estimated duration corresponding to the uplink confirmation data is obtained according to the calculation formula T3=V3*N3+t3.
[0076] In step 304 , it is determined whether the release process of the uplink confirmation data can be completed before the next TTI arrives. If so, step 305 is executed; otherwise, step 310 is executed.
[0077] In step 305, all cached uplink confirmation data is released.
[0078] In step 306, it is determined whether unprocessed uplink pre-packetized data is cached. If so, step 307 is executed. Otherwise, the process returns to step 201 to execute the timing determination process for the next TTI.
[0079] In step 307, the uplink pre-packetized data that can be processed before the next TTI arrives is processed according to the calculation formula T1=V1*N1+t1, and the process returns to step 201 to execute the timing determination process of the next TTI.
[0080] In step 308, the TB is divided before the next TTI arrives, the unpacked data is put into the cache, and the process returns to step 201 to execute the timing determination process of the next TTI.
[0081] In step 309, the downlink delivery data is segmented, and the data that cannot be delivered after segmentation is put back into the cache to complete the delivery process of the remaining downlink delivery data, and then the process returns to step 201 to execute the timing determination process of the next TTI.
[0082] In step 310, the uplink confirmation data is segmented, and the segmented portion that cannot be released is put back into the cache, and the remaining uplink confirmation data is directly released, and the process returns to step 201 to execute the timing determination process for the next TTI.
[0083] The uplink confirmation data release process needs to be before the delivery process of the downlink delivery data obtained by downlink depacketization and after the pre-packaging process to avoid the problem that the uplink data has been confirmed to occupy the memory and cause the uplink authorization packaging failure.
[0084] In a TTI, if all downlink delivery data cannot be delivered, the remaining part is buffered and a warning is issued that the downlink data buffer is not processed in time, and then the processing of the next TTI is carried out.
[0085] In a TTI, if all uplink confirmation data cannot be released, part of the uplink confirmation data will not be released when releasing part of the buffer. At the same time, it is warned that there is uplink confirmation data buffer that has not been processed, and then the next TTI is processed.
[0086] In the method for determining the data link layer data transmission timing provided by the embodiment of the present disclosure, the estimated time required for each data processing process is estimated based on the number of data packets corresponding to each data processing process in the data link layer. The transmission timing of the data link layer is determined based on the estimated time required for each data processing process and the transmission priority of each data processing process. This makes it possible to reasonably plan the data transmission timing by estimating the time required for each data processing process, ensure the normal transmission of each data processing process according to the priority, avoid abnormal situations caused by a certain processing process taking too long, and improve the system transmission performance and system stability.
[0087] Compared with the related art, the data processing process is not planned in advance, and there will be problems such as missed authorization packet assembly resulting in reduced uplink rate, priority processing of uplink pre-packaging resulting in unprocessed downlink data interruption, and failure to promptly process confirmed data release resulting in uplink packet assembly abnormalities. The data transmission timing planning method based on the estimation method provided by the embodiment of the present disclosure can effectively reduce the above-mentioned abnormal problems. By estimating the data processing process time, the data link layer data processing process is planned in real time according to the importance, and the situation with long processing time is planned in advance to improve performance and provide early warning, which can improve the stability and controllability of data transmission.
[0088] The steps of the various methods above are divided only for clarity of description. During implementation, they can be combined into one step or some steps can be split and decomposed into multiple steps. As long as they include the same logical relationship, they are all within the scope of protection of this disclosure. Adding insignificant modifications or introducing insignificant designs to the algorithm or process without changing the core design of the algorithm and process are all within the scope of protection of this disclosure.
[0089] The present disclosure provides an apparatus for determining a data transmission timing. The specific implementation of the apparatus can be found in the related description of the method embodiment and will not be repeated here. FIG5 shows a schematic diagram of the structure of the apparatus, which includes: an acquisition module 501, an estimation module 502, and a determination module 503.
[0090] The acquisition module 501 is used to acquire the number of data packets corresponding to each data processing process in the data link layer.
[0091] The estimation module 502 is used to determine the estimated duration corresponding to each data processing process according to the number of data packets corresponding to each data processing process.
[0092] The determination module 503 is configured to determine the transmission timing of the data link layer according to the estimated duration corresponding to each data processing process and the transmission priority of each data processing process.
[0093] The functions or modules included in the apparatus provided in the embodiments of the present disclosure can be used to execute the method described in the method embodiments. The specific implementation and technical effects thereof can be referred to the description of the above method embodiments, and will not be repeated here for the sake of brevity.
[0094] It should be noted that all modules involved in this embodiment are logical modules. In actual applications, a logical unit can be a physical unit, a part of a physical unit, or a combination of multiple physical units. In addition, to highlight the innovations of this disclosure, this embodiment does not include units that are not closely related to solving the technical problems proposed by this disclosure. However, this does not mean that other units do not exist in this embodiment.
[0095] 6 , an embodiment of the present disclosure provides an electronic device, comprising: at least one processor 601; and a memory 602 on which at least one program is stored. When the at least one program is executed by the at least one processor, the at least one processor implements the method for determining the data transmission timing according to each embodiment of the present disclosure.
[0096] As shown in FIG. 6 , the electronic device may further include at least one I / O interface 603 connected between the processor 601 and the memory 602 and configured to implement information interaction between the processor 601 and the memory 602 .
[0097] The processor 601 is a device with data processing capabilities, including but not limited to a central processing unit (CPU); the memory 602 is a device with data storage capabilities, including but not limited to random access memory (RAM, more specifically SDRAM, DDR, etc.), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), and flash memory (FLASH); the I / O interface (read-write interface) 603 is connected between the processor 601 and the memory 602, and can realize information exchange between the processor 601 and the memory 602, including but not limited to a data bus (Bus), etc.
[0098] In some embodiments, the processor 601 , the memory 602 , and the I / O interface 603 are connected to each other via a bus, and further connected to other components of the computing device.
[0099] This embodiment also provides a computer-readable medium having a computer program stored thereon. When the program is executed by a processor, the method for determining the data transmission timing according to each embodiment of the present disclosure is implemented. To avoid repeated description, the specific steps of the method are not repeated here.
[0100] It will be appreciated by those skilled in the art that all or some of the steps, systems, and functional modules / units in the methods applied for above may be implemented as software, firmware, hardware, and appropriate combinations thereof. In hardware implementations, the division between the functional modules / units mentioned in the above description does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may be performed by several physical components in cooperation. Some or all physical components may be implemented as software executed by a processor, such as a central processing unit, a digital signal processor, or a microprocessor, or implemented as hardware, or implemented as an integrated circuit, such as an application-specific integrated circuit. Such software may be distributed on a computer-readable medium, which may include a computer storage medium (or non-transitory medium) and a communication medium (or temporary medium). As is well known to those skilled in the art, the term computer storage medium includes volatile and non-volatile, removable, and non-removable media implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data). Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and can be accessed by a computer. In addition, it is well known to those skilled in the art that communication media typically embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism, and may include any information delivery media.
[0101] It should be noted that, in this document, the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, article, or apparatus comprising a series of elements includes not only those elements but also other elements not explicitly listed, or elements inherent to such process, method, article, or apparatus. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of other identical elements in the process, method, article, or apparatus comprising the element.
[0102] Those skilled in the art will understand that although some embodiments described herein include certain features included in other embodiments but not other features, the combination of features from different embodiments is meant to be within the scope of the present embodiment and to form different embodiments.
[0103] It is understood that the above embodiments are merely exemplary embodiments for illustrating the principles of the present disclosure, and the present disclosure is not limited thereto. Those skilled in the art may make various modifications and improvements without departing from the spirit and substance of the present disclosure, and such modifications and improvements are also considered to be within the scope of protection of the present disclosure.
Claims
1. A method for determining a data transmission timing, comprising: Obtain the number of data packets corresponding to each data processing process in the data link layer; Determine the estimated duration corresponding to each data processing process according to the number of data packets corresponding to each data processing process; The transmission timing of the data link layer is determined according to the estimated duration corresponding to each data processing process and the transmission priority of each data processing process.
2. The method according to claim 1, wherein: Determining the estimated duration corresponding to each data processing process according to the number of data packets corresponding to each data processing process includes: Obtaining a mapping relationship between the number of data packets corresponding to each data processing process and the processing time; According to the mapping relationship, the estimated duration corresponding to each data processing process is determined.
3. The method according to claim 2, wherein: For any data processing process, the mapping relationship between the number of data packets and the processing time includes: Count and obtain the actual processing time corresponding to the number of each data packet; A linear fit is performed on the actual processing time corresponding to the number of data packets to obtain a mapping relationship between the number of data packets and the processing time. The mapping relationship is used to reflect the relationship between the rate of the data processing process, the number of data packets, the time increment and the total time of the data processing process.
4. The method according to claim 2, wherein: Each data processing process includes an uplink data processing process and a downlink data processing process. The uplink data processing process includes: an uplink pre-packaging process, an uplink confirmation data release process and an uplink authorization packaging process; and the downlink data processing process includes a downlink delivery process.
5. The method according to claim 4, wherein: The transmission priorities of the data processing processes within a transmission time interval include: When the uplink authorization arrives, the uplink authorization package assembly process has the highest priority; In a first time period before the uplink authorization arrives, the uplink pre-packaging process has the highest priority; In a second time period after the uplink authorization arrives, the downlink delivery process has the highest priority.
6. The method according to claim 5, wherein: The uplink grant arrival time in each transmission time interval is fixed.
7. The method according to claim 6, wherein: Determining the transmission timing of the data link layer according to the estimated duration corresponding to each data processing process and the transmission priority of each data processing process includes: For any transmission time interval, the transmission timing corresponding to each data processing process is determined according to the following process: In a first time period before the uplink authorization arrives, determining the transmission timing in the first time period according to the estimated duration corresponding to the uplink pre-packaging buffer data, the uplink confirmation data and the downlink delivery data and the duration of the first time period; When the uplink authorization time arrives, the uplink authorization package assembly process is completed first according to the estimated time duration corresponding to the uplink authorization package assembly process; The transmission timing in the second time period is determined according to the unfinished data process in the first time period.
8. The method according to claim 7, wherein: In a first time period before the uplink authorization arrives, determining the transmission timing in the first time period according to the estimated duration corresponding to the uplink pre-packaging buffer data, the uplink confirmation data, and the downlink delivery data and the duration of the first time period includes: In the first time period, according to the estimated consumption corresponding to the uplink pre-packaging buffer data It takes a long time to determine whether the time when the uplink pre-packet buffer data is expected to be processed exceeds the uplink authorization time. If it is determined that it exceeds, part of the uplink pre-packet buffer data is processed before reaching the uplink authorization time. Otherwise, the processing process of the uplink pre-packet buffer data is completed; After completing the processing of the uplink pre-packaging cache data, in the case of uplink confirmation data, judging whether the moment when the release of the uplink confirmation data is completed exceeds the uplink authorization moment according to the estimated consuming time corresponding to the release of the uplink confirmation data, if it is determined that it exceeds, releasing part of the uplink confirmation data before reaching the uplink authorization moment, and saving the unreleased uplink confirmation data into the uplink confirmation data cache, otherwise, completing the release process of the uplink confirmation data; After completing the release process of the uplink confirmation data, in the case of downlink delivery data, determine whether the time when the delivery of the downlink delivery data is completed exceeds the uplink authorization time according to the estimated time corresponding to the delivery of the downlink delivery data; if it is determined that it exceeds, deliver part of the downlink delivery data before reaching the uplink authorization time; otherwise, complete the delivery process of the downlink delivery data.
9. The method according to claim 8, further comprising: After completing the processing of the uplink pre-packaging buffer data, receiving a downlink transmission block and performing an unpacking process on the downlink transmission block; In a case where the unpacking process of the downlink transmission block is completed before the uplink authorization time, and the uplink confirmation data exists in the downlink data obtained by unpacking the downlink transmission block or in the downlink data cache, performing the step of judging whether the moment when the release of the uplink confirmation data is completed exceeds the uplink authorization time according to the estimated consuming time corresponding to the release of the uplink confirmation data; In case the unpacking process of the downlink transmission block is not completed before the uplink authorization moment, when the uplink authorization moment arrives, the unpacked data is obtained, the unpacked data in the downlink transmission block is saved in the downlink data cache, and the step of determining the transmission timing in the second time period is executed according to the unfinished data process in the first time period.
10. The method according to claim 9, wherein: Determining, according to the unfinished data process in the first time period, the transmission timing in the second time period includes: After completing the uplink authorization packaging process, unpacking the unpacked data and saving the unpacked downlink data to a downlink data cache; In the case where all packets are unpacked before the next transmission time interval arrives, judging whether the time when the delivery is completed exceeds the time when the next transmission time interval arrives according to the estimated time duration corresponding to the downlink delivery data in the downlink data cache, if it is determined that it exceeds, delivering part of the downlink delivery data in the downlink data cache before the next transmission time interval arrives, otherwise, completing the delivery process of all the downlink delivery data in the downlink data cache; After completing the delivery process of all downlink delivery data in the downlink data cache, in the case of unreleased uplink confirmation data, judging whether the moment of release completion exceeds the arrival time of the next transmission time interval according to the estimated duration corresponding to the release process of the unreleased uplink confirmation data, if it is determined to exceed, releasing part of the unreleased uplink confirmation data before the arrival time of the next transmission time interval, otherwise, completing the release process of all uplink confirmation data; After completing the release process of all the uplink confirmation data, in the case that there is unprocessed pre-package cache data, determine whether the moment of processing completion exceeds the arrival moment of the next transmission time interval based on the estimated duration corresponding to the processing process of the unprocessed pre-package cache data; if it is determined that it exceeds, process part of the unprocessed pre-package cache data before the arrival moment of the next transmission time interval; otherwise, complete the processing process of the unprocessed pre-package cache data.
11. A device for determining a data transmission timing, comprising: An acquisition module, used to acquire the number of data packets corresponding to each data processing process in the data link layer; An estimation module, used to determine the estimated duration corresponding to each data processing process according to the number of data packets corresponding to each data processing process; A determination module is used to determine the transmission priority of the data link layer according to the estimated time duration corresponding to each data processing process and the transmission priority of each data processing process. Timing.
12. An electronic device comprising: at least one processor; A memory having one or more programs stored thereon, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the method for determining the timing of data transmission according to any one of claims 1-10.
13. A computer-readable medium having a computer program stored thereon, wherein when the program is executed by a processor, the method for determining a data transmission timing according to any one of claims 1 to 10 is implemented.
Citation Information
Patent Citations
Data processing method, a device, a storage medium and an electronic device
CN108989244A
Data transmission method and device, electronic equipment and computer readable storage medium
CN114666836A
Low-delay wireless image transmission method and device, communication management equipment and storage medium
CN116156592A
Communication and Data Processing in Wireless Communications
US20210029706A1