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

By using the historical transmission results to determine the target data transmission rate and adjust it, the problem of low reliability of the data transmission rate selection algorithm based on detection in the prior art is solved, and the reliability of the selection and the convergence speed of the algorithm are improved.

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

Patent Information

Application Number
CN202411478302.X
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 existing wireless communication systems, the data transmission rate selection algorithm based on the current transmission environment detection is low reliability, and is affected by environmental noise and multipath interference, resulting in inaccurate or fluctuations in signal quality measurement.

Method used

By obtaining the historical transmission results of each optional data transmission rate, the target data transmission rate is determined, and the historical transmission results are adjusted based on the preset rules to ensure that the ratio of successful and failed data packets is within the preset threshold.

Benefits of technology

It improves the reliability of data transmission rate selection, reduces the impact of transmission results on the target data transmission rate selection of subsequent data transmission tasks, and speeds up the convergence speed of the algorithm.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119450593A_ABST
    Figure CN119450593A_ABST
Patent Text Reader

Abstract

The invention discloses a data transmission rate selection method. The method comprises the following steps: acquiring a historical transmission result of each selectable data transmission rate; determining a target data transmission rate of the data transmission task from the selectable data transmission rates according to historical transmission results of the selectable data transmission rates; updating a historical transmission result of the target data transmission rate according to a transmission result corresponding to the data transmission task; the historical transmission result of the target data transmission rate is adjusted, so that the sum of the number of successfully transmitted data packets and the number of unsuccessfully transmitted data packets in the historical transmission result of the target data transmission rate is smaller than or equal to a first preset threshold value, or the number of successfully transmitted data packets is smaller than or equal to a second preset threshold value, or enabling the number of the data packets failed in transmission to be smaller than or equal to a third preset threshold value. 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] Get historical transmission results for each selectable data transmission rate;

[0007] Determine a target data transmission rate for this data transmission task from among the various optional data transmission rates according to historical transmission results of the various optional data transmission rates;

[0008] Update the historical transmission result of the target data transmission rate according to the transmission result corresponding to the current data transmission task;

[0009] The historical transmission results of the target data transmission rate are adjusted based on preset rules, so that the sum of the number of successfully transmitted data packets and the number of failed transmission data packets in the historical transmission results of the target data transmission rate is less than or equal to a first preset threshold, or the number of successfully transmitted data packets is less than or equal to a second preset threshold, or the number of failed transmission data packets is less than or equal to a third preset threshold.

[0010] In this embodiment, a new data transmission rate selection scheme is provided, which uses the historical transmission results of the data transmission task to determine the target data transmission rate used in this data transmission, and limits the total number of historical transmission packets of the target data transmission rate, the number of successfully transmitted data packets, and the number of failed data packets, thereby reducing the impact of the transmission results corresponding to the current data transmission task on the selection of the optimal data transmission rate corresponding to the subsequent data transmission task, improving the reliability of the rate selection, and accelerating the convergence speed of the algorithm.

[0011] In one embodiment, updating the historical transmission result of the target data transmission rate according to the transmission result corresponding to the current data transmission task includes:

[0012] 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;

[0013] Data smoothing processing is performed on the historical transmission results of the current 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 of the historical transmission results of the target data transmission rate.

[0014] In this embodiment, a data smoothing method is used to update the historical transmission results of the target data transmission rate. The data smoothing method can reduce random fluctuations in the historical transmission results, making the historical transmission results of the target data transmission rate more stable. This helps to eliminate the impact of abnormal results of a single or a few data transmission tasks on the overall trend of the historical transmission results of the target data transmission rate.

[0015] In one embodiment, the adjusting the historical transmission results of the target data transmission rate based on a preset rule so that the sum of the number of successfully transmitted data packets and the number of failed transmitted data packets in the adjusted historical transmission results of the target data transmission rate is less than or equal to a first preset threshold value includes:

[0016] If the sum of the number of successfully transmitted data packets and the number of failed data packets of the target data transmission rate is greater than a first preset threshold, the number of successfully transmitted data packets and the number of failed data packets of the target data transmission rate are reduced so that the sum of the number of successfully transmitted data packets and the number of failed data packets of the target data transmission rate after adjustment is equal to the first preset threshold.

