Rate selection method and device, computer readable storage medium and electronic equipment
By combining RSSI and historical transmission success probability calculation confidence and selecting a target rate suitable for the current environment, the problem of poor adaptability of rate selection to the environment in the prior art is solved, and the stability and efficiency of data transmission are improved.
Patent Information
- Application Number
- CN202411425245.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-12
- Publication Date
- 2024-12-31
AI Technical Summary
The prior art requires high environmental requirements when performing rate selection. When the environment is complex and changeable, the results returned by the detection frame may not be able to adapt to the current environment, resulting in low reliability.
By determining multiple rate gears supported by the client, obtaining signal reception strength indication RSSI and historical transmission success probability, calculating confidence, and selecting the target rate for the next transmission in order to more accurately adapt to the current environment.
It improves the stability and efficiency of data transmission, reduces the packet loss rate, avoids hysteresis caused by detection dependencies, and enhances the adaptability of rate selection.
Smart Images

Figure CN119232328A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of communication technology, and in particular to a rate selection method and device, a computer-readable storage medium, and an electronic device. Background Art
[0002] For MCS rate files, 802.11 currently does not make clear provisions for rate selection. The rate selection algorithm used by the AP is usually related to the settings of the chip manufacturer. Minstrel is a relatively classic rate selection algorithm. Minstrel calculates the throughput by multiplying the rate by the probability of successful transmission, and selects the rate with the highest throughput for the next transmission. Minstrel randomly selects a portion of time for detection in each transmission, and the detection results are used to update the retransmission chain and the rate transmission success probability.
[0003] However, the Minstrel algorithm has certain defects. Minstrel needs to consume a certain amount of detection time to judge the surrounding environment. If the environment is complex and changeable, the results returned by the detection frame may not be able to adapt to the current environment. Minstrel's reliance on detection may cause its hysteresis in environmental perception. And the setting of the detection time will also affect the performance to a certain extent. If the detection time is too short, the environment may not be fully perceived; if the detection time is too long, a lot of time will be consumed in detection, and the ideal effect cannot be achieved.
[0004] In view of the problem that the above-mentioned related technologies have high requirements on the environment when performing rate selection, when the environment is complex and changeable, the results returned by the detection frame may not be able to adapt to the current environment, and the reliability is low, no effective solution has been proposed yet. Summary of the invention
[0005] The embodiments of the present invention provide a rate selection method and device, a computer-readable storage medium, and an electronic device to at least solve the technical problems in the related art that the environment requirements are high when performing rate selection, and when the environment is complex and changeable, the results returned by the detection frame may not be able to adapt to the current environment, resulting in low reliability.
[0006] According to one aspect of an embodiment of the present invention, a rate selection method is provided, including: determining multiple rate gears supported by a client; obtaining a signal reception strength indication RSSI of the client for this transmission; obtaining historical transmission success probabilities corresponding to the multiple rate gears; determining confidences corresponding to the multiple rate gears respectively based on the signal reception strength indication RSSI of the client for this transmission and the historical transmission success probabilities corresponding to the multiple rate gears; and selecting a target rate for the next transmission after the current transmission based on the confidences corresponding to the multiple rate gears and the multiple rate gears.
[0007] Optionally, determining the multiple rate gears supported by the client includes: acquiring the bandwidth, number of streams and transmission protocol type supported by the client; and determining the multiple rate gears supported by the client based on the bandwidth, number of streams and transmission protocol type.
[0008] Optionally, obtaining the historical transmission success probabilities respectively corresponding to the multiple rate gears includes: respectively obtaining successful data packets that were successfully transmitted and failed data packets that were failed to be transmitted in the historical transmissions of the multiple rate gears before the current transmission; based on the successful data packets and the failed data packets, determining the historical transmission success probabilities respectively corresponding to the multiple rate gears.
[0009] Optionally, the confidence levels corresponding to the multiple rate gears are determined based on the signal reception strength indication RSSI of the client for this transmission and the historical transmission success probabilities corresponding to the multiple rate gears, including: determining the confidence intervals corresponding to the multiple rate gears based on the signal reception strength indication RSSI of the client for this transmission and the historical transmission success probabilities corresponding to the multiple rate gears; and determining the confidence upper bounds of the confidence intervals corresponding to the multiple rate gears as the confidence levels.
[0010] Optionally, the confidence levels corresponding to the multiple rate gears are determined based on the signal reception strength indication RSSI of the client for this transmission and the historical transmission success probabilities corresponding to the multiple rate gears, including: based on the multiple rate gears, respectively determining the intermediate variables corresponding to the multiple rate gears; based on the intermediate variables corresponding to the multiple rate gears, respectively determining the confidence levels corresponding to the multiple rate gears.
[0011] Optionally, selecting a target rate for a next transmission after the current transmission based on the confidence levels respectively corresponding to the multiple rate gears and the multiple rate gears includes: determining the target throughputs respectively corresponding to the multiple rate gears based on the confidence levels respectively corresponding to the multiple rate gears and the multiple rate gears; and selecting a target rate for the next transmission after the current transmission from the multiple rate gears based on the target throughputs respectively corresponding to the multiple rate gears.
[0012] Optionally, the target throughput is the product of the corresponding rate and the confidence level, and the target throughputs corresponding to the multiple rate gears respectively, and the target rate for the next transmission after the current transmission is selected from the multiple rate gears, including: selecting the rate corresponding to the maximum target throughput as the target rate.
[0013] According to another aspect of an embodiment of the present invention, a rate selection device is also provided, including: a first determination unit, used to determine multiple rate gears supported by a client; a first acquisition unit, used to obtain the signal reception strength indication RSSI of the client for this transmission; a second acquisition unit, used to obtain the historical transmission success probabilities corresponding to the multiple rate gears; a second determination unit, used to determine the confidences corresponding to the multiple rate gears respectively based on the signal reception strength indication RSSI of the client for this transmission and the historical transmission success probabilities corresponding to the multiple rate gears; a selection unit, used to select a target rate for the next transmission after the current transmission based on the confidences corresponding to the multiple rate gears and the multiple rate gears.
[0014] Optionally, the first determination unit includes: a first acquisition module, used to obtain the bandwidth, number of streams and transmission protocol type supported by the client; a first determination module, used to determine multiple rate gears supported by the client based on the bandwidth, number of streams and transmission protocol type.
[0015] Optionally, the second acquisition unit includes: a second acquisition module, used to respectively acquire successful data packets that were successfully transmitted and failed data packets that were failed to be transmitted in the historical transmissions of the multiple rate gears before the current transmission; and a second determination module, used to determine the historical transmission success probabilities corresponding to the multiple rate gears respectively based on the successful data packets and the failed data packets.
[0016] Optionally, the second determination unit includes: a third determination module, used to determine the confidence intervals corresponding to the multiple rate gears respectively based on the signal reception strength indication RSSI of the client for this transmission, and the historical transmission success probabilities corresponding to the multiple rate gears respectively; a fourth determination module, used to determine the confidence upper bounds of the confidence intervals corresponding to the multiple rate gears respectively as the confidence level.
[0017] Optionally, the second determination unit includes: a fifth determination module, used to determine the intermediate variables corresponding to the multiple speed gears respectively based on the multiple speed gears; and a sixth determination module, used to determine the confidence levels corresponding to the multiple speed gears respectively based on the intermediate variables corresponding to the multiple speed gears respectively.
[0018] Optionally, the selection unit includes: a seventh determination module, used to determine the target throughputs corresponding to the multiple rate gears respectively based on the confidence levels corresponding to the multiple rate gears and the multiple rate gears; and a selection module, used to select the target rate for the next transmission after the current transmission from the multiple rate gears based on the target throughputs corresponding to the multiple rate gears.
[0019] Optionally, the target throughput is the product of the corresponding rate and the confidence level, and the selection module includes: a selection submodule, configured to select a rate corresponding to the maximum target throughput as the target rate.
[0020] According to another aspect of an embodiment of the present invention, a computer-readable storage medium is also provided, wherein the computer-readable storage medium includes a stored executable program, wherein when the executable program is running, the device where the computer-readable storage medium is located is controlled to execute any one of the rate selection methods described above.
[0021] According to another aspect of an embodiment of the present invention, there is also provided an electronic device, comprising: a memory storing an executable program; and a processor for running the program, wherein the program executes any one of the rate selection methods described above when running.
[0022] According to another aspect of an embodiment of the present invention, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the steps of any one of the above-mentioned rate selection methods are implemented.
[0023] In an embodiment of the present invention, multiple rate gears supported by the client are determined; the signal receiving strength indication RSSI of the client is obtained for this transmission; the historical transmission success probabilities corresponding to the multiple rate gears are obtained; the confidences corresponding to the multiple rate gears are determined according to the signal receiving strength indication RSSI of the client for this transmission, and the historical transmission success probabilities corresponding to the multiple rate gears; based on the confidences corresponding to the multiple rate gears and the multiple rate gears, the target rate of the next transmission after this transmission is selected. The technical solution provided by the present invention, compared with other algorithms, avoids the convergence uncertainty caused by relying solely on historical transmission results, combines RSSI as one of the reference indicators for the environment, can make the result of rate selection more accurate, more adaptable to the current environment, so that the selected rate gear for the next data transmission is more in line with the current communication environment, so that the data transmission is more stable, the packet loss rate is reduced, and the data transmission efficiency is improved, thereby solving the technical problems in the related technology that the environment requirements are high when performing rate selection, when the environment is complex and changeable, the results returned by the detection frame may not be able to adapt to the current environment, and the reliability is low. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] The drawings described herein are used to provide a further understanding of the present invention and constitute a part of this application. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation of the present invention. In the drawings:
[0025] Figure 1It is a hardware structure block diagram of a mobile terminal of a rate selection method according to an embodiment of the present invention;
[0026] Figure 2 is a flow chart of a rate selection method according to an embodiment of the present invention;
[0027] Figure 3 is a flow chart of an optional rate selection method according to an embodiment of the present invention;
[0028] Figure 4 is a schematic diagram of a rate selection device according to an embodiment of the present invention. DETAILED DESCRIPTION
[0029] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.
[0030] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0031] As introduced in the background technology, the related technology has high requirements on the environment when performing rate selection. When the environment is complex and changeable, the result returned by the detection frame may not be able to adapt to the current environment, and the reliability is low. In view of this defect, a rate selection method and device, a computer-readable storage medium, an electronic device and a computer program product are provided in the embodiments of the present invention.
[0032] For the convenience of description, some nouns or terms appearing in the embodiments of the present invention are explained below.
[0033] Received Signal Strength Indication (RSSI): It is an optional part of the wireless transmission layer and is used to determine the link quality and whether to increase the broadcast transmission strength.
[0034] Modulation and Coding Scheme (MCS): The factors that affect the communication rate are used as columns of the table, and the MCS index is used as the row to form a rate table. Therefore, each MCS index actually corresponds to the physical transmission rate under a set of parameters.
[0035] The technical solutions in the embodiments of the present invention will be described clearly and completely below in conjunction with the accompanying drawings in the embodiments of the present invention.
[0036] The method embodiments provided in the embodiments of the present invention can be executed in a mobile terminal, a computer terminal or a similar computing device. Taking running on a mobile terminal as an example, Figure 1 FIG. 1 is a hardware structure block diagram of a mobile terminal of a rate selection method according to an embodiment of the present invention. Figure 1 As shown, the mobile terminal may include one or more ( Figure 1 Only one is shown in the figure) a processor 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 for storing data, wherein the mobile terminal may also include a transmission device 106 and an input / output device 108 for communication functions. It can be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the mobile terminal. Figure 1 More or fewer components as shown, or with Figure 1 Different configurations are shown.
[0037] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the rate selection method in the embodiment of the present invention. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, the above method is implemented. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include a memory remotely arranged relative to the processor 102, and these remote memories can be connected to the mobile terminal via a network. Examples of the above-mentioned network include but are not limited to the Internet, an intranet, a local area network, a mobile communication network, and a combination thereof. The transmission device 106 is used to receive or send data via a network. The above-mentioned specific examples of the network may include a wireless network provided by a communication provider of the mobile terminal. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 may be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.
[0038] According to an embodiment of the present invention, a method embodiment of a rate selection method is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0039] Figure 2 is a flow chart of a rate selection method according to an embodiment of the present invention. Figure 2 As shown, the rate selection method includes the following steps:
[0040] Step S202: determine multiple rate levels supported by the client.
[0041] Here, the multiple rate gears supported by the client may be determined according to characteristic information of the client (eg, the bandwidth supported by the client, the number of streams of the client, and the communication protocol supported by the client).
[0042] Optionally, the client can be a computer or device connected to a server or network for requesting and receiving services, resources or data. In computer networks, a client generally refers to a device that initiates a connection and requests services or data from a server, such as a personal computer, a smart phone, a tablet computer, etc.
[0043] Optionally, the rate gear supported by the client refers to the maximum transmission rate that the client device can support. It usually depends on the network interface and wireless technology of the client device. For example, the rate gears commonly supported by wifi client devices include 802.11b, 802.11g, 802.11n and 802.11ac, etc.; and the rate gears commonly supported by mobile network client devices include 3G, 4G and 5G, etc. These rate gears represent the maximum transmission rate that the client device can support, and users can select the corresponding rate gear as needed.
[0044] In the embodiment of the present invention, the client characteristic information may include, but is not limited to: the bandwidth supported by the client, the number of streams of the client, and the communication protocol supported by the client.
[0045] The bandwidth supported by the above clients depends on the network connection capability and hardware performance of the client device. The bandwidth support of the client device can be evaluated and confirmed by network connection type, network speed test, etc. The number of client streams refers to the number of data streams sent or received by the client in a specific time, usually referring to the data streams in network communication, including downloaded and uploaded data. In network transmission, the number of client streams can affect network performance and bandwidth utilization. Therefore, managing and optimizing client stream data is very important to improve network efficiency and user experience.
[0046] Step S204: obtaining the received signal strength indication RSSI of the client for this transmission.
[0047] Here, the signal receiving strength indication RSSI of the above client for this transmission can be obtained.
[0048] In this embodiment, a wireless network management tool or a command execution tool can be used to scan and monitor wireless network signals. For example, in a Windows operating system, a command line tool netsh can be used to scan nearby wireless networks and obtain the RSSI of a client. In Mac and Linux operating systems, similar command line tools can be used to obtain the RSSI of a client.
[0049] Step S206, obtaining historical transmission success probabilities corresponding to a plurality of rate gears.
[0050] Optionally, the above historical transmission success probability is a data transmission success probability when the wireless transmission node AP sends a data packet at a rate selected during the last data transmission.
[0051] In this embodiment, the historical transmission success probabilities corresponding to the multiple rate gears can be obtained, that is, the probability of successful transmission when each of the multiple rate gears corresponding to the client performs data transmission in the historical time period.
[0052] To obtain the transmission success probability of the current rate, a wireless network analysis tool or a network performance monitoring tool may be used to monitor the transmission success rate of data packets.
[0053] Step S208, determining the confidences corresponding to the multiple rate gears respectively according to the received signal strength indication RSSI of the client for the current transmission and the historical transmission success probabilities corresponding to the multiple rate gears respectively.
[0054] Since the prior art generally only selects the rate of the client based on the historical data transmission results of the client, it is easy to cause convergence uncertainty and the data transmission success rate may not be high; here, for this transmission, the client's signal reception strength indication RSSI can be combined with the historical transmission success probabilities corresponding to multiple rate gears to determine the confidence levels corresponding to the multiple rate gears, and then the rate selection can be performed based on the confidence levels corresponding to the multiple rate gears to reduce the packet loss rate and improve the data transmission success rate.
[0055] Step S210: selecting a target rate for the next transmission after the current transmission based on the confidences and the multiple rate gears respectively corresponding to the multiple rate gears.
[0056] Here, a more suitable rate for the next data transmission after the current data transmission, that is, the target rate, can be selected according to the confidences corresponding to the multiple rate gears determined in the previous step and the multiple rate gears of the client.
[0057] As can be seen from the above, in an embodiment of the present invention, multiple rate gears supported by the client can be determined first; then the client's signal reception strength indication RSSI for this transmission is obtained; the historical transmission success probabilities corresponding to the multiple rate gears are also obtained; after the confidences corresponding to the multiple rate gears are determined based on the client's signal reception strength indication RSSI for this transmission and the historical transmission success probabilities corresponding to the multiple rate gears, the target rate for the next transmission after this transmission is selected based on the confidences corresponding to the multiple rate gears and the multiple rate gears. By combining the above-mentioned method of selecting the rate by combining the signal reception strength indication RSSI of the client for this transmission with the historical transmission success probabilities corresponding to the multiple rate gears, compared with other algorithms, the convergence uncertainty caused by relying solely on the historical transmission results is avoided, and RSSI is combined as one of the reference indicators for the environment, so that the result of the rate selection can be more accurate and more adaptable to the current environment, so that the selected rate gear for the next data transmission is more in line with the current communication environment, so that the data transmission is more stable, the packet loss rate is reduced, and the data transmission efficiency is improved.
[0058] Therefore, the technical solution provided by the above-mentioned embodiment of the present invention solves the technical problems in the related technology that the environment requirements are high when performing rate selection, the results returned by the detection frame may not be able to adapt to the current environment when the environment is complex and changeable, and the reliability is low.
[0059] According to the above embodiment of the present invention, determining multiple rate gears supported by the client includes: obtaining the bandwidth, number of streams and transmission protocol type supported by the client; and determining multiple rate gears supported by the client based on the bandwidth, number of streams and transmission protocol type.
[0060] In this embodiment, the multiple rate gears supported by the client can be determined in the above manner, that is, the bandwidth, number of streams and transmission protocol type supported by the client are obtained to determine the multiple rate gears supported by the client.
[0061] According to the above embodiment of the present invention, historical transmission success probabilities corresponding to multiple rate gears are obtained, including: obtaining successful data packets and failed data packets in historical transmissions of multiple rate gears before the current transmission, respectively; based on the successful data packets and failed data packets, determining the historical transmission success probabilities corresponding to the multiple rate gears.
[0062] In this embodiment, the number of successful data packets that have successfully transmitted data and the number of data packets that have failed to transmit in the historical transmissions before the current transmission at multiple rate gears can be obtained respectively, so that the transmission success probability corresponding to the multiple rate gears can be determined according to the number of successfully transmitted data packets and the number of failed data packets, that is, the historical transmission success probability.
[0063] According to the above embodiment of the present invention, the confidence levels corresponding to the multiple rate gears are determined based on the signal reception strength indication RSSI of the client for this transmission and the historical transmission success probabilities corresponding to the multiple rate gears, including: determining the confidence intervals corresponding to the multiple rate gears based on the signal reception strength indication RSSI of the client for this transmission and the historical transmission success probabilities corresponding to the multiple rate gears; determining the confidence upper bounds of the confidence intervals corresponding to the multiple rate gears as the confidence level.
[0064] In this embodiment, the confidence intervals corresponding to the multiple rate gears of the client can be determined based on two factors: the client's signal reception strength indication RSSI for this transmission and the historical transmission success probabilities corresponding to the multiple rate gears. Then, the confidence upper bounds of the confidence intervals corresponding to the multiple rate gears are used as the confidence level.
[0065] In addition, in this embodiment, the success probability of this transmission needs to be determined first, which can be accomplished by the following formula: A represents the estimated probability of success in this transmission using MCS rate level a. Before this transmission begins, the AP already knows the results of historical transmissions. a Indicates the historical cumulative number of successful transmissions at each MCS rate level, b a Indicates the historical cumulative number of transmission failures for each MCS rate level; B a represents a d*k dimensional matrix, which is the initial setting value, as The coefficient of It should be noted that in the embodiment of the present invention, 0 can be used to indicate a transmission failure, 1 can be used to indicate a transmission success, and this value can be recorded in the transmission result x of the tth MCS rate level a. t,a middle.
[0066] Here we can also update the common characteristics of all rate gears, that is, the linear function zβ of signal strength RSSI * , z represents the coefficient of the linear function, which is used to control the signal strength RSSI within the expected value E[r t,a |x t,a ]The weight occupied by .
[0067] Next, we can determine the confidence intervals corresponding to the multiple speed gears, and then determine the confidence upper bounds of the confidence intervals corresponding to the multiple speed gears as the confidence level. This can be achieved by the following formula: p t,a It represents the upper bound of the confidence interval of the expected value of the t-th transmission using MCS rate level a. A linear function representing the signal strength RSSI, is the transpose of the coefficients of the linear function, represents the transpose of the eigenvector corresponding to each MCS rate level a, s t,a Indicates the confidence of the algorithm.
[0068] The above confidence level s t,a It can be expressed by the following formula: A represents the transpose of the eigenvector corresponding to each MCS rate level a. a Indicates the historical cumulative number of successful transmissions for each MCS rate level. The inverse matrix representing the historical cumulative number of successful transmissions for each MCS rate level, B a Indicates the initial setting value.
[0069] According to the above-mentioned embodiment of the present invention, based on the signal receiving strength indication RSSI of the client for this transmission, and the historical transmission success probabilities corresponding to the multiple rate gears, the confidence levels corresponding to the multiple rate gears are determined, including: based on the multiple rate gears, respectively determining the intermediate variables corresponding to the multiple rate gears; based on the intermediate variables corresponding to the multiple rate gears, respectively determining the confidence levels corresponding to the multiple rate gears.
[0070] In this embodiment, the intermediate variables respectively corresponding to the multiple speed gears can be determined, and then the confidence levels respectively corresponding to the multiple speed gears can be determined according to the intermediate variables respectively corresponding to the multiple speed gears.
[0071] Specifically, the intermediate variables corresponding to the multiple speed gears can be determined first, that is, the characteristic vectors x corresponding to the multiple speed gears can be determined respectively. t,a , the AP determines all the MCS rate files supported by the client through the client's characteristic information. According to the MCS rate table, each MCS rate file has a clear corresponding transmission rate value. The characteristic vector x t,a Indicates the transmission rate value corresponding to the MCS rate level a selected for the t-th transmission. After the above intermediate variables are determined, the confidences corresponding to the multiple rate levels can be determined based on the intermediate variables corresponding to the multiple rate levels.
[0072] For example, suppose the current AP is preparing to perform the tth data transmission, and each MCS rate level a has a corresponding feature vector x t,a (i.e., the transmission rate value MCS rate level corresponding to the MCS rate level a selected at the t-th transmission) and the MCS rate level corresponding to the t-th transmission The RSSI of the signal received by the client during this transmission is a common parameter for all MCS rate levels and is expressed as β * Therefore, the expected value of the transmission result of each MCS rate file can be expressed as a linear function zβ of RSSI * The function of the MCS rate profile feature vector for each rate, i.e. the throughput r of this transmission t,a At a given transmission rate x t,a Expectations:
[0073] After initializing the feature vectors of all speed levels in the above way, we can start calculating the estimated return and confidence interval for each MCS speed level. If this level has never been tried, we can set A a is the d-dimensional identity matrix, set b a is a k-dimensional zero vector, B a It is a d*k dimensional matrix.
[0074] According to the above embodiment of the present invention, based on the confidence levels and the multiple rate levels respectively corresponding to the multiple rate levels, a target rate for the next transmission after the current transmission is selected, including: based on the confidence levels and the multiple rate levels respectively corresponding to the multiple rate levels, respectively determining the target throughputs respectively corresponding to the multiple rate levels; based on the target throughputs respectively corresponding to the multiple rate levels, selecting the target rate for the next transmission after the current transmission from the multiple rate levels.
[0075] In this embodiment, the target throughputs corresponding to the multiple rate gears can be determined based on the confidence levels corresponding to the multiple rate gears and the multiple rate gears, and then the target rate for the next transmission after the current transmission can be selected from the multiple rate gears based on the target throughputs corresponding to the multiple rate gears.
[0076] According to the above embodiment of the present invention, the target throughput is the product of the corresponding rate and the confidence level. Based on the target throughputs corresponding to the multiple rate gears, the target rate for the next transmission after the current transmission is selected from the multiple rate gears, including: selecting the rate corresponding to the maximum target throughput as the target rate.
[0077] In this embodiment, the target throughput may be the product of the corresponding rate and the confidence determined above. In this case, based on the target throughputs corresponding to the multiple rate gears, the target rate for the next transmission after the current transmission is selected from the multiple rate gears to meet the following condition, that is, the selected target rate should be the rate corresponding to the maximum target throughput.
[0078] That is, the rate gear with the largest upper bound of the expected benefit confidence interval is selected as the next transmission rate (i.e., the target rate). Among them, the final selected rate, i.e., the next transmission rate satisfies the following formula: Among them, a t Indicates the rate level a to be selected for the t-th transmission, indicating that the rate level a to be selected for the t-th transmission should satisfy the upper bound of the expected value confidence interval p t,a Maximum, that is, the rate file a selected for the tth transmission should meet the maximum throughput, and a must belong to the rate in the MCS rate table that the client can use.
[0079] In addition, in the embodiment of the present invention, α (0<α≤1) is the exploration-exploitation (EE) coefficient. If α approaches 1, it means that the utilization coefficient is large, and the confidence interval p t,aThe larger the upper bound, the more confident the LinUCB algorithm is in the current selection result, and the algorithm will select the rate gear with the greatest benefit. If α approaches 0, it means that the exploration coefficient is large, and the algorithm will tend to try to use rate gears that have never been used or have been selected less times, so as to reduce the confidence interval of these rate gears.
[0080] Figure 3 is a flow chart of an optional rate selection method according to an embodiment of the present invention, such as Figure 3 As shown, first, all the rate levels that the client can support can be determined, wherein the transmission success probability corresponding to the initial rate level is initialized; then the characteristic vector of each rate level can be obtained, and the estimated return and its confidence interval of each rate level can be calculated; the RSSI and transmission results of this transmission can be recorded; then the linear function of RSSI can be updated, and the characteristic vector of each rate level can be updated according to the transmission results; after calculating the upper bound of the expected return confidence interval of each rate level, the maximum rate of the previous expected return confidence interval is found to be the transmission rate for the next time.
[0081] Through the technical solution provided by the above embodiment of the present invention, the LinUCB algorithm is combined with the transmission results corresponding to the RSSI and the rate gear to perform the next round of rate selection. Compared with other algorithms, the convergence uncertainty caused by relying solely on historical transmission results is avoided. RSSI is combined as one of the reference indicators for the environment, which can make the result of rate selection more accurate and more adaptable to the current environment. In addition, the scheme combines the classic recommendation algorithm LinUCB algorithm as a rate selection scheme, effectively combines the idea of reinforcement learning, and has the innovative significance of applying reinforcement learning to rate selection. It realizes the feedback of current environmental changes based on RSSI and historical transmission results, without detection, avoiding the hysteresis of environmental response caused by detection. At the same time, compared with the existing algorithm, the RSSI indicator is introduced as a reference to the environment, which improves the sensitivity of the response to environmental changes and can select the rate suitable for the current environment more quickly.
[0082] It should be noted that, for the aforementioned method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the present application is not limited by the described order of actions, because according to the present application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present application.
[0083] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in each embodiment of the present application.
[0084] According to an embodiment of the present invention, a rate selection device for implementing the above rate selection method is also provided. Figure 4 is a schematic diagram of a rate selection device according to an embodiment of the present invention. Figure 4 As shown, the rate selection device includes: a first determination unit 401, a first acquisition unit 403, a second acquisition unit 405, a second determination unit 407 and a selection unit 409. The rate selection device is described below.
[0085] The first determining unit 401 is configured to determine a plurality of rate levels supported by the client.
[0086] The first acquisition unit 403 is configured to acquire a received signal strength indication RSSI of the client for this transmission.
[0087] The second acquisition unit 405 is used to acquire historical transmission success probabilities corresponding to a plurality of rate gears.
[0088] The second determining unit 407 is used to determine the confidences corresponding to the multiple rate gears respectively according to the received signal strength indication RSSI of the client for the current transmission and the historical transmission success probabilities corresponding to the multiple rate gears respectively.
[0089] The selection unit 409 is configured to select a target rate for the next transmission after the current transmission based on the confidences and the multiple rate gears respectively corresponding to the multiple rate gears.
[0090] It should be noted here that the above-mentioned first determination unit 401, first acquisition unit 403, second acquisition unit 405, second determination unit 407 and selection unit 409 correspond to steps S202 to S210 in the above-mentioned embodiments, and the five units are the same as the instances and application scenarios implemented by the corresponding steps, but are not limited to the contents disclosed in the above-mentioned embodiments.
[0091] As can be seen from the above, in the scheme recorded in the above-mentioned embodiment of the present invention, a first determination unit can be used to determine multiple rate gears supported by the client; then a first acquisition unit is used to obtain the client's signal reception strength indication RSSI for this transmission; then a second acquisition unit is used to obtain the historical transmission success probabilities corresponding to the multiple rate gears; and the second determination unit is used to determine the confidences corresponding to the multiple rate gears according to the client's signal reception strength indication RSSI for this transmission and the historical transmission success probabilities corresponding to the multiple rate gears; and a selection unit is used to select the target rate for the next transmission after the current transmission based on the confidences corresponding to the multiple rate gears and the multiple rate gears. Compared with other rate selection methods, it avoids the convergence uncertainty caused by relying solely on historical transmission results, and combines RSSI as one of the reference indicators for the environment, so that the result of rate selection can be more accurate and more adaptable to the current environment, so that the selected rate gear for the next data transmission is more in line with the current communication environment, so that the data transmission is more stable, the packet loss rate is reduced, and the data transmission efficiency is improved.
[0092] Therefore, the technical solution provided by the above-mentioned embodiment of the present invention solves the technical problems in the related technology that the environment requirements are high when performing rate selection, the results returned by the detection frame may not be able to adapt to the current environment when the environment is complex and changeable, and the reliability is low.
[0093] Optionally, the first determination unit includes: a first acquisition module, used to obtain the bandwidth, number of streams and transmission protocol type supported by the client; a first determination module, used to determine multiple rate gears supported by the client based on the bandwidth, number of streams and transmission protocol type.
[0094] Optionally, the second acquisition unit includes: a second acquisition module, used to respectively acquire successful data packets that were successfully transmitted and failed data packets that were failed to be transmitted in historical transmissions of multiple rate gears before the current transmission; a second determination module, used to determine the historical transmission success probabilities corresponding to the multiple rate gears based on the successful data packets and failed data packets.
[0095] Optionally, the second determination unit includes: a third determination module, used to determine the confidence intervals corresponding to multiple rate gears based on the client's signal reception strength indication RSSI for this transmission, and the historical transmission success probabilities corresponding to the multiple rate gears; a fourth determination module, used to determine the confidence upper bounds of the confidence intervals corresponding to the multiple rate gears as the confidence level.
[0096] Optionally, the second determination unit includes: a fifth determination module, used to determine the intermediate variables corresponding to the multiple speed gears respectively based on the multiple speed gears; and a sixth determination module, used to determine the confidence levels corresponding to the multiple speed gears respectively based on the intermediate variables corresponding to the multiple speed gears respectively.
[0097] Optionally, the selection unit includes: a seventh determination module, used to determine the target throughputs corresponding to the multiple rate gears respectively based on the confidence levels and the multiple rate gears respectively corresponding to the multiple rate gears; a selection module, used to select the target rate for the next transmission after the current transmission from the multiple rate gears based on the target throughputs corresponding to the multiple rate gears respectively.
[0098] Optionally, the target throughput is the product of the corresponding rate and the confidence level, and the selection module includes: a selection submodule, configured to select the rate corresponding to the maximum target throughput as the target rate.
[0099] According to another aspect of an embodiment of the present invention, a computer-readable storage medium is also provided, the computer-readable storage medium including a stored executable program, wherein when the executable program runs, the device where the computer-readable storage medium is located is controlled to execute any one of the above-mentioned rate selection methods.
[0100] According to another aspect of an embodiment of the present invention, a computer-readable storage medium is provided, the computer-readable storage medium comprising a stored program, wherein the program executes any one of the above rate selection methods.
[0101] Optionally, in this embodiment, the computer-readable storage medium may be located in any one of the computer terminals in a computer terminal group in a computer network, or in any one of the communication devices in a communication device group.
[0102] Optionally, in this embodiment, a computer-readable storage medium is configured to store program code for executing the following steps: determining multiple rate gears supported by the client; obtaining the client's signal reception strength indication RSSI for this transmission; obtaining historical transmission success probabilities corresponding to the multiple rate gears; determining confidence levels corresponding to the multiple rate gears based on the client's signal reception strength indication RSSI for this transmission and the historical transmission success probabilities corresponding to the multiple rate gears; and selecting a target rate for the next transmission after the current transmission based on the confidence levels corresponding to the multiple rate gears and the multiple rate gears.
[0103] Optionally, in this embodiment, the computer-readable storage medium is configured to store program code for performing the following steps: obtaining the bandwidth, number of streams and transmission protocol type supported by the client; and determining multiple rate gears supported by the client based on the bandwidth, number of streams and transmission protocol type.
[0104] Optionally, in this embodiment, the computer-readable storage medium is configured to store program codes for executing the following steps: respectively obtaining successful data packets and failed data packets of multiple rate gears in historical transmissions before the current transmission; and determining the historical transmission success probabilities corresponding to the multiple rate gears based on the successful data packets and failed data packets.
[0105] Optionally, in this embodiment, the computer-readable storage medium is configured to store program code for executing the following steps: determining confidence intervals corresponding to the multiple rate gears respectively based on the client's signal reception strength indication RSSI for this transmission, and the historical transmission success probabilities corresponding to the multiple rate gears respectively; determining the confidence upper bounds of the confidence intervals corresponding to the multiple rate gears respectively as the confidence level.
[0106] Optionally, in this embodiment, the computer-readable storage medium is configured to store program code for executing the following steps: based on multiple speed gears, respectively determining intermediate variables corresponding to the multiple speed gears; based on the intermediate variables corresponding to the multiple speed gears, respectively determining confidence levels corresponding to the multiple speed gears.
[0107] Optionally, in this embodiment, the computer-readable storage medium is configured to store program code for performing the following steps: based on the confidence levels and the multiple rate gears respectively corresponding to the multiple rate gears, respectively determine the target throughputs corresponding to the multiple rate gears; based on the target throughputs corresponding to the multiple rate gears, respectively, select a target rate for the next transmission after the current transmission from the multiple rate gears.
[0108] Optionally, in this embodiment, the computer-readable storage medium is configured to store program codes for executing the following steps: selecting a rate corresponding to a maximum target throughput as a target rate.
[0109] According to another aspect of an embodiment of the present invention, there is also provided an electronic device, comprising: a memory storing an executable program; and a processor for running the program, wherein any one of the above rate selection methods is executed when the program is running.
[0110] According to another aspect of an embodiment of the present invention, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the steps of any one of the above rate selection methods are implemented.
[0111] The serial numbers of the above embodiments of the present invention are only for description and do not represent the advantages or disadvantages of the embodiments.
[0112] In the above embodiments of the present invention, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0113] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. Among them, the device embodiments described above are only schematic. For example, the division of the units can be a logical function division. There may be other division methods in actual implementation. For example, multiple units 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 units or modules, which can be electrical or other forms.
[0114] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple units. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
[0115] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0116] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for a computer device (which can be a personal computer, a server or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: U disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), mobile hard disk, magnetic disk or optical disk and other media that can store program codes.
[0117] The above is only a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principle of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.
Claims
1. A rate selection method, characterized in that: include: Determine the multiple rate levels supported by the client; Obtaining a signal receiving strength indication RSSI of the client for this transmission; Obtaining historical transmission success probabilities corresponding to the multiple rate gears respectively; Determine the confidences corresponding to the multiple rate gears respectively according to the RSSI of the signal reception strength indication of the client for the current transmission and the historical transmission success probabilities corresponding to the multiple rate gears respectively; Based on the confidences respectively corresponding to the multiple rate gears and the multiple rate gears, a target rate for a next transmission after the current transmission is selected.
2. The rate selection method according to claim 1, characterized in that: The determining of the multiple rate gears supported by the client includes: Obtain the bandwidth, number of streams and transmission protocol type supported by the client; Based on the bandwidth, number of streams and transmission protocol type, multiple rate gears supported by the client are determined.
3. The rate selection method according to claim 1, characterized in that: The obtaining of the historical transmission success probabilities respectively corresponding to the plurality of rate gears includes: Respectively obtain successful data packets that are successfully transmitted and failed data packets that are failed to be transmitted in historical transmissions of the multiple rate gears before the current transmission; Based on the successful data packet and the failed data packet, historical transmission success probabilities corresponding to the multiple rate gears are determined.
4. The rate selection method according to claim 1, characterized in that: The determining, according to the RSSI of the signal receiving strength indication of the client for the current transmission and the historical transmission success probabilities corresponding to the multiple rate gears, the confidences corresponding to the multiple rate gears respectively include: Determine the confidence intervals corresponding to the multiple rate gears respectively according to the RSSI of the signal receiving strength indication of the client for the current transmission and the historical transmission success probabilities corresponding to the multiple rate gears respectively; Determine the confidence upper bounds of the confidence intervals corresponding to the multiple speed gears respectively as the confidence level.
5. The rate selection method according to claim 1, characterized in that: The determining, according to the RSSI of the signal receiving strength indication of the client for the current transmission and the historical transmission success probabilities corresponding to the multiple rate gears, the confidences corresponding to the multiple rate gears respectively include: Based on the multiple speed gears, respectively determine the intermediate variables corresponding to the multiple speed gears; Based on the intermediate variables respectively corresponding to the multiple speed gears, the confidence levels respectively corresponding to the multiple speed gears are determined.
6. The rate selection method according to any one of claims 1 to 5, characterized in that: The selecting, based on the confidences respectively corresponding to the multiple rate gears and the multiple rate gears, a target rate for the next transmission after the current transmission comprises: Determining target throughputs corresponding to the multiple rate gears respectively based on the confidences corresponding to the multiple rate gears and the multiple rate gears; Based on the target throughputs respectively corresponding to the multiple rate gears, a target rate for next transmission after the current transmission is selected from the multiple rate gears.
7. The rate selection method according to claim 6, characterized in that: The target throughput is the product of the corresponding rate and the confidence level, and the selecting, based on the target throughputs respectively corresponding to the multiple rate gears, a target rate for the next transmission after the current transmission from the multiple rate gears includes: The rate corresponding to the maximum target throughput is selected as the target rate.
8. A rate selection device, characterized in that: include: A first determining unit, configured to determine a plurality of rate gears supported by the client; A first acquisition unit is used to acquire a received signal strength indication RSSI of the client for this transmission; A second acquisition unit is used to acquire the historical transmission success probabilities respectively corresponding to the multiple rate gears; A second determining unit is used to determine the confidences corresponding to the multiple rate gears respectively according to the signal receiving strength indication RSSI of the client for the current transmission and the historical transmission success probabilities corresponding to the multiple rate gears respectively; The selection unit is used to select a target rate for a next transmission after the current transmission based on the confidences respectively corresponding to the multiple rate gears and the multiple rate gears.
9. A computer-readable storage medium, characterized in that: The computer-readable storage medium includes a stored executable program, wherein when the executable program is executed, the device where the computer-readable storage medium is located is controlled to execute the rate selection method according to any one of claims 1 to 7.
10. An electronic device, characterized in that: include: A memory storing an executable program; A processor, configured to run the program, wherein the program, when running, executes the rate selection method described in any one of claims 1 to 7.
11. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the rate selection method according to any one of claims 1 to 7 is implemented.
