Data transmission method and device based on rate control, and communication device

By receiving the data to be sent in the communication system and calculating the time difference to determine whether the data needs to be discarded, the problem of large overhead and insufficient control accuracy in the prior art is solved, and more efficient and accurate data transmission is achieved.

CN113766570BActive Publication Date: 2025-03-18SPREADTRUM COMMUNICATION (SHANGHAI) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111137244.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-09-27
Publication Date
2025-03-18
Estimated Expiration
2041-09-27

AI Technical Summary

Technical Problem

When performing rate control in the prior art, the system overhead is large and the control accuracy is insufficient, making it difficult to effectively manage the data processing pressure caused by a large number of terminal accesses.

Method used

By receiving the data to be sent, the data to be restricted is determined, and the time difference is calculated to determine whether the data needs to be discarded based on the number of data supported by the terminal and the number of data allowed to be transmitted. This method does not rely on a periodic timer, and only makes judgments when receiving data to be sent, reducing system overhead and improving control accuracy.

Benefits of technology

It effectively reduces system overhead, improves the accuracy of rate control, and can be fine-grained to the sending time of each sent data, ensuring the efficiency and accuracy of data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113766570B_ABST
    Figure CN113766570B_ABST
Patent Text Reader

Abstract

A data transmission method and device based on rate control, and a communication device, the method comprising: receiving one or more data to be sent, determining that there is data to be sent that is restricted from being sent among the one or more data to be sent; if the number of data supported by the terminal is greater than or equal to the number of data allowed to be sent, determining the first time difference between the sending time of the first sent data and the receiving time of the data to be sent, and judging whether the first time difference is less than the rate control time unit; if the first time difference is less than the rate control time unit, determining that the data to be sent that is restricted from being sent needs to be discarded, and the data to be sent that is not restricted from being sent can be sent. The present invention can effectively reduce system overhead and effectively improve control accuracy.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of communication technology, and in particular to a data sending method and device based on rate control, and a communication device. Background Art

[0002] Cellular Internet of Things (CIoT) is an Internet of Things that uses narrowband Internet of Things (NB-IoT) technology to enable terminals to access mobile communication networks and can access the 5th Generation (5G) core network.

[0003] For application scenarios with a large number of terminals accessing, the amount of data that needs to be processed by the network side is very large. In order to control the amount of data processed by the network side, improve wireless communication efficiency, and save terminal power, the network side needs to perform rate control on each terminal, that is, limit the number of data packets received and sent by the terminal in a unit time. The current features for rate control of terminals include: Serving Public Land Mobile Network Rate Control (Serving PLMN Rate Control) and Access Point Name Rate Control (Access Point Name Rate Control, APN Rate Control). If the number of data packets sent by the terminal (User Equipment, UE) exceeds the limit, the restricted data packets will be discarded.

[0004] In the prior art, the sliding time window algorithm is used for rate control, which has problems such as large system overhead and insufficient control accuracy. Summary of the invention

[0005] The technical problem solved by the present invention is to provide a data sending method and device based on rate control, and a communication device, which can effectively reduce system overhead and effectively improve control accuracy.

[0006] To solve the above technical problems, an embodiment of the present invention provides a data sending method based on rate control, including: receiving one or more data to be sent, determining that there is data to be sent that is restricted from sending among the one or more data to be sent; if the terminal supports a data quantity greater than or equal to the allowed data quantity to be sent, determining a first time difference between the sending time of the first sent data and the receiving time of the data to be sent, and judging whether the first time difference is less than the rate control time unit; if the first time difference is less than the rate control time unit, determining that the data to be sent that is restricted from sending needs to be discarded, and the data to be sent that is not restricted from sending can be sent.

[0007] Optionally, determining that there is restricted data to be sent among the one or more data to be sent includes: comparing the number of records of sent data with the number of data allowed to be sent within the duration of a single rate control time unit; determining that all the data to be sent are restricted from being sent at least based on the fact that the number of data allowed to be sent is less than the number of records of sent data, or determining that there is restricted data to be sent among the data to be sent at least based on the fact that the number of data allowed to be sent is less than the sum of the number of records of sent data and the number of data to be sent; wherein the number of restricted data to be sent is the difference between the number of records of sent data and the number of data allowed to be sent.

[0008] Optionally, the data sending method also includes: if the first time difference is greater than or equal to the rate control time unit, clearing the record of the sending time of at least a part of the sent data, and updating the number of records of the sent data within the rate control time unit.

[0009] Optionally, if the first time difference is greater than or equal to the rate control time unit, clearing the record of the sending time of at least a part of the sent data includes: if the first time difference is greater than or equal to the rate control time unit, continuing to determine whether the first time difference between the sending time of the next sent data and the receiving time of the data to be sent is less than the rate control time unit, until the sent data whose first time difference is less than the rate control time unit is obtained, or it is determined that the first time differences between the sending time of all sent data and the receiving time of the data to be sent are greater than or equal to the rate control time unit; for the sent data whose first time difference is less than the rate control time unit, clearing the record of the sending time of all sent data before the sent data; for the case where the first time differences between the sending time of all sent data and the receiving time of the data to be sent are greater than or equal to the rate control time unit, clearing the record of the sending time of all sent data.

[0010] Optionally, the data sending method also includes: determining again whether there is data to be sent that is restricted from being sent for a second time among the one or more data to be sent based on the updated number of records of the sent data; if so, determining that the data to be sent that is restricted from being sent for a second time needs to be discarded, and the data to be sent that is not restricted from being sent for a second time can be sent.

[0011] Optionally, the data sending method further includes: each time the data to be sent is sent, updating one or more of the following: the number of records of data sent within the rate control time unit; and the sending time of the data sent within the rate control time unit.

[0012] Optionally, the data sending method also includes: if the amount of data supported by the terminal is less than the amount of data allowed to be sent, determining a second time difference between a preset moment of the sending time period in which the first sent data is located and a receiving moment of the data to be sent, and judging whether the second time difference is less than a rate control time unit, the sending time period being determined based on the rate control time unit and the amount of data supported by the terminal; if the second time difference is less than the rate control time unit, determining that the data to be sent that is restricted from sending needs to be discarded, and the data to be sent that is not restricted from sending can be sent.

[0013] Optionally, the data sending method also includes: if the second time difference is greater than or equal to the rate control time unit, clearing the record of the sending time period in which at least a portion of the sent data is located, and updating the number of records of the sent data in the rate control time unit.

[0014] Optionally, if the second time difference is greater than or equal to the rate control time unit, clearing the record of the sending time period in which at least a part of the sent data is located includes: if the second time difference is greater than or equal to the rate control time unit, continuing to determine whether the second time difference between the preset moment of the sending time period in which the next sent data is located and the receiving moment of the data to be sent is less than the rate control time unit, until the sent data whose second time difference is less than the rate control time unit is obtained, or determining that the second time difference between the preset moment of the sending time period in which the sending moment of all sent data is located and the receiving moment of the data to be sent is greater than or equal to the rate control time unit; for the sent data whose second time difference is less than the rate control time unit, clearing the record of the sending time period in which all the sent data before the sent data are located; for the case where the second time difference between the preset moment of the sending time period in which the sending moment of all the sent data is located and the receiving moment of the data to be sent is greater than or equal to the rate control time unit, clearing the record of the sending time period in which all the sent data are located.

[0015] Optionally, the preset time is selected from: a starting time, a center time, and an end time.