[0017] In this embodiment, an upper limit on the total number of packets transmitted is introduced to avoid the result that the distribution of the target data transmission rate level is difficult to change due to being selected too many times, thereby accelerating the convergence speed of the algorithm and being more adaptable to sudden changes in the network environment.

[0018] In one embodiment, reducing the number of successfully transmitted data packets and the number of failed transmitted data packets at the target data transmission rate includes:

[0019] The number of successfully transmitted data packets and the number of failed transmitted data packets of the target data transmission rate are proportionally reduced.

[0020] In this embodiment, a method for reducing the number of successfully transmitted data packets and failed transmitted data packets is provided to maintain data consistency so that the adjusted number of data packets can still reflect the relative relationship of the original data.

[0021] In one embodiment, determining the target data transmission rate of the current data transmission task from among the various optional data transmission rates according to the historical transmission results of the various optional data transmission rates includes:

[0022] The optional data transmission rate with the largest expected throughput among the optional data transmission rates is determined according to historical transmission results of the optional data transmission rates, and the optional data transmission rate with the largest expected throughput is used as the target data transmission rate.

[0023] In this embodiment, the optional data transmission rate with the maximum expected throughput generally means higher data transmission speed and lower latency. Selecting such an optional data transmission rate as the target data transmission rate can significantly improve the efficiency of data transmission and reduce the time and resources required for transmission.

[0024] In one embodiment, determining an expected throughput corresponding to the selectable data transmission rate according to historical transmission results of the selectable data transmission rate includes:

[0025] Generate a first random number and a second random number that obey a first gamma distribution and a second gamma distribution, respectively, wherein a shape parameter of the first gamma distribution is determined based on the number of packets of historically successfully transmitted packets of the optional data transmission rate, and a shape parameter of the second gamma distribution is determined based on the number of packets of historically failed transmission packets of the optional data transmission rate;

[0026] 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 optional data transmission rate;

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

[0028] In this embodiment, the number of successfully transmitted data packets and the number of failed transmitted data packets of the selectable data transmission rate are simulated by using the gamma distribution, thereby improving the reliability of data transmission rate selection.

[0029] In one embodiment, if the current data transmission task meets the preset period, the method further includes:

[0030] Performing data smoothing processing on historical transmission results of each optional data transmission rate;

[0031] The determining, according to the historical transmission results of the various optional data transmission rates, the optional data transmission rate with the largest expected throughput among the various optional data transmission rates comprises:

[0032] The selectable data transmission rate with the largest expected throughput among the selectable data transmission rates is determined according to the historical transmission results of the selectable data transmission rates after data smoothing.

[0033] In this embodiment, performing data smoothing on historical transmission results can reduce random fluctuations and noise in the historical transmission results, making the data more stable and reliable, and helping to improve the reliability of data transmission rate selection.

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

[0035] An acquisition unit, used for acquiring historical transmission results of each optional data transmission rate;

[0036] a target data transmission rate determining unit, configured to determine a target data transmission rate of the current data transmission task from among the various optional data transmission rates according to historical transmission results of the various optional data transmission rates;

[0037] A historical transmission result updating unit, configured to update the historical transmission result of the target data transmission rate according to the transmission result corresponding to the current data transmission task;

[0038] A historical transmission result adjustment unit is used to adjust the historical transmission results of the target data transmission rate based on preset rules, so that the sum of the number of successfully transmitted data packets and the number of failed transmission data packets in the historical transmission results of the target data transmission rate is less than or equal to a first preset threshold, or the number of successfully transmitted data packets is less than or equal to a second preset threshold, or the number of failed transmission data packets is less than or equal to a third preset threshold.

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

[0040] Processor; and

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

[0042] 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.

[0043] 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. BRIEF DESCRIPTION OF THE DRAWINGS

[0044] 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:

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

[0046] Figure 2 A schematic diagram of the structure of a data transmission rate selection device provided in one embodiment of the present application;

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

[0048] 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.

[0049] 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.

[0050] 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.

[0051] 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.

[0052] 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.

[0053] Figure 1A 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:

[0054] S11, obtaining historical transmission results of each optional data transmission rate;

[0055] 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.

