A data transmission method, terminal, system, and computer-readable storage medium

The method enhances bandwidth detection in 4G/5G networks by using a probe buffer status report to request additional resources from the base station, addressing inefficiencies in existing methods and ensuring uninterrupted data transmission.

CN114501645BActive Publication Date: 2025-07-15ZHEJIANG DAHUA TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111653259.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-30
Publication Date
2025-07-15
Estimated Expiration
2041-12-30

AI Technical Summary

Technical Problem

The existing cellular network bandwidth detection methods may have an impact on normal services or require auxiliary calculations with a third-party platform, resulting in inconvenience in transmission.

Method used

By generating a detection buffer status report (BSR), the terminal virtually increases the amount of data to be transmitted in the cache queue, and requests the base station to allocate more bandwidth resources than its own requirements to achieve independent bandwidth detection.

Benefits of technology

There is no need to increase the detection stream or process data, and the terminal completes bandwidth detection by itself to avoid impact on service data and improve detection accuracy and transmission stability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114501645B_ABST
    Figure CN114501645B_ABST
Patent Text Reader

Abstract

The present application discloses a data transmission method, a terminal, a system, and a computer-readable storage medium. The method is applied to the terminal and includes: obtaining data to be transmitted, where the data to be transmitted includes multiple service data; putting the service data into a buffer queue and generating a probing buffer status report, where the probing buffer status report is used to indicate the quantity to be transmitted, and the quantity to be transmitted is greater than the total number of service data in the buffer queue; sending the uplink data to a base station so that the base station allocates bandwidth resources for the terminal, where the uplink data includes the probing buffer status report and the service data. Through the above method, the present application can implement bandwidth probing through the terminal itself without relying on a third-party device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of wireless communication technologies, and particularly to a data transmission method, a terminal, a system, and a computer-readable storage medium. Background Art

[0002] Bandwidth detection of a cellular network is of great significance for uplink transmission services. Due to the time-varying nature of 4G / 5G wireless networks, timely detecting the bandwidth situation can help streaming media adjust the encoding strategy in a timely manner and improve transmission reliability. Common bandwidth detection methods include: 1) adding an auxiliary detection stream, which may impact normal services and cause transmission congestion; 2) splitting data into multiple segments and calculating the bandwidth through the end-to-end transmission delay. This method requires the assistance of a third-party platform for receiving and calculating, which is inconvenient to use. Summary of the Invention

[0003] This application provides a data transmission method, a terminal, a system, and a computer-readable storage medium, which can achieve bandwidth detection through the terminal itself without relying on third-party devices.

[0004] To solve the above technical problems, the technical solution adopted by this application is: providing a data transmission method, which is applied to a terminal and includes: obtaining data to be transmitted, where the data to be transmitted includes multiple service data; putting the service data into a buffer queue and generating a probing buffer status report, where the probing buffer status report is used to indicate the quantity to be transmitted, and the quantity to be transmitted is greater than the total number of service data in the buffer queue; sending the uplink data to a base station so that the base station allocates bandwidth resources for the terminal, where the uplink data includes the probing buffer status report and the service data.

[0005] To solve the above technical problems, another technical solution adopted by this application is: providing a terminal, which includes a memory and a processor connected to each other. Among them, the memory is used to store a computer program, and when the computer program is executed by the processor, it is used to implement the data transmission method in the above technical solution.

[0006] To solve the above technical problems, another technical solution adopted by this application is: providing a data transmission system, which includes a terminal and a base station connected to each other. The terminal is used to transmit data to the base station, and the terminal is the terminal in the above technical solution.

[0007] To solve the above technical problems, another technical solution adopted by this application is: providing a computer-readable storage medium, which is used to store a computer program, and when the computer program is executed by the processor, it is used to implement the data transmission method in the above technical solution.

[0008] Through the above solution, the beneficial effects of the present application are as follows: First, obtain the data to be transmitted including multiple service data; then sequentially put the multiple service data into the cache queue, and generate a probe buffer status report, which is used to indicate the quantity to be transmitted, and the quantity to be transmitted is greater than the total number of service data in the cache queue; then send the uplink data to the base station so that the base station allocates bandwidth resources for the terminal. The uplink data includes the probe buffer status report and the service data. The present application does not need to set up a probe stream, performs bandwidth detection by virtually increasing the cache status report, requests the base station to allocate resources more than its own requirements, will not affect or impact the service data in transmission, and does not need to perform any packaging and processing on the data to be transmitted, so the implementation is simple; moreover, without using a third-party device, the terminal can complete the bandwidth margin detection by itself. Description of the Drawings

[0009] To more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings required for the description of the embodiments. Obviously, the following drawings are only some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained according to these drawings. Among them:

[0010] Figure 1 It is a schematic flowchart of an embodiment of the data transmission method provided by the present application;

[0011] Figure 2 It is a schematic diagram of data transmission between the terminal and the base station provided by the present application;

[0012] Figure 3 It is a comparative schematic diagram of the scheme of adding a probe stream and this scheme provided by the present application;