[0016] Optionally, the data sending method also includes: based on the updated number of records of sent data, re-determining whether there is any data to be sent that is restricted from sending again among the one or more data to be sent; if so, determining that the data to be sent that is restricted from sending again needs to be discarded, and the data to be sent that is not restricted from sending again can be sent.

[0017] Optionally, the data sending method also includes: each time the data to be sent is sent, updating one or more of the following: the number of records of data sent within the time unit; the sending time period in which the data sent within the time unit is located; the number of data sent within the sending time period in which the data sent within the time unit is located.

[0018] Optionally, the rate control time unit is divided into equal parts to obtain a plurality of the sending time periods; wherein the number of equal parts is the amount of data supported by the terminal.

[0019] Optionally, before determining that there is restricted data to be sent among the one or more data to be sent, the data sending method also includes: if the terminal supports a data quantity greater than or equal to the data quantity allowed to be sent, recording the sending time of each sent data; if the terminal supports a data quantity less than the data quantity allowed to be sent, recording the data quantity sent in each sending time period.

[0020] Optionally, the data to be sent is a PDU sent uplink from the NAS of the terminal to the AS.

[0021] To solve the above technical problems, an embodiment of the present invention provides a data sending device based on rate control, including: a restriction determination module, used to receive one or more data to be sent, and determine whether the one or more data to be sent contain data to be sent that is restricted from sending; a time difference determination module, used to determine the first time difference between the sending time of the first sent data and the receiving time of the data to be sent when the number of data supported by the terminal is greater than or equal to the number of data allowed to be sent, and judge whether the first time difference is less than the rate control time unit; a discard sending determination module, used to determine that the data to be sent that is restricted from sending needs to be discarded, and the data to be sent that is not restricted from sending can be sent when the first time difference is less than the rate control time unit.

[0022] In order to solve the above technical problem, an embodiment of the present invention provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the above data sending method based on rate control are executed.

[0023] To solve the above technical problems, an embodiment of the present invention provides a communication device, including a memory and a processor, wherein the memory stores a computer program that can be run on the processor, and is characterized in that the processor executes the steps of the above-mentioned rate control-based data sending method when running the computer program.

[0024] Compared with the prior art, the technical solution of the embodiment of the present invention has the following beneficial effects:

[0025] In an embodiment of the present invention, when there is data to be sent that is restricted from being sent, the sending time of the sent data can be recorded according to the number of data supported by the terminal being greater than or equal to the number of data allowed to be sent, and then the first time difference between the sending time of the first sent data and the receiving time of the data to be sent can be used to determine whether the data to be sent that is restricted from being sent needs to be discarded or can be sent. Compared with the prior art that uses a sliding time window algorithm for rate control, the solution of the embodiment of the present invention can determine whether the data to be sent needs to be discarded or can be sent only when the data to be sent is received, without the need to maintain a periodic timer, which can effectively reduce system overhead, and can be refined to the sending time of each sent data, effectively improving control accuracy.

[0026] Further, within the rate control time unit, at least based on the fact that the number of records of sent data is greater than or equal to the number of data allowed to be sent, it is determined that there is data to be sent that is restricted from sending in the data to be sent. The number of data to be sent that is restricted from sending can be determined, thereby providing support for subsequent judgment on whether the data to be sent can be sent and the number of data to be sent that can be sent.

[0027] Further, if the first time difference is greater than or equal to the rate control time unit, the record of the sending time of at least a portion of the sent data is cleared, and the record number of the sent data in the rate control time unit is updated. Since the present invention can determine whether to be discarded or can be sent only when the data to be sent is received, there may be one or more sent data that are sent before the duration of the rate control time unit. After clearing these data, a portion of the to-be-sent data that is restricted from being sent can be sent more.

[0028] Furthermore, based on the updated number of records of sent data, it is determined again whether there is any data to be sent that is restricted from sending for the second time among the one or more data to be sent. Through the second judgment, a larger portion of the restricted data to be sent can be sent, thereby reducing the impact of rate control on data sending requirements.

[0029] Furthermore, according to the fact that the number of data supported by the terminal is less than the number of data allowed to be sent, the sending time period in which the sent data is located can be recorded, and then the second time difference between the preset time of the sending time period in which the first sent data is located and the receiving time of the data to be sent can be used to determine whether the data to be sent that is restricted from sending needs to be discarded or can be sent. Compared with the prior art that uses a sliding time window algorithm for rate control, the solution of the embodiment of the present invention can determine whether the data to be sent needs to be discarded or can be sent only when the data to be sent is received, without having to maintain a periodic timer, which can effectively reduce system overhead, and when the number of data supported by the terminal is small, the sending time period containing one or more data is used for judgment, which effectively saves memory compared to using the sending time of a single data. BRIEF DESCRIPTION OF THE DRAWINGS

[0030] Figure 1 is a flow chart of a data transmission method based on rate control in an embodiment of the present invention;

[0031] Figure 2 is a flow chart of another data transmission method based on rate control in an embodiment of the present invention;

[0032] Figure 3 is a flow chart of another data sending method based on rate control in an embodiment of the present invention;

[0033] Figure 4 is a flow chart of a method for determining fine rate control or coarse rate control in an embodiment of the present invention;

[0034] Figure 5 is a structural schematic diagram of a data sending device based on rate control in an embodiment of the present invention;

[0035] Figure 6 It is a structural schematic diagram of a communication device in an embodiment of the present invention. DETAILED DESCRIPTION

[0036] In the prior art, in order to control the amount of data processed by the network side, improve wireless communication efficiency, and save terminal power, the network side needs to perform rate control on each terminal, that is, limit the number of data packets received and sent by the terminal per unit time.

[0037] For example, NB-IoT is a cellular-based narrowband Internet of Things technology, whose main features are wide coverage, multiple connections, low speed, low cost, low power consumption, and excellent architecture. As NB-IoT technology continues to mature, more and more UEs are using NB-IoT technology. The 3rd Generation Partnership Project (3GPP) protocol specifies Serving PLMN rate control and APN rate control to control the frequency of uplink data transmission of NB-IoT UE. Among them, Serving PLMN rate control is used to limit the amount of user data transmitted by UE through Non-Access Stratum (NAS) messages per unit time, and APN rate control is to limit the amount of uplink data sent by UE per unit time.

[0038] Specifically, in the Serving PLMN rate control, the amount of data allowed to be sent (rate_value) is configured by the Mobility Management Entity (MME). The Serving PLMN rate control is used to limit the number of uplink and downlink NAS message transmission protocol data units (MAC Protocol Data Unit, PDU). The uplink rate control and downlink rate control can have different limits on NAS data PDU. The Serving PLMN rate control information is configured by the operator in the management network element or entity in the core network, and is generally set to "X NAS data PDUs every 6 minutes", where X is an integer and should not be less than 10.

[0039] APN rate control is used by the home operator to limit the number of uplink user data PDUs sent by the UE to the specified APN. The limited uplink user data PDUs can be user data transmitted through the control plane NAS message or user data transmitted through the user plane. The APN rate control information is configured by the operator in the user plane network element or entity in the core network, and is generally set to the maximum number of PDUs sent by the UE within a specified time unit, such as "X user data messages per day", where X is an integer and there is no minimum value limit; the user data message here can also be understood as a PDU, and the time unit here is also called a time unit (time unit) or a rate control time unit. UEs that support APN rate control can also support the limitation of exception report data packets, that is, the UE can continue to send a certain number of exception report data packets after exceeding the limit of sending a maximum of Y messages per day. For the Evolved Packet System (EPS), the APN rate control information is configured in the Packet Data Network Gateway (PGW) or the Service Capability Exposure Function (SCEF).