[0056] When the data transmission rate selection method provided in the present application is used to select the optimal data transmission rate for the first data transmission task, the statistical information of each optional data transmission rate will be initialized, and the statistical information at least includes: the number of packets of successfully transmitted data packets at the optional data transmission rate, and the number of packets of failed data packets at the optional data transmission rate. The initialization statistical information corresponding to different optional data transmission rates may be 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 for the data transmission task. The historical transmission results of the optional data transmission rate are determined by all transmission results of all data transmission tasks that use the optional data transmission rate as the target data transmission rate and the statistical information at the time of initialization. As the data transmission task continues, the historical transmission results corresponding to each optional data transmission rate are also continuously updated.

[0057] S12, determining a target data transmission rate for this data transmission task from among the various optional data transmission rates according to historical transmission results of the various optional data transmission rates;

[0058] In some embodiments, determining the target data transmission rate of the current data transmission task from each optional data transmission rate according to the historical transmission results of each optional data transmission rate includes:

[0059] The optional data transmission rate with the largest expected throughput among the optional data transmission rates is determined according to the historical transmission results of the various optional data transmission rates, and the optional data transmission rate with the largest expected throughput is used as the target data transmission rate of this data transmission task.

[0060] Specifically, the size relationship between the expected throughputs corresponding to the various optional data transmission rates is determined according to the historical transmission results of the various optional data transmission rates, and the optional data transmission rate with the largest expected throughput among the various optional data transmission rates is used as the target data transmission rate for this data transmission task.

[0061] The historical transmission results of the selectable data transmission rate include the number of successfully transmitted data packets and the number of failed data packets, which are continuously updated as the data transmission task is continuously performed.

[0062] In this embodiment, the optional data transmission rate with the maximum expected throughput generally means higher data transmission speed and lower latency. Selecting such an optional data transmission rate as the target data transmission rate can significantly improve the efficiency of data transmission and reduce the time and resources required for transmission.

[0063] In some embodiments, determining an expected throughput corresponding to the selectable data transmission rate according to historical transmission results of the selectable data transmission rate includes the following S01-S03:

[0064] S01, respectively generating a first random number and a second random number that obey a first gamma distribution and a second gamma distribution, wherein a shape parameter of the first gamma distribution is determined based on the number of successfully transmitted data packets at an optional data transmission rate, and a shape parameter of the second gamma distribution is determined based on the number of failed transmission data packets at an optional data transmission rate;

[0065] In a specific embodiment provided in the present application, a shape parameter of a first gamma distribution is equal to the number of successfully transmitted data packets in the historical transmission results of an optional data transmission rate, and a scale parameter of the first gamma distribution is equal to 1; a shape parameter of a second gamma distribution is equal to the number of failed transmission data packets in the historical transmission results of an optional data transmission rate, and a scale parameter of the second gamma distribution is equal to 1.

[0066] S02. 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 optional data transmission rate;

[0067] S03. Determine an estimated throughput corresponding to the optional data transmission rate based on a historical transmission success rate corresponding to the optional data transmission rate.

[0068] In this embodiment, the number of successfully transmitted data packets and the number of failed transmitted data packets of the selectable data transmission rate are simulated by using the gamma distribution, thereby improving the reliability of data transmission rate selection.

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

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

[0071] In some embodiments, determining the selectable data transmission rate with the highest expected throughput among the selectable data transmission rates according to the historical transmission results of the selectable data transmission rates includes the following S001-S005:

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

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

[0074] S003. 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 according to the historical transmission result of the current optional data transmission rate; and further determine 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.

[0075] S004, 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;

[0076] S005. 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.

[0077] For the current optional data transmission rate that has been traversed, the size between the limit throughput corresponding to the current optional data transmission rate and the current maximum throughput will be determined first. 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 will be 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 will be stopped, that is, the expected throughput of the optional data transmission rate that has not been traversed will no longer be calculated, thereby skipping the determination of some optional data transmission rates, thereby saving computing resources.

[0078] In some embodiments, if the current data transmission task meets the preset period, the method further includes:

[0079] Perform data smoothing on historical transmission results of each optional data transmission rate;

[0080] Correspondingly, according to the historical transmission results of each optional data transmission rate, the optional data transmission rate with the maximum expected throughput among the optional data transmission rates is determined, including:

[0081] The selectable data transmission rate with the largest expected throughput among the selectable data transmission rates is determined according to the historical transmission results of the selectable data transmission rates after data smoothing.

[0082] Specifically, the size relationship between the expected throughputs corresponding to the various optional data transmission rates can be determined according to the historical transmission results of the various optional data transmission rates after data smoothing, and the optional data transmission rate with the largest expected throughput among the various optional data transmission rates can be used as the target data transmission rate.