[0013] Figure 4 It is a schematic flowchart of another embodiment of the data transmission method provided by the present application;

[0014] Figure 5 It is a schematic flowchart of adjusting the code rate provided by the present application;

[0015] Figure 6 It is another schematic flowchart of adjusting the code rate provided by the present application;

[0016] Figure 7 It is another schematic flowchart of adjusting the code rate provided by the present application;

[0017] Figure 8 It is a schematic structural diagram of an embodiment of the terminal provided by the present application;

[0018] Figure 9 It is a schematic structural diagram of an embodiment of the data transmission system provided by the present application;

[0019] Figure 10 It is a schematic structural diagram of an embodiment of a computer-readable storage medium provided by the present application. Specific embodiments

[0020] The present application will be further described in detail below with reference to the accompanying drawings and embodiments. It should be specifically noted that the following embodiments are only used to illustrate the present application, but do not limit the scope of the present application. Similarly, the following embodiments are only partial embodiments of the present application rather than all embodiments. All other embodiments obtained by those of ordinary skill in the art without creative efforts fall within the scope of protection of the present application.

[0021] Referring to "embodiment" in the present application means that the specific features, structures, or characteristics described in connection with the embodiment may be included in at least one embodiment of the present application. The phrase appears in various positions in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment mutually exclusive with other embodiments. Those skilled in the art explicitly and implicitly understand that the embodiments described herein may be combined with other embodiments.

[0022] It should be noted that the terms "first", "second", and "third" in the present application are only for descriptive purposes and cannot be understood as indicating or implying relative importance or implicitly specifying the quantity of the indicated technical features. Thus, the features defined with "first", "second", and "third" may explicitly or implicitly include at least one of the features. In the description of the present application, the meaning of "a plurality" is at least two, such as two, three, etc., unless otherwise specifically defined. In addition, the terms "comprising" and "having" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units is not limited to the listed steps or units, but optionally further includes steps or units not listed, or optionally further includes other steps or units inherent to these processes, methods, products, or devices.

[0023] Please refer to Figure 1 , Figure 1 It is a schematic flowchart of an embodiment of a data transmission method provided by the present application. The method is applied to a terminal and includes:

[0024] S11: Obtain data to be transmitted.

[0025] The data to be transmitted can be obtained from a database or received from other devices. The data to be transmitted can be streaming media data, and the data to be transmitted includes multiple service data.

[0026] S12: Put the service data into a cache queue and generate a probe buffer status report.

[0027] The general BSR is used to indicate how much traffic data in the buffer queue is waiting to be transmitted. To distinguish it from the general BSR, in this embodiment, the increased BSR is called the probing buffer status report (BSR). The traffic data can be put into the buffer queue, and then based on the total number of traffic data in the buffer queue, a probing BSR is generated. The probing BSR is used to indicate the quantity to be transmitted, and the quantity to be transmitted is greater than the total number of traffic data in the buffer queue. For example, assuming the total number of traffic data is 10, the information with a quantity to be transmitted of 20 can be fed back to the base station.

[0028] In a specific embodiment, the probing BSR can be generated based on a preset mapping table and the desired probing bandwidth multiple. The preset mapping table includes multiple index levels (Index) and the corresponding buffer sizes (Buffer size, BS). The buffer size can be the maximum buffer size corresponding to each index level, and each index level corresponds to a buffer size range, as shown in the following table:

[0029] Table 1 Preset Mapping Table

[0030] Index level Cache size Index level Cache size 0 0 16 ≤1446 1 ≤10 17 ≤2014 2 ≤14 18 ≤2806 3 ≤20 19 ≤3909 4 ≤28 20 ≤5446 5 ≤38 21 ≤7587 6 ≤53 22 ≤10570 7 ≤74 23 ≤14726 8 ≤102 24 ≤20516 9 ≤142 25 ≤28581 10 ≤198 26 ≤39818 11 ≤276 27 ≤55474 12 ≤384 28 ≤77284 13 ≤535 29 ≤107669 14 ≤745 30 ≤150000 15 ≤1038 31 >150000

[0031] The current index level and the corresponding current buffer size can be obtained; calculate the product of the current buffer size and the desired probing bandwidth multiple to get the first value; determine whether the first value is the same as the buffer size in the preset mapping table; if the first value is the same as the buffer size in the preset mapping table, update the current index level to the index level corresponding to the first value; if the first value is not the same as any of the buffer sizes in the preset mapping table, determine the buffer size in the preset mapping table that is greater than the first value and has the smallest difference from the first value as the second value, and update the current index level to the index level corresponding to the second value. For example, assuming the current index level is 1 and the current buffer size is 10, if the desired probing bandwidth multiple is 2, the first value is 20, which is the same as the buffer size when the index level is 3 in the preset mapping table. At this time, the current index level can be updated to 3; or, if the desired probing bandwidth multiple is 3, the first value is 30, which is not the same as any of the buffer sizes in the preset mapping table. Since the buffer size corresponding to the index level 5 has the smallest difference from the first value, the second value is 38, and the index level 5 corresponding to the second value is assigned to the current index level. It can be understood that the desired probing bandwidth can also be set. For example, when the current code rate is 10 Mbps and it is desired to detect whether the code rate can reach 35 Mbps, the corresponding multiple is 3.5 times.

