Data sending method, electronic equipment and system

By judging the interference environment in wireless communication between electronic devices and adjusting communication parameters, the problem of frequent data transmission delay and retransmission in low-latency service scenarios is solved, and more efficient data transmission is achieved.

CN119729902APending Publication Date: 2025-03-28HONOR DEVICE CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311215149.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-09-19
Publication Date
2025-03-28

AI Technical Summary

Technical Problem

In low-latency service scenarios, the wireless communication data transmission delay between electronic devices is long and is easily disturbed and caused frequent data frame retransmission, affecting the user experience.

Method used

By establishing a Wi-Fi connection between the sending end and the receiving end, it is determined whether it is in an interfering environment, and adjusting communication parameters in an interfering environment, such as setting the buffer size and buffer reordering timeout time, reducing the frequency of data frame retransmission.

Benefits of technology

In an interfering environment, reduce the frequency of data frame retransmission, reduce data transmission delay, improve data transmission efficiency, and improve user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119729902A_ABST
    Figure CN119729902A_ABST
Patent Text Reader

Abstract

The invention discloses a data sending method, electronic equipment and a data sending system, and relates to the field of communication, and the method comprises the following steps: first electronic equipment and second electronic equipment establish wireless fidelity Wi-Fi connection; and the first electronic equipment sends the first A-MPDU data frame of the first service to the second electronic equipment. Wherein the first A-MPDU data frame comprises a plurality of MPDU data frames, and each MPDU data frame in the plurality of MPDU data frames carries a plurality of MSDU data frames. And when the first electronic equipment and the second electronic equipment are in the interference environment, the first electronic equipment sends a second A-MPDU data frame of the first service to the second electronic equipment. Wherein the second A-MPDU data frame comprises a plurality of MPDU data frames, and each MPDU data frame in the plurality of MPDU data frames carries one MSDU data frame.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communications, and in particular to a data sending method, electronic equipment and system. Background Art

[0002] With the development of wireless communication technology, people use electronic devices to handle daily affairs more and more frequently. Among them, wireless fidelity (Wi-Fi) technology is a widely used wireless communication technology today. It has a fast transmission speed and is not restricted by cable conditions. Therefore, it is very suitable for the needs of mobile office users. In some low-latency business scenarios (for example, screen projection scenarios, device collaboration, keyboard and mouse sharing, etc.), in order to improve the user experience, the delay of data interaction between electronic devices based on wireless communication technology needs to be as low as possible. Therefore, how to improve the efficiency of data transmission and reception in low-latency business scenarios has become a problem that needs to be solved urgently. Summary of the invention

[0003] The present application provides a data transmission method, electronic device and system, which realizes reducing the frequency of data frame retransmission and reducing data transmission delay between the transmitting end and the receiving end in an interference environment, thereby improving the data transmission efficiency between the transmitting end and the receiving end.

[0004] In a first aspect, the present application provides a data transmission method, including: a first electronic device and a second electronic device establish a wireless fidelity Wi-Fi connection. The first electronic device sends a first A-MPDU data frame of a first service to the second electronic device. The first A-MPDU data frame includes multiple MPDU data frames, and each of the multiple MPDU data frames carries multiple MSDU data frames. When the first electronic device and the second electronic device are in an interference environment, the first electronic device sends a second A-MPDU data frame of the first service to the second electronic device. The second A-MPDU data frame includes multiple MPDU data frames, and each of the multiple MPDU data frames carries an MSDU data frame.

[0005] In a possible implementation, when the first electronic device and the second electronic device are in an interference environment, the first electronic device sends a second A-MPDU data frame of the first service to the second electronic device, specifically including: when the first electronic device and the second electronic device are in an interference environment, the first electronic device sends buffer size setting information to the second electronic device. The buffer size setting information is used to set the buffer size of the second electronic device to a first specified value, and the buffer is used to cache the MPDU data frame sent by the first electronic device. The first electronic device sends the second A-MPDU data frame of the first service to the second electronic device.

[0006] In a possible implementation, when the first electronic device and the second electronic device are in an interference environment, the first electronic device sends a second A-MPDU data frame of the first service to the second electronic device, specifically including: when the first electronic device and the second electronic device are in an interference environment, the first electronic device sends a first indication message to the second electronic device. The first indication message is used to trigger the second electronic device to set a buffer reordering timeout to a first specified time, and the buffer reordering timeout is the maximum time that the second electronic device waits for the first electronic device to retransmit the first MPDU data frame and the second electronic device to correctly receive the first MPDU data frame when the first MPDU data frame is not correctly received by the second electronic device. The first electronic device sends the second A-MPDU data frame of the first service to the second electronic device.

[0007] In a possible implementation, when the first electronic device and the second electronic device are in an interference environment, the first electronic device sends a second A-MPDU data frame of the first service to the second electronic device, specifically including: when the first electronic device and the second electronic device are in an interference environment, the first electronic device sets the data of the first service to a high priority. When the first electronic device has data of the first service and data of the second service, the first electronic device encapsulates the data of the first service into the second A-MPDU data frame. The first electronic device sends the second A-MPDU data frame of the first service to the second electronic device.

[0008] In a possible implementation, when the first electronic device and the second electronic device are in an interference environment, the first electronic device sends a second A-MPDU data frame of the first service to the second electronic device, specifically including: when the first electronic device detects that the transmission retransmission rate is greater than the first threshold, or the packet loss rate is greater than the second threshold, or the physical layer rate is less than the third threshold, or the signal-to-noise ratio is less than the fourth threshold, or the transmission buffer delay is greater than the fifth threshold, or the channel busyness is greater than the sixth threshold, the first electronic device determines that the first electronic device and the second electronic device are in an interference environment. The first electronic device sends the second A-MPDU data frame of the first service to the second electronic device.

[0009] In a possible implementation, the first specified value is 32.

[0010] In a possible implementation, the first specified time is 20 milliseconds.

[0011] In a possible implementation, the first service is a service with a data transmission delay of less than 50 milliseconds.

[0012] In a second aspect, the present application provides an electronic device, comprising: one or more processors and one or more memories. The one or more memories are coupled to the one or more processors, and the one or more memories are used to store a computer executable program, and when the one or more processors execute the computer executable program, the electronic device executes a method in any possible implementation of the first aspect.

[0013] In a third aspect, the present application provides a chip system, comprising a processing circuit and an interface circuit, wherein the interface circuit is used to receive code instructions and transmit them to the processing circuit, and the processing circuit is used to run the code instructions so that the chip system executes a method as in any possible implementation of the first aspect above.

[0014] In a fourth aspect, the present application provides a computer-readable storage medium, including a computer executable program. When the computer executable program runs on an electronic device, the electronic device executes a method in any possible implementation of the first aspect described above. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] Figure 1 A schematic diagram of wireless fidelity channel distribution provided in an embodiment of the present application;

[0016] Figure 2A A schematic diagram of a Wi-Fi communication mechanism provided in an embodiment of the present application;

[0017] Figure 2B A schematic diagram of a data interaction scenario provided in an embodiment of the present application;