[0040] The APN rate control information usually contains three pieces of information: the number of data packets (or data units) that can be sent per time unit; if the number of data packets reaches the limit, whether the UE is allowed to continue sending exception reports; if the UE is allowed to send exception reports in this case, the number of data packets that can send exception reports is included.

[0041] In the prior art, a sliding time window algorithm is used to control the rate. The specific steps are as follows:

[0042] 1. Use the rate control time unit as a single time window W = time unit, that is, use a single time window to represent a single rate control time unit;

[0043] 2. Divide a single time window into several small windows, and the length of each small window is time unit / MAX_RATE_NODE. The number of data supported by the terminal (MAX_RATE_NODE) ​​is used to indicate how much data the terminal can support for control, reflecting the accuracy of rate control. The value of MAX_RATE_NODE can be set according to the actual situation of the system. The larger the value, the higher the accuracy of rate control, and at the same time it will consume more system memory;

[0044] 3. Use a single periodic timer (rate_timer), the periodic timer duration = time unit / MAX_RATE_NODE, and record the number of data sent during each operation of the timer;

[0045] 4. When the NB-IOT UE sends the first uplink data, the periodic timer is started;

[0046] 5. When the NB-IOT UE is ready to send uplink data, it checks whether the data sent within the time window W has reached the maximum value. If not, the data can be sent, otherwise the data cannot be sent;

[0047] 6. When the periodic timer times out, delete the small window outside the window and update the time window.

[0048] In a non-limiting specific embodiment, the rate control information is "30 data can be sent every 6 minutes", MAX_RATE_NODE is equal to 30, and the system sends one data every 6 seconds as an example.

[0049] Time window W=360s, rate_timer duration is 6s, MAX_RATE_NODE information is used to record the number of data sent every 6s, and the default sending time of these data is the timer start time; 30 data can be sent from 0 to 180s, and then no data can be sent from 180 to 359s. At the 360th second, the timer times out and finds that the first small window has expired, and 2 data have been sent in this small window. At this time, two new data can be sent, but in fact the second new data should wait until the 366th second to be sent. It can be seen that this method will cause a 6s loss in the time accuracy of rate control.

[0050] The inventors of the present invention have found through research that in the above algorithm, it is necessary to maintain a periodic timer, resulting in a large system overhead; and the amount of data that can be sent is determined based on a small window, resulting in low rate control accuracy.

[0051] Specifically, for low-cost and low-power NB-IOT UEs, it is necessary to minimize unnecessary system overhead, and maintaining a timer also consumes certain system resources (mainly system memory, central processing unit, etc.), and the NB-IOT UE can enter a sleep state when there is no data to be sent or received, and the periodic timer does not run in the sleep state. This requires the NB-IOT UE to calculate the number of timeouts of the timer during the sleep period after waking up from the sleep state, adding additional processing.

[0052] In addition, when using the above algorithm, improving the accuracy of rate control will lead to an increase in the system's memory consumption, while reducing the system's memory consumption will affect the accuracy of rate control and reduce the accuracy of rate control. It is difficult to achieve a balance between the accuracy of rate control and the system's memory consumption.

[0053] In a non-limiting specific embodiment, the rate control information is "30 data can be sent every 6 minutes", MAX_RATE_NODE is equal to 30, and the system sends one data every 6 seconds as an example.

[0054] Time window W=360s, rate_timer duration is 6s, MAX_RATE_NODE information is used to record the number of data sent every 6s, and the default sending time of these data is the timer start time; 30 data can be sent from 0 to 180s, and then no data can be sent from 180 to 359s. At the 360th second, the timer times out and finds that the first small window has expired, and 2 data have been sent in this small window. At this time, two new data can be sent, but in fact the second new data should wait until the 366th second to be sent. It can be seen that this method will cause a 6s loss in the time accuracy of rate control.

[0055] In an embodiment of the present invention, when there is data to be sent that is restricted from being sent, the sending time of the sent data can be recorded according to the number of data supported by the terminal being greater than or equal to the number of data allowed to be sent, and then the first time difference between the sending time of the first sent data and the receiving time of the data to be sent can be used to determine whether the data to be sent that is restricted from being sent needs to be discarded or can be sent. Compared with the prior art that uses a sliding time window algorithm for rate control, the solution of the embodiment of the present invention can determine whether the data to be sent needs to be discarded or can be sent only when the data to be sent is received, without the need to maintain a periodic timer, which can effectively reduce system overhead, and can be refined to the sending time of each sent data, effectively improving control accuracy.

[0056] In order to make the above-mentioned objects, features and beneficial effects of the present invention more obvious and easy to understand, specific embodiments of the present invention are described in detail below with reference to the accompanying drawings.

[0057] Reference Figure 1 , Figure 1 1 is a flow chart of a data transmission method based on rate control in an embodiment of the present invention. The data transmission method based on rate control may include steps S11 to S13:

[0058] Step S11: receiving one or more data to be sent, and determining that there is data to be sent that is restricted from being sent among the one or more data to be sent;

[0059] Step S12: if the amount of data supported by the terminal is greater than or equal to the amount of data allowed to be sent, determine a first time difference between the sending time of the first sent data and the receiving time of the data to be sent, and determine whether the first time difference is less than the rate control time unit;

[0060] Step S13: If the first time difference is smaller than the rate control time unit, it is determined that the to-be-sent data that is restricted from being sent needs to be discarded, and the to-be-sent data that is not restricted from being sent can be sent.

[0061] It is understandable that, in a specific implementation, the method can be implemented in the form of a software program, and the software program runs in a processor integrated inside a chip or a chip module.

[0062] It should be noted that the sequence numbers of the steps in this embodiment do not limit the execution order of the steps. For example, in step S11, the step of determining whether there is restricted data to be sent among the one or more data to be sent can be performed after step S12.

[0063] In the specific implementation of step S11, it can be determined whether the transmission needs to be restricted only when the data to be transmitted is received, without maintaining a periodic timer.

[0064] Furthermore, the data to be sent may be a PDU sent uplink from a NAS of the terminal to an access stratum (AS).

[0065] It should be noted that the data to be sent may be data received by the NAS of the terminal, or other appropriate data, and the terminal may be a NB-IOT UE, or other appropriate terminal.

[0066] Furthermore, the step of determining that there is restricted data to be sent among the one or more data to be sent may include: comparing the number of records of sent data with the number of data allowed to be sent within the duration of a single rate control time unit; determining that all the data to be sent are restricted from being sent at least based on the fact that the number of data allowed to be sent is less than the number of records of sent data, or determining that there is restricted data to be sent among the data to be sent at least based on the fact that the number of data allowed to be sent is less than the sum of the number of records of sent data and the number of data to be sent; wherein the number of restricted data to be sent is the difference between the number of records of sent data and the number of data allowed to be sent.

[0067] Among them, the number of records of sent data can be the number recorded within the duration of a single rate control time unit, and the number of data allowed to be sent is used to indicate the amount of data allowed to be sent by the terminal, and its value can be configured by the core network, the gateway, or other appropriate equipment.

[0068] Taking the example of the number of data allowed to be sent being 30, if the number of records of the data that have been sent is greater than or equal to 30, then no matter how many data are to be sent, they are all restricted from being sent; if the number of records of the data that have been sent has not yet reached 30, for example, it is 28, but the number of data to be sent is 3 or more (such as multiple PDBs to be sent), then not all of the data to be sent can be sent, and if only 2 of them can be sent, the remaining data to be sent is still restricted from being sent.

