A data transmission method, apparatus, device and medium

By adjusting parameters such as CWmin, CWmax, and AIFSN, the data block transmission process during audio and video transmission was optimized, solving the latency problem of WIFI audio and video transmission and achieving more efficient data transmission.

CN115567987BActive Publication Date: 2025-11-25HANGZHOU HUACHENG SOFTWARE TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202211104018.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-09-09
Publication Date
2025-11-25
Estimated Expiration
2042-09-09

AI Technical Summary

Technical Problem

In the process of audio and video transmission based on WIFI, the audio and video frame packets are too large to be sent within the fixed TXOP Limit, resulting in increased latency, especially the larger the frame occupies in the packet, the greater the latency.

Method used

By determining the transmission time based on the size of the service data block, the actual transmission rate, and the set effective transmission rate coefficient, CWmin, CWmax, and AIFSN are adjusted to preempt the target channel and send service packets. These parameters are dynamically adjusted to optimize data transmission.

Benefits of technology

It reduces the latency of WIFI data transmission, improves data transmission efficiency, and ensures that service packets are successfully sent within one TXOP.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115567987B_ABST
    Figure CN115567987B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a data transmission method, device, equipment and medium, the method comprising: determining a sending time based on a size of a service data block to be sent and an effective sending rate, wherein the effective sending rate is determined based on an actual sending rate and a set effective sending rate coefficient; determining a transmission opportunity limit TXOP Limit corresponding to the service data block according to a set deviation coefficient and the determined sending time; pre-empting a target channel according to a minimum contention window CWmin, a maximum contention window CWmax and an arbitration interframe space AIFSN of the service data block; and sending service packets included in the service data block through the pre-empted target channel based on the TXOP Limit. The present disclosure can reduce the latency of existing WIFI-based data transmission.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of communication technology, and in particular to a data transmission method, apparatus, device and medium. Background Technology

[0002] In audio and video transmission based on Wi-Fi (Wi-Fi wireless network communication technology), the audio and video generally adopt the IEEE 802.11e protocol. The IEEE 802.11e protocol defines EDCA (Enhanced Distributed Channel Access), which specifies four access categories (ACs), each corresponding to a type of data. Each access category is configured with TXOP (Transmission Opportunity) parameters: CWmin (minimum contention window), CWmax (maximum contention window), TXOP Limit (Transmission Opportunity Limit), and AIFS (Arbitration Inter-Frame Spacing).

[0003] In existing audio and video transmission processes, data transmission is typically based on a fixed TXOP parameter. Audio and video are generally encoded, transmitted, and decoded in the form of frames (data blocks). A single frame in an audio or video transmission often involves multiple packets. Since these packets are too large to be transmitted within the TXOP limit, they are usually transmitted through multiple TXOPs. Each TXOP requires contention based on the configured TXOP parameters. If the contention fails, it must back off and compete again until successful transmission. This increases the latency of audio and video transmission, and the more packets the audio and video frames occupy, the greater the transmission latency. Summary of the Invention

[0004] This disclosure provides a data transmission method, apparatus, device, and medium to reduce the latency of existing WIFI-based data transmission.

[0005] According to a first aspect of the present disclosure, a data transmission method is provided, the method comprising:

[0006] The sending time is determined based on the size of the service data block to be sent and the effective sending rate, wherein the effective sending rate is determined based on the actual sending rate and the set effective sending rate coefficient.

[0007] Based on the determined transmission time and the set deviation coefficient, the TXOPLimit corresponding to the service data block is determined;

[0008] Based on the CWmin, CWmax and AIFSN of the service data block, preempt the target channel;

[0009] Based on the TXOP Limit, the service packets included in the service data block are sent through the preempted target channel.

[0010] This disclosure determines the TXOP Limit corresponding to the service data block by using the size of the service data block, the actual transmission rate, the effective transmission rate coefficient, and the deviation coefficient. This enables the service messages included in the service data block to be sent out through a single TXOP, reducing the latency of existing WIFI-based data transmission.

[0011] In one possible implementation, before preempting the target channel based on the CWmin, CWmax, and AIFSN of the service data block, the method further includes:

[0012] Based on the pre-set correspondence between data block types and parameter sets, the parameter set corresponding to the service type of the service data block is determined, wherein the parameter set includes some or all of CWmin, CWmax, and AIFSN.

[0013] This disclosure determines the parameter set corresponding to the service type of the service data block based on the pre-set correspondence between data block types and parameter sets, thereby increasing the success rate of the service data block in preempting the target channel and reducing the latency of existing WIFI-based data transmission.

[0014] In one possible implementation, before preempting the target channel based on the CWmin, CWmax, and AIFSN of the service data block, the method further includes:

[0015] Determine a set number of first service packets without source port information and second service packets with source port information from historically transmitted service packets that have been successfully sent.

[0016] Based on the ratio of the number of the first service messages to the number of the second service messages, adjust some or all of the CWmin, CWmax, and AIFSN of the service data block.

[0017] This disclosure adjusts some or all of the CWmin, CWmax, and AIFSN of the service data block by using the ratio of the number of the first service message and the number of the second service message in the historical service messages, thereby dynamically ensuring the transmission opportunity of service messages of other service data blocks and preventing the service messages of other service data blocks from being unable to be sent in time due to preemption.

[0018] In one possible implementation, adjusting part or all of the CWmin, CWmax, and AIFSN of the service data block based on the ratio of the number of the first service packets to the number of the second service packets includes:

[0019] If the ratio of the number of the first service packets to the number of the second service packets is lower than a set first threshold, then some or all of the CWmin, CWmax and AIFSN of the service data block are increased.

[0020] If the ratio of the number of the first service packets to the number of the second service packets is higher than the set second threshold, then reduce some or all of the CWmin, CWmax and AIFSN of the service data block.

[0021] Wherein, the first threshold is less than the second threshold.

[0022] When the proportion of the first message is small, this disclosure reduces the priority of the service messages included in the service data block by increasing some or all of CWmin, CWmax, and AIFSN, thereby increasing the transmission opportunity of service messages in other service data blocks; when the proportion of the first message is large, it increases the priority of the service messages included in the service data block by reducing some or all of CWmin, CWmax, and AIFSN, thereby reducing the transmission opportunity of service messages in other service data blocks.

[0023] In one possible implementation, increasing some or all of CWmin, CWmax, and AIFSN of the service data block includes:

[0024] Increase some or all of the CWmin, CWmax, and AIFSN of the aforementioned service data block by their respective set first multiples; or

[0025] Based on the pre-set correspondence between the difference range and the first multiple corresponding to each parameter in the parameter set, determine the first multiple corresponding to each parameter in the parameter set corresponding to the difference range where the first difference between the first threshold and the ratio is located, and increase some or all of CWmin, CWmax and AIFSN of the service data block according to the corresponding determined first multiple.