[0018] Figure 2C A schematic diagram of another data interaction scenario provided in an embodiment of the present application;

[0019] Figure 3A A schematic diagram of a data transmission mechanism provided in an embodiment of the present application;

[0020] Figure 3B A block confirmation session flow diagram provided in an embodiment of the present application;

[0021] Figure 3C A schematic diagram of an A-MPDU data frame format provided in an embodiment of the present application;

[0022] Figure 3D A schematic diagram of a BA frame format provided in an embodiment of the present application;

[0023] Figure 3E A schematic diagram of a buffer zone action mechanism provided in an embodiment of the present application;

[0024] Figure 4A A specific flow chart of a data transmission method provided in an embodiment of the present application;

[0025] Figure 4B A schematic diagram of a data transmission queue provided in an embodiment of the present application;

[0026] Figure 4C A schematic diagram of a different sending queue preempting an air interface provided in an embodiment of the present application;

[0027] Figure 4D A schematic diagram of a buffer size provided for an embodiment of the present application;

[0028] Figure 4E A schematic diagram of the MPDU data frame format provided in an embodiment of the present application;

[0029] Figure 5 A schematic diagram of the hardware structure of a communication device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0030] The terms used in the following embodiments of the present application are only for the purpose of describing specific embodiments, and are not intended to be used as limitations on the present application. As used in the specification and the appended claims of the present application, the singular expressions "one", "a kind of", "said", "above", "the" and "this" are intended to also include plural expressions, unless there is a clear contrary indication in the context. It should also be understood that the term "and / or" used in the present application refers to any or all possible combinations including one or more of the listed striking ones. In the embodiments of the present application, the terms "first" and "second" are only used for descriptive purposes, and cannot be understood as implying relative importance or implicitly indicating the number of indicated technical features. Thus, the features defined as "first" and "second" can expressly or implicitly include one or more of the features. In the description of the embodiments of the present application, unless otherwise specified, the meaning of "multiple" is two or more.

[0031] Figure 1 The wireless fidelity (Wi-Fi) channel distribution provided by the embodiment of the present application is shown.

[0032] like Figure 1 As shown in the figure, the Wi-Fi channel can be formulated by the Institute of Electrical and Electronics Engineers (IEEE). In practical applications, if all Wi-Fi devices use the same frequency band, they are prone to mutual interference, so it is necessary to divide the frequency band into multiple channels (channels can also be called channels, which are data signal transmission channels using electromagnetic waves as transmission carriers) to disperse electronic devices. Among them, taking the Wi-Fi 5GHz frequency band as an example, in some channel division rules, the channels under the 5GHz frequency band can be divided into authorized channels and unauthorized channels. The division results can be seen in Figure 1 The bandwidth of each channel is 20MHz. Channels in the 5GHz band also support link aggregation, which can aggregate 2 or 4 channels into one channel. The bandwidth of the channel after link aggregation can be 40MHz or 80MHz, etc. Figure 1 The black blocks shown are unlicensed channels, that is, channels that can be used without obtaining authorization. The frequency range of unlicensed channels includes 5.17 GHz to 5.33 GHz, and the channels in this frequency range are channel 36, channel 40, channel 44, channel 48, channel 52, channel 56, channel 60, and channel 64; the frequency range of unlicensed channels also includes 5.735 GHz to 5.825 GHz, and the available channels in this frequency range are channel 149, channel 153, channel 157, channel 161, and channel 165. Figure 1The remaining frequency ranges (white blocks) in the 5GHz band are all licensed channels, that is, channels that require a license to use. In some countries and regions, the division of licensed and unlicensed channels in the 5GHz band can be similar to Figure 1 Different, this application does not limit this.

[0033] Figure 1 This is only used to exemplify the present application and does not constitute any limitation to the present application. In addition to the 5 GHz frequency band, the Wi-Fi 2.4 GHz frequency band also has channel divisions, which will not be described in detail in the present application.

[0034] Figure 2A The invention shows a mechanism for multiple electronic devices to communicate via Wi-Fi according to an embodiment of the present application.

[0035] When multiple electronic devices operate in an unlicensed channel of Wi-Fi, a carrier sense multiple access with collision avoidance (CSMA / CA) mechanism is usually used to transmit data frames.

[0036] Figure 2A A schematic diagram of a CSMA / CA mechanism is shown as an example.

[0037] For example, Figure 2A As shown, when the transmitter 1 and the transmitter 2 want to send data frames to the wireless access point (AP) device through the channel, the transmitter 1 and the transmitter 2 first need to wait for the Distributed Inter-frame Spacing (DIFS) time.

[0038] If the channel remains idle within the DIFS time, transmitter 1 and transmitter 2 can perform a random backoff process. When transmitter 1 and transmitter 2 enter the backoff process, they need to select a random backoff value from the contention window. The contention window provides a range for the transmitter to select a random backoff value. In the 802.11 protocol, the default initial contention window is 31, that is, the range of the random backoff value is [0, 31]. Figure 2A In the example, sender 1 selects a random backoff value of 8, and sender 2 selects a random backoff value of 2.

[0039] During the backoff process, each time a slot time passes, sender 1 and sender 2 will monitor the channel once. If the channel is idle, the corresponding random backoff value is reduced by 1. Figure 2A As shown in FIG. 1 , after 3 slottimes, the random backoff value of transmitter 1 decreases from 8 to 5, and the random backoff value of transmitter 1 decreases from 2 to 0. When the random backoff value of transmitter 2 decreases to 0, transmitter 2 competes to obtain the channel and can send data frames. Figure 2A As shown, after the transmitter 2 occupies the channel, it can send data frame PACKET A to the AP device. After the AP device receives the data frame PACKET A, it will use the cyclic redundancy check (CRC) check mechanism to check the data frame PACKET A. If the check passes, the AP device will send a confirmation frame (also called an ACK frame) to the transmitter 2 after the short inter-frame space (SIFS) time. When the transmitter 2 successfully receives the ACK frame, the data frame transmission of the transmitter 2 is completed.

[0040] In this process, sender 1 detects that the channel is busy. Then, when sender 2 successfully receives the ACK frame, senders 1 and 2 wait for DIFS time again and restart the backoff process. Sender 2, which has just sent the data frame, needs to reselect a random backoff value from the contention window, and sender 1, which has not sent the data frame, continues to decrease the random backoff value based on the last decreased value. Figure 2A In the process, the transmitter 1 did not compete for the channel to send data frames, so in the second backoff process, it counted down to 4 based on the random backoff value 5 that had been decremented last time.

[0041] Figure 2A The communication mechanism shown is only used to exemplify the present application and does not constitute any limitation to the present application.

[0042] Figure 2B to Figure 2C The embodiment of the present application shows a plurality of electronic devices based on the above Figure 2A The communication mechanism shown is used for data interaction.