[0069] It should be pointed out that, in an embodiment of the present invention, it can be determined whether the sending needs to be restricted when the data to be sent is received. Therefore, there may be one or more expired data. For example, the time difference between the sending time of the first or previous multiple sent data and the receiving time of the data to be sent has exceeded the rate control time unit, but the record continues to be retained because it has not been updated.

[0070] In the first round of judgment, the data to be sent that is restricted from sending may be judged based on the records, that is, based on the number of records of the sent data.

[0071] In the rate control time unit, at least based on the fact that the number of records of sent data is greater than or equal to the number of data allowed to be sent, it is determined that there is data to be sent that is restricted from sending in the data to be sent. The number of data to be sent that is restricted from sending can be determined, providing support for subsequent judgment on whether the data to be sent can be sent and the number of data to be sent that can be sent.

[0072] Continue to refer to Figure 1 In the specific implementation of step S12, if the terminal supports a data quantity greater than or equal to the allowed data quantity to be sent, it can be understood that the terminal can support very fine recording of the sending time of each sent data. At this time, a precise rate control method can be adopted, that is, describing and recording the sending time of each sent data, and then performing rate control based on the sending time of each sent data, which helps to improve the precision and accuracy of rate control.

[0073] Next, a first time difference between the sending time of the first sent data and the receiving time of the to-be-sent data is determined, and it is determined whether the first time difference is less than the rate control time unit.

[0074] The first sent data may be the sent data of the current record, and the record may correspond to the duration of the rate control time unit before the reception time of the data to be sent. That is, in theory, the first sent data should be sent within the duration of the rate control time unit before the reception time of the data to be sent. However, if the record is not updated in time, the record expiration mentioned above may occur.

[0075] In the specific implementation of step S13, if the first time difference is smaller than the rate control time unit, it is determined that the to-be-sent data that is restricted from being sent needs to be discarded, and the to-be-sent data that is not restricted from being sent can be sent.

[0076] Taking the rate control time unit as 6 minutes (i.e. 360s) and the allowed number of data to be sent as 30 as an example, the sent data sent within 360s before the reception time of the data to be sent are all valid data that have not expired. If the number of valid data has exceeded 30, the current data to be sent cannot be sent and needs to be discarded.

[0077] In an embodiment of the present invention, when there is data to be sent that is restricted from being sent, the sending time of the sent data can be recorded according to the number of data supported by the terminal being greater than or equal to the number of data allowed to be sent, and then the first time difference between the sending time of the first sent data and the receiving time of the data to be sent can be used to determine whether the data to be sent that is restricted from being sent needs to be discarded or can be sent. Compared with the prior art that uses a sliding time window algorithm for rate control, the solution of the embodiment of the present invention can determine whether the data to be sent needs to be discarded or can be sent only when the data to be sent is received, without the need to maintain a periodic timer, which can effectively reduce system overhead, and can be refined to the sending time of each sent data, effectively improving control accuracy.

[0078] Furthermore, the data sending method may also include: if the first time difference is greater than or equal to the rate control time unit, clearing the record of the sending time of at least a portion of the sent data, and updating the number of records of the sent data within the rate control time unit.

[0079] Taking the rate control time unit as 6 minutes, that is, 360 seconds, as an example, the data sent 361 seconds before the reception time of the data to be sent or earlier is expired data and needs to be cleared.

[0080] In an embodiment of the present invention, since the present invention can determine whether the data to be sent needs to be discarded or can be sent only when the data to be sent is received, there may be one or more sent data that are sent before the duration of the rate control time unit. After clearing these data, a part of the restricted data to be sent can be sent more.

[0081] Furthermore, if the first time difference is greater than or equal to the rate control time unit, the step of clearing the record of the sending time of at least a part of the sent data may include: if the first time difference is greater than or equal to the rate control time unit, continuing to determine whether the first time difference between the sending time of the next sent data and the receiving time of the data to be sent is less than the rate control time unit, until the sent data whose first time difference is less than the rate control time unit is obtained, or it is determined that the first time differences between the sending time of all sent data and the receiving time of the data to be sent are greater than or equal to the rate control time unit; for the sent data whose first time difference is less than the rate control time unit, clearing the record of the sending time of all sent data before the sent data; for the case where the first time differences between the sending time of all sent data and the receiving time of the data to be sent are greater than or equal to the rate control time unit, clearing the record of the sending time of all sent data.

[0082] Specifically, there may be only a part of the sent data that is expired, in which case only the records of the expired part of the sent data are cleared. There may also be a situation where all the sent data is expired, in which case the records of all the sent data can be cleared.

[0083] Furthermore, the data sending method may also include: determining again whether there is data to be sent that is restricted for sending for the second time among the one or more data to be sent based on the updated number of records of the sent data; if so, determining that the data to be sent that is restricted for sending for the second time needs to be discarded, and the data to be sent that is not restricted for sending for the second time can be sent.

[0084] The method described above may be used to determine again whether there is any data to be sent that is restricted from being sent for the second time among the one or more data to be sent.

[0085] Specifically, at least based on the fact that the number of data allowed to be sent is less than the number of records of updated sent data, it is determined that the data to be sent are all restricted from being sent, or, at least based on the fact that the number of data allowed to be sent is less than the sum of the number of records of updated sent data and the number of data to be sent, it is determined that there is data to be sent that is restricted from being sent among the data to be sent.

[0086] It can be understood that, since the record number of sent data in the rate control time unit has just been updated in the previous step, the record number of sent data is already consistent with the updated actual number of sent data.

[0087] In an embodiment of the present invention, it is possible to determine again whether there is data to be sent that is restricted from being sent for a second time in the one or more data to be sent based on the number of records of the updated data that has been sent. Through the second judgment, a larger portion of the data to be sent that is restricted from being sent can be sent, thereby reducing the impact of rate control on data sending requirements.

[0088] Reference Figure 2 , Figure 2 1 is a flow chart of another data transmission method based on rate control in an embodiment of the present invention. The another data transmission method based on rate control may include steps S21 to S28, and each step is described below.

[0089] In step S21, data to be sent is received.

[0090] In step S22, it is determined whether there is no data sent within the rate control time unit. If the determination result is yes, the process may jump to step S23; if the determination result is no, the process may jump to step S24.

[0091] Specifically, when receiving the data to be sent, if there is no sent data within the rate control time unit, the data to be sent may be sent.

[0092] It is understandable that when the number of data to be sent is multiple and exceeds the number of data allowed to be sent, the sending will still be restricted, that is, only the number of data to be sent that is allowed to be sent can be sent at most.

[0093] In a non-limiting specific implementation, total_num=0 may be used to indicate that the number of records of sent data is 0, and rate_value!=0 may be used to indicate that the number of data allowed to be sent is not 0.

[0094] In step S23, the data to be sent is sent, the number of records of the sent data is updated, and the sending time of the sent data is updated.

[0095] Specifically, after the data to be sent is sent, the time of sending the data to be sent may be recorded as the sending time of the first sent data in the rate control time unit.

[0096] Furthermore, each time after the data to be sent is sent, one or more of the following items may be updated: the number of records of data sent within the rate control time unit; and the sending time of the data sent within the rate control time unit.