[0032] In another specific embodiment, the probing BSR includes an index level corresponding to the quantity to be transmitted, adding the current index level to a preset value to obtain an updated index level; writing the updated index level into the probing BSR. For example, as Figure 2 shown, the preset value is N, and the updated index level can be obtained by adding the current index level to N.

[0033] S13: Transmit the uplink data to the base station so that the base station allocates bandwidth resources for the terminal.

[0034] The uplink data includes the probing BSR and service data; specifically, as Figure 2 shown, for 4G and 5G cellular networks, the data transmission process of the terminal requires the control of the base station. If the terminal wants to transmit uplink data, the service data is first cached in the buffer queue of the Radio Link Control (RLC); then the uplink data is transmitted to the base station through the Physical Uplink Share Channel (PUSCH) to request transmission resources from the base station. The uplink data includes the probing BSR and service data. The base station comprehensively evaluates how to allocate uplink resources for the terminal based on the current channel environment of the terminal, such as: Signal-to-Interference plus Noise Ratio (SINR), the number of active terminals, the probing BSR, and the quality of service level; then the downlink data is sent to the terminal through the Physical Downlink Control Channel (PDCCH), and the downlink data carries Downlink Control Information (DCI). There is a mapping relationship between the Modulation and Coding Scheme (MCS), the number of Resource Blocks (RB num), and the Transport Block Size (TB size). The terminal can map out the Transport Block Size (TB size) by parsing the Modulation and Coding Scheme (MCS) and the number of Resource Blocks (RB num) in the DCI. The TB size is the data volume allowed to be transmitted in this uplink; then the service data in the buffer queue is taken out for an uplink transmission; then the new remaining data volume in the buffer queue is recalculated, and a new probing BSR is generated and uploaded together with the service data to the terminal to request the next transmission resources; the above operations are repeated continuously to achieve the purpose of continuous data transmission.

[0035] Based on the characteristics of the above data transmission process and the characteristics of the BSR, this embodiment proposes a method for detecting bandwidth margin by increasing the BSR. During the period of detecting the bandwidth margin (i.e., the detection period), based on the real cache state, by increasing the index level of the cache size, the purpose of requesting more resources from the base station is achieved; at this time, if the bandwidth resources of the base station are sufficient (for example: the channel environment is good and there is no network resource competition), the resources (TB size) allocated to the terminal will be greater than the demand for detecting the BSR; if the channel quality is poor or there is competition for resources from other terminals resulting in network congestion, the resources allocated to the terminal will be lower than the demand for detecting the BSR. The TB size of a single scheduling transmission is the scheduling amount of a millisecond-level time slot, which is an instantaneous value and is affected by multiple parties and does not have statistical significance; however, if it is the sum of all TB sizes within a fixed period (i.e., TBs Sum), it will have statistical significance and can reflect the current bandwidth allocation situation of the air interface; therefore, within the detection period, the sum of all TB sizes will be used to evaluate the real-time bandwidth situation, and this statistical method has high accuracy and good real-time performance in evaluating the bandwidth capacity. It can be understood that the specific value of the detection period is not limited, and it should not be too small or too large, and generally can be within the range of 200 ms to 2 s.

[0036] The following explains why this detection method will not affect the service. As Figure 3 shown, by increasing the auxiliary detection flow for detection, the actually increased detection data will also be backlogged in the RLC cache queue. Whether it is valid service data or detection data, the same processing will be performed. At this time, if the bandwidth resources of the base station are less than the demand of the terminal, the transmission resources will be less than the cached data. At this time, the limited resources will inevitably be diverted to send the detection data that entered the cache queue first, which will lead to the accumulation and transmission delay of the subsequent queued service data, and seriously will cause video service stuttering. However, the method provided by this solution does not increase an additional detection flow, and there is no actual increase in detection data in the RLC cache data. When the bandwidth is insufficient and lower than the demand for detecting the BSR, as long as the bandwidth is higher than the actual cache sending demand, it will not affect the service data, because all effective resources are used to send the actual service data, and detecting whether the bandwidth reaches the demand for detecting the BSR actually has no impact. The remaining resources after filling the service data will only be filled with 0xFF.

[0037] The following describes the usage of the probing BSR. As shown in the preset mapping table in Table 1, it gives the mapping table between the index level of the buffer size filled in the probing BSR and the corresponding data volume. By this table, a rule can be found: for each level increase in the index level, the corresponding data volume increases by about 40%. Therefore, by specifying the number of levels of increase in the index level, the amplitude of bandwidth probing can be controlled. For example, if you want to probe the bandwidth equivalent to 1.3 times the current uplink code rate, the probing effect can be achieved by increasing the index by 1 level; if you want to probe the bandwidth value equivalent to 2 times the current uplink code rate, the index can be increased by 2 levels; if you want to probe the bandwidth value equivalent to 2.5 times the current uplink code rate, the index can be increased by 3 levels, etc. The number of increased index levels can be the closest index level or rounded up.