[0043] like Figure 2B As shown, the communication system 10 may include an AP device 1, an electronic device A, an electronic device B, an electronic device C, and an electronic device D. The AP device 1 may establish wireless communication connections with the electronic device A, the electronic device B, the electronic device C, and the electronic device D, respectively. The electronic devices A, B, C, and D may transmit data to each other through the AP device 1. The communication system 10 may be based on Figure 2AThe communication mechanism shown in the figure performs data communication, and each electronic device in the communication system 10 works on the channel 36. When the electronic device A and the electronic device B need to perform data transmission services (for example, keyboard and mouse sharing services, etc.) on the channel 36, the electronic device C / the electronic device D can also occupy the channel 36 for data transmission. Therefore, the electronic device C / the electronic device D will cause co-channel interference to the data transmission services between the electronic device A and the electronic device B.

[0044] like Figure 2C As shown, there may be a communication system 20 around the communication system 10. The communication system 20 may include an AP device 2, an electronic device E, and an electronic device F. The AP device 2 may establish wireless communication connections with the electronic device E and the electronic device F respectively. The electronic device E and the electronic device F may transmit data to each other through the AP device 2. The communication system 20 may be based on Figure 2A The communication mechanism shown in the figure performs data communication, and each electronic device in the communication system 20 operates on channel 40. The frequency of channel 36 is adjacent to the frequency of channel 40. When electronic device A and electronic device B need to perform data transmission services (e.g., keyboard and mouse sharing services, etc.) on channel 36, electronic device E / electronic device F can occupy channel 40 for data transmission. Therefore, electronic device E / electronic device F will cause adjacent frequency interference to the data transmission services between electronic device A and electronic device B.

[0045] From the above Figure 2B and Figure 2C It can be seen from the data interaction scenario shown that as more and more electronic devices support Wi-Fi, when multiple electronic devices perform low-latency services such as device collaboration, wireless screen projection, or keyboard and mouse sharing through Wi-Fi, they are easily affected by co-channel interference or adjacent-channel interference from other surrounding electronic devices, resulting in frequent data retransmission and long data transmission delay, which greatly affects the user experience.

[0046] Therefore, the present application provides a data transmission method, which may include: when a transmitter A and a receiver B establish a wireless communication connection and transmit data of a low-latency service through the wireless communication connection, the transmitter A may determine whether the transmitter A and the receiver B are in an interference environment. When the transmitter A determines that it is in an interference environment, the transmitter A may adjust the communication parameter information, such as triggering the receiver B to adjust the buffer size of the receiver B, the buffer reordering timeout time, and closing the media access control (MAC) service data unit aggregation function. Among them, the low-latency service refers to a service with a data transmission delay requirement of less than 50 milliseconds, such as a keyboard and mouse sharing service, a screen projection service, a device collaboration service, etc. The buffer can be used to cache the MAC protocol data unit (MPDU) data frame received by the receiver B, that is, the data frame that has been parsed in the receiver B and has not yet been reported to the upper layer application. The buffer reordering timeout time refers to the maximum time for the receiver B to wait for the transmitter A to retransmit the data frame that was not correctly received and for the receiver B to correctly receive the data frame.

[0047] Implementing the data sending method provided in the present application can reduce the frequency of data frame retransmission and data transmission delay at the sending end A and the receiving end B in an interference environment, thereby improving data sending efficiency.

[0048] Figure 3A The data sending mechanism involved in the embodiment of the present application is shown.

[0049] The data transmission mechanism involved in the embodiments of the present application may be a block acknowledgment (blockack) mechanism. The block acknowledgment mechanism may be used to perform data communication between two electronic devices that establish a block acknowledgment session.

[0050] like Figure 3A As shown in Figure 1, in order to ensure the reliability of data transmission, in the commonly used data burst mechanism, the 802.11 protocol stipulates that the receiving end must immediately respond with an ACK frame to the sending end every time it receives a data frame. Among them, each data frame includes a data part and a preamble.

[0051] like Figure 3A As shown in FIG. 1 , in the immediate block confirmation mechanism, each data frame can be separated by a SIFS time. After the sender sends multiple data frames, it can send a block confirmation request (BAR) frame. After the receiver receives the above multiple data frames and BAR frames, it can send a block confirmation (BA) frame to the sender.

[0052] like Figure 3AAs shown, in the reduced interframe spacing mechanism, each data frame can be separated by a reduced interframe space (RIFS) time. After the sender sends multiple data frames, it can send a BAR frame. After the receiver receives the above multiple data frames and BAR frames, it can send a BA frame to the sender. Among them, the RIFS time is less than the SIFS time.

[0053] like Figure 3A As shown, in implicit BAR, a data frame may include a preamble and multiple aggregated data parts ( Figure 3A When the receiving end receives a data frame including multiple data parts sent by the sending end, the receiving end may send a BA frame to the sending end.

[0054] Figure 3B The flowchart shows the process of two electronic devices supporting Wi-Fi function establishing a block confirmation session.

[0055] like Figure 3B As shown, the process of establishing a block confirmation session between the sender A and the receiver B can be as follows:

[0056] 1. The sender A can send an "add block ack (ADDBA) request" to the receiver B to negotiate with the receiver B to establish a block acknowledgment session.

[0057] 2. The receiving end B feeds back an ACK frame to the sending end A. The ACK frame is used to indicate that the receiving end B has received the ADDBA request sent by the sending end A.

[0058] 3. Receiver B sends an "add block ack (ADDBA) response" to sender A to negotiate with sender A to establish a block acknowledgment session.

[0059] 4. The sender A feeds back an ACK frame to the receiver B. The ACK frame is used to indicate that the sender A has received the ADDBA response sent by the receiver B.

[0060] 5. The transmitter A sends multiple MPDU data frames at one time in an aggregated form, that is, sends an aggregate MAC protocol data unit (A-MPDU) data frame to the receiver B.

[0061] 6. After receiving the A-MPDU data frame, the receiving end B feeds back a block acknowledgment (BA) frame to the transmitting end A to confirm the receipt of the correctly received MPDU data frame. For the MPDU frame that the receiving end B did not receive correctly, the transmitting end A will retransmit it again.

[0062] 7. The sender A sends a DELBA request to the receiver B to cancel the block confirmation session established between the sender A and the receiver B.

[0063] 8. Receiver B sends back an ACK frame to sender A, indicating that receiver B has received the DELBA request sent by sender A.

[0064] Next, the fields in the ADDBA request involved in the embodiments of the present application are introduced.

[0065] Exemplarily, the fields in an ADDBA request may include the following:

[0066] IEEE 802.11Wireless Management

[0067] Fixed parameters

[0068] Categorycode:Block Ack(3)

[0069] Actioncode:Add Block Ack Request(0x00)

[0070] Dialog token: 0x01

[0071] Block Ack Parameters: 0x4003, A-MSDUs, Block Ack Policy

[0072] …………1=A-MSDUs: Permitted in QoSData MPDUs

[0073] …………1.=Block Ack Policy: Immediate Block Ack

[0074] ……00 00..=Traffic Identifier: 0x0

[0075] 0100 0000 00…=Numberof Buffers(1Buffer=2034Bytes):256

[0076] Block Ack Timeout: 0x0000

[0077] Block Ack Starting Sequence Control (SSC): 0x0000

[0078] In the ADDBA request field of the above example, the main fields included are as follows:

[0079] 1) The A-MSDUs field is used to indicate whether the sender A can send an aggregate MAC Service Data Unit (A-MSDU) to the receiver B in this session. In the example, the actual value of this field can be "1", indicating that the aggregate MAC Service Data Unit can be sent. In the ADDBA request field, the value "1" is converted into a readable sentence "Permitted in QoSData MPDUs", which means that the sender A can send A-MSDU to the receiver B in this session.