[0097] In a non-limiting specific implementation, total_num=1 can be used to indicate that the number of records of sent data is 1, and node_time_stamp[head_idx] is used to indicate the sending time of the first sent data in the rate control time unit, which is equal to the sending time of the data to be sent.

[0098] In step S24, it is determined whether the first time difference is less than the rate control time unit. If the determination result is yes, the process may jump to step S26; if the determination result is no, the process may jump to step S25.

[0099] The first time difference is used to indicate the time difference between the sending time of the first sent data and the receiving time of the data to be sent.

[0100] In a non-limiting specific implementation, new_time-node_time_stamp[head_idx]<rate_unit may be used to represent the judgment condition of step S24, wherein new_time may represent the receiving time of the data to be sent, and rate unit may represent the rate control time unit.

[0101] In the specific implementation of step S25, the records of the sending time of at least a part of the sent data are cleared, and the number of records of the sent data is updated.

[0102] In a specific implementation, the sending time of the first sent data in the rate control time unit may also be updated to improve the effectiveness of the judgment of the first time difference in subsequent steps.

[0103] It should be noted that, in step S25, the sent data may be judged and cleared one by one.

[0104] Specifically, in step S24, only the first sent data can be judged, and after the judgment, the sent data can be cleared, and the information of the cleared first sent data (such as the sending time) can be updated, and then jump to step S24 to judge the updated first sent data, and repeat this cycle until the judgment result in step S24 is yes.

[0105] For more information about step S25, please refer to the previous text and Figure 1 The description in is executed and will not be repeated here.

[0106] In step S26, it is determined whether the number of records of sent data is less than the number of data allowed to be sent. If the determination result is yes, the process can jump to step S28; if the determination result is no, the process can jump to step S27.

[0107] In step S27, the data to be sent is discarded.

[0108] In step S28, the data to be sent is sent.

[0109] Specifically, after determining that the to-be-sent data that is restricted from being sent needs to be discarded and the to-be-sent data that is not restricted from being sent can be sent, the discarding and sending actions can be performed without the influence of other factors.

[0110] After step S28, that is, after sending the data to be sent, one or more of the following items may also be updated: the number of records of data sent within the rate control time unit; the sending time of the data sent within the rate control time unit.

[0111] In a non-limiting specific implementation, total_num may be updated to total_num+1, and node_time_stamp[tail_idx] may be updated, where node_time_stamp[tail_idx] may represent the sending time of the last sent data in the rate control time unit.

[0112] exist Figure 2 In the data sending method shown, when the terminal supports a data quantity greater than or equal to the allowed data quantity, the sending time of the sent data can be recorded, and refined recording can be achieved to improve the accuracy of rate control. In practical applications, it can be called "precise rate control".

[0113] When the amount of data supported by the terminal is less than the amount of data allowed to be sent, the amount of data sent in each sending time period can also be recorded. The sent data can be recorded based on the time period to reduce the demand for terminal memory. In practical applications, this can be called "coarse rate control."

[0114] Furthermore, the data sending method may also include: if the amount of data supported by the terminal is less than the amount of data allowed to be sent, determining a second time difference between a preset moment of the sending time period in which the first sent data is located and a receiving moment of the data to be sent, and judging whether the second time difference is less than a rate control time unit, the sending time period being determined based on the rate control time unit and the amount of data supported by the terminal; if the second time difference is less than the rate control time unit, determining that the data to be sent that is restricted from sending needs to be discarded, and the data to be sent that is not restricted from sending can be sent.

[0115] Specifically, if the amount of data supported by the terminal is less than the amount of data allowed to be sent, it can be understood that the terminal cannot support very detailed recording of the sending time of each sent data. At this time, the precise rate control method cannot be used, but only a rough rate control method can be used, that is, describing and recording the sending time period of each sent data, and then performing rate control based on the sending time period of each sent data, which helps to reduce the demand for terminal memory.

[0116] Next, a second time difference between a preset time of a sending time period in which the first sent data is located and a receiving time of the to-be-sent data is determined, and it is determined whether the second time difference is less than a rate control time unit.

[0117] It should be noted that the first sent data may be the sent data of the current record. If the record is not updated in time, the record expiration situation mentioned above may occur.

[0118] Furthermore, the preset time can be selected from: starting time, center time, and end time. The following takes the starting time as an example for explanation, that is, the starting time of each sending time period is used as the judgment time. If the judgment result is that it can be sent, it can be sent immediately or after a certain period of time.

[0119] Furthermore, the rate control time unit is divided into equal parts to obtain a plurality of the sending time periods; wherein the number of equal parts is the amount of data supported by the terminal.

[0120] Specifically, taking the rate control time unit as 6 minutes (ie 360 ​​seconds) and the number of data supported by the terminal as 30 as an example, 360 seconds can be divided into 30 equal parts, and each sending time period is 12 seconds.

[0121] It is understandable that the sending time period may also be determined by other appropriate methods based on the rate control time unit and the amount of data supported by the terminal, such as multiplying the equally divided value by a preset ratio to obtain the sending time period.

[0122] As a non-limiting specific embodiment, taking the rate control time unit as 6 minutes (i.e. 360s) and the terminal supporting data quantity as 30, each sending time period is 12s, and the sent data within 30 time periods before the reception time of the data to be sent are all valid data that have not expired. If the number of valid data has exceeded 30, the current data to be sent cannot be sent and needs to be discarded.

[0123] In an embodiment of the present invention, according to the fact that the number of data supported by the terminal is less than the number of data allowed to be sent, the sending time period in which the sent data is located can be recorded, and then the second time difference between the preset time of the sending time period in which the first sent data is located and the receiving time of the data to be sent can be used to determine whether the data to be sent that is restricted from sending needs to be discarded or can be sent. Compared with the prior art that uses a sliding time window algorithm for rate control, the solution of the embodiment of the present invention can determine whether the data to be sent needs to be discarded or can be sent only when the data to be sent is received, without having to maintain a periodic timer, which can effectively reduce system overhead, and when the number of data supported by the terminal is small, the sending time period containing one or more data is used for judgment, which effectively saves memory compared to using the sending time of a single data.

[0124] Further, if the second time difference is greater than or equal to the rate control time unit, the record of the sending time period in which at least a portion of the sent data is located is cleared, and the number of records of the sent data in the rate control time unit is updated.

[0125] Taking the rate control time unit as 6 minutes (i.e. 360s) and the terminal supporting 30 data as an example, each sending time period is 12s. The data sent in the 31st sending time period before the reception time of the data to be sent or in the earlier sending time period is expired data and needs to be cleared.

[0126] In an embodiment of the present invention, since the present invention can determine whether the data to be sent needs to be discarded or can be sent only when the data to be sent is received, there may be one or more sent data that are sent before the duration of the rate control time unit. After clearing these data, a part of the restricted data to be sent can be sent more.

[0127] Furthermore, if the second time difference is greater than or equal to the rate control time unit, the step of clearing the record of the sending time period in which at least a part of the sent data is located may include: if the second time difference is greater than or equal to the rate control time unit, continuing to determine whether the second time difference between the preset moment of the sending time period in which the next sent data is located and the receiving moment of the data to be sent is less than the rate control time unit, until the sent data whose second time difference is less than the rate control time unit is obtained, or it is determined that the second time difference between the preset moment of the sending time period in which the sending moment of all sent data is located and the receiving moment of the data to be sent is greater than or equal to the rate control time unit; for the sent data whose second time difference is less than the rate control time unit, clearing the record of the sending time period in which all the sent data before the sent data are located; for the case where the second time difference between the preset moment of the sending time period in which the sending moment of all the sent data is located and the receiving moment of the data to be sent is greater than or equal to the rate control time unit, clearing the record of the sending time period in which all the sent data are located.