[0026] In one possible implementation, reducing some or all of the CWmin, CWmax, and AIFSN of the service data block includes:

[0027] Reduce some or all of the CWmin, CWmax, and AIFSN of the aforementioned service data block by a corresponding set second multiple; or

[0028] Based on the pre-set correspondence between the difference range and the second multiple corresponding to each parameter in the parameter set, the second multiple corresponding to each parameter in the parameter set corresponding to the difference range where the second difference between the second threshold and the ratio is located is determined. Part or all of the CWmin, CWmax and AIFSN of the service data block are reduced according to the corresponding determined second multiple, wherein the first multiple corresponding to the same parameter is less than the second multiple.

[0029] According to a second aspect of the present disclosure, a data transmission apparatus is provided, the apparatus comprising:

[0030] The first determining module is used to determine the transmission time based on the size of the service data block to be transmitted and the effective transmission rate, wherein the effective transmission rate is determined based on the actual transmission rate and the set effective transmission rate coefficient.

[0031] The second determining module is used to determine the TXOP Limit corresponding to the service data block based on the determined sending time and the set deviation coefficient.

[0032] The preemption module is used to preempt the target channel based on the CWmin, CWmax and AIFSN of the service data block;

[0033] The sending module is used to send the service messages included in the service data block through the preempted target channel based on the TXOP Limit.

[0034] In one possible implementation, before preempting the target channel based on the CWmin, CWmax, and AIFSN of the service data block, the apparatus further includes:

[0035] The third determining module is used to determine the parameter set corresponding to the service type of the service data block according to the pre-set correspondence between the data block type and the parameter set, wherein the parameter set includes some or all of CWmin, CWmax and AIFSN.

[0036] In one possible implementation, before preempting the target channel based on the CWmin, CWmax, and AIFSN of the service data block, the apparatus further includes:

[0037] The fourth determination module is used to determine a set number of first service packets without source port information and second service packets with source port information from historical service packets that have been successfully sent.

[0038] The adjustment module is used to adjust some or all of the CWmin, CWmax, and AIFSN of the service data block according to the ratio of the number of the first service packets to the number of the second service packets.

[0039] In one possible implementation, the adjustment module is configured to adjust part or all of the CWmin, CWmax, and AIFSN of the service data block according to the ratio of the number of the first service packets to the number of the second service packets, including:

[0040] If the ratio of the number of the first service packets to the number of the second service packets is lower than a set first threshold, then some or all of the CWmin, CWmax and AIFSN of the service data block are increased.

[0041] If the ratio of the number of the first service packets to the number of the second service packets is higher than the set second threshold, then reduce some or all of the CWmin, CWmax and AIFSN of the service data block.

[0042] Wherein, the first threshold is less than the second threshold.

[0043] In one possible implementation, the adjustment module is used to increase some or all of the CWmin, CWmax, and AIFSN of the service data block, including:

[0044] Increase some or all of the CWmin, CWmax, and AIFSN of the aforementioned service data block by their respective set first multiples; or

[0045] Based on the pre-set correspondence between the difference range and the first multiple corresponding to each parameter in the parameter set, determine the first multiple corresponding to each parameter in the parameter set corresponding to the difference range where the first difference between the first threshold and the ratio is located, and increase some or all of CWmin, CWmax and AIFSN of the service data block according to the corresponding determined first multiple.

[0046] In one possible implementation, the adjustment module is used to reduce some or all of the CWmin, CWmax, and AIFSN of the service data block, including:

[0047] Reduce some or all of the CWmin, CWmax, and AIFSN of the aforementioned service data block by a corresponding set second multiple; or

[0048] Based on the pre-set correspondence between the difference range and the second multiple corresponding to each parameter in the parameter set, the second multiple corresponding to each parameter in the parameter set corresponding to the difference range where the second difference between the second threshold and the ratio is located is determined. Part or all of the CWmin, CWmax and AIFSN of the service data block are reduced according to the corresponding determined second multiple, wherein the first multiple corresponding to the same parameter is less than the second multiple.

[0049] According to a third aspect of the present disclosure, an electronic device is provided, comprising: a processor; and a memory for storing processor-executable instructions; wherein the processor implements the steps of the above-described data transmission method by executing the executable instructions.

[0050] According to a fourth aspect of the present disclosure, a computer-readable storage medium is provided that stores computer instructions thereon, which, when executed by a processor, implement the steps of the above-described data transmission method. Attached Figure Description

[0051] To more clearly illustrate the technical solutions in the embodiments of this disclosure, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this disclosure. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0052] Figure 1 This is a schematic diagram illustrating an application scenario according to an exemplary embodiment;

[0053] Figure 2 This is a flowchart illustrating a data transmission method according to an exemplary embodiment;

[0054] Figure 3 This is a schematic diagram of a data transmission method according to an exemplary embodiment;

[0055] Figure 4 This is a detailed flowchart illustrating a data transmission method according to an exemplary embodiment;

[0056] Figure 5 This is a schematic diagram illustrating a data transmission apparatus according to an exemplary embodiment;

[0057] Figure 6 This is a schematic diagram of an electronic device illustrating a data transmission method according to an exemplary embodiment;

[0058] Figure 7 This is a schematic diagram of a program product illustrating a data transmission method according to an exemplary embodiment. Detailed Implementation

[0059] To make the objectives, technical solutions, and advantages of this disclosure clearer, the disclosure will be further described in detail below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this disclosure, and not all embodiments. Based on the embodiments of this disclosure, all other embodiments obtained by those skilled in the art without creative effort are within the protection scope of this disclosure.

[0060] The following are explanations of some of the words that appear in the text:

[0061] 1. In the embodiments of this disclosure, the term "and / or" describes the relationship between associated objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. The character " / " generally indicates that the preceding and following associated objects have an "or" relationship.

[0062] 2. The terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this disclosure are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this disclosure described herein can be implemented in orders other than those illustrated or described herein.

[0063] The application scenarios described in this disclosure are for the purpose of more clearly illustrating the technical solutions of this disclosure and do not constitute a limitation on the technical solutions provided in this disclosure. Those skilled in the art will understand that with the emergence of new application scenarios, the technical solutions provided in this disclosure are also applicable to similar technical problems. In the description of this disclosure, unless otherwise stated, "multiple" means two or more.