[0038] The technical solution provided in this embodiment relates to the bandwidth probing technology in the video streaming service for the uplink in wireless communication environments such as 4G and 5G cellular networks. In the related technology, it is necessary to send probing data to probe the bandwidth, and the probing data occupies bandwidth resources, which may cause transmission stuttering. However, in this solution, there is no need to set probing data. By increasing the BSR, the base station is requested to allocate more resources than the terminal's own requirements to achieve the probing of the bandwidth. Without the cooperation of any third-party device, the terminal can complete the bandwidth margin probing by itself, and the implementation is simple. Moreover, the probing process does not cause any impact on the service data in transmission, and there is no need to modify or perform other processing on the service data, and the probing accuracy is relatively high.

[0039] Please refer to Figure 4 , Figure 4 which is a schematic flowchart of another embodiment of the data transmission method provided in this application. This method is applied to a terminal, and this method includes:

[0040] S41: Obtain the data to be transmitted.

[0041] S42: Put the service data into the buffer queue and generate a probing BSR.

[0042] S43: Send the uplink data to the base station so that the base station allocates bandwidth resources for the terminal.

[0043] S41 - S43 are the same as S11 - S13 in the above embodiment and will not be elaborated here.

[0044] The probing period and the amplitude of bandwidth probing can be preset in advance. During the process of the terminal transmitting uplink data to the base station, the bandwidth margin probing is performed by increasing the BSR.

[0045] S44: Receive the downlink data sent by the base station.

[0046] After receiving the uplink data sent by the terminal, the base station allocates resources for the terminal by evaluating the uplink data and notifies the terminal through downlink data.

[0047] S45: Detect the bandwidth detection value of the terminal based on the downlink data to obtain a detection result.

[0048] The downlink data includes DCI. The terminal parses the DCI to obtain the MCS value and the number of RBs. Based on the MCS value and the number of RBs, a TB size is generated, and then a detection result is generated. The detection result includes the MCS value, the number of RBs, and the TB size.

[0049] Furthermore, by statistically processing the detection results according to the detection period, the bandwidth detection value, the MCS reference value, and the RB number reference value can be obtained. Trend judgment and adaptive coding rate adjustment can be implemented based on these parameters. The detection result has a guiding function for predicting the bandwidth change trend, which is convenient for adjusting the code stream in advance according to the bandwidth change trend, reducing the probability of buffer accumulation, improving the service experience, facilitating the adjustment of the coding strategy in advance, avoiding the backlog of buffer data due to bandwidth limitation, and ensuring the smoothness and stability of the transmission.

[0050] S46: Adjust the coding rate of the data to be transmitted based on the detection result.

[0051] Obtain a preset adjustment policy set, which includes multiple preset adjustment policies. Then determine whether the bandwidth detection value meets at least two preset adjustment policies in the preset adjustment policy set. If the bandwidth detection value meets at least two preset adjustment policies at the same time, the preset adjustment policy with the highest priority among all the preset adjustment policies met by the bandwidth detection value is used as the current execution policy. If the bandwidth detection value meets only one preset adjustment policy, the preset adjustment policy met by the bandwidth detection value is used as the current execution policy.

[0052] In a specific embodiment, the multiple preset adjustment policies include a first preset adjustment policy and a second preset adjustment policy, which are implemented by a bandwidth limitation judgment module. As Figure 5 shown, the following solution can be adopted:

[0053] S51: Determine the sum of the TB sizes within the detection period as the bandwidth detection value.

[0054] The detection bandwidth value can be calculated by statistically accumulating the TB sizes within the detection period.

[0055] S52: Determine whether the bandwidth detection value is less than the first preset bandwidth threshold.

[0056] The first preset bandwidth threshold is the minimum protection threshold, which is defined as the bandwidth below which normal data transmission will be affected, possibly resulting in frequent jitter or even packet loss. The minimum protection threshold can be set as a ratio, a specific bandwidth value, or a specific bandwidth margin. For example, set the minimum protection bandwidth threshold to 120% of the current service rate. Assume the current service rate is 10 Mbps, then when the detected bandwidth value is below 12 Mbps, it is considered to be below the minimum protection threshold; or, set the minimum protection threshold to 8 Mbps, and when the detected bandwidth value is below 8 Mbps, it is considered to be below the minimum protection threshold; or, set the minimum protection threshold to 2 Mbps. Assume the current service rate is 8 Mbps, then when the detected bandwidth value is below 10 Mbps, it is considered to be below the minimum protection threshold. The definition method of the minimum protection threshold is not restricted here.

[0057] S53: If the bandwidth detection value is less than the first preset bandwidth threshold, then execute the first preset adjustment strategy.