[0128] Specifically, there may be only a part of the sent data that has expired. In this case, only the records of the sending time period in which the expired part of the sent data is cleared. There may also be a situation where all the sent data has expired. In this case, the records of the sending time period in which all the sent data is located can be cleared.

[0129] Furthermore, the data sending method may also include: determining again whether there is data to be sent that is restricted from sending again among the one or more data to be sent based on the updated number of records of the sent data; if so, determining that the data to be sent that is restricted from sending again needs to be discarded, and the data to be sent that is not restricted from sending again can be sent.

[0130] The method described above may be used to determine again whether there is any data to be sent that is restricted from being sent for the second time among the one or more data to be sent.

[0131] Specifically, at least based on the fact that the number of data allowed to be sent is less than the number of records of updated sent data, it is determined that the data to be sent are all restricted from being sent, or, at least based on the fact that the number of data allowed to be sent is less than the sum of the number of records of updated sent data and the number of data to be sent, it is determined that there is data to be sent that is restricted from being sent among the data to be sent.

[0132] In an embodiment of the present invention, based on the updated number of records of sent data, it is determined again whether there is any data to be sent that is restricted from being sent again among the one or more data to be sent. Through the second judgment, a larger portion of the data to be sent that is restricted from being sent can be sent, thereby reducing the impact of rate control on data sending requirements.

[0133] Reference Figure 3 , Figure 3 1 is a flow chart of another data transmission method based on rate control in an embodiment of the present invention. The another data transmission method based on rate control may include steps S301 to S310, and each step is described below.

[0134] In step S301, data to be sent is received.

[0135] In step S302, it is determined whether there is no data sent within the rate control time unit. If the determination result is yes, the process may jump to step S303. If the determination result is no, the process may jump to step S304.

[0136] In a non-limiting specific implementation, total_num=0 may be used to indicate that the number of records of sent data is 0, and rate_value!=0 may be used to indicate that the number of data allowed to be sent is not 0.

[0137] In step S303, the data to be sent is sent, the number of records of the sent data is updated, and the sending time period of the sent data is updated.

[0138] Specifically, after sending the data to be sent, the time of sending the sending time period in which the data to be sent is located can be recorded as the preset time of the sending time period in which the first sent data is located in the rate control time unit.

[0139] Furthermore, each time the data to be sent is sent, one or more of the following may be updated: the number of records of data sent within the time unit; the sending time period in which the data sent within the time unit is located; the number of data sent within the sending time period in which the data sent within the time unit is located.

[0140] In a non-limiting specific implementation, total_num=1 can be used to indicate that the number of records of sent data is 1, and node_time_stamp[head_idx] can be used to indicate the preset time of the sending time period of the first sent data in the rate control time unit, for example, it can be equal to the starting time of the time period of the data to be sent.

[0141] In step S304, it is determined whether the second time difference is less than the rate control time unit. If the determination result is yes, the process may jump to step S306. If the determination result is no, the process may jump to step S305.

[0142] The second time difference is used to represent the time difference between a preset time in a sending time period where the first sent data is located and a receiving time of the data to be sent.

[0143] In a non-limiting specific implementation, new_time-node_time_stamp[head_idx]<rate_unit may be used to represent the judgment condition of step S304, wherein new_time may represent the receiving time of the data to be sent, and rate unit may represent the rate control time unit.

[0144] In the specific implementation of step S305, the records of the sending time of at least a part of the sent data are cleared, and the number of records of the sent data is updated.

[0145] In a specific implementation, the preset time of the sending time period in which the first sent data is located within the rate control time unit may also be updated to improve the effectiveness of determining the second time difference in subsequent steps.

[0146] It should be noted that, in step S305, the sent data may be judged and cleared one by one.

[0147] Specifically, in step S304, only the sending time period in which the first sent data is located can be judged, and after the judgment, the record of the sending time period in which the sent data is located can be cleared, and the information of the first sent data after the clearing (such as the sending time period) can be updated, and then jump to step S304 to judge the updated first sent data, and repeat this cycle until the judgment result is yes in step S304.

[0148] For more details about step S305, please refer to the above description and will not be repeated here.

[0149] In step S306, it is determined whether the number of records of sent data is less than the number of data allowed to be sent. If the determination result is yes, the process may jump to step S308; if the determination result is no, the process may jump to step S307.

[0150] In step S307, it is determined whether APN Aper=1 and the data to be sent is exceptional data. If the determination result is yes, the process may jump to step S308; if the determination result is no, the process may jump to step S309.

[0151] Specifically, in some special IoT application scenarios, such as factory equipment monitoring systems, distributed temperature sensing systems, earthquake monitoring network systems, etc., when emergency situations such as equipment failure, fire, earthquake, etc. are detected, these emergency situations should be sent to the network side in the form of exception data. Due to emergency situations such as failures and disasters, it is necessary to ensure that these exception data have a higher priority. Even if the maximum number of uplink data set by the rate control has been reached, the rate control is not implemented on the exception data, and it continues to be sent to the network side.

[0152] APN Aper is used to indicate an access point with an access point name (APN) of Aper. When the value assigned to the access point is 1, it indicates that the abnormal support mode has been enabled. At this time, rate control may not be implemented for abnormal data.

[0153] In step S308, the data to be sent is sent.

[0154] In step S309, the data to be sent is discarded.

[0155] Specifically, after determining that the to-be-sent data that is restricted from being sent needs to be discarded and the to-be-sent data that is not restricted from being sent can be sent, the discarding and sending actions can be performed without the influence of other factors.

[0156] After step S308, that is, after sending the data to be sent, one or more of the following items may also be updated: the number of records of data sent within the time unit; the sending time period in which the data sent within the time unit is located; the number of sent data in the sending time period in which the data sent within the time unit is located.

[0157] In a non-limiting specific implementation, total_num may be updated to total_num+1, node_time_stamp[tail_idx] may be updated, and node_num[n] may be updated. Node_time_stamp[tail_idx] may represent the preset time of the sending time period of the last sent data in the rate control time unit, and node_num[n] may represent the sending time period of the last sent data in the rate control time unit.

[0158] exist Figure 3In the data sending method shown, when the amount of data supported by the terminal is less than the amount of data allowed to be sent, the amount of data sent in each sending time period can also be recorded. The sent data can be recorded based on the time period to reduce the demand for terminal memory. In practical applications, it can be called "coarse rate control."

[0159] Reference Figure 4 , Figure 4 1 is a flow chart of a method for determining fine rate control or coarse rate control in an embodiment of the present invention. The method for determining fine rate control or coarse rate control may include steps S41 to S47, and each step is described below.

[0160] In step S41, data to be sent is received.

[0161] In step S42, it is determined whether the number of records of the sent data is less than the number of data allowed to be sent. If the determination result is yes, the process jumps to step S43 to continue the execution; if the determination result is no, the process jumps to step S44 to continue the execution.

[0162] In step S43, it is determined whether the amount of data allowed to be sent is greater than the amount of data supported by the terminal. If the determination result is yes, the process jumps to step S45; if the determination result is no, the process jumps to step S46.

[0163] Specifically, the number of data supported by the terminal can be used to indicate how much data the terminal can support for control, reflecting the accuracy of rate control. The value of the number of data supported by the terminal can be set according to the actual situation of the system. The larger the value, the higher the accuracy of the rate control, and at the same time it will consume more system memory.