[0064] In Wi-Fi-based audio and video transmission, the audio and video generally use the IEEE 802.11e protocol. The EDCA defined by the IEEE 802.11e protocol specifies four access types, each corresponding to a type of data. Each access type is configured with TXOP parameters: CWmin, CWmax, TXOP Limit, and AIFS. AIFS is the inter-frame interval for waiting before transmitting data; its value varies depending on the service type, being greater for lower-priority services than for higher-priority services, meaning a longer waiting time for channel idleness and delayed channel access. CWmin and CWmax are timers set to any value between [1, CW+1] during each backoff process after waiting for one AIFS. Smaller CWmin and CWmax values ​​mean a higher probability of the station accessing the channel, thus corresponding to higher priority. TXOP Limit is the maximum duration of TXOP. A station that obtains TXOP can continuously transmit multiple frames within the TXOP Limit time without re-competing for the channel, helping to improve channel utilization.

[0065] In existing audio and video transmission processes, data transmission is typically based on a fixed TXOP parameter. Audio and video are generally encoded, transmitted, and decoded in the form of frames (data blocks). A single frame in an audio or video transmission often involves multiple packets. Since these packets are too large to be transmitted within the TXOP limit, they are usually transmitted through multiple TXOPs. Each TXOP requires contention based on the configured TXOP parameters. If the contention fails, it must back off and compete again until successful transmission. This increases the latency of audio and video transmission, and the more packets the audio and video frames occupy, the greater the transmission latency.

[0066] Therefore, in order to solve the above problems, this disclosure provides a data transmission method, apparatus, device and medium to reduce the latency of existing WIFI-based data transmission.

[0067] First refer to Figure 1 This is a schematic diagram illustrating an application scenario of an embodiment of this disclosure, including communication device A and communication device B. Communication device A and communication device B can be mobile phones, computers, etc., and communication device A is used to transmit data with communication device B via a WIFI network.

[0068] In some embodiments, the data transmission method provided in this disclosure is described below through specific examples, such as... Figure 2 As shown, it includes:

[0069] Step 201: Determine the transmission time based on the size of the service data block to be transmitted and the effective transmission rate, wherein the effective transmission rate is determined based on the actual transmission rate and the set effective transmission rate coefficient;

[0070] This disclosure allows obtaining the actual transmission rate by real-time monitoring of the current Wi-Fi negotiation rate. The aforementioned effective transmission rate coefficient can be 70% or other values. The size of the aforementioned service data block is obtained based on the service data block through the service layer calling the transmission interface DH_TXOP_SOCKET.

[0071] Step 202: Determine the TXOP Limit corresponding to the service data block based on the determined sending time and the set deviation coefficient;

[0072] The deviation coefficient set above can be 150% or other values.

[0073] Step 203: Preempt the target channel based on the CWmin, CWmax and AIFSN of the service data block;

[0074] The CWmin, CWmax, and AIFSN of the aforementioned service data block can be preset fixed values, or they can be determined using a preset correspondence between data block types and parameter sets. The smaller the CWmin, CWmax, and AIFSN of the service data block, the higher the success rate of preempting the target channel; conversely, the larger the values, the lower the success rate. The specific process of preempting the target channel based on the CWmin, CWmax, and AIFSN of the service data block is existing technology and will not be detailed here.

[0075] Step 204: Based on the TXOP Limit, send the service packets included in the service data block through the preempted target channel.

[0076] The specific process of sending the service packets included in the service data block through the preempted target channel based on the TXOP Limit is existing technology and will not be described in detail here.

[0077] This disclosure determines the TXOP Limit corresponding to the service data block by using the size of the service data block, the actual transmission rate, the effective transmission rate coefficient, and the deviation coefficient. This enables the service messages included in the service data block to be sent out through a single TXOP, reducing the latency of existing WIFI-based data transmission.

[0078] The data transmission method provided above will be explained in detail below:

[0079] First, the sending time is determined based on the size of the service data block to be sent and the effective sending rate, wherein the effective sending rate is determined based on the actual sending rate and the set effective sending rate coefficient.

[0080] like Figure 3 As shown, the DH_TXOP APP module is used to obtain the size, service type, and source port information of each service packet based on the service data block, fill it into the BLOCK_INFO data block information structure, and send it to the DH_TXOP CORE module. The DH_TXOP CORE module is used to determine the TXOP parameters corresponding to the service data block based on the received BLOCK_INFO data block information and send it to the DH_TXOP DRIVER module. The DH_TXOP DRIVER module is used to adjust the received TXOP parameters based on historical service packets.

[0081] The sending time can be calculated using the following formula:

[0082] T = block_info.len / (V * a);

[0083] Where T is the transmission time, block_info.len is the size of the service data block, V is the actual transmission rate, and a is the effective transmission rate coefficient, which can be 70% or other values.

[0084] Then, based on the determined sending time and the set deviation coefficient, the TXOP Limit corresponding to the service data block is determined;

[0085] like Figure 3 As shown, the DH_TXOP CORE module is used to determine the TXOP Limit corresponding to the service data block based on the actual transmission rate, the effective transmission rate coefficient, the deviation coefficient, and the size of the service data block in the received BLOCK_INFO data block information.

[0086] The TXOP Limit corresponding to the business data block can be calculated using the following formula:

[0087] TXOP Limit = T * b;

[0088] Where T is the transmission time, and b is the set deviation coefficient, which can be 150% or other values.

[0089] Secondly, based on the CWmin, CWmax, and AIFSN of the service data block, the target channel is preempted;

[0090] Prior to the above steps, some or all of the CWmin, CWmax, and AIFSN of the service data block can be determined using the following methods:

[0091] Based on the pre-set correspondence between data block types and parameter sets, the parameter set corresponding to the service type of the service data block is determined, wherein the parameter set includes some or all of CWmin, CWmax, and AIFSN.

[0092] like Figure 3 As shown, the DH_TXOP CORE module is used to determine some or all of the corresponding CWmin, CWmax, and AIFSN based on the pre-set correspondence between data block types and parameter sets and the service type of the service data block in the received BLOCK_INFO data block information.

[0093] The above set of parameters are the parameters that need to be determined. When CWmin, CWmax, and AIFSN all need to be determined, the above set of parameters is CWmin, CWmax, and AIFSN.

[0094] For example, when the service type of the service data block is audio / video, according to the pre-set correspondence between the data block type and CWmin, CWmax, and AIFSN, it can be determined that the corresponding CWmin=2, CWmax=2, and AIFSN=2 for the audio / video type service data block; when the service type of the service data block is download, according to the pre-set correspondence between the data block type and CWmin, CWmax, and AIFSN, it can be determined that the corresponding CWmin=100, CWmax=3000, and AIFSN=10 for the download type service data block.

[0095] When some parameters in CWmin, CWmax, and AIFSN are set to fixed values, the parameters in CWmin, CWmax, and AIFSN that are not set to fixed values ​​are the parameters that need to be determined, i.e., the parameter set.