[0080] 2) The Block Ack Policy field is used to indicate whether the session is an immediate block acknowledgment or a delayed block acknowledgment. In the example, when the actual value of this field is "1", it is an immediate block acknowledgment. In the ADDBA request field, the value "1" is converted into a readable statement "Immediate Block Ack"; when the actual value of this field is "0", it is a delayed block acknowledgment. In an immediate block acknowledgment, the sender A requires the receiver B to respond immediately with a BA frame; in a delayed block acknowledgment, the receiver B indicates the correct reception of the A-MPDU frame through an ACK frame, and the BA frame is returned in another channel access opportunity, and the sender A needs to send another ACK frame to confirm the receipt of the BA frame.

[0081] 3) Traffic identifier (TID) field, used to indicate the communication category or communication flow used by the session. The TID field is only used for one-way data transmission from the sender A to the receiver B.

[0082] 4) The buffer size (Number of Buffers) field is used to indicate the size of the buffer in the receiving end B. The buffer can be used to cache the MPDU data frames received by the receiving end B. The size of the buffer also indicates the maximum number of MPDU data frames that the transmitting end A has not received a response to before receiving a BA frame. The buffer size limits the number of MPDU data frames in an A-MPDU data frame, which means that the maximum number of MPDU data frames in an A-MPDU data frame cannot exceed the size of the buffer. In the example, the value of the buffer size field is 256, which means that in this example, the size of the buffer of the receiving end B is 256 buffers.

[0083] 5) The Block Ack Timeout field is used to indicate a specified time period T1. When there is no data frame interaction in the block acknowledgment session, the block acknowledgment session terminates after the specified time period T1. In the example, the value of the Block Ack Timeout field is "0x0000", which means that when there is no data frame interaction in the block acknowledgment session, the block acknowledgment session terminates immediately.

[0084] Next, the fields in the ADDBA response involved in the embodiments of the present application are introduced.

[0085] Exemplarily, the fields in an ADDBA response may include the following:

[0086] IEEE 802.11Wireless Management

[0087] Fixed parameters

[0088] Categorycode:Block Ack(3)

[0089] Actioncode:Add Block Ack Response(0x00)

[0090] Dialog token: 0x01

[0091] Block Ack Parameters: 0x4003, A-MSDUs, Block Ack Policy

[0092] …………1=A-MSDUs: Permitted in QoSData MPDUs

[0093] …………1=Block Ack Policy: Immediate Block Ack

[0094] ……00 00..=Traffic Identifier: 0x0

[0095] 0100 0000 00…=Numberof Buffers(1Buffer=2034Bytes):256

[0096] Block Ack Timeout: 0x0000

[0097] Regarding the fields included in the ADDBA response and their meanings, please refer to the description in the aforementioned ADDBA request field embodiment, which will not be repeated here.

[0098] Figure 3C The A-MPDU data frame format involved in the embodiments of the present application is exemplified.

[0099] like Figure 3C As shown, after the block confirmation session is established, the sender A can send an A-MPDU data frame to the receiver B. Among them, an A-MPDU data frame can be formed by the aggregation of multiple MPDU data frames. The A-MPDU data frame can include multiple A-MPDU subframes (A-MPDU subframe). An A-MPDU subframe may include: an MPDU delimiter, an MPDU data frame, and a padding (Pad) field. Since each MPDU data frame requires 32-byte alignment, if the MPDU data frame is less than 32 bytes, it is padded with a padding field. After receiving the A-MPDU data frame, the receiver B can respond to the sender A with a BA frame.

[0100] Figure 3D The BA frame format involved in the embodiments of the present application is exemplified.

[0101] like Figure 3D As shown, the BA frame format may include: a block acknowledgment policy (BA Ack Policy) field, a block acknowledgment type field, a TID information field, a reserved field, a starting sequence number (SN) field, and a block acknowledgment bitmap (Block Ack Bitmap) field. Among them, the block acknowledgment policy field, the block acknowledgment type field, the first reserved field, and the TID information field may be referred to as a block acknowledgment control part, the second reserved field and the starting sequence number field may be referred to as a block acknowledgment starting sequence control part, and the block acknowledgment bitmap field may be referred to as a block acknowledgment bitmap part. Among them:

[0102] The BA Ack Policy field can be used to indicate whether the block confirmation session is immediate block confirmation or delayed block confirmation. The block confirmation policy is consistent with the block confirmation policy in the ADDBA request field during the block confirmation session establishment phase. Preferably, the block confirmation session usually adopts immediate block confirmation.

[0103] The block confirmation type field can be used to indicate the type of block confirmation, and the default is the compressed block confirmation type.

[0104] The TID information field may be used to indicate the communication category or communication flow of the block confirmation session.

[0105] The starting sequence number field (SN field) can be used for the sequence number of the starting MPDU data frame represented by the first bit in the block confirmation bitmap field in this BA frame.

[0106] The Block Ack Bitmap field can be used to indicate the reception status of the MPDU data frame of the receiving end B (for example, correct reception / incorrect reception). The size of the Block Ack Bitmap field is related to the buffer size. For example, when the buffer size is 256, the size of the Block Ack Bitmap field is 32 bytes; when the buffer size is 64, the size of the Block Ack Bitmap field is 8 bytes. Each bit in the Block Ack Bitmap can be used to indicate the reception status of a single MPDU data frame. 0 can indicate incorrect reception, and 1 can indicate correct reception. When the nth bit is set to 1, it means that the receiving end B has correctly received an MPDU data frame with a sequence number of "starting sequence number + n"; when the nth bit is set to 0, it means that the receiving end B has not correctly received an MPDU data frame with a sequence number of "starting sequence number + n".

[0107] Exemplarily, the following describes how the transmitting end A determines the receiving status of the receiving end B through the BA frame.

[0108] Transmitter A obtains the starting sequence number from the SN field in the BA frame. Transmitter A obtains from the block confirmation bitmap whether the value of each bit is set to 0 or 1. Then, based on the starting sequence number and the bit sequence number, transmitter A can determine which MPDU data frames are correctly received by receiver B and which MPDU data frames are not correctly received. When the nth bit is set to 1, it means that receiver B correctly receives an MPDU data frame with a sequence number of "starting sequence number + n"; when the nth bit is set to 0, it means that receiver B does not correctly receive an MPDU data frame with a sequence number of "starting sequence number + n". Among them, the bit sequence number should be counted from right to left, and the bit sequence number starts from 0.

[0109] For example, if the buffer size is 8 and the starting sequence number is 10, the size of the block confirmation bitmap in the BA frame is 8 bits. If the value of the block confirmation bitmap is "11111101", the MPDU data frames with sequence numbers 10 and 12 to 17 are correctly received by the receiving end B, and the MPDU frame with sequence number 11 is not correctly received by the receiving end B.