[0058] If the bandwidth detection value is less than the first preset bandwidth threshold, it indicates that the current bandwidth is already restricted and has already or will soon affect the service data. The first preset adjustment strategy can be used to adjust the code rate, and the first preset adjustment strategy includes lowering the current code rate to the first preset code rate. Specifically, the priority of the first preset adjustment strategy (denoted as the first priority) is the highest, that is, the priority of lowering the code rate when the bandwidth is restricted is the highest; the current code rate can be lowered by the first preset value, or the current code rate can be lowered according to the first preset ratio so that the adjusted code rate is the first preset code rate; then generate adjustment information for the code rate adjustment (carrying the adjusted code rate, adjustment ratio or adjustment value), and report the adjustment information to the adaptive module in the terminal for processing.

[0059] S54: If the bandwidth detection value is greater than or equal to the first preset bandwidth threshold, then determine whether to execute the second preset adjustment strategy based on the current required bandwidth.

[0060] If the bandwidth detection value is greater than or equal to the first preset bandwidth threshold, it indicates that there is still bandwidth margin at this time. At this time, it can be determined whether to use the second preset adjustment strategy to adjust the code rate based on the current required bandwidth. Specifically, when the bandwidth detection value is greater than or equal to the first preset bandwidth threshold, it is not necessarily necessary to increase the code rate. At this time, it can be determined whether to increase the code rate according to the current required bandwidth; for example, if the rate required by the terminal itself is 5, and if this rate has not changed, because there is no demand, no matter how large the bandwidth detection value is, there is no need to increase the code rate; if the initial value of the required rate is 10 and the rate is subsequently lowered to 5 due to insufficient bandwidth, then when it is determined that the bandwidth is sufficient, the code rate can be increased to restore to the required rate.

[0061] Further, the second preset adjustment strategy includes increasing the current code rate to a second preset code rate. For example, the current code rate can be increased by a second preset value, or the current code rate can be increased according to a second preset ratio, so that the adjusted code rate is the second preset code rate, and the adjustment information is reported to the adaptive module; the first preset code rate is less than the second preset code rate, and the priority of the second preset adjustment strategy (denoted as the fourth priority) is lower than the first priority.

[0062] In another specific embodiment, the multiple preset adjustment strategies further include a third preset adjustment strategy and a fourth preset adjustment strategy, which are implemented by the channel environment trend judgment module. As Figure 6 shown, the following solution can be adopted:

[0063] S61: Statistically calculate the MCS values within the detection period to obtain an MCS reference value.

[0064] The MCS value can reflect the channel environment of the terminal to a certain extent. For example, when the signal is strong and the interference is low, the MCS value is high; on the contrary, when the interference is high, the MCS value is low. Therefore, if the MCS value shows a trend change within consecutive detection periods, for example, continuously decreasing from high to low, it can be considered that the terminal is moving away from the base station or the interference source is approaching. At this time, the service code rate can be adjusted downward according to the judgment trend to adapt to the environmental change in advance and avoid data accumulation caused by sudden bandwidth limitation. If the change trend of the MCS value within consecutive detection periods is from low to high, it can be considered that the channel environment of the terminal is improving, and the code rate can be appropriately increased according to the trend change to improve the transmission effect of the streaming media. Therefore, the code rate can be adjusted by the MCS values in all DCIs. First, statistically calculate the MCS values within each detection period. For example, the preset number is denoted as M, and the real-time MCS level is estimated by calculating the average or median of the MCS values within M detection periods to obtain the MCS reference value.

[0065] S62: Obtain the change trend of the MCS reference value within the first preset number of detection periods to obtain a first change trend.

[0066] S63: Determine whether the first change trend is a first preset trend.

[0067] The first preset trend is from high to low.

[0068] S64: If the first change trend is the first preset trend, then determine whether the bandwidth detection value is less than a second preset bandwidth threshold.

[0069] The second preset bandwidth threshold is the environmental change adjustment threshold, and the environmental change adjustment threshold is generally higher than the minimum protection threshold. For example, the minimum protection threshold is 120%, and the environmental change adjustment threshold is 180%.

[0070] S65: If the bandwidth detection value is less than the second preset bandwidth threshold, execute the third preset adjustment strategy.

[0071] The third preset adjustment strategy includes reducing the current code rate to the third preset code rate; specifically, when it is detected that the change trend of the MCS reference value in multiple detection periods is from high to low, it indicates that the current channel environment is deteriorating, which may be caused by the terminal moving away from the base station or the interference source approaching the terminal. At this time, the downward trend of the bandwidth can be calculated based on the change of the MCS reference value (the calculation method is not limited). Once the detected bandwidth value is lower than the set environmental change adjustment threshold, it is considered that the current code rate can be reduced according to the change amplitude or preset value, so that the adjusted code rate is the third preset code rate, and the adjustment information is reported to the adaptive module.

[0072] S66: Determine whether the bandwidth detection value is greater than the second preset bandwidth threshold.

[0073] S67: If the bandwidth detection value is greater than the second preset bandwidth threshold, determine whether to execute the fourth preset adjustment strategy based on the current required bandwidth.