[0096] For example, if CWmin is preset to a fixed value of 2, when the service type of the service data block is audio / video, according to the preset correspondence between the data block type and CWmax and AIFSN, it can be determined that the corresponding CWmax = 2 and AIFSN = 2 for the audio / video type service data block; if CWmin and CWmax are preset to fixed values ​​of 2 and 2 respectively, when the service type of the service data block is audio / video, according to the preset correspondence between the data block type and AIFSN, it can be determined that the corresponding AIFSN = 2 for the audio / video type service data block. If AIFSN is preset to a fixed value of 10, when the service type of the service data block is download type, according to the preset correspondence between data block type and CWmin and CWmax, it can be determined that the corresponding CWmin = 100 and CWmax = 3000 for the audio and video type service data block; if CWmin and AIFSN are preset to fixed values ​​of 100 and 10 respectively, when the service type of the service data block is download type, according to the preset correspondence between data block type and CWmax, it can be determined that the corresponding CWmax = 3000 for the audio and video type service data block.

[0097] like Figure 3 As shown, the DH_TXOP CORE module sends the determined TXOP Limit, CWmin, CWmax, and AIFSN to the DH_TXOP DRIVER module. To dynamically ensure the transmission opportunities of other service data packets, after obtaining the CWmin, CWmax, and AIFSN of the service data block, the DH_TXOPDRIVER module can determine and adjust some or all of the CWmin, CWmax, and AIFSN of the service data block using the following methods:

[0098] Determine a set number of first service packets without source port information and second service packets with source port information from historically transmitted service packets that have been successfully sent.

[0099] Specifically, the aforementioned quantity can be 50, or it can be any other value. The first service message mentioned above is an other service message, and the second message is the service message included in the service data block. The other service messages can be service messages included in multiple data blocks of a different type than the service data block, or they can be service messages included in a single data block of a different type.

[0100] Based on the ratio of the number of the first service messages to the number of the second service messages, adjust some or all of the CWmin, CWmax, and AIFSN of the service data block.

[0101] Optionally, some or all of the CWmin, CWmax, and AIFSN of the service data block can be adjusted according to the ratio of the number of the first service packets to the set number; similarly, some or all of the CWmin, CWmax, and AIFSN of the service data block can be adjusted according to the ratio of the number of the second service packets to the set number.

[0102] The above adjustment of some or all of CWmin, CWmax, and AIFSN of the service data block based on the ratio of the number of the first service packets to the number of the second service packets falls into the following two cases:

[0103] In the first case, if the ratio of the number of the first service packets to the number of the second service packets is lower than a set first threshold, then some or all of the CWmin, CWmax and AIFSN of the service data block are increased.

[0104] Specifically, when the ratio of the number of the first service packets to the number of the second service packets is lower than a set first threshold, it means that the transmission of the first service packets is affected. In order to ensure the transmission opportunity of the first service packets, it is necessary to reduce the priority of the service data block, that is, to increase some or all of the CWmin, CWmax and AIFSN of the service data block, thereby reducing the success rate of preempting the target channel.

[0105] In the second scenario, if the ratio of the number of the first service packets to the number of the second service packets is higher than a set second threshold, then some or all of the CWmin, CWmax, and AIFSN of the service data block are reduced; wherein, the first threshold is less than the second threshold.

[0106] Specifically, when the ratio of the number of the first service packets to the number of the second service packets is higher than a set first threshold, it means that the transmission of the second service packets is affected. In order to ensure the transmission opportunity of the second service packets, it is necessary to increase the priority of the service data block, that is, reduce some or all of the CWmin, CWmax and AIFSN of the service data block, thereby improving the success rate of preempting the target channel.

[0107] In addition to the two situations mentioned above, it also includes: if the ratio of the number of the first service packets to the number of the second service packets is higher than a set first threshold and lower than a set second threshold, then some or all of the CWmin, CWmax and AIFSN of the service data block will not be adjusted.

[0108] Taking the adjustment of some or all of the CWmin, CWmax, and AIFSN of the service data block based on the ratio of the number of the first service packets to the set number as an example, if the set number is 50, the first threshold is 10%, and the second threshold is 40%, when the number of the first service packets is 4, the ratio of the number of the first service packets to the set number is 8%, and 8% < 10%, then some or all of the CWmin, CWmax, and AIFSN of the service data block are increased; when the number of the first service packets is 25, the ratio of the number of the first service packets to the set number is 50%, and 50% > 40%, then some or all of the CWmin, CWmax, and AIFSN of the service data block are decreased; when the number of the first service packets is 16, the ratio of the number of the first service packets to the set number is 32%, and 10% < 32% < 40%, then some or all of the CWmin, CWmax, and AIFSN of the service data block are not adjusted.

[0109] When the first scenario described above applies, some or all of the CWmin, CWmax, and AIFSN of the business data block can be increased using the following two methods:

[0110] The first method involves increasing some or all of the CWmin, CWmax, and AIFSN of the business data block by a corresponding set first multiple.

[0111] Optionally, some or all of the CWmin, CWmax, and AIFSN of the service data block can be increased by the same first multiple.

[0112] For example, if the first multiplier is 1.05, then part or all of the CWmin, CWmax and AIFSN of the business data block will be increased by 1.05.

[0113] Optionally, some or all of the CWmin, CWmax, and AIFSN of the service data block may be increased by different first multiples respectively.

[0114] For example, if the CWmin, CWmax, and AIFSN of the service data block are increased, then the CWmin of the service data block will be increased by 1.03 times, the CWmax by 1.05 times, and the AIFSN by 1.08 times.

[0115] The second method involves determining the first multiple of each parameter in the parameter set corresponding to the first difference range between the first threshold and the ratio, based on the pre-set correspondence between the difference range and the first multiple of each parameter in the parameter set. Then, some or all of the CWmin, CWmax, and AIFSN of the service data block are increased according to the corresponding determined first multiple.

[0116] Optionally, when some or all of the first multiples corresponding to CWmin, CWmax, and AIFSN of the service data block are the same, the first multiple corresponding to the first difference range between the first threshold and the ratio can be determined according to the pre-set correspondence between the difference range and the first multiple, and some or all of the CWmin, CWmax, and AIFSN of the service data block can be increased according to the determined first multiple.

[0117] For example, if the first threshold is 10%, the preset difference range includes (0-2%), (2%-4%), (4%-6%), (6%-8%), and (8%-10%), and their corresponding first multiples are 1.03, 1.04, 1.05, 1.06, and 1.07 times, respectively. When the ratio is 5%, the first difference is 5%, and the difference range is (4%-6%), so the corresponding first multiple is 1.05 times. Some or all of the CWmin, CWmax, and AIFSN of the service data block are increased by 1.05 times.

[0118] Optionally, when the first multiples corresponding to some or all of the CWmin, CWmax, and AIFSN of the service data block are different, the first multiples corresponding to each parameter in the parameter set corresponding to the difference range where the first difference between the first threshold and the ratio is located are determined according to the pre-set correspondence between the difference range and the first multiples corresponding to each parameter in the parameter set, and the CWmin, CWmax, and AIFSN of the service data block are increased respectively according to the corresponding determined first multiples.