[0110] Figure 3E The working mechanism of the buffer zone involved in the embodiment of the present application is exemplified.

[0111] like Figure 3E As shown, the size of the buffer is 8 buffers. When the receiving end B receives an A-MPDU data frame sent by the transmitting end A, the receiving end B can parse the A-MPDU data frame into multiple MPDU data frames and cache each MPDU data frame in the buffer of the buffer. If the receiving end B is disturbed during the parsing of the MPDU data frame, causing one or more MPDU data frames to fail to parse, the corresponding buffer er will not cache the MPDU data frame that failed to parse, thus causing a buffer hole in the corresponding buffer.

[0112] like Figure 3E As shown in (a), MPDU data frames 1 to 5 and MPDU data frames 7 to 8 are parsed successfully, and thus can be cached in buffers 1 to 5 and buffers 7 to 8; however, MPDU data frame 6 fails to be parsed, and thus buffer 6 cannot cache MPDU data frame 6, resulting in a buffer hole in buffer 6.

[0113] At this time, the receiving end B can report the MPDU data frames that are successfully parsed in the continuous buffer. When encountering a buffer with a buffer hole, the receiving end B waits for the sending end A to resend the MPDU data frame corresponding to the buffer with the buffer hole (for example, MPDU data frame 6). If the receiving end B can correctly receive and parse the MPDU data frame corresponding to the buffer with the buffer hole within the specified buffer reordering timeout, the receiving end B caches the MPDU data frame in the buffer with the buffer hole, and reports the MPDU data frames that are successfully parsed in the continuous buffer after the buffer with the buffer hole starting with the MPDU data frame. If the receiving end B does not correctly receive and parse the MPDU data frame corresponding to the buffer with the buffer hole within the specified buffer reordering timeout, the receiving end B abandons receiving the MPDU data frame, and then reports the MPDU data frames that are successfully parsed in the continuous buffer after the buffer with the buffer hole. The buffer reordering timeout can be a time preset by the receiving end B / the sending end A.

[0114] like Figure 3E As shown in (b), the receiving end B can report the MPDU data frames in buffer1~buffer5. When encountering buffer6 where a buffer hole occurs, the receiving end B waits for the sending end A to resend the MPDU data frame 6.

[0115] like Figure 3E As shown in (c), if the receiving end B can correctly receive and parse the MPDU data frame 6 within the specified buffer reordering timeout period, the receiving end B caches the MPDU data frame 6 into buffer 6 and reports buffer 6 to buffer 8.

[0116] like Figure 3E As shown in (d), if the receiving end B fails to correctly receive and parse the MPDU data frame 6 within the specified buffer reordering timeout period, the receiving end B abandons receiving the MPDU data frame 6, and then reports the MPDU data frames in buffer7 to buffer8.

[0117] In the embodiment of the present application, MPDU frame 6 is only an exemplary MPDU data frame that causes a buffer hole and does not constitute any limitation to the present application.

[0118] Figure 4A The specific process of a data sending method provided in an embodiment of the present application is exemplified.

[0119] like Figure 4AAs shown, the specific process of the data sending method may include:

[0120] S401: The transmitting end A (first electronic device) and the receiving end B (second electronic device) establish a Wi-Fi connection.

[0121] Specifically, the transmitter A can transmit a signal through a wireless local area network (WLAN) module to detect or scan the receiver B, and establish a Wi-Fi connection with the receiver B to transmit data to each other. The WLAN module can provide a solution for WLAN communication including one or more of Wi-Fi direct, Wi-Fi LAN or Wi-Fi softAP.

[0122] In other embodiments, the receiving end B may also transmit a signal through a wireless local area network (WLAN) module to detect or scan the sending end A, and establish a Wi-Fi connection with the sending end A to transmit data to each other. The embodiments of the present application are not limited to this.

[0123] S402: The transmitting end A determines whether there is a low-latency service (first service) between the transmitting end A and the receiving end B.

[0124] Specifically, the transmitting end A can obtain the corresponding identifier from the data frame to be sent. If the transmitting end A determines that the obtained identifier includes the identifier of the low-latency service, it can be determined that there is a low-latency service between the transmitting end A and the receiving end B. In some implementations, the transmitting end A can also determine whether there is a low-latency service between the transmitting end A and the receiving end B by other methods, which will not be repeated here.

[0125] Among them, low-latency services refer to services that require a data transmission delay of less than 50 milliseconds, such as keyboard and mouse sharing services, screen projection services, and device collaboration services.

[0126] S403: When the transmitting end A determines that there is a low-latency service between the transmitting end A and the receiving end B, the transmitting end A sets the data of the low-latency service to a high priority.

[0127] Specifically, when the sender A determines that there is a low-latency service between it and the receiver B, the sender A sets the data of the low-latency service to a high priority, that is, the data of the low-latency service can be cached in the audio data (VoiceData) sending queue / video data (VideoData) sending queue before sending. Then, when the sender A has data of other services and data of low-latency services, the low-latency service data cached in the VoiceData sending queue / Video Data sending queue can have a higher priority than the data of other services in terms of the internal sending queue scheduling of the Wi-Fi driver and the air interface (or channel) preemption strategy.

[0128] like Figure 4B As shown, data of different priorities can enter different sending queues. Exemplarily, the transmitting end A may have four sending queues, namely, the audio data VoiceData sending queue, the video data Video Data sending queue, the best effort data (Best Effortdata) sending queue, and the background data (Background Data) sending queue. High priority data (for example, data for low-latency services) can enter the VoiceData sending queue / Video Data sending queue, and non-high priority data (for example, data for non-low-latency services) can enter the best effort data (Best Effortdata) sending queue / background data (Background Data) sending queue. The four sending queues only correspond to one channel, so the data in the VoiceData sending queue / Video Data sending queue can have a higher priority for scheduling the sending queue.

[0129] like Figure 4C As shown, different sending queues have different effects on the preemption of the air interface (or channel). Figure 2A The description in the embodiments, such as Figure 4CAs shown in the figure, different sending queues need to wait for a certain time before sending a new data frame after finishing sending the previous data frame. For example, the waiting time of the VoiceData sending queue is: SIFS+2 time slots+random backoff value (range is 0 to 3 time slots), the waiting time of the Video Data sending queue is: SIFS+2 time slots+random backoff value (range is 0 to 7 time slots), the waiting time of the best effort data sending queue is: SIFS+3 time slots+random backoff value (range is 0 to 15 time slots), and the waiting time of the background data sending queue is: SIFS+7 time slots+random backoff value (range is 0 to 15 time slots). Among them, the waiting time excluding the random backoff value is called the shortest waiting time. It can be seen that the data in the VoiceData sending queue / Video Data sending queue can have a higher priority to preempt the air interface (or channel).

[0130] In different protocols and frequency bands, the values ​​of SIFS and time slots may be different, as shown in Table 1:

[0131] Table 1

[0132]