[0074] The fourth preset adjustment strategy includes increasing the current code rate to the fourth preset code rate. The priority of the third preset adjustment strategy (denoted as the second priority) is higher than the priority of the fourth preset adjustment strategy (denoted as the fifth priority); when the first change trend is from low to high, it indicates that the current channel environment is improving. If the detected bandwidth value is higher than the set environmental change adjustment threshold at this time, determine whether to execute the fourth preset adjustment strategy based on the current required bandwidth. If it is necessary to execute the fourth preset adjustment strategy, the current code rate can be increased according to the change amplitude or preset value, so that the adjusted code rate is the fourth preset code rate, and the adjustment information is reported to the adaptive module.

[0075] S68: Determine whether the first change trend is the second preset trend.

[0076] The second preset trend is from low to high. When the first change trend is the second preset trend, determine whether the bandwidth detection value is greater than the second preset bandwidth threshold, that is, execute S66; if the bandwidth detection value is greater than the second preset bandwidth threshold, execute the fourth preset adjustment strategy, that is, execute S67.

[0077] In another specific embodiment, after obtaining the bandwidth detection value, the step of determining whether the bandwidth detection value is less than the second preset bandwidth threshold may also be executed, that is, execute S64.

[0078] In another specific embodiment, the multiple preset adjustment strategies further include a fifth preset adjustment strategy, which is implemented by the congestion judgment module, such as Figure 7 shown, the following solution can be adopted:

[0079] S71: Statistically calculate the number of RBs within a detection period to obtain a reference value for the number of RBs.

[0080] The number of RBs can reflect the network congestion situation to a certain extent. For example, when the MCS reference value does not change much, if the detected change trend of the number of RBs is from more to less, it may indicate that other terminals are successively accessing and competing for resources. Therefore, according to the change trend of the number of RBs, the coding rate can be reduced in advance to avoid data accumulation. At the same time, a congestion warning message can be sent to the central platform so that the central platform can adjust the global coding rate or prevent low-priority terminals from continuing to access. Therefore, the mean or median of the number of RBs in all DCIs within each detection period can be calculated to generate a reference value for the number of RBs, so as to estimate the real-time bandwidth occupancy level.

[0081] S72: Obtain the change trend of the reference value of the number of RBs within a second preset number of detection periods to obtain a second change trend.

[0082] S73: Determine whether the second change trend meets a preset change condition.

[0083] Determine whether the first change trend is a third preset trend and whether the second change trend is a fourth preset trend; if the first change trend is the third preset trend and the second change trend is the fourth preset trend, then determine that the second change trend meets the preset change condition. The third preset trend is that the MCS reference value has no change (i.e., is relatively stable), and the variance of the MCS reference value within the second preset number of detection periods can be calculated to determine whether the MCS reference value is relatively stable; the fourth preset trend is from more to less.

[0084] S74: If the second change trend meets the preset change condition, then determine whether the bandwidth detection value is less than a third preset bandwidth threshold.

[0085] The third preset bandwidth threshold is a congestion change adjustment threshold.

[0086] S75: If the bandwidth detection value is less than the third preset bandwidth threshold, then execute a fifth preset adjustment strategy.

[0087] The fifth preset adjustment strategy includes lowering the current code rate to the fifth preset code rate, and the priority of the fifth preset adjustment strategy (denoted as the third priority). Specifically, for the mean (or median) of the calculated number of RBs, when its change trend is from more to less in multiple detection periods and the MCS reference value in this stage is relatively stable, it indicates that other devices are competing for resources, which may be caused by too many terminals accessing the system and preempting bandwidth resources. At this time, if the change trend of the number of RBs is continuously decreasing, there may be a risk of network congestion. Therefore, once the detected bandwidth value is lower than the set congestion change adjustment threshold, the code rate can be reduced in advance according to the preset value or ratio to avoid buffer congestion. At the same time, if conditions permit, the change situation of the detected network congestion can be reported to the central platform, which helps to adjust the system-level scheduling strategy. For example, terminals accessing low-priority tasks can be prohibited, or the code rates of terminals in the system can be adjusted as a whole according to the task priorities to relieve the congestion degree.

[0088] In another specific embodiment, when the first change trend is neither the first preset trend nor the second preset trend, the step of determining whether the second change trend meets the preset change condition may also be executed, that is, S73 is executed.

[0089] In other specific embodiments, after obtaining the bandwidth detection value, the step of determining whether the bandwidth detection value is less than the third preset bandwidth threshold may also be executed, that is, S74 is executed.

[0090] It can be understood that in the above embodiments, all the strategies for lowering the code rate are forced to be lowered to avoid buffer congestion, but the strategies for raising the code rate can be selected according to actual needs. Inside the same module (including the bandwidth limitation judgment module, the channel environment trend judgment module, and the congestion judgment module), since the judgment logics are mutually exclusive, there is no situation where two preset adjustment strategies are satisfied simultaneously. After the three sub-modules have all completed the judgment, since there may be strategy conflicts among these three sub-modules, the priority can be used to determine which preset adjustment strategy needs to be executed currently.