[0119] For example, if the first threshold is 10%, the preset difference range includes (0-2%), (2%-4%), (4%-6%), (6%-8%), and (8%-10%). For CWmin, the corresponding first multipliers are 1.03, 1.04, 1.05, 1.06, and 1.07 times, respectively; for CWmax, the corresponding first multipliers are 1.01, 1.02, 1.03, 1.04, and 1.05 times, respectively; and for AIFSN, the corresponding first multipliers are 1.04, 1.05, and 1.05 times, respectively. The ratios are 1.06, 1.07, and 1.08. When the ratio is 5%, the first difference is 5%, and the difference range is (4%-6%). If it is necessary to increase the CWmin, CWmax, and AIFSN of the service data block, the first multiples corresponding to the CWmin, CWmax, and AIFSN of the service data block are 1.05, 1.03, and 1.06 times, respectively. The CWmin, CWmax, and AIFSN of the service data block are increased by the corresponding multiples of 1.05, 1.03, and 1.06 times.

[0120] In addition to the second method mentioned above, the following third method is also included:

[0121] Based on the pre-set correspondence between the ratio range and the first multiple corresponding to each parameter in the parameter set, the first multiple corresponding to each parameter in the parameter set corresponding to the ratio range is determined, and some or all of the CWmin, CWmax and AIFSN of the service data block are increased according to the corresponding determined first multiple.

[0122] Optionally, when some or all of the first multiples corresponding to CWmin, CWmax, and AIFSN of the service data block are the same, the first multiple corresponding to the ratio range in which the ratio is located can be determined according to the pre-set correspondence between the ratio range and the first multiple, and some or all of the CWmin, CWmax, and AIFSN of the service data block can be increased according to the determined first multiple.

[0123] For example, if the ratio is 9%, and the preset ratio range includes (0-2%), (2%-4%), (4%-6%), (6%-8%), and (8%-10%), the corresponding first multiples are 1.07, 1.06, 1.05, 1.04, and 1.03 times, respectively. Then, the ratio range of the ratio is (8%-10%), and the corresponding first multiple is 1.03 times. Part or all of CWmin, CWmax, and AIFSN of the business data block are increased by 1.03 times.

[0124] Optionally, when the first multiples corresponding to some or all of the CWmin, CWmax, and AIFSN of the service data block are different, the first multiples corresponding to each parameter in the parameter set corresponding to the ratio range in the parameter set are determined according to the pre-set correspondence between the ratio range and the first multiples corresponding to each parameter in the parameter set, and some or all of the CWmin, CWmax, and AIFSN of the service data block are increased according to the corresponding determined first multiples.

[0125] For example, if the ratio is 9%, the preset ratio range includes (0-2%), (2%-4%), (4%-6%), (6%-8%), and (8%-10%). For CWmin, the corresponding first multiples are 1.07, 1.06, 1.05, 1.04, and 1.03 times, respectively; for CWmax, the corresponding first multiples are 1.06, 1.05, 1.04, 1.03, and 1.02 times, respectively; and for AIFSN, the corresponding first multiple is 1.08 times. The ratios are 1.07 times, 1.06 times, 1.05 times, and 1.04 times. The range of these ratios is (8%-10%). If it is necessary to increase the CWmin, CWmax, and AIFSN of the service data block, the first multiples corresponding to the CWmin, CWmax, and AIFSN of the service data block are 1.03 times, 1.02 times, and 1.04 times, respectively. The CWmin, CWmax, and AIFSN of the service data block are then increased by the corresponding multiples of 1.03 times, 1.02 times, and 1.04 times.

[0126] In the second scenario, some or all of the CWmin, CWmax, and AIFSN of the service data block can be reduced in the following two ways:

[0127] The first method involves reducing some or all of the CWmin, CWmax, and AIFSN of the business data block by a corresponding set second multiple.

[0128] Optionally, some or all of the CWmin, CWmax, and AIFSN of the service data block can be reduced by a predetermined second multiple. The first multiple is less than the second multiple.

[0129] For example, if the second multiplier is 1.2, then part or all of the CWmin, CWmax and AIFSN of the business data block will be reduced by 1.2.

[0130] Optionally, some or all of the CWmin, CWmax, and AIFSN of the service data block may be reduced by a corresponding set second multiple.

[0131] For example, if the CWmin, CWmax, and AIFSN of the service data block are reduced, then the CWmin of the service data block will be reduced by 1.2 times, the CWmax by 1.21 times, and the AIFSN by 1.22 times.

[0132] The second method involves determining the second multiple of each parameter in the parameter set corresponding to the second difference range between the second threshold and the ratio, based on the pre-set correspondence between the difference range and the second multiple of each parameter in the parameter set. Then, some or all of the CWmin, CWmax and AIFSN of the service data block are reduced according to the corresponding determined second multiple, wherein the first multiple corresponding to the same parameter is less than the second multiple.

[0133] Optionally, when some or all of the second multiples corresponding to CWmin, CWmax, and AIFSN of the service data block are the same, the second multiple corresponding to the difference range between the second threshold and the ratio is determined according to the pre-set correspondence between the difference range and the second multiple, and some or all of the CWmin, CWmax, and AIFSN of the service data block are reduced according to the determined second multiple.

[0134] For example, if the second threshold is 40%, the preset difference range includes (0-15%), (15%-30%), (30%-45%), and (45%-60%), and their corresponding second multiples are 1.2 times, 1.21 times, 1.22 times, and 1.23 times, respectively. When the ratio is 45%, the second difference is 5%, and the difference range is (0-15%), so the corresponding second multiple is 1.2 times. Part or all of the CWmin, CWmax, and AIFSN of the service data block are reduced by 1.2 times.

[0135] Optionally, when some or all of the second multiples corresponding to CWmin, CWmax, and AIFSN of the service data block are different, the second multiples corresponding to each parameter in the parameter set corresponding to the difference range where the second difference between the second threshold and the ratio is located are determined according to the pre-set correspondence between the difference range and the second multiples corresponding to each parameter in the parameter set, and some or all of the CWmin, CWmax, and AIFSN of the service data block are reduced according to the corresponding determined second multiples.

[0136] For example, if the second threshold is 40%, the preset difference range includes (0-15%), (15%-30%), (30%-45%), and (45%-60%). For CWmin, the corresponding second multiples are 1.21, 1.22, 1.23, and 1.24 times, respectively; for CWmax, the corresponding second multiples are 1.2, 1.21, 1.22, and 1.23 times, respectively; and for AIFSN, the corresponding second multiples are 1.24, 1.25, and 1. 26 times and 1.27 times. When the ratio is 45%, the second difference is 5%, and the difference range is (0-15%). If it is necessary to reduce the CWmin, CWmax, and AIFSN of the service data block, the second multiples corresponding to the CWmin, CWmax, and AIFSN of the service data block are 1.21 times, 1.2 times, and 1.24 times, respectively. The CWmin, CWmax, and AIFSN of the service data block are reduced by the corresponding multiples of 1.21 times, 1.2 times, and 1.24 times.

