Method and device for selecting data transmission rate, equipment and medium

By adopting a method of traversing the optional data transmission rate from high to low in wireless communication systems and determining the expected throughput based on historical transmission results, the problem of low reliability of data transmission rate selection algorithm in the prior art is solved, and more efficient is achieved and reliable data transfer rate selection.

CN119450594APending Publication Date: 2025-02-14TP-LINK INT SHENZHEN CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411478319.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-22
Publication Date
2025-02-14

AI Technical Summary

Technical Problem

In the prior art, the data transmission rate selection algorithm based on detecting the current transmission environment is relatively low in reliability, and is affected by environmental noise and multipath interference, resulting in inaccurate or fluctuating signal quality measurement results.

Method used

Using a data transmission rate selection method, by traversing each optional data transmission rate in sequence from high to low, if the limit throughput of the current selectable data transmission rate is greater than the current maximum throughput, the expected throughput is determined based on its historical transmission results. , determine the target data transmission rate.

Benefits of technology

Improve the reliability of data transmission rate selection, determine the expected throughput by utilizing historical transmission results, reduce the dependence on current transmission environment detection, and reduce the impact of noise and interference on selection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119450594A_ABST
    Figure CN119450594A_ABST
Patent Text Reader

Abstract

The invention discloses a data transmission rate selection method. The method comprises the following steps: traversing each selectable data transmission rate according to a sequence of data transmission rates from high to low; if the traversed limit throughput corresponding to the current selectable data transmission rate is greater than the current maximum throughput, determining a predicted throughput corresponding to the current selectable data transmission rate according to a historical transmission result of the current selectable data transmission rate; the current maximum throughput is equal to the maximum value in the predicted throughput corresponding to the selectable data transmission rate traversed previously, and the initial value of the current maximum throughput is 0; and taking the optional data transmission rate corresponding to the current maximum throughput determined after the traversal is ended as a target data transmission rate. According to the scheme provided by the invention, the effect of improving the reliability of data transmission rate selection can be achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the field of wireless transmission technology, and in particular, relates to a method, device, equipment and medium for selecting a data transmission rate. Background Art

[0002] In the field of wireless communications, the selection of data transmission rate is a crucial decision-making process. First of all, the data transmission rate is directly related to the quality of user experience. A suitable data transmission rate can ensure smooth video calls, fast file transfers, and real-time response of online games, thereby providing users with high-quality communication services. In addition, the selection of data transmission rate also profoundly affects the overall efficiency of the network. By accurately adjusting the data transmission rate, the network can maximize the use of existing resources while ensuring the quality of communication, avoiding resource waste and congestion. Therefore, in the design, deployment and operation of wireless communication systems, full attention should be paid to the importance of data transmission rate selection, and corresponding technical means and management strategies should be adopted to ensure its scientific, reasonable and effective.

[0003] Most of the data transmission rate selection algorithms in the related art determine the transmission success probability corresponding to the optional data transmission rate by detecting the current transmission environment, and further select the optimal optional data transmission rate as the target data transmission rate for the data transmission task based on the transmission success probability corresponding to each optional data transmission rate. However, when detecting the signal quality of the current transmission environment, it will be affected by factors such as environmental noise and multipath interference, resulting in inaccurate or fluctuating measurement results of the signal quality, thereby affecting the accuracy of the data transmission rate selection algorithm in the related art that is based on detecting the current transmission environment to adaptively adjust the data transmission rate. Therefore, the data transmission rate selection algorithm in the related art based on detecting the current transmission environment has low reliability. Summary of the invention

[0004] The embodiment of the present application provides an implementation scheme different from the related art to solve the technical problem in the related art that the reliability of the rate selection algorithm based on detecting the current transmission environment is low.

[0005] In a first aspect, the present application provides a method for selecting a data transmission rate, comprising:

[0006] Traverse each optional data transmission rate in order from high to low;

[0007] If the limit throughput corresponding to the currently selected optional data transmission rate is greater than the current maximum throughput, determining the expected throughput corresponding to the currently selected optional data transmission rate according to the historical transmission result of the currently selected optional data transmission rate, wherein the currently selected maximum throughput is equal to the maximum value of at least one expected throughput corresponding to at least one of the previously selected optional data transmission rates, and the initial value of the currently selected maximum throughput is equal to 0;

[0008] If the limit throughput corresponding to the current optional data transmission rate is not greater than the current maximum throughput, stop determining the difference between the limit throughput corresponding to the optional data transmission rate that has not been traversed and the current maximum throughput;

[0009] The optional data transmission rate corresponding to the current maximum throughput determined after the traversal is completed is used as the target data transmission rate of this data transmission task.

[0010] In a second aspect, the present application provides a device for selecting a data transmission rate, comprising:

[0011] A traversal processing unit, used for traversing each optional data transmission rate in order from high to low data transmission rates;

[0012] If the limit throughput corresponding to the currently selected optional data transmission rate is greater than the current maximum throughput, determine the expected throughput corresponding to the currently selected optional data transmission rate according to the historical transmission success rate of the currently selected optional data transmission rate, wherein the currently selected maximum throughput is equal to the maximum value of at least one expected throughput corresponding to at least one of the previously selected optional data transmission rates, and the initial value of the currently selected maximum throughput is equal to 0;