[0133] As shown in Table 1, in the 2.4 GHz frequency band, the 802.11b protocol stipulates that the length of SIFS is 10 microseconds, and the length of a time slot is 20 microseconds; in the 2.4 GHz frequency band, the 802.11g / n / ac protocol stipulates that the length of SIFS is 10 microseconds, and the length of a time slot is 9 microseconds (short time slot) or 20 microseconds (long time slot); in the 5 GHz frequency band, the length of SIFS is 16 microseconds, and the length of a time slot is 9 microseconds.

[0134] Table 1 is only used to illustrate the present application and does not constitute any limitation to the present application.

[0135] S404: The transmitting end A detects whether it is in an interference environment.

[0136] Specifically, the transmitting end A can determine whether the transmitting end A and the receiving end B are in an interference environment based on factors such as the transmission retransmission rate (which can be referred to as the retransmission rate), the packet loss rate, the physical layer rate, the signal-to-noise ratio, the air interface busyness, and the transmission buffer delay. In some embodiments, the receiving end B can also detect whether the transmitting end A and the receiving end B are in an interference environment, which is not limited in this application.

[0137] Among them, the sending retransmission rate refers to the number of retransmitted data frames / the total number of sent data frames; the packet loss rate refers to the number of discarded data frames / the total number of sent data frames; the physical layer rate refers to the air interface transmission rate of the data frame; the signal-to-noise ratio refers to the ratio of the average power of the effective signal to the average power of the noise; the sending buffer delay refers to the average time from when the data frame enters the sending queue to when the data frame is successfully sent to the air interface; the channel busyness refers to the duration of the channel being busy / the total channel measurement time, which can be expressed in the form of a percentage. The higher the channel busyness, the busier the channel is and the greater the environmental interference.

[0138] When the transmission retransmission rate>10% (first threshold), or the packet loss rate>20% (second threshold), or the physical layer rate in the 5Ghz band is less than 27 megabits per second (third threshold), or the signal-to-noise ratio is less than 25 decibels (fourth threshold), or the transmission buffer delay is greater than 50 milliseconds (fifth threshold), or the channel busyness is greater than 60% (sixth threshold), the transmitter A determines that the receiver B and the transmitter A are in an interference environment. Among them, the first threshold, the second threshold, the third threshold, the fourth threshold, the fifth threshold, and the sixth threshold may also have other values, which are not limited in this application.

[0139] S405: When the transmitting end A determines that it is in an interference environment, the transmitting end A sends buffer size setting information to the receiving end B. The buffer size setting information is used to set the buffer size of the receiving end B to a specified value N1 (a first specified value).

[0140] Specifically, the buffer size setting information may be included in the ADDBA request field of the transmitter A, that is, the aforementioned Number of Buffers field. The value of the Number of Buffers field is the same as N1. For example, when the value of the Number of Buffers field in the ADDBA request field is 2, the buffer size of the receiver B will be set to 2 buffers. Currently, the default buffer size of 11n / 11ac is 64, and the default buffer size of 11ax is 256. Preferably, when in an interference environment, the buffer size of the receiver B can be set to 32. In other embodiments, the buffer size of the receiver B can also be set to other values, which is not limited in the embodiments of the present application.

[0141] Among them, since the buffer size limits the number of MPDU data frames that can be carried in an A-MPDU data frame, that is, the larger the buffer, the more MPDU data frames can be carried in an A-MPDU data frame, and the higher the throughput. However, when the transmitter A is determined to be in an interference environment, the more MPDU data frames are carried in an A-MPDU data, the probability and time that one or more MPDU data frames need to be retransmitted due to interference are longer.

[0142] like Figure 4D As shown, Figure 4D (a) in the figure indicates that the buffer size of the receiving end B is 8 buffers. Figure 4D (b) in the figure indicates that the buffer size of the receiving end B is 2 buffers. When MPDU data frame 2 needs to be retransmitted, it can be seen that Figure 4D The time for retransmitting MPDU data frame 2 in (b) is Figure 4D (a) is earlier, so Figure 4D The data transmission delay in (b) will be Figure 4D (a) is lower.

[0143] For example, Table 2 shows the relationship between the measured buffer size and the average data transmission delay in an interference environment:

[0144] Table 2

[0145] Buffer size Average data transmission delay Packet loss rate at receiving end B Retransmission rate 64 47.12 ms 0.15% 26.36% 32 39.19 ms 0.14% 25.70% 16 33.77 ms 0.10% 25.10% 8 21.98 ms 0.03% 21.90%

[0146] It can be seen from Table 2 that when the buffer size is 64, the average data transmission delay is 47.12 milliseconds, the packet loss rate of the receiving end B is 0.15%, and the retransmission rate is 26.36%; when the buffer size is 32, the average data transmission delay is 39.19 milliseconds, the packet loss rate of the receiving end B is 0.14%, and the retransmission rate is 25.70%; when the buffer size is 16, the average data transmission delay is 33.77 milliseconds, the packet loss rate of the receiving end B is 0.10%, and the retransmission rate is 25.10%; when the buffer size is 8, the average data transmission delay is 21.98 milliseconds, the packet loss rate of the receiving end B is 0.03%, and the retransmission rate is 21.90%. Table 2 is only used to exemplify the present application and does not constitute any limitation to the present application.

[0147] Therefore, in an interference environment, a smaller buffer size can be set to reduce data transmission delay.

[0148] S406: The transmitting end A sends an indication message M1 to the receiving end B, triggering the receiving end B to set the buffer reordering timeout period to the specified time N2 (first specified time) in response to the indication message M1.

[0149] Preferably, the value of the specified time N2 can be 20 milliseconds, that is, the buffer reordering timeout can be set to 20 milliseconds. In other embodiments, the buffer reordering timeout can also be set to other values, which is not limited in the embodiment of the present application.

[0150] Specifically, when the receiving end B receives the indication information M1 sent by the transmitting end A, the receiving end B can set the buffer reordering timeout through the Wi-Fi chip. In some examples, when the receiving end B adjusts the buffer size in response to the buffer size setting information, the receiving end B can set the buffer reordering timeout to the specified time N2, which is not limited in this application.

[0151] The buffer reordering timeout refers to the maximum time that the receiving end B waits for the sending end A to retransmit the MPDU data frame that was not correctly received and allows the receiving end B to correctly receive the MPDU data frame. If the receiving end B cannot correctly receive the MPDU data frame retransmitted by the sending end A within the buffer reordering timeout, the receiving end B abandons receiving the MPDU data frame.

[0152] It can be seen that when an A-MPDU data frame is being transmitted, if one or more MPDU data frames in the A-MPDU data frame are not correctly received by the receiving end B, the sending end needs to retransmit once or multiple times. If the buffer reordering timeout is set too large, the waiting time of the receiving end B will also be very long, causing the MPDU data frames after the incorrectly received MPDU data frames to be cached in the buffer for too long, thereby increasing the data transmission delay.

[0153] Exemplarily, Table 3 shows the relationship between the buffer reordering timeout and the average data transmission delay under an interference environment:

[0154] Table 3

[0155]

[0156]