[0164] In step S44, it is determined whether APN Aper=1 and the data to be sent is abnormal data. If the determination result is yes, the process jumps to step S47; if the determination result is no, the process jumps to step S48.

[0165] In step S45, coarse rate control.

[0166] In step S46, precise rate control.

[0167] Furthermore, before determining that there is restricted data to be sent among the one or more data to be sent, the data sending method may also include: if the terminal supports a data quantity greater than or equal to the data quantity allowed to be sent, then; if the terminal supports a data quantity less than the data quantity allowed to be sent, then recording the data quantity sent in each sending time period.

[0168] Among them, precise rate control can be used to describe a method of recording the sending time of each sent data, and then performing rate control based on the sending time of each sent data. For details, please refer to the previous article and Figure 2 Another data transmission method based on rate control is shown. Coarse rate control can be used to describe a method of recording the amount of data sent in each sending time period and then performing rate control based on the amount of data sent in each sending time period. For details, please refer to the above and Figure 3 Another data transmission method based on rate control is shown.

[0169] It can be understood that if the amount of data allowed to be sent is greater than the amount of data supported by the terminal, it means that it is difficult for the terminal to record the sending time of each data very precisely, and a coarse rate control method can be used at this time; conversely, if the amount of data allowed to be sent is less than or equal to the amount of data supported by the terminal, it means that the terminal can support very precise recording of the sending time of each data sent, and a precise rate control method can be used at this time.

[0170] In step S47, rough rate control.

[0171] It is understandable that when the number of records of sent data is greater than or equal to the number of data allowed to be sent, in order not to implement rate control on abnormal data, it is inevitably difficult for the terminal to record the sending time of each sent data very accurately. At this time, a rough rate control method can be used.

[0172] It should be pointed out that Figure 4 For more information about the steps in Figures 1 to 3 The description is executed and will not be repeated here.

[0173] Reference Figure 5 , Figure 5 1 is a schematic diagram of a data transmission device based on rate control in an embodiment of the present invention. The data transmission device based on rate control may include:

[0174] A restriction determination module 51 is used for receiving one or more data to be sent and determining that there is data to be sent that is restricted from being sent among the one or more data to be sent;

[0175] The time difference determination module 52 is used to determine a first time difference between a sending time of the first sent data and a receiving time of the data to be sent when the number of data supported by the terminal is greater than or equal to the number of data allowed to be sent, and to determine whether the first time difference is less than a rate control time unit;

[0176] The discarding and sending determining module 53 is used to determine that the to-be-sent data that is restricted from sending needs to be discarded, and the to-be-sent data that is not restricted from sending can be sent when the first time difference is less than the rate control time unit.

[0177] In a specific implementation, the above-mentioned device may correspond to a chip with a data processing function in a user device; or correspond to a chip module including a chip with a data processing function in a user device, or correspond to a user device.

[0178] related Figure 5 For more information about the data transmission device based on rate control, please refer to the above and Figures 1 to 4 The description is executed and will not be repeated here.

[0179] The embodiment of the present invention further provides a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, the steps of the above method are executed. The computer-readable storage medium may include, for example, a non-volatile memory or a non-transitory memory, and may also include an optical disk, a mechanical hard disk, a solid-state hard disk, etc.

[0180] An embodiment of the present invention further provides a communication device, including a memory and a processor, wherein the memory stores a computer program that can be run on the processor, and the processor executes the steps of the above method when running the computer program.

[0181] Reference Figure 6 , Figure 6 It is a structural schematic diagram of a communication device in an embodiment of the present invention.

[0182] The apparatus 600 includes at least one processor 601 and at least one memory 602 for storing computer programs and / or data. The memory 602 is coupled to the processor 601. The processor 601 is configured to execute the computer programs and / or data stored in the memory 602 to implement the above and Figure 1 The communication method shown. The coupling in the embodiment of the present application is an interval coupling or communication connection between devices, units or modules, which can be electrical, mechanical or other forms, and is used for information exchange between devices, units or modules. As another implementation, the memory 602 can also be located outside the device 600. The processor 601 can operate in conjunction with the memory 602. The processor 601 may execute a computer program stored in the memory 602. At least one of the at least one memory may be included in the processor.

[0183] In some embodiments, the apparatus 600 may further include a communication interface 603, which is used to communicate with other devices via a transmission medium, so that the modules in the apparatus 600 can communicate with other devices. Exemplarily, the communication interface 603 may be a transceiver, circuit, bus, module or other type of communication interface.

[0184] The embodiment of the present application does not limit the connection medium between the communication interface 603, the processor 601 and the memory 602. Figure 6 The memory 602 and the communication interface 603 are connected to the processor 601. Of course, in the embodiment of the present application, the memory 602, the communication interface 603, and the processor 601 can also be connected through a bus, which can be divided into an address bus, a data bus, a control bus, etc.

[0185] In the embodiments of the present application, the processor may be a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field programmable gate array or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component, and may implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of the present application. The general-purpose processor may be a microprocessor or any conventional processor, etc. The steps of the method disclosed in the embodiments of the present application may be directly embodied as being executed by a hardware processor, or may be executed by a combination of hardware and software modules in the processor.

[0186] In the embodiments of the present application, the memory may be a non-volatile memory, such as a hard disk drive (HDD) or a solid-state drive (SSD), etc., or a volatile memory (volatile memory), such as a random-access memory (RAM). The memory is any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory in the embodiments of the present application may also be a circuit or any other device that can implement a storage function, for storing computer programs and / or data.

[0187] In the method provided in the embodiment of the present application, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program is loaded and executed on a computer, the process or function described in the embodiment of the present invention is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, a network device, a user device or other programmable device. The computer program may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instruction may be transmitted from a website site, a computer, a server or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or a data center that includes one or more available media integrated. The available medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a digital video disc (DVD)), or a semiconductor medium (eg, an SSD).

[0188] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.

[0189] Regarding the various modules / units included in the various devices and products described in the above embodiments, they can be software modules / units, or hardware modules / units, or they can be partially software modules / units and partially hardware modules / units. For example, for various devices and products applied to or integrated in a chip, the various modules / units included therein can all be implemented in the form of hardware such as circuits, or at least some of the modules / units can be implemented in the form of software programs, which run on a processor integrated inside the chip, and the remaining (if any) modules / units can be implemented in the form of hardware such as circuits; for various devices and products applied to or integrated in a chip module, the various modules / units included therein can all be implemented in the form of hardware such as circuits, and different modules / units can be located in the same component (such as a chip, circuit module, etc.) or different components of the chip module, or at least some of the modules / units can be implemented in the form of hardware such as circuits. The element can be implemented in the form of a software program, which runs on a processor integrated inside the chip module, and the remaining (if any) modules / units can be implemented in the form of hardware such as circuits; for various devices and products applied to or integrated in the terminal, the various modules / units contained therein can be implemented in the form of hardware such as circuits, and different modules / units can be located in the same component (for example, chip, circuit module, etc.) or in different components in the terminal, or, at least some modules / units can be implemented in the form of a software program, which runs on a processor integrated inside the terminal, and the remaining (if any) modules / units can be implemented in the form of hardware such as circuits.

[0190] Although the present invention is disclosed as above, the present invention is not limited thereto. Any person skilled in the art can make various changes and modifications without departing from the spirit and scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the scope defined by the claims.

Claims