[0013] If the limit throughput corresponding to the current optional data transmission rate is not greater than the current maximum throughput, stop determining the difference between the limit throughput corresponding to the optional data transmission rate that has not been traversed and the current maximum throughput;

[0014] The target data transmission rate determination unit is used to use the optional data transmission rate corresponding to the current maximum throughput determined after the traversal is completed as the target data transmission rate of this data transmission task.

[0015] In a third aspect, the present application provides an electronic device, including:

[0016] Processor; and

[0017] A memory, configured to store executable instructions of the processor;

[0018] The processor is configured to execute the first aspect, or any method in any possible implementation manner of the first aspect, by executing the executable instructions.

[0019] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium having a computer program stored thereon, wherein when the computer program is executed by a processor, the computer program implements the first aspect, or any method in any possible implementation manner of the first aspect.

[0020] The present application provides a method of traversing various optional data transmission rates in order from high to low according to the data transmission rate; if the limit throughput corresponding to the current optional data transmission rate traversed is greater than the current maximum throughput, determining the expected throughput corresponding to the current optional data transmission rate according to the historical transmission results of the current optional data transmission rate, wherein the current maximum throughput is equal to the maximum value of at least one expected throughput corresponding to at least one of the optional data transmission rates traversed previously, and the initial value of the current maximum throughput is equal to 0; if the limit throughput corresponding to the current optional data transmission rate is not greater than the current maximum throughput, stopping judging the size between the limit throughput corresponding to the optional data transmission rate that has not been traversed and the current maximum throughput; using the optional data transmission rate corresponding to the current maximum throughput determined after the traversal is completed as the target data transmission rate of this data transmission task, providing a new data transmission rate selection scheme, using the historical transmission results of the data transmission task to determine the transmission rate used for this data transmission, which can achieve the technical effect of improving the reliability of rate selection. BRIEF DESCRIPTION OF THE DRAWINGS

[0021] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the following is a brief introduction to the drawings required for use in the embodiments or related technical descriptions. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work. In the drawings:

[0022] Figure 1 A flowchart of a method for selecting a data transmission rate provided in one embodiment of the present application;

[0023] Figure 2 A schematic diagram of a process for calculating a historical transmission success rate corresponding to a current selectable data transmission rate provided in an embodiment of the present application;

[0024] Figure 3 Another schematic diagram of a flow chart of a method for selecting a data transmission rate provided by an embodiment of the present application;

[0025] Figure 4A schematic diagram of the structure of a device for selecting a data transmission rate provided in an embodiment of the present application;

[0026] Figure 5 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0027] The embodiments of the present application are described in detail below, and examples of the embodiments are shown in the accompanying drawings. The embodiments described below with reference to the accompanying drawings are exemplary and are intended to be used to explain the present application, but cannot be understood as limiting the present application.

[0028] The terms "first" and "second" etc. in the specification, claims and drawings of the embodiments of the present application are used to distinguish similar objects, and need not be used to describe a specific order or sequential order. It should be understood that the data used in this way can be interchanged where appropriate, so that this scheme is implemented in other orders in addition to the order illustrated or described in the present application. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, the process, method, system, product or equipment comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or equipment.

[0029] Most of the data transmission rate selection algorithms in the related art determine the transmission success probability corresponding to the optional data transmission rate by detecting the current transmission environment, and further select the optimal optional data transmission rate as the target data transmission rate for the data transmission task based on the transmission success probability corresponding to each optional data transmission rate. However, when detecting the signal quality of the current transmission environment, it will be affected by factors such as environmental noise and multipath interference, resulting in inaccurate or fluctuating signal quality measurement results, thereby affecting the accuracy of adaptively adjusting the data transmission rate based on detecting the current transmission environment. Therefore, the data transmission rate selection algorithm based on detecting the current transmission environment in the related art has low reliability.

[0030] In order to solve this technical problem, the present application provides a method, device, equipment and medium for selecting a data transmission rate, which are used to solve the technical problem in the related art that the reliability of the data transmission rate selection algorithm based on detecting the current transmission environment is low.

[0031] The technical solution of the present application and how the technical solution of the present application solves the above-mentioned technical problems are described in detail below with specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described below in conjunction with the accompanying drawings.

[0032] Figure 1 A flowchart of a method for selecting a data transmission rate provided by an exemplary embodiment of the present application is provided. The method may be applicable to a computing device. The method at least includes the following S11-S14:

[0033] S11, traversing each optional data transmission rate in order from high to low;

[0034] Among them, each optional data transmission rate is a theoretical rate corresponding to part or all of the rate files selected by the wireless access point AP from the modulation and coding strategy rate files according to the protocol type supported by the client. Each time a data transmission task is performed, the method provided in this application is used to select one of the optional data transmission rates as the target data transmission rate corresponding to this data transmission task.

[0035] S12, if the limit throughput corresponding to the currently traversed optional data transmission rate is greater than the current maximum throughput, determine the expected throughput corresponding to the currently traversed optional data transmission rate according to the historical transmission result of the currently traversed optional data transmission rate, wherein the currently traversed maximum throughput is equal to the maximum value of at least one expected throughput corresponding to at least one previously traversed optional data transmission rate, and the initial value of the currently traversed maximum throughput is equal to 0;