[0157] It can be seen from Table 3 that when the buffer reordering timeout is 50 milliseconds, the average data transmission delay is 19.55 milliseconds, the packet loss rate of the receiving end B is 0.23%, and the retransmission rate is 18.70%; when the buffer reordering timeout is 100 milliseconds, the average data transmission delay is 40.14 milliseconds, the packet loss rate of the receiving end B is 0.15%, and the retransmission rate is 22.44%; when the buffer reordering timeout is 120 milliseconds, the average data transmission delay is 47.12 milliseconds, the packet loss rate of the receiving end B is 0.15%, and the retransmission rate is 26.36%. Table 3 is only used for exemplary explanation of this application and does not constitute any limitation.

[0158] Therefore, in an interference environment, a smaller buffer reordering timeout can be set to reduce data transmission delay.

[0159] S407: The sender A disables the MAC service data unit aggregation function.

[0160] Specifically, when the transmitter A turns off the MAC service data unit aggregation function, the value of the A-MSDUs field in the ADDBA request field can be "0", indicating that the MAC service data unit aggregation is prohibited. The value "0" is converted into a readable sentence "Not Permitted in QoSData MPDUs" in the ADDBA request field. At this time, an MPDU data frame only carries one MSDU data frame.

[0161] Among them, Figure 4E As shown, an MPDU data frame may include: an MPDU header field, an MPDU payload field, and a frame check sequence (FCS) field. When the MAC service data unit aggregation function is turned on, the MPDU payload field may carry an aggregated MAC service data unit (A-MSDU) data frame, and an A-MSDU data frame may be composed of multiple MAC service data units (MSDU) data frames. An A-MSDU data frame may include multiple A-MSDU subframes (for example, A-MSDU subframe 1, A-MSDU subframe 2, etc.), and an A-MSDU subframe may include a destination address field, a source address field, and a field for indicating the length of the A-MSDU subframe, an MSDU data frame, and a padding field. The destination address field, the source address field, and the length field are called subframe prefixes, which are 14 bytes in total, and the padding field is 0 to 3 bytes. The last A-MSDU subframe has no padding field.

[0162] In the interference scenario, if the aggregation of MSDU data frames into A-MSDU data frames is supported, then an MPDU payload can include multiple A-MSDU subframes. If an A-MSDU subframe is not received correctly, the entire A-MSDU data frame including the A-MSDU subframe will be retransmitted (that is, if an A-MSDU subframe is not received correctly, the MPDU data frame including the A-MSDU subframe will be retransmitted), thereby increasing the data transmission delay. Therefore, in order to reduce the data transmission delay, the transmitter A needs to turn off the MAC service data unit aggregation function. At this time, an MPDU payload only carries one MSDU data frame.

[0163] S408: The transmitting end A sends an A-MPDU data frame of a low-latency service to the receiving end B, wherein the A-MPDU data frame includes multiple MPDU data frames, and one MPDU data frame carries one MSDU data frame.

[0164] Specifically, for the description of low-latency services, please refer to the above description, which will not be repeated here.

[0165] In the embodiment of the present application, the execution order of steps S405, S406 and S407 is not limited. S407 may be executed first, then S405, and finally S406; or S406 may be executed first, then S405, and finally S407. In other embodiments, there may be other execution orders, which means that the present application does not limit this.

[0166] In some embodiments, a first electronic device and a second electronic device establish a wireless fidelity Wi-Fi connection. The first electronic device sends a first A-MPDU data frame of a first service to the second electronic device. The first A-MPDU data frame includes multiple MPDU data frames, and each of the multiple MPDU data frames carries multiple MSDU data frames. When the first electronic device and the second electronic device are in an interference environment, the first electronic device sends a second A-MPDU data frame of the first service to the second electronic device. The second A-MPDU data frame includes multiple MPDU data frames, and each of the multiple MPDU data frames carries an MSDU data frame.

[0167] In a possible implementation, when the first electronic device and the second electronic device are in an interference environment, the first electronic device sends a second A-MPDU data frame of the first service to the second electronic device, specifically including: when the first electronic device and the second electronic device are in an interference environment, the first electronic device sends buffer size setting information to the second electronic device. The buffer size setting information is used to set the buffer size of the second electronic device to a first specified value, and the buffer is used to cache the MPDU data frame sent by the first electronic device. The first electronic device sends the second A-MPDU data frame of the first service to the second electronic device.

[0168] In a possible implementation, when the first electronic device and the second electronic device are in an interference environment, the first electronic device sends a second A-MPDU data frame of the first service to the second electronic device, specifically including: when the first electronic device and the second electronic device are in an interference environment, the first electronic device sends a first indication message to the second electronic device. The first indication message is used to trigger the second electronic device to set a buffer reordering timeout to a first specified time, and the buffer reordering timeout is the maximum time that the second electronic device waits for the first electronic device to retransmit the first MPDU data frame and the second electronic device to correctly receive the first MPDU data frame when the first MPDU data frame is not correctly received by the second electronic device. The first electronic device sends the second A-MPDU data frame of the first service to the second electronic device.

[0169] In a possible implementation, when the first electronic device and the second electronic device are in an interference environment, the first electronic device sends a second A-MPDU data frame of the first service to the second electronic device, specifically including: when the first electronic device and the second electronic device are in an interference environment, the first electronic device sets the data of the first service to a high priority. When the first electronic device has data of the first service and data of the second service, the first electronic device encapsulates the data of the first service into the second A-MPDU data frame. The first electronic device sends the second A-MPDU data frame of the first service to the second electronic device.

[0170] In a possible implementation, when the first electronic device and the second electronic device are in an interference environment, the first electronic device sends a second A-MPDU data frame of the first service to the second electronic device, specifically including: when the first electronic device detects that the transmission retransmission rate is greater than the first threshold, or the packet loss rate is greater than the second threshold, or the physical layer rate is less than the third threshold, or the signal-to-noise ratio is less than the fourth threshold, or the transmission buffer delay is greater than the fifth threshold, or the channel busyness is greater than the sixth threshold, the first electronic device determines that the first electronic device and the second electronic device are in an interference environment. The first electronic device sends the second A-MPDU data frame of the first service to the second electronic device.

[0171] Figure 5 The hardware structure of a communication device 1000 is exemplarily shown.

[0172] See also Figure 5 , Figure 5 1 is a schematic diagram of the structure of a communication device 1000 provided in an embodiment of the present application. The communication device 1000 may be a UE or a device therein.

[0173] In the embodiment of the present application, the communication device 1000 may be the transmitter A / receiver B in the aforementioned embodiment. Any product having the functions of the aforementioned transmitter A / receiver B falls within the protection scope of the embodiment of the present application. It should also be understood that the following description is only for example, and does not limit the product form of the transmitter A / receiver B of the present application to this.

[0174] As a possible product form, the communication device 1000 described in the embodiment of the present application can be implemented by a general bus architecture.

[0175] like Figure 5 As shown, the communication device 1000 includes a processor 1001 , a transceiver 1002 connected to communicate with the processor, an antenna 1003 , and a memory 1004 .