[0091] Furthermore, among all the adjustment strategies that meet the adjustment threshold, one can be selected as the currently executed strategy according to the priority. The relationship among the priorities is: first priority > second priority > third priority > fourth priority > fifth priority; if the code rate adjustment task is triggered simultaneously, the adjustment strategy with a higher priority is executed in the order of priority. Or, the priority can also be combined with other algorithm parameters (such as the real-time buffer status, etc.) to select the optimal method for code rate adjustment to achieve the optimal code rate adaptation effect; for example, if there is more data in the current buffer queue, it can be set to directly execute the first preset adjustment strategy regardless of which preset adjustment strategy is currently met.

[0092] This embodiment provides an uplink bandwidth margin detection and bitrate adaptation method based on trend prediction. Without adding a real auxiliary detection stream, it realizes the detection of the bandwidth margin ability without perception and impact by virtually increasing the BSR. Then, it analyzes the DCI to obtain the TB size, and estimates the detection bandwidth value by accumulating the TBs, with high accuracy and good real-time performance. At the same time, it evaluates the interference change of the channel environment where the terminal is located through the MCS value carried by the DCI, and evaluates the network congestion change through the number of RBs, predicts the bandwidth change trend of the terminal, and performs bitstream adaptation processing considering various factors to ensure the smooth transmission of data and avoid the accumulation of cached data and video lags caused by bandwidth limitations.

[0093] Please refer to Figure 8 , Figure 8 FIG. is a schematic structural diagram of an embodiment of a terminal provided by the present application. The terminal 80 includes a memory 81 and a processor 82 connected to each other. The memory 81 is used to store a computer program, and when the computer program is executed by the processor 82, it is used to implement the data transmission method in the above embodiment.

[0094] The solution provided in this embodiment does not need to rely on a third-party device and does not increase the detection data stream. The terminal realizes the detection of the bandwidth margin by increasing the BSR, and detects the current bandwidth value by accumulating the TB size, with good real-time performance. Moreover, by using the change trends of the MCS value and the number of RBs statistically detected by the bandwidth margin detection, it predicts the channel environment and congestion changes, so as to achieve the purpose of adjusting the bitrate in advance and ensuring reliable transmission.

[0095] Please refer to Figure 9 , Figure 9 FIG. is a schematic structural diagram of an embodiment of a data transmission system provided by the present application. The data transmission system 90 includes a terminal 91 and a base station 92 connected to each other. The terminal 91 is used to transmit data to the base station 92, and the terminal 91 is the terminal in the above embodiment.

[0096] Please refer to Figure 10 , Figure 10 FIG. is a schematic structural diagram of an embodiment of a computer-readable storage medium provided by the present application. The computer-readable storage medium 100 is used to store a computer program 101, and when the computer program 101 is executed by a processor, it is used to implement the data transmission method in the above embodiment.

[0097] The computer-readable storage medium 100 can be various media that can store program codes, such as a server, a USB flash drive, a mobile hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a magnetic disk, or an optical disc.

[0098] In several embodiments provided in the present application, it should be understood that the disclosed methods and devices can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of modules or units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed.

[0099] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they can be located in one place or distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0100] In addition, each functional unit in various embodiments of the present application can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit. The above integrated units can be implemented in the form of hardware or in the form of software functional units.

[0101] The above are only the embodiments of the present application, and do not limit the patent scope of the present application accordingly. Any equivalent structural or equivalent process transformation made by using the content of the specification and drawings of the present application, or directly or indirectly applied in other related technical fields, shall be equally included in the patent protection scope of the present application.

Claims

1. A data transmission method, characterized in that, Applied to a terminal, the method includes: Obtain data to be transmitted, where the data to be transmitted includes multiple service data; Put the service data into a cache queue and generate a probing buffer status report, where the probing buffer status report is used to indicate the quantity to be transmitted, and the quantity to be transmitted is greater than the total number of service data in the cache queue; Send the uplink data to a base station so that the base station allocates bandwidth resources for the terminal, where the uplink data includes the probing buffer status report and the service data; Wherein, the step of generating the probing buffer status report includes: Obtain the current index level and the current cache size corresponding to the current index level; Calculate the product of the current cache size and the expected probing bandwidth multiple to obtain a first value; Determine whether the first value is the same as the cache size in a preset mapping table, where the preset mapping table includes multiple index levels and the cache sizes corresponding to the index levels; If so, update the current index level to the index level corresponding to the first value; If not, determine the cache size in the preset mapping table that is greater than the first value and has the smallest difference from the first value as a second value, and update the current index level to the index level corresponding to the second value.

2. The data transmission method according to claim 1, wherein The probing buffer status report includes the index level corresponding to the quantity to be transmitted, and the step of generating the probing buffer status report further includes: Add the current index level to a preset value to obtain an updated index level; Write the updated index level into the probing buffer status report.