[0137] In addition to the second method mentioned above, the following third method is also included:

[0138] Based on the pre-set correspondence between the ratio range and the second multiple of each parameter in the parameter set, determine the second multiple of each parameter in the parameter set corresponding to the ratio range in which the ratio is located, and reduce part or all of CWmin, CWmax and AIFSN of the service data block according to the corresponding determined second multiple.

[0139] Optionally, when some or all of the second multiples corresponding to CWmin, CWmax, and AIFSN of the service data block are the same, the second multiple corresponding to the ratio range in which the ratio is located can be determined according to the pre-set correspondence between the ratio range and the second multiple, and some or all of the CWmin, CWmax, and AIFSN of the service data block can be reduced according to the determined second multiple.

[0140] For example, if the ratio is 45%, and the preset ratio range includes (40%-50%), (50%-60%), (60%-70%), (70%-80%), (80%-90%), and (90%-100%), the corresponding second multiples are 1.2 times, 1.21 times, 1.22 times, 1.23 times, 1.24 times, and 1.25 times, respectively. Then, the ratio range where the ratio is located is (40%-50%), and the corresponding second multiple is 1.2 times. Part or all of the CWmin, CWmax, and AIFSN of the service data block are reduced by 1.2 times.

[0141] Optionally, when some or all of the second multiples corresponding to CWmin, CWmax, and AIFSN of the service data block are different, the second multiples corresponding to each parameter in the parameter set corresponding to the ratio range in the parameter set are determined according to the pre-set correspondence between the ratio range and the second multiples corresponding to each parameter in the parameter set, and some or all of the CWmin, CWmax, and AIFSN of the service data block are reduced according to the corresponding determined second multiples.

[0142] For example, if the ratio is 45%, the preset ratio range includes (40%-50%), (50%-60%), (60%-70%), (70%-80%), (80%-90%), and (90%-100%). For CWmin, the corresponding second multiples are 1.2x, 1.21x, 1.22x, 1.23x, 1.24x, and 1.25x respectively. For CWmax, the corresponding first multiples are 1.22x, 1.23x, 1.24x, 1.25x, 1.26x, and 1.27x respectively. For AIFSN, the ratio... The corresponding first multiples are 1.21, 1.22, 1.23, 1.24, 1.25, and 1.26 times, respectively. The ratio range is (40%-50%). If it is necessary to increase the CWmin, CWmax, and AIFSN of the service data block, the corresponding first multiples for CWmin, CWmax, and AIFSN are 1.2, 1.22, and 1.21 times, respectively, and the CWmin, CWmax, and AIFSN of the service data block are reduced by the corresponding multiples of 1.2, 1.22, and 1.21 times, respectively.

[0143] Finally, based on the TXOP Limit, the service packets included in the service data block are sent through the preempted target channel.

[0144] Taking the need to determine the TXOP parameter corresponding to a business data block as an example, the specific process of the data transmission method proposed in this disclosure is as follows: Figure 4 As shown, it includes:

[0145] Step 401: The service to be sent calls the send interface DH_TXOP_SOCKET in the DH_TXOP APP module to send the service data block to the DH_TXOP APP module;

[0146] Among them, DH_TXOP_SOCKET encapsulates the system's SOCKET SEND function.

[0147] Step 402: The DH_TXOP APP module obtains the size, service type, and source port information of each message of the service data block, and fills them into the BLOCK_INFO data block information structure.

[0148] Because the business layer calls DH_TXOP_SOCKET, the DH_TXOP APP module can obtain the size of the business data block.

[0149] Step 403: The DH_TXOP APP module sends the BLOCK_INFO data block information to the DH_TXOP CORE module;

[0150] The DH_TXOP APP module calls system functions to send business data blocks to other layers for processing. This is existing technology and will not be described in detail here.

[0151] Step 404: The DH_TXOP CORE module receives and parses the BLOCK_INFO data block information sent by the DH_TXOP APP module;

[0152] Step 405: The DH_TXOP CORE module determines the TXOP Limit corresponding to the service data block based on the actual transmission rate, the size of the service data block, the effective transmission rate coefficient, and the deviation coefficient.

[0153] Step 406: The DH_TXOP CORE module determines the CWmin, CWmax, and AIFSN corresponding to the service type of the service data block according to the pre-set correspondence between the data block type and the parameter set.

[0154] Step 407: The DH_TXOP CORE module sends the TXOP parameter corresponding to the determined service data block to the DH_TXOP DRIVER module.

[0155] Step 408: The DH_TXOP DRIVER module receives the TXOP parameter corresponding to the service data block;

[0156] Step 409: The DH_TXOP DRIVER module determines a set number of first service packets without source port information and second service packets with source port information from the historical service packets that have been successfully sent.

[0157] Step 410: If the ratio of the number of the first service packets to the number of the second service packets is between a first threshold and a second threshold, then the CWmin, CWmax, and AIFSN of the service data block are not adjusted.

[0158] Step 411: If the DH_TXOP DRIVER module determines that the ratio of the number of the first service packets to the number of the second service packets is lower than a set first threshold, then increase the CWmin, CWmax and AIFSN of the service data block.

[0159] Step 412: If the DH_TXOP DRIVER module determines that the ratio of the number of the first service packets to the number of the second service packets is higher than the set second threshold, then reduce the CWmin, CWmax and AIFSN of the service data block.

[0160] Step 413: The DH_TXOP DRIVER module sends the TXOP parameter of the service data block to the WIFI Driver through the NetLink interface or other interfaces.

[0161] Step 414: The WIFI Driver preempts the target channel based on the CWmin, CWmax and AIFSN of the service data block;

[0162] Step 415: The WIFI Driver, based on the TXOP Limit, sends the service packets included in the service data block through the preempted target channel.

[0163] In some embodiments, based on the same inventive concept, the present disclosure also provides a data transmission device. Since this device is the same as the device in the method of the present disclosure, and the principle of the device in solving the problem is similar to that of the method, the implementation of the device can refer to the implementation of the method, and repeated details will not be described again.

[0164] like Figure 5 As shown, the above-mentioned device includes the following modules:

[0165] The first determining module 501 is used to determine the transmission time based on the size of the service data block to be transmitted and the effective transmission rate, wherein the effective transmission rate is determined based on the actual transmission rate and the set effective transmission rate coefficient.