[0083] 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.

[0084] 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.

[0085] The step of determining the expected throughput of the optional data transmission rate according to the historical transmission results of the optional data transmission rate after data smoothing is consistent with the above-described step of determining the expected throughput according to the historical transmission results without data smoothing, and will not be repeated here.

[0086] In this embodiment, performing data smoothing on historical transmission results can reduce random fluctuations and noise in the historical transmission results, making the data more stable and reliable, and helping to improve the reliability of data transmission rate selection.

[0087] More specifically, for any optional data transmission rate, data smoothing is performed on the historical transmission result of the optional data transmission rate, including:

[0088] Data smoothing is performed on the number of historical successfully transmitted data packets and the number of historical failed data packets of the optional data transmission rate based on the second time interval and the third time interval respectively, wherein the second time interval is the time interval between this time and the last time the data smoothing is performed on the number of successfully transmitted data packets of the optional data transmission rate, and the third time interval is the time interval between this time and the last time the data smoothing is performed on the number of failed data packets of the optional data transmission rate.

[0089] More specifically, the following formula may be used to perform data smoothing on the number of successfully transmitted data packets at the optional data transmission rate:

[0090]

[0091] Among them, a' j is the number of successfully transmitted data packets at the optional data transmission rate after data smoothing, a j is the number of successfully transmitted data packets of the optional data transmission rate before processing, Δt is the time interval between the current and last data smoothing processing of the number of successfully transmitted data packets of the optional data transmission rate, i.e., the second time interval, and w α is the preset success smoothing factor, 0 <w α <1.

[0092] The following formula can be used to smooth the number of successfully transmitted data packets of the selectable data transmission rate:

[0093]

[0094] Among them, β' j is the number of successfully transmitted data packets at the optional data transmission rate after data smoothing, β jis the number of successfully transmitted data packets of the optional data transmission rate before processing, Δt is the time interval between the current and last data smoothing processing of the number of successfully transmitted data packets of the optional data transmission rate, that is, the third time interval, and w β is the preset failure smoothing factor, 0 <w β <1.

[0095] The specific values ​​of the preset success smoothing factor and the preset failure smoothing factor can be reasonably set by relevant personnel. For example, for the preset success smoothing factor, if the fluctuation of the transmission success data packet is large, a smaller preset success smoothing factor can be selected to reduce the information loss in the smoothing process; on the contrary, if the transmission success data packet is relatively stable, a larger preset success smoothing factor can be selected to obtain a smoother result.

[0096] 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.

[0097] 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.

[0098] S13. Update the historical transmission result of the target data transmission rate according to the transmission result corresponding to the current data transmission task.

[0099] In some embodiments, in S13, the historical transmission result of the target data transmission rate is updated according to the transmission result corresponding to the current data transmission task, including the following S131-S132:

[0100] S131, 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;

[0101] S132: Perform data smoothing processing on historical transmission results of the current 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.

[0102] In this embodiment, a data smoothing method is used to update the historical transmission results of the target data transmission rate. The data smoothing method can reduce random fluctuations in the historical transmission results, making the historical transmission results of the target data transmission rate more stable. This helps to eliminate the impact of abnormal results of a single or a few data transmission tasks on the overall trend of the historical transmission results of the target data transmission rate.

[0103] Specifically, the number of successfully transmitted data packets at the target data transmission rate may be smoothed using the following formula:

[0104]

[0105] Among them, a' i is the number of successfully transmitted data packets at the target data transmission rate after processing, a i is the number of packets of successfully transmitted data packets at the target data transmission rate before processing, Δt is the time interval between the current and last data smoothing processing of the number of successfully transmitted data packets at the target data transmission rate, i.e., the first time interval, and w α is the preset failure smoothing factor.

[0106] The number of transmission failure packets at the target data transmission rate can be smoothed using the following formula:

[0107]

[0108] Among them, β' i is the number of failed data packets at the target data transmission rate after processing, β i is the number of transmission failure packets of the target data transmission rate before processing, Δt is the time interval between the current and last data smoothing processing of the number of transmission failure packets of the target data transmission rate, i.e., the first time interval, and w β is the preset success smoothing factor.