[0036] When the target data transmission rate of the first data transmission task is selected using the data transmission rate selection method provided in the present application, the statistical information of each optional data transmission rate will be initialized, and the statistical information at least includes: the total number of data packets successfully transmitted at the optional data transmission rate, the total number of data packets that failed to be transmitted at the optional data transmission rate, and the initialization statistical information corresponding to different optional data transmission rates is different. For each optional data transmission rate, the statistical information at the time of initialization can be reasonably set by relevant personnel, and the present application does not impose any restrictions on this. Each subsequent data transmission task will select one of the optional data transmission rates as the data transmission rate of the data transmission task. Therefore, each optional data transmission rate corresponds to a historical transmission result, and the historical transmission result is determined by the transmission result of the data transmission task using the optional data transmission rate as the target data transmission rate and the statistical information at the time of initialization. It should be noted that as multiple data transmission tasks are continuously carried out, the historical transmission results corresponding to each optional data transmission rate are also constantly changing.

[0037] Specifically, for the currently selected data transmission rate traversed, S12 includes the following S121-S122:

[0038] S121, determining whether the limit throughput corresponding to the current optional data transmission rate is greater than the current maximum throughput, wherein if the current optional data transmission rate is the first optional data transmission rate traversed, then the current maximum throughput is equal to the initial value 0;

[0039] In the present application, the limit throughput corresponding to the optional data transmission rate is equal to the product of the transmission success probability corresponding to the optional data transmission rate and the optional data transmission rate when the transmission success probability corresponding to the optional data transmission rate is set to 100%.

[0040] The currently available data transfer rate can be denoted as r j .

[0041] S122. If the limit throughput corresponding to the current optional data transmission rate is greater than the current maximum throughput, determine the expected throughput corresponding to the current optional data transmission rate based on the historical transmission results of the current optional data transmission rate; and further judge the difference between the current maximum throughput and the expected throughput corresponding to the current optional data transmission rate. If the expected throughput corresponding to the current optional data transmission rate is greater than the current maximum throughput, use the expected throughput corresponding to the currently traversed optional data transmission rate as the current maximum throughput.

[0042] S13: If the limit throughput corresponding to the current optional data transmission rate is not greater than the current maximum throughput, stop determining the difference between the limit throughput corresponding to the optional data transmission rate that has not been traversed and the current maximum throughput.

[0043] In the scheme provided in the present application, each optional data transmission rate is traversed in order from high to low. For the current optional data transmission rate traversed, the size between the limit throughput corresponding to the current optional data transmission rate and the current maximum throughput is first determined. Only when the limit throughput corresponding to the current optional data transmission rate is greater than the current maximum throughput, the step of calculating the expected throughput for the current optional data transmission rate is performed. When the limit throughput corresponding to the current optional data transmission rate is not greater than the current maximum throughput, it can be confirmed that the expected throughput of the current optional data transmission rate and the optional data transmission rate that has not been traversed must not be greater than the current maximum throughput. Therefore, the size between the limit throughput corresponding to the optional data transmission rate that has not been traversed and the current maximum throughput is stopped, that is, the expected throughput of the optional data transmission rate that has not been traversed is no longer calculated, thereby skipping the determination of some optional data transmission rates, thereby saving computing resources and improving computing efficiency.

[0044] S14. The optional data transmission rate corresponding to the current maximum throughput determined after the traversal is completed is used as the target data transmission rate of this data transmission task.

[0045] The expected throughput of the optional data transmission rate corresponding to the current maximum throughput determined after the traversal is completed is the largest, so the optional data transmission rate corresponding to the current maximum throughput is used as the transmission rate of this transmission task.

[0046] The data transmission rate selection method of the present application provides a new data transmission rate selection scheme, which uses the historical transmission results obtained after performing data transmission tasks at various optional data transmission rates to determine the corresponding expected throughput, and uses the optional data transmission rate with the highest expected throughput among all the optional data transmission rates as the target data transmission rate for this data transmission task, thereby achieving the technical effect of improving the reliability of data transmission rate selection.

[0047] In addition, since each optional data transmission rate is traversed in order from high to low, when it is determined that the maximum throughput of the current optional data transmission rate is not greater than the current maximum throughput, since the optional data transmission rate located behind is lower than the current optional data transmission rate, it can be concluded that the maximum throughput corresponding to the optional data transmission rate located behind the current optional data transmission rate must be less than the current maximum throughput, and the expected throughput will be even less than the current maximum throughput. Therefore, the calculation step of the expected throughput of the subsequent optional data transmission rate is no longer required, and the determination of the subsequent optional data transmission rate is skipped, which saves the consumption of computing resources of actual products in the field when selecting the data transmission rate, avoids the possible performance impact of the convergence speed of the data transmission rate selection method on the actual products in the field, and provides an efficient data transmission rate selection method.

[0048] In some embodiments, if the current data transmission task meets the preset period, for the current selectable data transmission rate, the method further includes:

[0049] Data smoothing is performed on historical transmission results of the currently selectable data transmission rate.

[0050] Data smoothing is performed on the historical transmission results of each optional data transmission rate at regular intervals to reduce the impact of the older historical transmission results on the current data transmission rate selection.

[0051] In a specific embodiment provided in the present application, if, when selecting the target data transmission rate for this data transmission task, the time interval between the step of performing data smoothing on the historical transmission results of each optional data transmission rate and the last time is greater than or equal to a preset time interval, then it is determined that this data transmission task meets the preset period.