[0166] The second determining module 502 is used to determine the TXOP Limit corresponding to the service data block based on the determined transmission time and the set deviation coefficient.

[0167] The preemption module 503 is used to preempt the target channel based on the CWmin, CWmax and AIFSN of the service data block;

[0168] The sending module 504 is used to send the service messages included in the service data block through the preempted target channel based on the TXOP Limit.

[0169] As an optional implementation, before preempting the target channel based on the CWmin, CWmax, and AIFSN of the service data block, the apparatus further includes:

[0170] The third determining module is used to determine the parameter set corresponding to the service type of the service data block according to the pre-set correspondence between the data block type and the parameter set, wherein the parameter set includes some or all of CWmin, CWmax and AIFSN.

[0171] As an optional implementation, before preempting the target channel based on the CWmin, CWmax, and AIFSN of the service data block, the apparatus further includes:

[0172] The fourth determination module is used to determine a set number of first service packets without source port information and second service packets with source port information from historical service packets that have been successfully sent.

[0173] The adjustment module is used to adjust some or all of the CWmin, CWmax, and AIFSN of the service data block according to the ratio of the number of the first service packets to the number of the second service packets.

[0174] As an optional implementation, the adjustment module is configured to adjust part or all of the CWmin, CWmax, and AIFSN of the service data block according to the ratio of the number of the first service packets to the number of the second service packets, including:

[0175] If the ratio of the number of the first service packets to the number of the second service packets is lower than a set first threshold, then some or all of the CWmin, CWmax and AIFSN of the service data block are increased.

[0176] If the ratio of the number of the first service packets to the number of the second service packets is higher than the set second threshold, then reduce some or all of the CWmin, CWmax and AIFSN of the service data block.

[0177] Wherein, the first threshold is less than the second threshold.

[0178] As an optional implementation, the adjustment module is used to increase some or all of the CWmin, CWmax, and AIFSN of the service data block, including:

[0179] Increase some or all of the CWmin, CWmax, and AIFSN of the aforementioned service data block by their respective set first multiples; or

[0180] Based on the pre-set correspondence between the difference range and the first multiple corresponding to each parameter in the parameter set, determine the first multiple corresponding to each parameter in the parameter set corresponding to the difference range where the first difference between the first threshold and the ratio is located, and increase some or all of CWmin, CWmax and AIFSN of the service data block according to the corresponding determined first multiple.

[0181] As an optional implementation, the adjustment module is used to reduce some or all of the CWmin, CWmax, and AIFSN of the service data block, including:

[0182] Reduce some or all of the CWmin, CWmax, and AIFSN of the aforementioned service data block by a corresponding set second multiple; or

[0183] Based on the pre-set correspondence between the difference range and the second multiple corresponding to each parameter in the parameter set, the second multiple corresponding to each parameter in the parameter set corresponding to the difference range where the second difference between the second threshold and the ratio is located is determined. Part or all of the CWmin, CWmax and AIFSN of the service data block are reduced according to the corresponding determined second multiple, wherein the first multiple corresponding to the same parameter is less than the second multiple.

[0184] In some embodiments, based on the same inventive concept, this disclosure also provides a data transmission device that can implement the data transmission function described above. Please refer to [reference needed]. Figure 6 The device includes a processor 601 and a memory 602, wherein the memory 602 is used to store program instructions;

[0185] The processor 601 calls the program instructions stored in the memory and executes the program instructions to achieve the following:

[0186] The sending time is determined based on the size of the service data block to be sent and the effective sending rate, wherein the effective sending rate is determined based on the actual sending rate and the set effective sending rate coefficient.

[0187] Based on the determined transmission time and the set deviation coefficient, the TXOPLimit corresponding to the service data block is determined;

[0188] Based on the CWmin, CWmax and AIFSN of the service data block, preempt the target channel;

[0189] Based on the TXOP Limit, the service packets included in the service data block are sent through the preempted target channel.

[0190] As an optional implementation, before preempting the target channel based on the CWmin, CWmax, and AIFSN of the service data block, the processor further executes:

[0191] Based on the pre-set correspondence between data block types and parameter sets, the parameter set corresponding to the service type of the service data block is determined, wherein the parameter set includes some or all of CWmin, CWmax, and AIFSN.

[0192] As an optional implementation, before preempting the target channel based on the CWmin, CWmax, and AIFSN of the service data block, the processor further executes:

[0193] Determine a set number of first service packets without source port information and second service packets with source port information from historically transmitted service packets that have been successfully sent.

[0194] Based on the ratio of the number of the first service messages to the number of the second service messages, adjust some or all of the CWmin, CWmax, and AIFSN of the service data block.

[0195] As an optional implementation, adjusting part or all of the CWmin, CWmax, and AIFSN of the service data block according to the ratio of the number of the first service packets to the number of the second service packets includes:

[0196] If the ratio of the number of the first service packets to the number of the second service packets is lower than a set first threshold, then some or all of the CWmin, CWmax and AIFSN of the service data block are increased.

[0197] If the ratio of the number of the first service packets to the number of the second service packets is higher than the set second threshold, then reduce some or all of the CWmin, CWmax and AIFSN of the service data block.

[0198] Wherein, the first threshold is less than the second threshold.

[0199] As an optional implementation, the addition of some or all of CWmin, CWmax, and AIFSN of the service data block includes:

[0200] Increase some or all of the CWmin, CWmax, and AIFSN of the aforementioned service data block by their respective set first multiples; or

[0201] Based on the pre-set correspondence between the difference range and the first multiple corresponding to each parameter in the parameter set, determine the first multiple corresponding to each parameter in the parameter set corresponding to the difference range where the first difference between the first threshold and the ratio is located, and increase some or all of CWmin, CWmax and AIFSN of the service data block according to the corresponding determined first multiple.

[0202] As an optional implementation, reducing some or all of the CWmin, CWmax, and AIFSN of the service data block includes:

[0203] Reduce some or all of the CWmin, CWmax, and AIFSN of the aforementioned service data block by a corresponding set second multiple; or

[0204] Based on the pre-set correspondence between the difference range and the second multiple corresponding to each parameter in the parameter set, the second multiple corresponding to each parameter in the parameter set corresponding to the difference range where the second difference between the second threshold and the ratio is located is determined. Part or all of the CWmin, CWmax and AIFSN of the service data block are reduced according to the corresponding determined second multiple, wherein the first multiple corresponding to the same parameter is less than the second multiple.

[0205] In some possible implementations, various aspects of this disclosure can also be implemented in the form of a program product, such as... Figure 7 As shown, the computer program product 70 includes computer program code that, when executed on a computer, causes the computer to perform any of the data transmission methods described above. Since the principle by which the computer program product solves the problem is similar to that of the data transmission method, the implementation of the computer program product can be found in the implementation of the method; repeated details will not be elaborated further.