[0109] S14. Adjust the historical transmission results of the target data transmission rate based on preset rules, so that the sum of the number of successfully transmitted data packets and the number of failed transmission data packets in the historical transmission results of the target data transmission rate is less than or equal to a first preset threshold, or the number of successfully transmitted data packets is less than or equal to a second preset threshold, or the number of failed transmission data packets is less than or equal to a third preset threshold.

[0110] Among them, the number of the first preset threshold, the second preset threshold and the third preset threshold can be reasonably set according to the actual application scenario, and this application does not impose any restrictions on this. Preferably, the value range of the first preset threshold, the second preset threshold and the third preset threshold can be 1000-10000.

[0111] Specifically, the historical transmission results of the target data transmission rate are adjusted based on preset rules so that the sum of the number of successfully transmitted data packets and the number of failed data packets in the historical transmission results of the target data transmission rate is less than or equal to a preset threshold value. The total number of transmitted packets, the number of successfully transmitted data packets, and the number of failed data packets in the historical transmission results of the target data transmission rate can be limited to prevent the number of successfully transmitted data packets or the number of failed data packets corresponding to the current data transmission task from being abnormally large or abnormally small, thereby affecting the selection of the target data transmission rate corresponding to subsequent data transmission tasks. Therefore, the sum of the number of successfully transmitted data packets and the number of failed data packets in the historical transmission results of the target data transmission rate, the number of successfully transmitted data packets, and the number of failed data packets in the historical transmission results of the target data transmission rate are limited within the preset threshold value. This can reduce the impact of the current data transmission task on the historical transmission results of the target data transmission rate and improve the performance of the data transmission rate selection method.

[0112] In some embodiments, in S14, adjusting the historical transmission results of the target data transmission rate based on a preset rule so that the sum of the number of successfully transmitted data packets and the number of failed transmitted data packets in the adjusted historical transmission results of the target data transmission rate is less than or equal to a first preset threshold value includes:

[0113] If the sum of the number of successfully transmitted data packets and the number of failed data packets of the target data transmission rate is greater than a first preset threshold, the number of successfully transmitted data packets and the number of failed data packets of the target data transmission rate are reduced so that the sum of the number of successfully transmitted data packets and the number of failed data packets of the adjusted target data transmission rate is equal to the first preset threshold.

[0114] In this embodiment, an upper limit on the total number of packets transmitted is introduced to avoid the result that the distribution of the target data transmission rate level is difficult to change due to being selected too many times, thereby accelerating the convergence speed of the algorithm and being more adaptable to sudden changes in the network environment.

[0115] In some embodiments, reducing the number of successfully transmitted data packets and the number of failed transmitted data packets at the target data transmission rate includes:

[0116] The number of successfully transmitted data packets and the number of failed transmitted data packets of the target data transmission rate are proportionally reduced.

[0117] In this embodiment, a method for reducing the number of successfully transmitted data packets and failed transmitted data packets is provided, which can maintain the consistency of the data before and after the reduction, so that the adjusted number of data packets can still reflect the relative relationship of the original data.

[0118] Specifically, the number of successfully transmitted data packets and the number of failed transmitted data packets at the target data transmission rate can be proportionally reduced using the following formulas 1 and 2, respectively:

[0119] Formula 1:

[0120]

[0121] Formula 2:

[0122]

[0123] Among them, α i ' is the number of successfully transmitted data packets that reduces the target data transmission rate after processing, α i To reduce the number of successfully transmitted packets before processing the target data transmission rate, β i 'To reduce the number of failed data packets after processing to reduce the target data transmission rate, β i In order to reduce the number of failed data packets before processing the target data transmission rate, P sum is the first preset threshold.

[0124] In some embodiments, in S14, adjusting the historical transmission results of the target data transmission rate based on a preset rule so that the number of successfully transmitted data packets in the adjusted historical transmission results of the target data transmission rate is less than or equal to a second preset threshold includes:

[0125] If the number of successfully transmitted data packets in the historical transmission results of the target data transmission rate is greater than the second preset threshold, the number of successfully transmitted data packets in the historical transmission results of the target data transmission rate is adjusted to the second preset threshold.

[0126] In some embodiments, in S14, adjusting the historical transmission results of the target data transmission rate based on a preset rule so that the number of transmission failure data packets in the adjusted historical transmission results of the target data transmission rate is less than or equal to a third preset threshold includes:

[0127] If the number of transmission failed data packets in the historical transmission results of the target data transmission rate is greater than the third preset threshold, the number of transmission failed data packets in the historical transmission results of the target data transmission rate is adjusted to the third preset threshold.

[0128] 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 used for this data transmission task. After completing this data transmission task, the total number of transmission packets, the number of successfully transmitted data packets, and the number of failed data packets of the target data transmission rate are limited, thereby reducing the impact of the transmission results corresponding to this data transmission task on the selection of the target data transmission rate for subsequent data transmission tasks, thereby achieving the technical effect of improving the reliability of data transmission rate selection.

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

[0130] The device comprises:

[0131] An acquisition unit 21 is used to acquire historical transmission results of each optional data transmission rate;

[0132] A target data transmission rate determination unit 22, configured to determine a target data transmission rate of the current data transmission task from among the various optional data transmission rates according to historical transmission results of the various optional data transmission rates;

[0133] A historical transmission result updating unit 23, configured to update the historical transmission result of the target data transmission rate according to the transmission result corresponding to the current data transmission task;

[0134] The historical transmission result adjustment unit 24 is used to adjust the historical transmission results of the target data transmission rate based on preset rules, so that the sum of the number of successfully transmitted data packets and the number of failed transmission data packets in the historical transmission results of the target data transmission rate is less than or equal to a first preset threshold, or the number of successfully transmitted data packets is less than or equal to a second preset threshold, or the number of failed transmission data packets is less than or equal to a third preset threshold.

[0135] 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:

[0136] 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;

[0137] Data smoothing processing is performed on the historical transmission results of the current 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 of the historical transmission results of the target data transmission rate.

[0138] In some embodiments, when the device is used to adjust the historical transmission results of the target data transmission rate based on a preset rule so that the sum of the number of successfully transmitted data packets and the number of failed transmitted data packets in the adjusted historical transmission results of the target data transmission rate is less than or equal to a first preset threshold, it is specifically used to:

[0139] If the sum of the number of successfully transmitted data packets and the number of failed data packets of the target data transmission rate is greater than a first preset threshold, the number of successfully transmitted data packets and the number of failed data packets of the target data transmission rate are reduced so that the sum of the number of successfully transmitted data packets and the number of failed data packets of the target data transmission rate after adjustment is equal to the first preset threshold.

[0140] In some embodiments, when the device is used to reduce the number of packets of successfully transmitted data packets and the number of packets of failed transmission data packets at the target data transmission rate, it is specifically used to:

[0141] The number of successfully transmitted data packets and the number of failed transmitted data packets of the target data transmission rate are proportionally reduced.

[0142] In some embodiments, when the device is used to determine the target data transmission rate of the current data transmission task from the various optional data transmission rates according to the historical transmission results of the various optional data transmission rates, it is specifically used to:

[0143] The optional data transmission rate with the largest expected throughput among the optional data transmission rates is determined according to historical transmission results of the optional data transmission rates, and the optional data transmission rate with the largest expected throughput is used as the target data transmission rate.

[0144] In some embodiments, when the apparatus is used to determine the expected throughput corresponding to the optional data transmission rate according to the historical transmission result of the optional data transmission rate, it is specifically used to:

[0145] Generate a first random number and a second random number that obey a first gamma distribution and a second gamma distribution, respectively, wherein a shape parameter of the first gamma distribution is determined based on the number of packets of historically successfully transmitted packets of the optional data transmission rate, and a shape parameter of the second gamma distribution is determined based on the number of packets of historically failed transmission packets of the optional data transmission rate;

[0146] 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 optional data transmission rate;

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

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

[0149] Performing data smoothing processing on historical transmission results of each optional data transmission rate;

[0150] The determining, according to the historical transmission results of the various optional data transmission rates, the optional data transmission rate with the largest expected throughput among the various optional data transmission rates comprises:

[0151] The selectable data transmission rate with the largest expected throughput among the selectable data transmission rates is determined according to the historical transmission results of the selectable data transmission rates after data smoothing.

[0152] 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.

[0153] 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.

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

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

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

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

[0158] 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.

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

[0160] 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).

[0161] In some embodiments of the present application, the computer program may be divided into one or more modules, which are stored in the memory 301 and executed by the processor 302 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.

[0162] like Figure 3 As shown, the electronic device may also include:

[0163] The transceiver 303 may be connected to the processor 302 or the memory 301 .