1. A data transmission method based on rate control, characterized in that: include: receiving one or more data to be sent, and determining that there is data to be sent that is restricted from being sent among the one or more data to be sent; If the number of data supported by the terminal is greater than or equal to the number of data allowed to be sent, determine a first time difference between the sending time of the first sent data and the receiving time of the data to be sent, and determine whether the first time difference is less than the rate control time unit, and the number of data supported by the terminal is used to indicate how much data the terminal can support to control; If the first time difference is less than the rate control time unit, it is determined that the to-be-sent data that is restricted from being sent needs to be discarded, and the to-be-sent data that is not restricted from being sent can be sent; Wherein, determining that there is data to be sent that is restricted from being sent among the one or more data to be sent includes: Within the duration of a single rate control time unit, comparing the number of records of sent data with the number of data allowed to be sent; Among them, it also includes: If the first time difference is greater than or equal to the rate control time unit, the record of the sending time of at least a portion of the sent data is cleared, and the record quantity of the sent data in the rate control time unit is updated.

2. The data transmission method according to claim 1, characterized in that: Determining that there is data to be sent that is restricted from being sent among the one or more data to be sent further includes: At least based on the number of data allowed to be sent being less than the number of records of data that have been sent, it is determined that all the data to be sent are restricted from being sent, or at least based on the number of data allowed to be sent being less than the sum of the number of records of data that have been sent and the number of data to be sent, it is determined that there is data to be sent that is restricted from being sent among the data to be sent; The amount of data to be sent that is restricted from being sent is the difference between the number of records of the data that have been sent and the number of data allowed to be sent.

3. The data transmission method according to claim 1, characterized in that: If the first time difference is greater than or equal to the rate control time unit, clearing the record of the sending time of at least a portion of the sent data includes: If the first time difference is greater than or equal to the rate control time unit, continue to determine whether the first time difference between the sending time of the next sent data and the receiving time of the data to be sent is less than the rate control time unit, until the sent data whose first time difference is less than the rate control time unit is obtained, or determine that the first time differences between the sending time of all sent data and the receiving time of the data to be sent are greater than or equal to the rate control time unit; For the sent data whose first time difference is less than the rate control time unit, clearing the records of the sending time of all the sent data before the sent data; In the case where the first time differences between the sending times of all sent data and the receiving times of the to-be-sent data are greater than or equal to the rate control time unit, the records of the sending times of all sent data are cleared.

4. The data transmission method according to claim 1, characterized in that: Also includes: Determining again whether there is data to be sent that is restricted from being sent for the second time among the one or more data to be sent, according to the updated number of records of the sent data; If so, it is determined that the to-be-sent data that is restricted from being sent twice needs to be discarded, and the to-be-sent data that is not restricted from being sent twice can be sent.

5. The data transmission method according to claim 1, characterized in that: Also includes: Each time after the data to be sent is sent, one or more of the following is updated: the number of records of data sent within the rate control time unit; The sending time of the data sent in the rate control time unit.

6. The data transmission method according to claim 1, characterized in that: Also includes: If the number of data supported by the terminal is less than the number of data allowed to be sent, determining a second time difference between a preset time of a sending time period in which the first data to be sent is located and a time of receiving the data to be sent, and judging whether the second time difference is less than a rate control time unit, the sending time period being determined according to the rate control time unit and the number of data supported by the terminal; If the second time difference is smaller than the rate control time unit, it is determined that the to-be-sent data that is restricted from being sent needs to be discarded, and the to-be-sent data that is not restricted from being sent can be sent.

7. The data transmission method according to claim 6, characterized in that: Also includes: If the second time difference is greater than or equal to the rate control time unit, the record of the sending time period in which at least a portion of the sent data is located is cleared, and the number of records of the sent data in the rate control time unit is updated.

8. The data transmission method according to claim 7, characterized in that: If the second time difference is greater than or equal to the rate control time unit, clearing the record of the sending time period in which at least a portion of the sent data is located includes: If the second time difference is greater than or equal to the rate control time unit, continue to determine whether the second time difference between the preset moment of the sending time period in which the next sent data is located and the receiving moment of the data to be sent is less than the rate control time unit, until the sent data whose second time difference is less than the rate control time unit is obtained, or determine that the second time differences between the preset moment of the sending time period in which the sending moment of all the sent data is located and the receiving moment of the data to be sent are greater than or equal to the rate control time unit; For the sent data whose second time difference is less than the rate control time unit, clear the records of the sending time periods of all the sent data before the sent data; If the second time difference between the preset time of the sending time period where all the sent data are sent and the receiving time of the data to be sent is greater than or equal to the rate control time unit, clear the records of the sending time period where all the sent data are sent.

9. The data transmission method according to claim 6 or 8, characterized in that: The preset time is selected from: a starting time, a center time, and an end time.

10. The data transmission method according to claim 6, characterized in that: Also includes: Determining again whether there is data to be sent that is restricted from being sent again among the one or more data to be sent according to the updated number of records of the sent data; If so, it is determined that the to-be-sent data that is restricted from being sent again needs to be discarded, and the to-be-sent data that is not restricted from being sent again can be sent.

11. The data transmission method according to claim 6, characterized in that: Also includes: Each time after the data to be sent is sent, one or more of the following is updated: the number of records of data sent in the time unit; The sending time period in which the data has been sent within the time unit; The number of sent data in the sending time period in which the data has been sent within the time unit.

12. The data transmission method according to claim 6, characterized in that: Dividing the rate control time unit equally to obtain a plurality of the sending time periods; The number of equal parts is the amount of data supported by the terminal.

13. The data transmission method according to claim 1, characterized in that: Before determining that there is data to be sent that is restricted from being sent among the one or more data to be sent, the method further includes: If the amount of data supported by the terminal is greater than or equal to the amount of data allowed to be sent, the sending time of each sent data is recorded; If the amount of data supported by the terminal is less than the amount of data allowed to be sent, the amount of data sent in each sending time period is recorded.

14. The data transmission method according to claim 1, characterized in that: The data to be sent is a PDU sent uplink from the NAS of the terminal to the AS.

15. A data transmission device based on rate control, characterized in that: include: A restriction determination module, configured to receive one or more data to be sent and determine that there is data to be sent that is restricted from being sent among the one or more data to be sent; a time difference determination module, configured to determine a first time difference between a sending time of the first sent data and a receiving time of the to-be-sent data when the number of data supported by the terminal is greater than or equal to the number of data allowed to be sent, and to determine whether the first time difference is less than a rate control time unit, wherein the number of data supported by the terminal indicates how much data the terminal can support for control; a discarding and sending determining module, configured to determine, when the first time difference is less than the rate control time unit, that the to-be-sent data that is restricted from being sent needs to be discarded, and the to-be-sent data that is not restricted from being sent can be sent; The restriction determination module is used to perform: within the duration of a single rate control time unit, comparing the number of records of sent data with the number of data allowed to be sent; It also includes: if the first time difference is greater than or equal to the rate control time unit, clearing the record of the sending time of at least a part of the sent data, and updating the number of records of the sent data in the rate control time unit.

16. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the rate control-based data transmission method according to any one of claims 1 to 14 are executed.

17. A communication device, comprising a memory and a processor, wherein the memory stores a computer program that can be run on the processor, characterized in that: When the processor runs the computer program, the processor performs the steps of the rate control-based data transmission method according to any one of claims 1 to 14.

Citation Information

Patent Citations

  • Rate control method, device and system

    CN110859012A

  • Network capability configuration for rate control

    WO2019109298A1