3. The data transmission method according to claim 1, wherein The method further includes: Receive the downlink data sent by the base station; Probe the bandwidth probing value of the terminal based on the downlink data to obtain a probing result; Adjust the code rate of the data to be transmitted based on the probing result.

4. The data transmission method according to claim 3, characterized in that, The downlink data includes downlink control information, and the probing result includes a modulation and coding strategy value, a resource block quantity, and a transport block size. The step of probing the bandwidth probing value of the terminal based on the downlink data to obtain a probing result includes: Parse the downlink control information to obtain the modulation and coding strategy value and the resource block quantity; Generate the transport block size based on the modulation and coding strategy value and the resource block quantity.

5. The data transmission method according to claim 4, characterized in that The method further includes: Obtain a preset adjustment policy set, where the preset adjustment policy set includes multiple preset adjustment policies; Determine whether the bandwidth probing value meets at least two preset adjustment policies in the preset adjustment policy set; If so, use the preset adjustment policy with the highest priority among all the preset adjustment policies met by the bandwidth probing value as the current execution policy; If not, use the preset adjustment policy met by the bandwidth probing value as the current execution policy.

6. The data transmission method according to claim 5, wherein The multiple preset adjustment policies include a first preset adjustment policy and a second preset adjustment policy. The step of adjusting the code rate of the data to be transmitted based on the probing result includes: Determine the sum of the transport block sizes within a probing period as the bandwidth probing value; Determine whether the bandwidth probing value is less than a first preset bandwidth threshold; If so, execute the first preset adjustment strategy, which includes lowering the current code rate to a first preset code rate; If not, determine whether to execute the second preset adjustment strategy based on the current required bandwidth. The second preset adjustment strategy includes increasing the current code rate to a second preset code rate.

7. The data transmission method according to claim 5, wherein The multiple preset adjustment strategies further include a third preset adjustment strategy and a fourth preset adjustment strategy. The step of adjusting the code rate of the data to be transmitted based on the detection result includes: Statistically calculate the modulation and coding strategy values within a detection period to obtain a modulation and coding strategy reference value; Obtain the change trend of the modulation and coding strategy reference value within the first preset number of detection periods to obtain a first change trend; Determine whether the first change trend is a first preset trend; If the first change trend is the first preset trend, determine whether the bandwidth detection value is less than a second preset bandwidth threshold; If the bandwidth detection value is less than the second preset bandwidth threshold, execute the third preset adjustment strategy, which includes lowering the current code rate to a third preset code rate.

8. The data transmission method according to claim 7, characterized in that The method includes: When the first change trend is a second preset trend, determine whether the bandwidth detection value is greater than the second preset bandwidth threshold; If so, determine whether to execute the fourth preset adjustment strategy based on the current required bandwidth. The fourth preset adjustment strategy includes increasing the current code rate to a fourth preset code rate.

9. The data transmission method according to claim 7, wherein The method further includes: After obtaining the bandwidth detection value, execute the step of determining whether the bandwidth detection value is less than the second preset bandwidth threshold.

10. The data transmission method according to claim 5, characterized in that The multiple preset adjustment strategies further include a fifth preset adjustment strategy. The step of adjusting the code rate of the data to be transmitted based on the detection result includes: Statistically calculate the number of resource blocks within a detection period to obtain a resource block number reference value; Obtain the change trend of the resource block number reference value within the second preset number of detection periods to obtain a second change trend; Determine whether the second change trend meets a preset change condition; If the second change trend meets the preset change condition, determine whether the bandwidth detection value is less than a third preset bandwidth threshold; If the bandwidth detection value is less than the third preset bandwidth threshold, execute the fifth preset adjustment strategy, which includes lowering the current code rate to a fifth preset code rate.

11. The data transmission method according to claim 10, characterized in that The method includes: Determine whether the first change trend is a third preset trend and whether the second change trend is a fourth preset trend; If so, determine that the second change trend meets the preset change condition.

12. The data transmission method according to claim 10, wherein The method includes: When the first change trend is not the first preset trend and not the second preset trend, execute the step of determining whether the second change trend meets the preset change condition.

13. The data transmission method according to claim 10, wherein The method further includes: After obtaining the bandwidth detection value, execute the step of determining whether the bandwidth detection value is less than the third preset bandwidth threshold.

14. A terminal, characterized in that, It includes a memory and a processor connected to each other. Among them, the memory is used to store a computer program, and when the computer program is executed by the processor, it is used to implement the data transmission method described in any one of claims 1-13.

15. A data transmission system, characterized in that, It includes a terminal and a base station connected to each other. The terminal is used to transmit data to the base station, and the terminal is the terminal described in claim 14.

16. A computer-readable storage medium for storing a computer program, characterized in that, When the computer program is executed by a processor, it is used to implement the data transmission method described in any one of claims 1-13.

Citation Information

Patent Citations

  • Uplink resource allocation method and device based on uplink scheduling request in voice service

    CN106535347A

  • Method and device for submitting buffer status report

    CN109429568A