[0164] The processor 302 may control the transceiver 303 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 303 may include a transmitter and a receiver. The transceiver 303 may further include an antenna, and the number of antennas may be one or more.

[0165] 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.

[0166] 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.

[0167] 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.

[0168] 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.

[0169] 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.

[0170] 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.

[0171] 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.

[0172] The above are only specific implementations of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present 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: Get historical transmission results for each selectable data transmission rate; Determine a target data transmission rate for this data transmission task from among the various optional data transmission rates according to historical transmission results of the various optional data transmission rates; Update the historical transmission result of the target data transmission rate according to the transmission result corresponding to the current data transmission task; The historical transmission results of the target data transmission rate are adjusted based on preset rules, so that the sum of the number of successfully transmitted data packets and the number of failed transmission data packets in the historical transmission results of the target data transmission rate is less than or equal to a first preset threshold, or the number of successfully transmitted data packets is less than or equal to a second preset threshold, or the number of failed transmission data packets is less than or equal to a third preset threshold.

2. The method according to claim 1, characterized in that: The updating of 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; Data smoothing processing is performed on the historical transmission results of the current 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 of the historical transmission results of the target data transmission rate.

3. The method according to claim 1, characterized in that The adjusting the historical transmission results of the target data transmission rate based on a preset rule so that the sum of the number of successfully transmitted data packets and the number of failed transmitted data packets in the adjusted historical transmission results of the target data transmission rate is less than or equal to a first preset threshold value includes: If the sum of the number of successfully transmitted data packets and the number of failed data packets of the target data transmission rate is greater than a first preset threshold, the number of successfully transmitted data packets and the number of failed data packets of the target data transmission rate are reduced so that the sum of the number of successfully transmitted data packets and the number of failed data packets of the target data transmission rate after adjustment is equal to the first preset threshold.

4. The method according to claim 3, characterized in that The number of successfully transmitted data packets and the number of failed transmitted data packets of the target data transmission rate are reduced, including: The number of successfully transmitted data packets and the number of failed transmitted data packets of the target data transmission rate are proportionally reduced.

5. The method according to claim 1, characterized in that Determining the target data transmission rate of the current data transmission task from the various optional data transmission rates according to the historical transmission results of the various optional data transmission rates includes: The optional data transmission rate with the largest expected throughput among the optional data transmission rates is determined according to historical transmission results of the optional data transmission rates, and the optional data transmission rate with the largest expected throughput is used as the target data transmission rate.

6. The method according to claim 5, characterized in that Determining an estimated throughput corresponding to the selectable data transmission rate according to a historical transmission result of the selectable data transmission rate includes: Generate a first random number and a second random number that obey a first gamma distribution and a second gamma distribution, respectively, wherein a shape parameter of the first gamma distribution is determined based on the number of packets of historically successfully transmitted packets of the optional data transmission rate, and a shape parameter of the second gamma distribution is determined based on the number of packets of historically failed transmission packets of the optional data transmission rate; 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 optional data transmission rate; An estimated throughput corresponding to the selectable data transmission rate is determined based on a historical transmission success rate corresponding to the selectable data transmission rate.

7. The method according to claim 5, 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 each optional data transmission rate; The determining, according to the historical transmission results of the various optional data transmission rates, the optional data transmission rate with the largest expected throughput among the various optional data transmission rates comprises: The selectable data transmission rate with the largest expected throughput among the selectable data transmission rates is determined according to the historical transmission results of the selectable data transmission rates after data smoothing.

8. A rate selection device, characterized in that: include: An acquisition unit, used for acquiring historical transmission results of each optional data transmission rate; a target data transmission rate determining unit, configured to determine a target data transmission rate of the current data transmission task from among the various optional data transmission rates according to historical transmission results of the various optional data transmission rates; A historical transmission result updating unit, configured to update the historical transmission result of the target data transmission rate according to the transmission result corresponding to the current data transmission task; A historical transmission result adjustment unit is used to adjust the historical transmission results of the target data transmission rate based on preset rules, so that the sum of the number of successfully transmitted data packets and the number of failed transmission data packets in the historical transmission results of the target data transmission rate is less than or equal to a first preset threshold, or the number of successfully transmitted data packets is less than or equal to a second preset threshold, or the number of failed transmission data packets is less than or equal to a third preset threshold.

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.