[0052] Specifically, for the current optional data transmission rate that has been traversed, data smoothing processing is first performed on the historical transmission results of the current optional data transmission rate that has been traversed, and then a determination is made as to whether the limit throughput corresponding to the current optional data transmission rate is greater than the current maximum throughput, and the expected throughput corresponding to the current optional data transmission rate is determined based on the processed historical transmission results.

[0053] In some embodiments, data smoothing is performed on historical transmission results of the current selectable data transmission rate, specifically including the following S01-S02:

[0054] S01. Obtain a first packet number and a second packet number, wherein the first packet number is the number of historical successfully transmitted data packets corresponding to the current optional rate and the optional data transmission rate, and the second packet number is the number of historical failed transmission data packets corresponding to the current optional data transmission rate;

[0055] Among them, in the scheme provided in the present application, since when the data transmission task meets the preset period, the number of successful transmission data packets and the number of failed transmission data packets corresponding to each optional data transmission rate will be subjected to data smoothing processing during the target data transmission rate selection process of the data transmission task to reduce the impact of the data transmission results corresponding to the historical data transmission tasks, the number of historical successful transmission data packets and the number of historical failed transmission data packets corresponding to the current optional data transmission rate, that is, the first number of packets and the second number of packets, do not refer to the actual number of successful transmission data packets and the number of failed transmission data packets, but refer to the number of packets after one or more data smoothing processing has been performed. After each data smoothing processing is performed on the historical successful transmission data packets and the historical failed transmission data packets of a certain optional data transmission rate, the historical successful transmission data packets and the historical failed transmission data packets corresponding to the optional data transmission rate will be updated to the processed data.

[0056] S02. Perform data smoothing processing on the first packet number and the second packet number respectively to obtain a processed first packet number and a processed second packet number.

[0057] By performing data smoothing on the first packet number (i.e., the number of successfully transmitted data packets) and the second packet number (i.e., the number of failed data packets), the impact of historical transmission results from a long time ago on the current rate selection results can be reduced, thereby improving the accuracy and reliability of the data transmission rate selection method.

[0058] In some embodiments, performing data smoothing on historical transmission results of the current selectable data transmission rate includes:

[0059] The data smoothing process is performed on the historical transmission results of the current selectable data transmission rate based on a second time interval, where the second time interval is equal to the time interval between this and the last time the data smoothing process was performed on the historical transmission results of the current selectable data transmission rate.

[0060] In some embodiments, the second time interval is negatively correlated with the processed historical transmission results of the current selectable data transmission rate.

[0061] The longer the second time interval is, the longer it has been since the data smoothing process was performed on the historical transmission results of the current selectable data transmission rate. In order to better eliminate the influence of the older historical data on the current data transmission rate selection, the processed historical transmission results of the current selectable data transmission rate should be made smaller. Therefore, the second time interval is negatively correlated with the processed historical transmission results of the selectable data transmission rate, which can better eliminate the influence of the historical data and improve the performance of the data transmission rate selection method.

[0062] Specifically, in S02, respectively performing data smoothing processing on the first number of packets and the second number of packets includes: respectively performing data smoothing processing on the first number of packets and the second number of packets based on a second time interval;

[0063] More specifically, the following formula can be used to perform data smoothing on the first packet number:

[0064]

[0065] Among them, a' j is the number of the first packet after processing, a j is the first packet number, Δt is the time interval between the current and last data smoothing processing of the first packet number, i.e., the second time interval, w α is the preset success smoothing factor.

[0066] The following formula can be used to smooth the data of the second packet number:

[0067]

[0068] Among them, β' j is the number of the first packet after processing, β j is the first packet number, Δt is the time interval between the current and last data smoothing process on the second packet number, that is, the second time interval mentioned above, w β is the preset failure smoothing factor.

[0069] The specific values ​​of the preset success smoothing factor and the preset failure smoothing factor can be reasonably set by relevant personnel.

[0070] In a specific embodiment provided in the present application, the value range of the preset success smoothing factor or the preset failure smoothing factor may be 0.1-0.3.

[0071] Further, the number of the first packet after processing is a' j And the number of the second packet after processing β' j Replace the original a j and β j , the number of the first packet to be processed is a' j And the number of the second packet after processing β' j Note as a j and β j .

[0072] Correspondingly, in S12, the estimated throughput corresponding to the current selectable data transmission rate is determined according to the historical transmission result of the current selectable data transmission rate, including:

[0073] The estimated throughput corresponding to the current selectable data transmission rate is determined according to the historical transmission result of the current selectable data transmission rate after data smoothing.

[0074] Since data smoothing processing of historical transmission results can make the data that is older in time from the current transmission have a smaller weight, thereby reducing the value of historical transmission data that is older in time from the current transmission, therefore, by using the historical transmission results of the current optional data transmission rate after data smoothing processing to determine the estimated throughput corresponding to the current optional data transmission rate, the influence of historical transmission data that is older in time from the current data transmission task on the results of this data transmission rate selection can be reduced.

[0075] In some embodiments, determining the expected throughput corresponding to the current selectable data transmission rate according to the historical transmission result of the current selectable data transmission rate after data smoothing processing includes the following S03-S06:

[0076] S03, generating a first random number that obeys a first gamma distribution, wherein a shape parameter of the first gamma distribution is determined based on the number of successfully transmitted data packets in the historical transmission results of the current selectable data transmission rate after data smoothing processing;

[0077] The number of successfully transmitted data packets in the historical transmission results of the current selectable data transmission rate after data smoothing is the first number of packets after data smoothing.

[0078] In a specific embodiment provided in the present application, the shape parameter of the first gamma distribution is equal to the first packet number a after data smoothing processing. j (The first packet number a' has been processed j To update and replace the original aj , so now the first packet number after data smoothing can be recorded as a j ), the scale parameter of the first gamma distribution is equal to 1, that is, the first gamma distribution is Γ(a j ,1).

[0079] The generated one follows the first gamma distribution Γ(a j ,1) is denoted as X.

[0080] S04, generating a second random number that obeys a second gamma distribution, wherein a shape parameter of the second gamma distribution is determined based on the number of transmission failure data packets in the historical transmission results of the current optional data transmission rate after data smoothing processing;

[0081] The number of data packets of failed transmission in the historical transmission result of the current selectable data transmission rate after data smoothing is the second number of packets after data smoothing.

[0082] In a specific embodiment provided in the present application, the shape parameter of the second gamma distribution is equal to the second packet number β after data smoothing. j (The second packet number β' after data smoothing j To update and replace the original β j , so now the second packet number after data smoothing can be recorded as β j ), the scale parameter of the second gamma distribution is equal to 1, that is, the second gamma distribution is Γ(β j ,1).

[0083] The generated second gamma distribution is Γ(β j ,1) is denoted as Y.

[0084] S05. Divide the first random number by the sum of the first random number and the second random number to obtain a historical transmission success rate corresponding to the current optional data transmission rate;

[0085] Specifically, the historical transmission success rate corresponding to the current optional data transmission rate

[0086] S06. Determine an estimated throughput corresponding to the current selectable data transmission rate based on a historical transmission success rate corresponding to the current selectable data transmission rate.

[0087] In some embodiments, determining an expected throughput corresponding to the current selectable data transmission rate based on a historical transmission success rate corresponding to the current selectable data transmission rate includes:

[0088] The historical transmission success rate corresponding to the current selectable data transmission rate is multiplied by the current selectable data transmission rate to obtain the estimated throughput corresponding to the current selectable data transmission rate.

[0089] The historical transmission success rate q corresponding to the current optional data transmission rate j Multiply by the currently selectable data transfer rate r j , get the expected throughput Th corresponding to the current optional data transmission rate j , that is, Th j =r j ×q j .

[0090] Figure 2 A schematic diagram of a flow chart for calculating a historical transmission success rate corresponding to a current optional data transmission rate provided for an exemplary embodiment of the present application includes S21-S24:

[0091] S21, performing data smoothing processing on the number of historical successfully transmitted data packets and the number of historical failed transmitted data packets corresponding to the current optional data transmission rate;

[0092] Specifically, the number of historical successfully transmitted data packets a corresponding to the current optional data transmission rate can be calculated using the following formula: j (First packet number) for data smoothing:

[0093]

[0094] Among them, a' j is the number of the first packet after data smoothing, a j is the number of the first packet, Δt is the time interval between the current and last smoothing of the first packet, w α is the preset success smoothing factor.

[0095] Specifically, the following formula can be used to perform data smoothing on the second packet number:

[0096]

[0097] Among them, β' j is the number of the second packet after data smoothing, β j is the second packet number, Δt is the time interval between the current and last data smoothing of the second packet number, w β is the preset failure smoothing factor.

[0098] And use a' j and β' j Update and replace the original a j and β j, that is, the number of historical successfully transmitted data packets corresponding to the latest currently selectable data transmission rate a j and the number of packets with historical transmission failures β j That is a' after data smoothing j and β' j .

[0099] S22, generating a first random number that obeys a first gamma distribution;

[0100] Specifically, the generation follows the first gamma distribution Γ(a j ,1) The first random number X;

[0101] S23, generating a second random number that obeys a second gamma distribution;

[0102] Specifically, the generation follows the second gamma distribution Γ(β j ,1) the second random number Y;

[0103] S24, calculating the historical transmission success rate of the current optional data transmission rate;

[0104] Specifically, calculate the current optional data transmission rate r j Historical transmission success rate

[0105] In some embodiments, the method further comprises:

[0106] Update the historical transmission results of the target data transmission rate according to the transmission results corresponding to this data transmission task.

[0107] In some embodiments, updating the historical transmission result of the target data transmission rate according to the transmission result corresponding to the current data transmission task includes the following S15-S16:

[0108] S15, respectively adding the number of successfully transmitted data packets and the number of failed transmitted data packets corresponding to the current data transmission task to the number of successfully transmitted data packets and the number of failed transmitted data packets at the target data transmission rate before the current data transmission task, to obtain the historical transmission result of the current target data transmission rate;

[0109] Specifically, the target data transmission rate for this data transmission task can be recorded as r i The data transmission result corresponding to this data transmission task includes the number of successfully transmitted data packets corresponding to this data transmission task Δα i and the number of failed packets Δβ i , the number of successfully transmitted data packets in the historical transmission results of the target data transmission rate is recorded as the third packet number α i, the number of failed data packets in the historical transmission results of the target data transmission rate is recorded as the fourth packet number β i .

[0110] Then, the historical transmission results of the target data transmission rate are updated according to the transmission results corresponding to this data transmission task, that is, according to Δα i and Δβ i For the third packet number α i and the fourth packet number β i to update.

[0111] S16. Perform data smoothing processing on historical transmission results of the target data transmission rate based on a first time interval, where the first time interval is equal to the time interval between this and the last data smoothing processing on historical transmission results of the target data transmission rate.

[0112] Specifically, the third packet number α can be calculated using the following formula: i Perform data smoothing:

[0113]

[0114] Among them, α' i is the number of the third packet after data smoothing, α i is the third packet number, Δt is the time interval between the current and last data smoothing processing of the third packet number, i.e., the first time interval, w α is the preset success smoothing factor.

[0115] The following formula can be used to smooth the data of the fourth packet:

[0116]

[0117] Among them, β' i is the fourth packet number after data smoothing, β i is the fourth packet number, Δt is the time interval between the current and last data smoothing processing of the fourth packet number, i.e., the first time interval, w α is the preset success smoothing factor.

[0118] Figure 3 Another flowchart of a method for selecting a data transmission rate provided for an exemplary embodiment of the present application includes:

[0119] S31, traversing each optional data transmission rate in order from high to low;

[0120] S32, performing data smoothing processing on the historical transmission results corresponding to the currently selected data transmission rate traversed;

[0121] S33, determining whether the limit throughput corresponding to the current optional data transmission rate is greater than the current maximum throughput, if so, executing the following S34, if not, executing the following S38;

[0122] The current maximum throughput is equal to the maximum value of at least one expected throughput corresponding to at least one of the optional data transmission rates traversed previously, and the initial value of the current maximum throughput is equal to 0.

[0123] S34, determining a historical transmission success rate corresponding to the current optional data transmission rate according to the historical transmission results corresponding to the current optional data transmission rate;

[0124] S35, calculating the estimated throughput corresponding to the current optional data transmission rate according to the historical transmission success rate;

[0125] S36, determining the difference between the expected throughput corresponding to the current optional data transmission rate and the current maximum throughput, and if the expected throughput corresponding to the currently traversed optional data transmission rate is greater than the current maximum throughput, taking the expected throughput corresponding to the current optional data transmission rate as the current maximum throughput;

[0126] S37, determine whether all optional data transmission rates have been traversed, if so, execute the following S39, if not, traverse the next optional data transmission rate, that is, return to execute S32;

[0127] S38, continue to traverse each optional data transmission rate after the current optional data transmission rate, and perform data smoothing processing on the historical transmission results corresponding to each optional data transmission rate;

[0128] S39. Use the optional data transmission rate corresponding to the current maximum throughput as the target data transmission rate corresponding to this data transmission task.

[0129] The data transmission rate selection method of the present application provides a new data transmission rate selection scheme, which uses the historical transmission results obtained after performing a data transmission task to determine the optional data transmission rate with the highest expected throughput, and uses the optional data transmission rate as the target data transmission rate for this data transmission task, thereby achieving the technical effect of improving the reliability of data transmission rate selection.

[0130] Figure 4 A schematic diagram of the structure of a device for selecting a data transmission rate provided by an exemplary embodiment of the present application;

[0131] The device comprises:

[0132] A traversal processing unit 41, configured to traverse each optional data transmission rate in order from high to low data transmission rates;

[0133] If the limit throughput corresponding to the currently selected optional data transmission rate is greater than the current maximum throughput, determine the expected throughput corresponding to the currently selected optional data transmission rate according to the historical transmission success rate of the currently selected optional data transmission rate, wherein the currently selected maximum throughput is equal to the maximum value of at least one expected throughput corresponding to at least one of the previously selected optional data transmission rates, and the initial value of the currently selected maximum throughput is equal to 0;

[0134] If the limit throughput corresponding to the current optional data transmission rate is not greater than the current maximum throughput, stop determining the difference between the limit throughput corresponding to the optional data transmission rate that has not been traversed and the current maximum throughput;

[0135] The target data transmission rate determining unit 42 is configured to use the optional data transmission rate corresponding to the current maximum throughput determined after the traversal is completed as the target data transmission rate of this data transmission task.

[0136] In some embodiments, the device is further configured to:

[0137] The historical transmission result of the target data transmission rate is updated according to the transmission result corresponding to the current data transmission task.

[0138] In some embodiments, when the device is used to update the historical transmission result of the target data transmission rate according to the transmission result corresponding to the current data transmission task, it is specifically used to:

[0139] The number of successfully transmitted data packets and the number of failed data packets corresponding to the current data transmission task are added to the number of successfully transmitted data packets and the number of failed data packets at the target data transmission rate before the current data transmission task, to obtain the historical transmission result of the current target data transmission rate;

[0140] Data smoothing processing is performed on the historical transmission results of the target data transmission rate based on a first time interval, where the first time interval is equal to a time interval between this and the last time data smoothing processing was performed on the historical transmission results of the target data transmission rate.

[0141] In some embodiments, if the current data transmission task meets the preset period, the device is further configured to:

[0142] Data smoothing is performed on historical transmission results of the current selectable data transmission rate.

[0143] In some embodiments, when the apparatus is used to perform data smoothing processing on the historical transmission results of the current selectable data transmission rate, it is specifically used to:

[0144] Performing data smoothing processing on the historical transmission results of the current optional data transmission rate based on a second time interval, where the second time interval is equal to the time interval between this and the last time data smoothing processing was performed on the historical transmission results of the current optional data transmission rate;

[0145] When the apparatus is used to determine the expected throughput corresponding to the current selectable data transmission rate according to the historical transmission result of the current selectable data transmission rate, the apparatus is specifically used to:

[0146] The estimated throughput corresponding to the current selectable data transmission rate is determined according to the historical transmission result of the current selectable data transmission rate after data smoothing processing.

[0147] In some embodiments, the second time interval is negatively correlated with the processed historical transmission result of the current selectable data transmission rate.

[0148] In some embodiments, when the device is used to determine the expected throughput corresponding to the current selectable data transmission rate according to the historical transmission result of the current selectable data transmission rate after data smoothing processing, it is specifically used to:

[0149] Generate a first random number that obeys a first gamma distribution, wherein a shape parameter of the first gamma distribution is determined based on the number of successfully transmitted data packets in the historical transmission results of the current selectable data transmission rate after the data smoothing process;

[0150] Generate a second random number that obeys a second gamma distribution, wherein a shape parameter of the second gamma distribution is determined based on the number of transmission failure data packets in the historical transmission results of the current selectable data transmission rate after the data smoothing process;

[0151] Dividing the first random number by the sum of the first random number and the second random number to obtain a historical transmission success rate corresponding to the current optional data transmission rate;

[0152] An estimated throughput corresponding to the current selectable data transmission rate is determined based on a historical transmission success rate corresponding to the current selectable data transmission rate.

[0153] It should be understood that the device embodiment and the method embodiment may correspond to each other, and similar descriptions may refer to the method embodiment. To avoid repetition, no further description is given here. Specifically, the device may perform the above method embodiment, and the above and other operations and / or functions of each module in the device are the corresponding processes in each method in the above method embodiment, respectively, and no further description is given here for the sake of brevity.

[0154] The above describes the device of the embodiment of the present application from the perspective of the functional module in conjunction with the accompanying drawings. It should be understood that the functional module can be implemented in hardware form, can be implemented by instructions in software form, and can also be implemented by a combination of hardware and software modules. Specifically, the steps of the method embodiment in the embodiment of the present application can be completed by the hardware integrated logic circuit and / or software form instructions in the processor, and the steps of the method disclosed in the embodiment of the present application can be directly embodied as a hardware decoding processor to perform, or a combination of hardware and software modules in the decoding processor to perform. Optionally, the software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, a register, etc. The storage medium is located in a memory, and the processor reads the information in the memory, and completes the steps in the above method embodiment in conjunction with its hardware.

[0155] Figure 5 is a schematic block diagram of an electronic device provided in an embodiment of the present application, and the electronic device may include:

[0156] The memory 501 and the processor 502, the memory 501 is used to store the computer program and transmit the program code to the processor 502. In other words, the processor 502 can call and run the computer program from the memory 501 to implement the method in the embodiment of the present application.

[0157] For example, the processor 502 may be configured to execute the above method embodiments according to instructions in the computer program.

[0158] In some embodiments of the present application, the processor 502 may include but is not limited to:

[0159] General-purpose processor, digital signal processor (DSP), application-specific integrated circuit (ASIC), field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware components, etc.

[0160] In some embodiments of the present application, the memory 501 includes but is not limited to:

[0161] Volatile memory and / or non-volatile memory. Among them, the non-volatile memory can be read-only memory (ROM), programmable ROM (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM) or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link DRAM (SLDRAM), and direct RAM bus random access memory (DR RAM).

[0162] In some embodiments of the present application, the computer program may be divided into one or more modules, which are stored in the memory 501 and executed by the processor 502 to complete the method provided by the present application. The one or more modules may be a series of computer program instruction segments capable of completing specific functions, and the instruction segments are used to describe the execution process of the computer program in the electronic device.

[0163] like Figure 5 As shown, the electronic device may also include:

[0164] The transceiver 503 may be connected to the processor 502 or the memory 501 .

[0165] The processor 502 may control the transceiver 503 to communicate with other devices, specifically, to send information or data to other devices, or to receive information or data sent by other devices. The transceiver 503 may include a transmitter and a receiver. The transceiver 503 may further include an antenna, and the number of antennas may be one or more.

[0166] It should be understood that the various components in the electronic device are connected via a bus system, wherein the bus system includes not only a data bus but also a power bus, a control bus and a status signal bus.

[0167] The present application also provides a computer storage medium on which a computer program is stored, and when the computer program is executed by a computer, the computer can perform the method of the above method embodiment. In other words, the present application embodiment also provides a computer program product containing instructions, and when the instructions are executed by a computer, the computer can perform the method of the above method embodiment.

[0168] When software is used for implementation, 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 instructions are loaded and executed on a computer, the process or function according to the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can 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 instructions can be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (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 can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integration. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a digital video disc (digital video disc, DVD)), or a semiconductor medium (e.g., a solid state drive (solid state disk, SSD)), etc.

[0169] Those of ordinary skill in the art will appreciate that the modules and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0170] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the module is only a logical function division. There may be other division methods in actual implementation, such as multiple modules or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or modules, which can be electrical, mechanical or other forms.

[0171] The modules described as separate components may or may not be physically separated, and the components displayed as modules may or may not be physical modules, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. For example, each functional module in each embodiment of the present application may be integrated into a processing module, or each module may exist physically separately, or two or more modules may be integrated into one module.

[0172] In the embodiments of the present application, the term "module" or "unit" refers to a computer program or a part of a computer program with a predetermined function, and works together with other related parts to achieve a predetermined goal, and can be implemented in whole or in part by using software, hardware (such as processing circuits or memories) or a combination thereof. Similarly, a processor (or multiple processors or memories) can be used to implement one or more modules or units. In addition, each module or unit can be part of an overall module or unit that includes the function of the module or unit.

[0173] The above are only specific implementations of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. A method for selecting a data transmission rate, characterized in that: include: Traverse each optional data transmission rate in order from high to low; If the limit throughput corresponding to the currently selected optional data transmission rate is greater than the current maximum throughput, determining the expected throughput corresponding to the currently selected optional data transmission rate according to the historical transmission result of the currently selected optional data transmission rate, wherein the currently selected maximum throughput is equal to the maximum value of at least one expected throughput corresponding to at least one of the previously selected optional data transmission rates, and the initial value of the currently selected maximum throughput is equal to 0; If the limit throughput corresponding to the current optional data transmission rate is not greater than the current maximum throughput, stop determining the difference between the limit throughput corresponding to the optional data transmission rate that has not been traversed and the current maximum throughput; The optional data transmission rate corresponding to the current maximum throughput determined after the traversal is completed is used as the target data transmission rate of this data transmission task.

2. The method according to claim 1, characterized in that The method further comprises: The historical transmission result of the target data transmission rate is updated according to the transmission result corresponding to the current data transmission task.

3. The method according to claim 2, characterized in that Updating the historical transmission result of the target data transmission rate according to the transmission result corresponding to the current data transmission task includes: The number of successfully transmitted data packets and the number of failed data packets corresponding to the current data transmission task are added to the number of successfully transmitted data packets and the number of failed data packets at the target data transmission rate before the current data transmission task, to obtain the historical transmission result of the current target data transmission rate; The historical transmission results of the target data transmission rate are subjected to data smoothing processing based on a first time interval, where the first time interval is equal to a time interval between this and the last time data smoothing processing was performed on the historical transmission results of the target data transmission rate.

4. The method according to claim 1, characterized in that: If the current data transmission task meets the preset period, the method further includes: Performing data smoothing processing on historical transmission results of the current selectable data transmission rate; The determining, according to the historical transmission result of the current selectable data transmission rate, the expected throughput corresponding to the current selectable data transmission rate comprises: The estimated throughput corresponding to the current selectable data transmission rate is determined according to the historical transmission result of the current selectable data transmission rate after data smoothing processing.

5. The method according to claim 4, characterized in that Performing data smoothing processing on the historical transmission results of the current selectable data transmission rate includes: The historical transmission results of the current selectable data transmission rate are subjected to data smoothing processing based on a second time interval, where the second time interval is equal to the time interval between this and the last time data smoothing processing was performed on the historical transmission results of the current selectable data transmission rate.

6. The method according to claim 5, characterized in that The second time interval is negatively correlated with the processed historical transmission result of the current selectable data transmission rate.

7. The method according to claim 4, characterized in that Determining an estimated throughput corresponding to the current selectable data transmission rate according to a historical transmission result of the current selectable data transmission rate after data smoothing processing, includes: Generate a first random number that obeys a first gamma distribution, wherein a shape parameter of the first gamma distribution is determined based on the number of successfully transmitted data packets in the historical transmission results of the current selectable data transmission rate after the data smoothing process; Generate a second random number that obeys a second gamma distribution, wherein a shape parameter of the second gamma distribution is determined based on the number of transmission failure data packets in the historical transmission results of the current selectable data transmission rate after the data smoothing process; Dividing the first random number by the sum of the first random number and the second random number to obtain a historical transmission success rate corresponding to the current optional data transmission rate; An estimated throughput corresponding to the current selectable data transmission rate is determined based on a historical transmission success rate corresponding to the current selectable data transmission rate.

8. A device for selecting a data transmission rate, characterized in that: include: A traversal processing unit, used for traversing each optional data transmission rate in order from high to low data transmission rates; If the limit throughput corresponding to the currently selected optional data transmission rate is greater than the current maximum throughput, determine the expected throughput corresponding to the currently selected optional data transmission rate according to the historical transmission success rate of the currently selected optional data transmission rate, wherein the currently selected maximum throughput is equal to the maximum value of at least one expected throughput corresponding to at least one of the previously selected optional data transmission rates, and the initial value of the currently selected maximum throughput is equal to 0; If the limit throughput corresponding to the current optional data transmission rate is not greater than the current maximum throughput, stop determining the difference between the limit throughput corresponding to the optional data transmission rate that has not been traversed and the current maximum throughput; The target data transmission rate determination unit is used to use the optional data transmission rate corresponding to the current maximum throughput determined after the traversal is completed as the target data transmission rate of this data transmission task.

9. An electronic device, characterized in that: include: processor; as well as A memory, configured to store executable instructions of the processor; The processor is configured to perform the method of any one of claims 1 to 7 by executing the executable instructions.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.