[0176] The processor 1001 is a general-purpose processor or a dedicated processor, etc. For example, it can be a baseband processor or a central processing unit. The baseband processor can be used to process the communication protocol and communication data, and the central processing unit can be used to control the communication device (such as a base station, a baseband chip, a terminal, a terminal chip, a DU or a CU, etc.), execute a computer program, and process the data of the computer program.

[0177] The transceiver 1002 may be referred to as a transceiver unit, a transceiver, or a transceiver circuit, etc., and may be used to implement a transceiver function. The transceiver 1002 may include a receiver and a transmitter, wherein the receiver may be referred to as a receiver or a receiving circuit, etc., and may be used to implement a receiving function; and the transmitter may be referred to as a transmitter or a transmitting circuit, etc., and may be used to implement a transmitting function.

[0178] The communication device 1000 may further include an antenna 1003 and / or a radio frequency unit ( Figure 5 The antenna 1003 and / or the radio frequency unit may be located inside the communication device 1000, or may be separated from the communication device 1000, that is, the antenna 1003 and / or the radio frequency unit may be remotely or distributedly deployed. The antenna 1003 may be used to transmit and receive electromagnetic wave signals.

[0179] The communication device 1000 may include one or more memories 1004, on which instructions may be stored, and the instructions may be computer programs, and the computer programs may be run on the communication device 1000, so that the communication device 1000 performs the method described in the above method embodiment. Optionally, data may also be stored in the memory 1004. The communication device 1000 and the memory 1004 may be provided separately or integrated together.

[0180] The processor 1001 , the transceiver 1002 , and the memory 1004 may be connected via a communication bus.

[0181] The scope of the communication device 1000 described in the present application is not limited thereto, and the structure of the communication device 1000 may not be limited thereto. Figure 5 The communication device may be an independent device or may be part of a larger device. For example, the communication device 1000 may be:

[0182] (1) Independent integrated circuit IC, or chip, or chip system or subsystem;

[0183] (2) having a set of one or more ICs, and optionally, the IC set may also include a storage component for storing data and computer programs;

[0184] (3) ASIC, such as modem;

[0185] (4) Modules that can be embedded in other devices;

[0186] (5) Receivers, terminals, smart terminals, cellular phones, wireless devices, handheld devices, mobile units, vehicle-mounted devices, network devices, cloud devices, artificial intelligence devices, etc.;

[0187] (6)Others

[0188] As used in the above embodiments, the term "when..." may be interpreted to mean "if..." or "after..." or "in response to determining..." or "in response to detecting...", depending on the context. Similarly, the phrases "upon determining..." or "if (the stated condition or event) is detected" may be interpreted to mean "if determining..." or "in response to determining..." or "upon detecting (the stated condition or event)" or "in response to detecting (the stated condition or event)", depending on the context.

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

[0190] Those skilled in the art can understand that to implement all or part of the processes in the above-mentioned embodiments, the processes can be completed by computer programs to instruct related hardware, and the programs can be stored in computer-readable storage media. When the programs are executed, they can include the processes of the above-mentioned method embodiments. The aforementioned storage media include: ROM or random access memory RAM, magnetic disk or optical disk and other media that can store program codes.

Claims

1. A data transmission method, characterized in that: include: The first electronic device and the second electronic device establish a wireless fidelity Wi-Fi connection; The first electronic device sends a first A-MPDU data frame of a first service to the second electronic device; wherein the first A-MPDU data frame includes multiple MPDU data frames, and each of the multiple MPDU data frames carries multiple MSDU data frames; When the first electronic device and the second electronic device are in an interference environment, the first electronic device sends a second A-MPDU data frame of the first service to the second electronic device; wherein the second A-MPDU data frame includes multiple MPDU data frames, and each of the multiple MPDU data frames carries an MSDU data frame.

2. The method according to claim 1, characterized in that: When the first electronic device and the second electronic device are in an interference environment, the first electronic device sends a second A-MPDU data frame of the first service to the second electronic device, specifically including: When the first electronic device and the second electronic device are in an interference environment, the first electronic device sends buffer size setting information to the second electronic device; wherein the buffer size setting information is used to set the buffer size of the second electronic device to a first specified value, and the buffer is used to cache the MPDU data frame sent by the first electronic device; The first electronic device sends a second A-MPDU data frame of the first service to the second electronic device.

3. The method according to claim 1 or 2, characterized in that: When the first electronic device and the second electronic device are in an interference environment, the first electronic device sends a second A-MPDU data frame of the first service to the second electronic device, specifically including: When the first electronic device and the second electronic device are in an interference environment, the first electronic device sends first indication information to the second electronic device; wherein the first indication information is used to trigger the second electronic device to set a buffer reordering timeout to a first specified time, and the buffer reordering timeout is the maximum time that the second electronic device waits for the first electronic device to retransmit the first MPDU data frame and the second electronic device to correctly receive the first MPDU data frame when the first MPDU data frame is not correctly received by the second electronic device; The first electronic device sends a second A-MPDU data frame of the first service to the second electronic device.

4. The method according to any one of claims 1 to 3, characterized in that: When the first electronic device and the second electronic device are in an interference environment, the first electronic device sends a second A-MPDU data frame of the first service to the second electronic device, specifically including: When the first electronic device and the second electronic device are in an interference environment, the first electronic device sets the data of the first service to a high priority; When the first electronic device has data of the first service and data of the second service, the first electronic device encapsulates the data of the first service into the second A-MPDU data frame; The first electronic device sends a second A-MPDU data frame of the first service to the second electronic device.

5. The method according to claim 1, characterized in that When the first electronic device and the second electronic device are in an interference environment, the first electronic device sends a second A-MPDU data frame of the first service to the second electronic device, specifically including: When the first electronic device detects that the transmission retransmission rate is greater than the first threshold, or the packet loss rate is greater than the second threshold, or the physical layer rate is less than the third threshold, or the signal-to-noise ratio is less than the fourth threshold, or the transmission buffer delay is greater than the fifth threshold, or the channel busyness is greater than the sixth threshold, the first electronic device determines that the first electronic device and the second electronic device are in an interference environment; The first electronic device sends a second A-MPDU data frame of the first service to the second electronic device.

6. The method according to claim 2, characterized in that The first specified value is 32.

7. The method according to claim 3, characterized in that The first specified time is 20 milliseconds.

8. The method according to claim 1, characterized in that: The first service is a service with a data transmission delay of less than 50 milliseconds.

9. An electronic device, characterized in that: include: One or more processors and one or more memories; the one or more memories are coupled to the one or more processors, and the one or more memories are used to store computer executable programs. When the one or more processors execute the computer executable programs, the electronic device executes the method as described in any one of claims 1-8.

10. A chip system, characterized in that: It comprises a processing circuit and an interface circuit, wherein the interface circuit is used to receive code instructions and transmit them to the processing circuit, and the processing circuit is used to run the code instructions so that the chip system executes the method as described in any one of claims 1-8.

11. A computer-readable storage medium, characterized in that: The method comprises a computer executable program, and when the computer executable program is run on an electronic device, the electronic device executes the method according to any one of claims 1 to 8.