[0206] Those skilled in the art will understand that embodiments of this disclosure can be provided as methods, systems, or computer program products. Therefore, this disclosure can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this disclosure can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage and optical storage) containing computer-usable program code.

[0207] This disclosure is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create a machine for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 Devices that specify the functions in one or more boxes.

[0208] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including an instruction device, which is implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0209] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0210] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the following claims.

[0211] It should be understood that this disclosure is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this disclosure is limited only by the appended claims.

Claims

1. A data transmission method, characterized in that, The method includes: The sending time is determined based on the size of the service data block to be sent and the effective sending rate, wherein the effective sending rate is determined based on the actual sending rate and the set effective sending rate coefficient. Based on the determined transmission time and the set deviation coefficient, the transmission opportunity limit corresponding to the service data block is determined; The target channel is preempted based on the minimum contention window, maximum contention window, and arbitration inter-frame interval of the service data block; Based on the aforementioned transmission opportunity limitation, the service data block containing the service message is transmitted through the preempted target channel; The transmission opportunity limit corresponding to the service data block is calculated using the following formula: TXOP Limit=T b; Where TXOP Limit is the transmission opportunity limit corresponding to the service data block, b is the set deviation coefficient, and T is the transmission time. T is calculated using the following formula: T = block_info.len / (V a) block_info.len is the size of the service data block, V is the actual transmission rate, and a is the set effective transmission rate coefficient; Before preempting the target channel based on the minimum contention window, maximum contention window, and arbitration inter-frame interval of the service data block, the process further includes: A set number of successfully transmitted historical service packets are identified, including a first service packet without source port information and a second service packet with source port information. The first service packet is a service packet included in at least one data block that is different from the service data block type, and the second service packet is a service packet included in the service data block. Based on the ratio of the number of the first service messages to the number of the second service messages, adjust part or all of the minimum contention window, maximum contention window, and arbitration inter-frame interval of the service data block.

2. The method according to claim 1, characterized in that, Before preempting the target channel based on the minimum contention window, maximum contention window, and arbitration inter-frame interval of the service data block, the process further includes: Based on the pre-set correspondence between data block types and parameter sets, the parameter set corresponding to the service type of the service data block is determined, wherein the parameter set includes part or all of the minimum contention window, the maximum contention window, and the arbitration inter-frame interval.

3. The method according to claim 1, characterized in that, The step of adjusting part or all of the minimum contention window, maximum contention window, and arbitration inter-frame interval of the service data block based on the ratio of the number of the first service packets to the number of the second service packets includes: If the ratio of the number of the first service packets to the number of the second service packets is lower than a set first threshold, then increase part or all of the minimum contention window, maximum contention window, and arbitration inter-frame interval of the service data block. If the ratio of the number of the first service packets to the number of the second service packets is higher than the set second threshold, then reduce part or all of the minimum contention window, maximum contention window, and arbitration inter-frame interval of the service data block. Wherein, the first threshold is less than the second threshold.

4. The method according to claim 3, characterized in that, The addition of some or all of the minimum contention window, maximum contention window, and arbitration inter-frame interval of the service data block includes: Increase part or all of the minimum contention window, maximum contention window, and arbitration inter-frame interval of the service data block by a corresponding set first multiple; or Based on the pre-set correspondence between the difference range and the first multiple corresponding to each parameter in the parameter set, the first multiple corresponding to each parameter in the parameter set corresponding to the difference range where the first difference between the first threshold and the ratio is located is determined, and part or all of the minimum contention window, maximum contention window and arbitration inter-frame interval of the service data block are increased according to the corresponding determined first multiple.

5. The method according to claim 3, characterized in that, The reduction of some or all of the minimum contention window, maximum contention window, and arbitration inter-frame interval of the service data block includes: The minimum contention window, maximum contention window, and arbitration inter-frame interval of the aforementioned service data block are reduced, either partially or entirely, by a corresponding set second multiple; or Based on the pre-set correspondence between the difference range and the second multiple corresponding to each parameter in the parameter set, the second multiple corresponding to each parameter in the parameter set corresponding to the difference range where the second difference between the second threshold and the ratio is located is determined. Then, part or all of the minimum contention window, maximum contention window and arbitration inter-frame interval of the service data block are reduced according to the corresponding determined second multiple.

6. A data transmission device, characterized in that, The device includes: The first determining module is used to determine the transmission time based on the size of the service data block to be transmitted and the effective transmission rate, wherein the effective transmission rate is determined based on the actual transmission rate and the set effective transmission rate coefficient. The second determining module is used to determine the transmission opportunity limit corresponding to the service data block based on the determined transmission time and the set deviation coefficient. The preemption module is used to preempt the target channel based on the minimum contention window, the maximum contention window, and the arbitration inter-frame interval of the service data block; The sending module is used to send the service messages included in the service data block through the preempted target channel based on the sending opportunity limitation; The second determining module is used to calculate the transmission opportunity limit corresponding to the service data block using the following formula: TXOP Limit=T b; Where TXOP Limit is the transmission opportunity limit corresponding to the service data block, b is the set deviation coefficient, and T is the transmission time. T is calculated using the following formula: T = block_info.len / (V a) block_info.len is the size of the service data block, V is the actual transmission rate, and a is the set effective transmission rate coefficient; Before preempting the target channel based on the minimum contention window, maximum contention window, and arbitration inter-frame interval of the service data block, the apparatus further includes: The fourth determining module is used to determine a set number of successfully transmitted historical service packets, including a first service packet without source port information and a second service packet with source port information, wherein the first service packet is a service packet included in at least one data block that is different from the service data block type, and the second service packet is a service packet included in the service data block. The adjustment module is used to adjust part or all of the minimum contention window, maximum contention window, and arbitration inter-frame interval of the service data block according to the ratio of the number of the first service packets to the number of the second service packets.

7. The apparatus according to claim 6, characterized in that, Before preempting the target channel based on the minimum contention window, maximum contention window, and arbitration inter-frame interval of the service data block, the apparatus further includes: The third determining module is used to determine the parameter set corresponding to the service type of the service data block according to the pre-set correspondence between the data block type and the parameter set, wherein the parameter set includes part or all of the minimum contention window, the maximum contention window, and the arbitration inter-frame interval.

8. An electronic device, characterized in that, include: processor; A memory for storing processor-executable instructions; wherein the processor implements the steps of the method according to any one of claims 1 to 5 by executing the executable instructions.

9. A computer-readable and writable storage medium storing computer instructions thereon, characterized in that, When executed by a processor, this instruction implements the steps of the method according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • Service access control method, wireless access system and access control device

    CN101582837A

  • Wireless communication devices, programs, wireless communication methods, and wireless communication systems

    CN102300262A

  • Method and apparatus for scheduling in a wireless network

    KR1020070023811A